Mapear el procesador con el diagrama del circuito

11

Soy un desarrollador de software (que utiliza lenguajes de alto nivel como .NET, C, C ++, etc.) que trata de entender cómo funcionan las computadoras en un nivel inferior.

Estoy familiarizado con este diagrama:

Estoytratandodeobtenerunavisióndealtonivelsobrecómoeldiagramaenelenlaceseasignaaundiagramadecircuitocomoeste:

Por ejemplo, eche un vistazo a la declaración en lenguaje ensamblador:

ADD 1,2

Estoy tratando de entender cómo el procesador produce '3' como salida. Me doy cuenta de que esta pregunta puede ser difícil de responder en términos simples. Si lo es, entonces un enlace ayudaría, quizás a un libro.

    
pregunta w0051977

4 respuestas

-1

Encontré mi respuesta aquí . Es una descripción general de alto nivel del proceso de agregar números.

    
respondido por el w0051977
6

El problema es que para entender cómo la computadora llega a 1 + 2 = 3, debes entender 2 niveles más profundo de lo que has ido.

Aproximadamente una computadora está organizada (en términos de campos de estudio) de esta manera, desde el nivel más alto de abstracción hasta la realidad más física:

  1. Software de aplicación
  2. Máquina virtual
  3. Sistema operativo
  4. BIOS
  5. sistemas integrados
  6. Bloques de IP (subunidades / periféricos)
  7. Bloques lógicos
  8. Nivel de puerta
  9. nivel de transistor
  10. Semicroductores
  11. Física de dispositivos

Para entender correctamente por qué la computadora puede producir 2 + 1 = 3, primero debe decidir qué está dispuesto a aceptar "en la fe" y qué no creerá hasta que lo internalice. Esa información estará en el nivel dos debajo de lo que entiendes. Entonces, si desea comprender un circuito sumador en el nivel lógico, deberá comprender los conceptos básicos de los transistores "digitales" (específicamente CMOS).

Usando su sitio anterior como ejemplo, considere este recurso . Se analiza el "Total Adder": el circuito mínimo de propósito general completo capaz de sumar / restar, incluido el arrastre y el arrastre.

También deberá comprender cómo se representan los números en complemento de 2 (el sistema numérico utilizado en las computadoras modernas para aritmética de enteros).

Si realmente desea un curso introductorio de clase mundial, no puedo recomendar al Profesor Scott Wills en Georgia Tech lo suficiente. Falleció el año pasado de cáncer, pero su curso sigue vivo . La clase de Georgia Tech ECE2030 (introducción a la ingeniería informática) tiene su libro de texto y ejerce todo en línea.

¡Buena suerte!

    
respondido por el DrFriedParts
3

Tuve que aprender lo mismo en la universidad, y utilizamos el libro Organización y diseño de la computadora que fue muy detallado (pero tal vez es demasiado detallado para sus necesidades).

Patterson y Hennesy usaron algunos procesadores MIPS "simples" y mostraron toda la función de la CPU con algunos ejemplos de código en el ensamblador.

En general, creo que sería una gran idea tomar un procesador "simple" (Arduino o algo así) y tratar de entender la función, ya que las diferencias entre eso y lo más complejo son más en cuanto al tamaño de la instrucción implementada. Los códigos son.

P.S. Tal vez el elementary-microprocessor de Google Code sería servicial. Es un microprocesador simulado en Java.

    
respondido por el Thomas Fischer
2

El libro gratuito Cómo funcionan las computadoras - Procesador y memoria principal de Roger Young responderá a su pregunta, utiliza Relés en lugar de transistores para una mejor comprensión.

    
respondido por el rvnd_kk

Lea otras preguntas en las etiquetas