La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ORGANIZACIÓN COMPUTACIONAL UNIDAD DE CONTROL EJECUCIÓN DE INSTRUCCIONES.

Presentaciones similares


Presentación del tema: "ORGANIZACIÓN COMPUTACIONAL UNIDAD DE CONTROL EJECUCIÓN DE INSTRUCCIONES."— Transcripción de la presentación:

1 ORGANIZACIÓN COMPUTACIONAL UNIDAD DE CONTROL EJECUCIÓN DE INSTRUCCIONES

2 FORMATO DE INSTRUCCIONES El código binario de cada instrucción se debe interpretar para diferenciar entre los diferentes campos que contiene la instrucción: Código de operación Modo de direccionamiento Etc. El formato de la instrucción indica los campos y el tamaño de los mismos para cada instrucción

3 FORMATO DE INSTRUCCIONES Los dos campos básicos en un formato son: El código de operación (CO) que indica la operación a realizar El campo de dirección (CD) que determina la dirección de un dato, resultado o instrucción a la que hay que bifurcar. El campo de dirección, dependiendo del tipo de direccionamiento, se divide en subcampos.

4 FORMATO DE INSTRUCCIONES Campo de código de operación (CO): Especifica la operación que realiza cada instrucción. El número de instrucciones que constituyen el repertorio del computador vendrá limitado por la longitud de este campo. El código de operación implica normalmente el tipo de operando. Cuando las instrucciones pueden tener mas de un formato, el código de operación, que siempre es el primer campo del formato, debe indicar el formato de la instrucción actual.

5 FORMATO DE INSTRUCCIONES Campo de dirección (CD): Las instrucciones pueden contener varios campos de dirección para indicar las posiciones de memoria o los registros internos donde se encuentran sus operandos, así como la posición del resultado. Cada instrucción puede tener un número diferente de operandos. Hay instrucciones sin operandos: HALT NOP Hay instrucciones son un solo operando Instrucciones de salto incondicional Llamadas a subrutinas

6 FORMATO DE INSTRUCCIONES Campo de dirección (CD) Hay instrucciones de dos operandos: Instrucciones de operaciones aritméticas lógicas diádicas que guardan el resultado en uno de los operandos origen Hay instrucciones de tres operandos Instrucciones de operaciones aritméticas lógicas diádicas que guardan el resultado en un lugar distinto de cualquiera de los dos operandos origen

7 FORMATO DE INSTRUCCIONES Campo de dirección (CD) El campo de dirección puede dividirse a su vez en subcampos. Código de operación CO Código de dirección 1 CD1 Código de dirección 1 CD1 Modo de direccionamiento MD Campo de registro CR Desplazamiento, Inmediato, Dirección absoluta D Subcampos en el campo de direcciones

8 FORMATO DE INSTRUCCIONES Campo de dirección (CD) Los subcampos más significativos contenidos en el campo de direcciones son: Modo de direccionamiento (MD): Se codifica el modo de direccionamiento a emplar para localizar el dato. Campo de registro (CR): Especifica un registro de la CPU Campo de dirección (D): Dependiendo del modo de direccionamiento empleado, contiene la dirección absoluta, el desplazamiento relativo, el operando inmediato, etc.

9 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Estructura de un computador elemental Von Neumann

10 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Son celdas de memoria internas a la CPU que guardan datos provenientes de la memoria, resultados parciales de operaciones o información sobre el estado actual de la CPU. Cada procesador tiene un número limitado de registros internos.

11 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Es importante tener en cuenta el tamaño de los registros internos de datos pues indica el número máximo de bits que puede tener un operando, y con cuantos bits la CPU puede realizar operaciones en paralelo. A este valor se le llama Longitud de palabra del procesador

12 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos mas usuales: Los Registros internos mas usuales son: Registro de instrucción (IR) Registros de propósito general (AC) Registros de estado Contador de programa (PC) Registros de interfaz con el bus (MAR, MDR)

13 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Registro de instrucción (IR): Almacena la instrucción a ejecutar una vez que la CPU la ha leído de memoria. Por ejemplo: 16 bits 4 bits para CO 12 bits para CD

14 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Registro de instrucción (IR): Las señales de control que maneja el IR son: Para leer las instrucciones de memoria se usan dos señales: la primera es la IR-C1 que carga los 8 bits más bajos del registro (IR[7:0]), y la segunda IR-C2 carga los 8 bits más altos (IR[15:8]) Una vez hecha la lectura, para habilitar la salida al bus de direcciones del contenido del campo CD (IR[4:15])se usa la señal IR-E

15 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Registros de propósito general (AC): Son varios registros que sirven para almacenar datos o resultados intermedios. En el ejemplo, hay un único registro llamado Acumulador (AC) que además de actuar como operando, almacena el resultado de la última operación realizada por la ALU Para su trabajo, el AC dispone de dos señales de control: una para cargar el AC con el dato (AC- C), y la otra para habilitar la salida del dato al bus interno (AC-E)

16 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Registros de estado : Almacena en sus bits o flags información sobre resultados de operaciones anteriores. Los mas frecuentes son: Z (cero): Almacena 1 cuando el resultado de la ultimaoperación realizada en la ALU fue cero N (negativo): Almacena 1 cuando el resultado de la ultima operación realizada en la ALU fue menor que cero C (acarreo): Almacena 1 cuando el resultado de la ultima operación realizada en la ALU produjo un acarreo en el último bit

17 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Registros de estado: CP (acarreo parcial): Almacena 1 cuando el resultado de la ultima operación de la ALU produjo acarreo entre el 4to y 5to bit P (paridad): Almacena 1 cuando el resultado de la ultima operación realizada en la ALU produjo un número par de 1 O (desbordamiento) Z (cero): Almacena 1 cuando el resultado de la ultima operación realizada en la ALU y almacenado en el AC es incorrecto. Ello debido a que el resultado no se puede representar con los bits que tiene el AC

18 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Contador de programa (PC) : Contiene la dirección de memoria de la próxima instrucción a ejecutarse Debe ser actualizado por la UC cada vez que se carga una instrucción En el ejemplo, el tamaño del PC es de 12 bits y se incrementa 2 veces en cada lectura de instrucción ya que las instrucciones completas son de 16 bits y ocupan 2 posiciones de memoria de 8 bits cada una Como el PC es un contador, se debe activar la señal PC-INC para incrementar su valor

19 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Contador de programa (PC): Son registros que almacenan datos que el procesador envía o captura del bus externo de direcciones o del de datos. Usualmente son dos: MAR (Registro de Almacenamiento de Dirección), almacena la dirección que se pretende poner en el bus externo de direcciones. Como solo debe llevar dicha dirección, la transferencia es unidireccional, usando para ello dos señales de control: MAR-C, que permite tomar la información de la dirección, y MAR-E que es una señal de habilitación triestado para depositar la dirección en el bus externo

20 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Registros internos Registros de interfaz con el bus (MAR, MDR): MDR ( Registro de Almacenamiento de Dato), contiene el dato que el procesador va a enviar o a leer del bus externo de datos. Esta transferencia es bidireccional ya que los datos provienen del bus interno de datos hacia el externo (escritura en memoria) y viceversa (lectura de memoria). De acuerdo a ello, en el MDR existen 4 señales de control: Las dos primeras son señales de carga, una para los datos procedentes del bus de datos interno (MDR-CI) y la otra para los datos procedentes del bus externo (MDR-CE). Las otras dos señales permiten la habilitación interna (MDREI) y la habilitación externa (MDR-EE)

21 Estructura de un computador elemental Von Neumann

22 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL La ALU : Es la encargada de realizar todas las operaciones aritmético-lógicas En el ejemplo, se tiene una ALU de dos entradas: la entrada A recibe los datos del AC, y la entrada B recibe los datos del MDR Antes de realizar una operación se debe cargar el MDR con uno de los operandos y habilitar la salida de datos de este registro al bus interno de datos. El otro operando debe estar almacenado en el AC

23 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL La ALU : La ALU recibe señales de control sobre el tipo de operación que debe realizar (OP). En el ejemplo, estas operaciones son 6: OP(001)=A+B OP(010)=A+1 OP(011)=A-B OP(100)=A and B OP(101)=A or B OP(110)=B Como son 6 operaciones se codifican usando 3 líneas de operación, por tanto las entradas serán OP[3:1]

24 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL La UC : Su función es el gobierno del computador Lee la instrucción desde memoria, la decodifica y la ejecuta Debe activar todas las señales de control necesarias para: Realizar la transferencia entre registros. Tener en cuenta: En cada transferencia de datos, solo puede haber un registro origen, por lo que no deben activarse las salidas triestado de dos registros a la vez En el registro destino, la señal de carga será activa por flanco. Esta señal se activa a la mitad del periodo de la señal de reloj para permitir que los datos provenientes de otro registro estén estables en el bus Generar las señales de operación de la ALU

25 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL LA MEMORIA PRINCIPAL : Almacenamiento de datos e instrucciones a través de las líneas de dirección Necesita de por lo menos 3 señales de control: CS: Selección de la memoria, RD: Orden de lectura y WR: Orden de escritura Para realizar un ciclo de lectura de memoria, se sigue el siguiente proceso: a. La UC debe llevar la dirección de memoria al registro MAR b. Se activa el bus de direcciones externo que conecta con la memoria

26 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL LA MEMORIA PRINCIPAL : c. El procesador activa las señales CS y RD y espera a que la memoria deposite los datos en el bus. Este periodo de espera es el tiempo de acceso de memoria (tiempo que necesita la memoria para leer o escribir datos, medido desde la activación de las señales de control) y es de medio periodo del reloj general, en el ejemplo d. La UC activa la señal de carga en el MDR. Esto se cumple tanto para datos como para instrucciones. El ciclo de escritura se realiza de manera análoga, diferenciándose solo en la habilitación de la señal WR en vez de RD

27 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Operaciones con registros : Las operaciones básicas son: Carga: Almacena un nuevo valor en el registro. Para ello, debe ponerse el nuevo valor en la entrada y luego activar la señal de carga del registro Lectura: Permite la salida del dato contenido en el registro. Generalmente los registros comparten un bus para realizar la transferencia, pero solo uno de ellos podrá usar el bus en un momento. La señal de salida o habilitación actuará sobre los buffer triestado para conectar el registro al bus y permitir que los datos contenidos en el registro pasen al bus

28 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Operaciones con registros : Reset: Inicializa el valor contenido en el registro a un valor conocido Incremento: aumenta su contenido en forma autónoma (contador) Desplazamiento: Mueve sus bits uno a uno de izquierda a derecha y viceversa

29 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Instrucciones: Consiste en la implementación del repertorio de instrucciones. Todas las instrucciones tienen 4 bits para el código de operación y 12 para el código de dirección, lo que permite direccionar 4 KB

30 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Instrucciones : Las instrucciones básicas son: Instrucciones aritméticas y lógicas: Definidas por la ALU Instrucciones de transferencia: Copian el contenido del AC a memoria (STORE) o leen el dato desde memoria al AC (LOAD) Instrucciones de salto: Representan los saltos incondicionales o condicionales (de acuerdo al resultado del registro de estado) Otras instrucciones: No hacer nada, de paro del procesador

31 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Instrucciones : Instrucciones aritméticas y lógicas : ADD CD: suma los dos operandos y guarda el resultado en el AC INC AC: Incrementa el valor del acumulador en en una unidad SUB CD: Resta los dos operandos y almacena el resultado en AC AND CD: instrucción lógica and bit a bit de los operandos almacenando el resultado en AC. OR CD: instrucción lógica or bit a bit de los operandos almacenando el resultado en AC.

32 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Instrucciones : Instrucciones de transferencia de datos: LW CD: Lee el valor contenido en en la posición de memoria CD y lo almacena en AC SW CD: Escribe el valor contenido en AC en la posición de memoria indicada por CD

33 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Instrucciones : Instrucciones de salto: JMP CD: (salto incondicional) La próxima instrucción a ejecutar es la contenida en memoria en la posición CD JM- CD: (salto condicional) Dependiendo del valor del indicador de estado correspondiente se rompe la secuencia de ejecución de la instrucción. JMZ CD : Indicador de cero JMN CD : Indicador de negativo JMC CD : Indicador de acarreo JMO CD : Indicador de desbordamiento JMP CD : Indicador de paridad JMCP CD : Indicador de acarreo parcial

34 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Instrucciones : Otras Instrucciones : NOP: Instrucción que indica no hacer nada STP: Instrucción de paro del procesador.

35 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Ejecución de la instrucción: ADD (456) // AC AC + M(456) La instrucción consta de 16 bits Como la longitud de palabra del bus de datos es de 8 bits, se necesitan dos lecturas. Para empezar a ejecutar la instrucción se supone que inicialmente el PC contiene la dirección de dicha instrucción. La ejecución se divide en 4 fases, cada una tiene un determinado número de periodos de reloj y en cada una de ellas se realizan unas determinadas operaciones básicas mediante la activación de las correspondientes señales de control.

36 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Ejecución de la instrucción: ADD (456) // AC AC + M(456) 1)MAR PC: Transfiere la dirección del 1er byte de la instrucción al registro MAR 2)PC PC + 1: Se incrementa PC para apuntar a la siguiente posición de memoria 3)MDR M (MAR): Se ejecuta una lectura de memoria cargando el MDR con la parte baja de la instrucción 4)IR MDR: Se transfieren los 8 bits de la parte baja de la instrucción que están en el MDR a los 8 bits menos significativos del IR (IR[0:7])

37 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Ejecución de la instrucción: ADD (456) // AC AC + M(456) 5)MAR PC: Transfiere la dirección del 2do byte de la instrucción al registro MAR 6)PC PC + 1: Se incrementa PC para apuntar a la siguiente posición de memoria 7)MDR M (MAR): Se ejecuta una lectura de memoria cargando el MDR con la parte alta de la instrucción 8)IR MDR: Se transfieren los 8 bits de la parte alta de la instrucción que están en el MDR a los 8 bits más significativos del IR (IR[8:15])

38 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Ejecución de la instrucción: ADD (456) // AC AC + M(456) 9)MAR IR: [4:15] Se transfiere la dirección del dato al registro MAR para iniciar la lectura del mismo en la memoria 10)MDR M (MAR): Se realiza la lectura de la posición de memoria cuya dirección está contenida en el Campo de Dirección de IR en los bits IR[4:15 11)AC AC + MDR: Una vez el dato esté en el MDR se conecta el registro con la entrada B de la ALU mediante la señal de habilitación MDR-EI y se activan las señales OP con el código de suma. Cuando termina dicha operación, que tiene un retraso de medio ciclo de reloj, se activa la señal de carga de AC

39 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL La ALU: Está compuesta por diversos circuitos especializados en realizar una transformación particular de los datos (operaciones aritméticas y lógicas). Puede disponer de varias unidades: Unidad de suma/resta de enteros Unidad de multiplicación de enteros Unidad de división de enteros Unidad de división de flotantes Etc.

40 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Los módulos en los que se puede dividir la ALU se clasifican en función de diversos parámetros: Módulo secuencial o combinacional Números de operandos del módulo Incorporación del paralelismo del módulo Operación aritmético o lógica Integración en la CPU

41 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Un ejemplo del módulo de ALU es el sumador elemetal de 1 bit. Si se conectan 8 sumadores elementales se tiene un sumador paralelo. Si la unidad de control suministra de manera secuencial los bits a una sola unidad de suma elemental y almacena el resultado parcial en un registro, se trata de un sumador serie.

42 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Sumador elemental de 1 bit Si Cout Ai Bi Cin

43 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL La principal ventaja es que es más pequeño. La desventaja es que es más lento. Σ a i b i Cin i Cout i S i Σ a ia i b ib i Cin i Cout i S i

44 ARQUITECTURA DE UN COMPUTADOR ELEMENTAL Sumador combinacional paralelo Σ aiai bibi SiSi Σ aiai bibi SiSi Σ aiai bibi SiSi Σ aiai bibi SiSi Σ aiai bibi SiSi Σ aiai bibi SiSi Σ aiai bibi SiSi Σ aiai b0b0 SiSi


Descargar ppt "ORGANIZACIÓN COMPUTACIONAL UNIDAD DE CONTROL EJECUCIÓN DE INSTRUCCIONES."

Presentaciones similares


Anuncios Google