1 / 25

MICROPROGRAMACIÓN

LECCIÓN 11 DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACIÓN. MICROPROGRAMACIÓN. RUTA DE DATOS. Estructura en triple bus. ESQUEMA DE LA RUTA DE DATOS. DETALLE DE LA RUTA DE DATOS. UNIDAD ARITMÉTICO-LÓGICA. DESPLAZADOR. SEÑALES DE CONTROL NECESARIAS.

gauri
Download Presentation

MICROPROGRAMACIÓN

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LECCIÓN 11 DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACIÓN MICROPROGRAMACIÓN Departamento de Informática. Curso 2005-2006

  2. RUTA DE DATOS • Estructura en triple bus Departamento de Informática. Curso 2005-2006

  3. ESQUEMA DE LA RUTA DE DATOS Departamento de Informática. Curso 2005-2006

  4. DETALLE DE LA RUTA DE DATOS Departamento de Informática. Curso 2005-2006

  5. UNIDAD ARITMÉTICO-LÓGICA Departamento de Informática. Curso 2005-2006

  6. DESPLAZADOR Departamento de Informática. Curso 2005-2006

  7. SEÑALES DE CONTROL NECESARIAS • 16 señales de habilitación de registros al bus A • 16 señales de habilitación de registros al bus B • 16 señales de carga de los registros desde el bus C. • 2 señales de carga de los registros MAR y MBR • 2 señales de lectura y escritura en memoria R y W. • 3 señales de selección de función del desplazador • 4 señales de selección de función de la ALU. • 2 señales de carga de los buffer A y B • 1 señal de control del multiplexor • 1 señal de habilitación del bus C Departamento de Informática. Curso 2005-2006

  8. FORMATO DE MICROINSTRUCCIÓN Departamento de Informática. Curso 2005-2006

  9. CODIFICACIÓN DEL CAMPO DE SALTOS Departamento de Informática. Curso 2005-2006

  10. CAMPO DE DIRECCIÓN SIGUIENTE • El campo de siguiente dirección tiene que permitir acceder a cualquier posición de la memoria de control. Podemos suponer que la memoria de control sea de 1 Kpalabra y por tanto que el tamaño de este campo es de 10 bits. • Por tanto el tamaño mínimo de la palabra de microinstrucción será de 40 bits. Departamento de Informática. Curso 2005-2006

  11. HARDWARE DE CONTROL • Reloj que fija la temporización del sistema y que se puede dividir en subciclos que gobiernan las distintas fases en la ejecución de una microinstrucción. • Memoria de control de 1024x48 bits con un registro de dirección de memoria RDC de10 bits y un registro buffer de memoria RMC de 48 bits. • Secuenciador que gobierna la ejecución del microprograma en función de: • Las señales de estado N,Z,C • Una señal que indique cuando se va a cargar el código de operación de la instrucción que está almacenado en IR en el registro RMC • Las señales de condición contenidas en la microinstrucción en curso Departamento de Informática. Curso 2005-2006

  12. HARDWARE DE LA UNIDAD DE CONTROL Departamento de Informática. Curso 2005-2006

  13. EL MULTIPLEXOR MMUX Departamento de Informática. Curso 2005-2006

  14. FASES EN LA EJECUCIÓN DE UNA MICROINSTRUCCIÓN • Carga de la siguiente microinstrucción a ejecutar en el registro de datos RMC. • Sacar el contenido de los registros a los buses A y B y cargar su contenido en los registros buffer A y B. • Esperar a que la salida de la ALU y el desplazador se estabilice ( o sea que termine la operación) y en su caso que se cargue el registro de dirección de memoria MAR. • Almacena el resultado en el banco de registros y en su caso en el registro de datos de memoria MBR. Departamento de Informática. Curso 2005-2006

  15. FASES EN LA EJECUCIÓN DE UNA INSTRUCCIÓN • Búsqueda de la instrucción ( MAR  PC , LECTURA, PC  PC + 1) • Decodificación que implica la carga en RDC (registro de dirección de memoria de control) de la dirección de inicio del microprograma correspondiente a esa instrucción. • Ejecución del microprograma y vuelta a la búsqueda de instrucción. Departamento de Informática. Curso 2005-2006

  16. CONJUNTO DE INSTRUCCIONES Departamento de Informática. Curso 2005-2006

  17. FASE DE BÚSQUEDA Y DECODIFICACIÓN • MAR  PC ; LECTURA ( RD =1 ; Bus B ← PC ; cargar el MAR ) • PC  PC + 1 ; LECTURA (RD=1 ; Bus A ← PC ; Bus B ← 1 ; Sumar; Habilitar C; PC ← Bus C) • IR  MBR ( MUXA ← 1; ALU = dejar pasar A ; Habilitar C ; IR ← Bus C) • FIR ← 1 ( Con esto cargamos el código de operación en el registro RDC) Departamento de Informática. Curso 2005-2006

  18. CONTENIDO DE LA MEMORIA DE CONTROL Departamento de Informática. Curso 2005-2006

  19. TABLA DE SALTOS Departamento de Informática. Curso 2005-2006

  20. INSTRUCCIONES DE CARGA Ejecución de LODD n • A IR and OMASK (bus A ← IR ; Bus B ← OMASK ; ALU = and ; habilitar C ; A ← Bus C) • MAR A ; Lectura ( bus B ← A ; MAR = 1; R = 1) • Lectura ( dura dos ciclos R = 1) • AC  MBR (MUX = 1; ALU = A ; habilitar C; AC  Bus C) Ejecución de LODI n • AC ← IR and OMASK ( bus A ← IR ; Bus B ← OMASK ; ALU = and ; habilitar C AC ← Bus C; COND = salto incondicional; dir = busqueda) Departamento de Informática. Curso 2005-2006

  21. INSTRUCCIONES DE SUMA Ejecución de ADDD n • A IR and OMASK (bus A ← IR ; Bus B ← OMASK ; ALU = and ; habilitar C ; A ← Bus C) • MAR A ; Lectura ( bus B ← A ; MAR = 1; R = 1) • Lectura ( dura dos ciclos R = 1) • AC  MBR + AC (MUX = 1; Bus B  AC ; ALU = suma ; habilitar C; AC  Bus C) Ejecución de ADDI n • A  IR and OMASK ; (bus A ← IR ; Bus B ← OMASK ; ALU = and ; habilitar C ; A ← Bus C) • AC  AC + A ( Bus A  A; Bus B  AC ; ALU = suma ; habilitar C; AC  Bus C) Departamento de Informática. Curso 2005-2006

  22. INSTRUCCIÓN DE RESTA Ejecución de SUBD n • Como no tenemos en la ALU la operación de restar hacemos A-B = A + B’ + 1 • A IR and OMASK (bus A ← IR ; Bus B ← OMASK ; ALU = and ; habilitar C ; A ← Bus C) • MAR A ; Lectura ( bus B ← A ; MAR = 1; R = 1) • AC  AC + 1 ; Lectura (R=1 ; Bus A ← AC ; Bus B ← 1 ; Sumar; Habilitar C; AC ← Bus C) • A  MBR’ (MUX = 1 ; ALU = complementar ; habilitar C ; A  Bus C) • AC  A + AC ( Bus A  AC ; Bus B  A; ALU = suma ; habilitar C; AC  Bus C) Departamento de Informática. Curso 2005-2006

  23. INSTRUCCIONES DE MANEJO DE LA PILA Ejecución de PUSH • SP SP-1 ( Bus A SP ; Bus B -1 ; ALU = sumar ; habilitar C ; SP  Bus C) • MAR  SP ; MBR  AC; Escritura • (Bus B  SP ; MAR  buffer B; Bus A  AC ; ALU = deja pasar A ; MBR  Salida del desplazador; W) • Terminar la escritura con salto a búsqueda Ejecución de POP • MAR  SP ; Lectura ; • SP  SP +1; Lectura; • PC  MBR; Departamento de Informática. Curso 2005-2006

  24. INSTRUCCIONES DE SALTO Ejecución de JNEG x • La instrucción dice “Si AC <0 entonces PC  x “. Para poder saber si AC es negativo, tenemos que pasar su contenido por la ALU y posicionar el bit N. Nos quedará el siguiente microprograma: • AC  AC ; Si N = 1 salta a la etiqueta JMP ; en otro caso salta a búsqueda Ejecución de JZERx • AC  AC ; Si Z = 1 salta a la etiqueta JMP ; en otro caso salta a búsqueda Ejecución de JCAR x • Si C = 1 salta a la etiqueta JMP ; en otro caso salta a búsqueda Ejecución de JMP x • PC  IR and OMASK Departamento de Informática. Curso 2005-2006

  25. INSTRUCCIÓN DE LLAMADA A SUBRUTINA Ejecución de CALL x • SP  SP – 1; • MAR  SP ; MBR  PC ; Escritura; • Escritura; PC  IR and OMASK Departamento de Informática. Curso 2005-2006

More Related