Editar esta sección Controlador de CPU
El controlador es el centro de comando y control de toda la CPU. Consta del registro de instrucciones IR (InstructionRegister), el contador de programas PC (ProgramCounter). y el controlador de operación 0C ( OperationController) se compone de tres componentes, lo cual es extremadamente importante para coordinar el trabajo ordenado de toda la computadora.
Registro de instrucciones
Registro de instrucciones: un registro utilizado para guardar las instrucciones ejecutadas actualmente o las próximas. La instrucción contiene un código de operación que determina el tipo de operación y una dirección que indica el origen o destino del operando. La duración de las instrucciones varía de una computadora a otra, al igual que la longitud del registro de instrucciones. Todas las operaciones de la computadora se realizan analizando las instrucciones almacenadas en el registro de instrucciones. El extremo de entrada del registro de instrucciones recibe instrucciones de la memoria y el extremo de salida del registro de instrucciones se divide en dos partes. La parte del código de operación se envía al circuito decodificador para su análisis para indicar qué tipo de operación debe realizar esta instrucción. la parte de la dirección se envía al sumador de direcciones para generar una dirección efectiva y luego se envía a la memoria como una dirección para buscar o almacenar números; . Almacenamiento
[Controlador]
Controlador
El controlador puede hacer referencia a la memoria principal, caché o pila de registros, etc., que se utiliza para guardar una instrucción actualmente siendo ejecutado. Cuando se ejecuta una instrucción, primero se recupera de la memoria al registro de datos (DR) y luego se transfiere al IR. Las instrucciones se dividen en campos de código de operación y código de dirección, que constan de dígitos binarios. Para ejecutar cualquier instrucción determinada, se debe probar el código de operación para identificar la operación requerida. Esto es lo que hace el decodificador de instrucciones. La salida del campo de código de operación en el registro de instrucciones es la entrada al decodificador de instrucciones. Una vez que se decodifica el código de operación, puede enviar señales específicas para operaciones específicas al controlador de operación.
Contador de programa
Contador de programa: Contador que especifica la dirección de la siguiente instrucción a ejecutar en el programa, también llamado contador de instrucciones. Funciona como registro de direcciones de instrucciones y como contador. Cuando se ejecuta una instrucción, el contador del programa sirve como registro de dirección de instrucción y su contenido debe haberse cambiado a la dirección de la siguiente instrucción para que el programa pueda continuar ejecutándose. Se pueden adoptar los dos métodos siguientes para este propósito:
El primer método consiste en incluir la dirección de la siguiente instrucción en la instrucción. Durante la ejecución de la instrucción, enviar esta dirección al registro de direcciones de instrucción puede lograr el propósito de la ejecución continua del programa. Este método era adecuado para las primeras computadoras que usaban dispositivos seriales como baterías y líneas de retardo como memoria principal. Determinar correctamente la dirección de la siguiente instrucción en función del tiempo de ejecución de esta instrucción puede acortar el tiempo de espera para leer la siguiente instrucción, mejorando así la velocidad de ejecución del programa.
El segundo método consiste en ejecutar instrucciones de forma secuencial. Un programa consta de varios segmentos de programa. Las instrucciones de cada segmento de programa se pueden diseñar para almacenarse en la memoria de forma secuencial. Por lo tanto, siempre que el registro de dirección de instrucción también tenga una función de conteo, se contará durante la ejecución de la instrucción. y se agregará automáticamente un incremento, se puede formar la dirección de la siguiente instrucción
[Controlador]
Controlador
, logrando así el propósito de secuencial. ejecución de instrucciones. Este método es adecuado para computadoras con memoria de acceso aleatorio como memoria principal. Cuando el programa necesita pasar de un segmento del programa a otro, se pueden utilizar instrucciones de transferencia para lograrlo. La instrucción de transferencia contiene la dirección de la instrucción de entrada del segmento del programa al que se transferirá. Al ejecutar una instrucción de transferencia, esta dirección se envía al contador del programa (en este momento, solo se usa como registro de dirección de instrucción y no se cuenta) como la dirección de la siguiente instrucción, logrando así el propósito de transferir el segmento del programa. . Se utilizan métodos similares para llamadas a subrutinas, manejo de interrupciones y trampas, etc. Después de la popularidad de la memoria de acceso aleatorio, el efecto operativo general del segundo método es mucho mejor que el del primer método. Por lo tanto, la ejecución secuencial de instrucciones se ha convertido en un método comúnmente utilizado en las computadoras convencionales y el contador de programas se ha convertido en una parte indispensable. el procesador central.
Controlador de operación
Cada componente funcional en la CPU completa una determinada función específica. La transmisión de información entre componentes y la implementación de componentes de control de flujo de datos. La ruta que transmite información entre muchos componentes digitales suele denominarse "ruta de datos". Se debe controlar dónde comienza la información, por qué registro o multiplexor pasa y a qué registro se transmite finalmente.
La tarea de establecer una ruta de datos entre registros la completa un componente llamado "controlador de operación".
La función del controlador de operación es generar varias señales de control de operación basadas en el código de operación de instrucción y las señales de sincronización, para establecer correctamente la ruta de datos, completando así el control de búsqueda y ejecución de instrucciones.
Principio de funcionamiento
Hay dos controladores con estructuras diferentes debido a diferentes métodos de diseño. Las microoperaciones se refieren a operaciones que no se pueden descomponer. Siempre se requieren señales de control correspondientes (llamadas señales de control de microoperaciones o comandos de microoperaciones) para realizar microoperaciones. Una computadora digital se puede dividir básicamente en dos partes: el componente de control y el componente de ejecución. El controlador es el componente de control y la unidad aritmética, la memoria y los dispositivos periféricos son los componentes de ejecución relacionados con el controlador. Una conexión entre el componente de control y el componente de ejecución es a través de la línea de control. El componente de control emite varios comandos de control al componente de ejecución a través de la línea de control. Por lo general, este comando de control se denomina microcomando, y la operación realizada por el componente de ejecución después de recibir el microcomando se denomina microoperación. Otra conexión entre los componentes de control y los componentes de ejecución es la información de retroalimentación. El componente de ejecución refleja el estado de la operación al componente de control a través de la línea de retroalimentación, de modo que el componente de control emite nuevos microcomandos según el estado del componente de ejecución. Esto también se denomina "prueba de estado". Las microoperaciones son grupos de operaciones básicas en el componente de ejecución. Debido a la relación estructural de la ruta de datos, las microoperaciones se pueden dividir en dos tipos:
controlador
compatibilidad y exclusión mutua. En un ciclo de CPU de la máquina, una combinación de microcomandos que implementan determinadas funciones operativas constituye una microinstrucción. El formato general de microinstrucción consta de dos partes: control de operación y control de secuencia. La parte de control de operación se utiliza para enviar señales de control para gestionar y dirigir el trabajo de toda la máquina. Su parte de control de secuencia se utiliza para determinar la dirección para generar la siguiente microinstrucción. De hecho, la función de una instrucción de máquina se implementa mediante una secuencia de muchas microinstrucciones. Esta secuencia de microinstrucciones a menudo se denomina microprograma. Dado que los microprogramas se componen de microinstrucciones, cuando se ejecuta la microinstrucción actual. Se debe señalar la dirección de la microinstrucción posterior para que una vez completada la ejecución de la microinstrucción actual, se pueda recuperar y ejecutar la siguiente microinstrucción.