¿Cómo elige una CPU una ruta? [cerrado]

0

Esta es la pregunta más desconcertante de todos los demás conceptos. Le pregunto a mi maestra

"¿Cómo elige la computadora una ruta?"

"Lo programan"

"¿Cómo lo programan?"

"..."

Tengo una comprensión básica de cómo funciona un transistor, cómo la CPU maneja las cosas y esto último, ¡¿pero cómo la CPU elige físicamente una ruta? Quiero aprender las cosas de nivel universitario, pero Google no está ayudando !!! ¡Todo lo que obtengo son estas traducciones de novatos! Por favor ayuda porque estoy llorando por no saber la respuesta. Literalmente.

EDITAR: Necesito una respuesta completa que explique lo que sucede en el hardware, por favor.

    
pregunta AMDG

4 respuestas

2

Haré un breve intento de explicar la implementación de Datapath, ya que es un gran tema.

PALABRADECONTROL:Palabradecontrolesbásicamenteelcódigodeentrada(Puededecir,Elcódigomaestro)quecontrolaquéoperaciónrealizarálacomputadora.Unapalabradecontrolgeneralconsistiráenuncódigodeoperación,especificandounaoperaciónparticular,comoagregarocambiar,seguidodealgunosparámetroscomolaubicacióndelosoperandosoelpropiooperando,etc.Enestafigura,lapalabradecontrolnoserávisibledirectamente,porloqueAñadióotrafigura.Tengacuidado,lasegundafiguranoestárelacionadadirectamenteconlaprimera.

Aquí se muestra una simple palabra de control.

--- > DA significa Destino y especifica la ubicación donde se almacenará el resultado del cálculo.

--- > AA y BA especifican la ubicación de los operandos A y B.

--- > MB, MD son la entrada de habilitación Mux B y Mux D (más sobre esto más adelante).

--- > FS es la función de selección y especifica qué función realizará la unidad.

Ahora volvamos a la figura 1.

--- > Las entradas de selección y B de selección se aplican a Mux A y Mux B, que seleccionan las entradas de datos de los registros R0 a R3.

--- > La entrada B se pasa luego a Mux b, para decidir si es necesaria o no, porque algunas operaciones solo requieren un único operando, como desplazamiento e incremento.

--- > La entrada A y la salida de Mux B (que consta de una entrada B o una constante, como se ve en la figura) se aplica a ALU. Tenga en cuenta que la entrada B también se aplica a la palanca de cambios.

--- > El código de operación o la selección de función determina qué operación será. En este punto, la salida de la palanca de cambios y la ALU se aplica a Mux F, que selecciona si es la salida de la ALU o la palanca de cambios que se necesita. El Mux F selecciona tal vez una parte del código de operación.

--- > Finalmente, el resultado pasa a través de Mux D, y luego se aplica a cada uno de los registros con fines de almacenamiento. El registro para almacenar se decide por las puertas Y que permiten la operación de carga, con la dirección de los registros aplicados a través del decodificador.

Espero que esto lo explique.

    
respondido por el Plutonium smuggler
2

¿Qué quieres decir con "elegir un camino"?

Todo un CPU moderno es, es un intérprete de hardware sofisticado. Comienza así:

Emite un comando en un lenguaje de alto nivel como:

i = 5 + 6;

Esto se traduce a instrucciones de máquina (y pseudo instrucciones), comúnmente conocidas como ensamblaje, por el compilador:

mov ebx, 5
mov eax, 6
add eax, ebx

Esto se traduce a bytes, el equivalente directo del ensamblaje que la CPU puede entender, por otra clase de traductores conocidos como ensambladores:

01010111 00110101 00000101
01010111 00110111 00000110
01111111 00110101 00110111

La unidad de control de la CPU, luego lee el primer byte de la instrucción, conocido como opcode . Dependiendo del código de operación, la unidad de control impone señales de control a diferentes partes de la CPU, como permitir que un registro envíe su contenido a la ALU, o leer desde el almacén de instrucciones a un registro, etc., según la instrucción.

Por ejemplo, en el ejemplo anterior, 01010111 o lo que usted conoce como instrucción mov , podría paso de señal del valor inmediato 5 a través de la ALU al registro conocido como 00110101 o eax .

Las partes internas del intérprete, o el almacén de control, o como se llame en diferentes implementaciones, difieren de una implementación a otra. Por ejemplo, en un microcódigo. almacenando la implementación, podría haber una pequeña memoria que asigne códigos de operación a las señales correspondientes, de la misma manera:

01010111 -> enable_ALU_passthrough, reg, immediate_val
01111111 -> enable_ALU_add, reg, reg

Este es un ejemplo aproximado de cómo podría funcionar una CPU. Los valores son aproximados y casi seguramente no son correctos. Si desea profundizar, le recomiendo la excelente Organización estructurada de computadoras por Tanenbaum que lo guía en la creación de un simple CPU interpretar el código de bytes de Java en los primeros capítulos.

    
respondido por el NlightNFotis
2

Ken Shirrif tiene una serie de entradas de blog que desarman microprocesadores de los años 80 con todo detalle:

enlace enlace enlace (etc).

El 6502 es un buen tema para esto, ya que es uno de los últimos microprocesadores diseñados por un solo ingeniero, a mano, en papel (bueno, hoja de acetato con cinta "Rubylith").

También hay "NAND to Tetris": enlace

    
respondido por el pjc50
0

Si tiene una única señal de entrada que la MCU / CPU desea enrutar a diferentes ubicaciones, como se muestra en "DEMUX" a continuación, la MCU que fuerza a A / Bbar alta dará como resultado que IN vaya a A, y forzando A / Bbar bajo, IN se enviará a B.

En el MUX, si A / Bbar es forzado alto, A será enviado a C, y si A / Bbar es forzado bajo, B será enviado a C.

Por lo tanto, puede ver que en un caso se puede enviar una señal a muchos lugares de forma secuencial, y, en el otro, se pueden enviar muchas señales, de forma secuencial, a un solo lugar.

    
respondido por el EM Fields

Lea otras preguntas en las etiquetas