Arquitectura de Computadores. Tema 9. Microprogramación
|
|
- Agustín Casado Cordero
- hace 7 años
- Vistas:
Transcripción
1 Arquitectura de Computadores Tema 9 Microprogramación Eduardo Daniel Cohen dcohen@arnet.com.ar 1
2 Casos de Mayor complejidad. Qué pasa si hay muchos más estados y condiciones de entradas para determinar el control? El manejo con tablas se hace engorroso. Se recurre a CAD. Y si luego se necesita realizar correcciones? Veremos otra forma de realización del control llamado MICROPROGRAMACION. 2
3 Analicemos la implementación con ROM ROM2 se encarga del próximo estado, le llamemos Secuenciador ROM1 contiene las señales de salida del control, o instrucciones para el control, le llamaremos microinstrucciones. El SECUENCIADOR insume la mayoría de las celdas 4 K en el ejemplo del tamaño total de 4,3 Kbits. En general las secuencias de estados son simples. En muchos casos se pasa a un único estado siguiente (6 al 7, 10 al 11, 3 al 4 en el ejemplo). En casos de saltos múltiples, muchos sólo son bifurcaciones. Esto nos sugiere la posibilidad de implementar el secuenciador en base a un registro que puede cargarse desde varias fuentes. Incrementando en 1 paso al estado siguiente. Cargando de otra fuente realizo un salto.. Las señales de control del secuenciador se consideran salidas de control. 3
4 Unidad de Control con Secuenciador ROM1 Señales de Salida Outputs Al Camino de Datos 1 Adder Inputs Registro de Estado Control de Secuencia Ponga en 0 (Fetch) Saltos Varios... Incremente en 1 Selección de Próx Dirección Opcode 4
5 Repasemos las Secuencias de Estados: Próximo Estado desde el Actual Control de Secuencia Estado 0 Estado1 Incrementar en 1 Estado 1 S2, S6, S8, S9, S10 Según Op-Code DISPATCH ROM1 Estado 2 S3, S5 Según Op-Code DISPATCH ROM2 Estado 3 Estado 4 Incrementar en 1 Estado 4 Estado 0 Ponga 0 Estado 5 Estado 0 Ponga 0 Estado 6 Estado 7 Incrementar en 1 Estado 7 Estado 0 Ponga 0 Estado 8 Estado 0 Ponga 0 Estado 9 Estado 0 Ponga 0 Estado 10 Estado 11 Incrementar en 1 Estado 11 Estado 0 Ponga 0 5
6 Detalle del Control con Secuenciador 1 Adder Address Select Logic Control Logic Inputs State Reg 3 2 Mux 1 0 ROM2 Opcode 0 ROM1 Dispatch ROM 1 Op Name State Rtype jmp beq ori lw sw 0010 Dispatch ROM 2 Op Name State lw sw
7 Contenido de la ROM En lugar de la PLA, usaremos una ROM con una palabra por estado (contiene las salidas de control o microinstrucción ) Tenemos 17 (o más) salidas de control para el camino de datos y 2 para el secuenciador State number Control Word Bits 18-2 Control Word Bits
8 Microprogramación En la ROM se escribe una secuencia de palabras de control, cada una de ellas controla la acción y el pase a la próxima. Un Programa es una secuencia de instrucciones, cada una de ellas dice qué se hace con los datos o con la secuencia (saltos) Análogamente podríamos decir que en la ROM se escribe un microprograma y a cada palabra le llamaremos microinstrucción. Una microinstrucción maneja señales de control. Una Instrucción maneja datos. No confundir. A la instrucción le llamaremos macroinstrucción para no confundir. El registro de estado apunta a la próxima microinstrucción. - Es similar al PC. - Por ello le llamamos µpc. 8
9 Lenguaje Microensamblador. Hasta aquí escribimos el microprograma en lenguaje de máquina o microcódigo. Es posible definir un Micro-Assembler. Habría que definir el formato de la Microinstrucción. - Debe estar compuesto por campos. - Un microensamblador lo convierte a lenguaje de máquina. Nos quedaremos con el concepto solamente. 9
10 Microprogramación Microprogramación: Una de las estrategias para implementar la unidad de control de un procesador que consiste en programar al nivel de las operaciones de transferencia de registros (RTL). El control se µprograma, a esto se le llama firmware Una moneda con 2 caras: Hw y Sw. No son mundos distintos, son complementarios. Microarquitectura Estructura lógica y capacidades funcionales del hardware, tal como es visto por el microprogramador. Preguntas: Hay microprogramación estructurada similar a la progr. estructurada? Cuáles son los intereses del microprogramador? 10
11 El Microprograma como Intérprete de Macroinstrucciones. Main Memory CPU execution unit control memory ADD SUB AND... DATA Programa y Datos del Usuario Puede Cambiar! Ej. Cada MacroInstrucción Se mapea en una microsecuencia Microsecuencia Fija Fetch Calc Operand Addr Fetch Operand(s) Calculate Save 11
12 Implicancias Cambiando el ROM de Microprograma cambio el Set de Instrucciones. Puedo ampliar el set actual. Puedo hacer un set a medida para un procesador de propósito especial. Flexibilidad para corregir bugs. Puedo hacer que una máquina se comporte como otra. Emulación (sirve para migración). Familias de Computadoras (ej. IBM). Si se trata de microprogramar solamente: Puedo incorporar instrucciones poderosas. Cierro brecha semántica con lenguajes de alto nivel. Dio origen a CISC (Complex Instruction Set Computers). PARETTO! El 90% de las instrucciones son simples. Por agregar las complejas se complica el camino de datos y las simples se ejecutan más lentas. No se usa el contexto a nivel de microinstrucción. Difícil de implementar Pipelinine. 12
13 Microcódigo Vertical - Ejemplo Microcódigo Horizontal. Una salida de control para cada punto de control en la máquina. µseq µaddr A-mux B-mux bus enables register enables Microcódigo Vertical. Formato compacto y definido para cada clase de Microinstrucción. Se privilegia codificar para reducir tamaño de la µinst cond next address dst src alu Branch Jump Register Operation D E C D E C 13
14 Vertical Vs. Horizontal Ventajas y Desventajas de Cada Una Velocidad del CPU. Tamaño de la ROM de Microprograma. Aprovechamiento de lugar disponible en CPU - Otros elementos (ej. Caché más grande) Horizontal + Más posibilidades de emplear el paralelismo potencial de las actividades en el camino de datos. - Tamaño mayor de ROM Vertical + Fácil de programar, no muy diferente de programar en assembler para una máquina RISC. - Un nivel adicional de decodificación puede hacer más lenta la máquina. - Más lenta por no aprovechar - paralelismo. 14
15 Ventajas y Desventajas de la Microprogramación Facilidad de Diseño. Flexibilidad Se pueden hacer cambios más tarde. Se pueden implementar conjuntos poderosos de instrucciones. Generalidad. Se puede implementar distintos sets de Instrucciones en la misma máquina. Se pueden tener sets de instrucciones a medida. Compatibilidad. Distintas organizaciones de Hw, el mismo set de Instrucciones. Costoso para Implementar (ROM grande). Lento (CISC Vs. RISC) 15
16 Un camino de Datos Alternativo con Buses A-Bus next PC P C inst mem Reg A IR File S mem ZX SX B B Bus W-Bus En cada ciclo de reloj, cada uno de los buses puede realizar una única transferencia. 16
17 Qué tal con una arquitectura de 2 buses? Instruction Fetch next PC P C IR ZX SX Reg File A B S Mem M A-Bus B Bus Decode / Operand Fetch next PC P C IR ZX SX Reg File A B S Mem M 17
18 Load Execute next PC P C IR ZX SX Reg File A B S Mem M Mem next PC P C IR ZX SX Reg File A B S addr Mem M Write-back next PC P C IR ZX SX Reg File A B S Mem M Qué tal con 1 Bus? 18
19 Excepciones (Recapitulación) Programa Usuario Exception: System Exception Handler return from exception Excepción = transferencia de control no programada El S.O. Toma acción para manejar la excepción. Al terminar retorna el control al usuario. Debe guardar y restaurar el estado del Progr. Usuario. Permite la construcción de una máquina virtual del usuario. 19
20 Excepciones e Interrupciones (Recap) La parte más dura del diseño es el control. La parte más dura del control es para Excepciones. Eventos que cambian el flujo de las instrucciones y no son BRANCH ni JUMP. La excepción ocurre por un evento inesperado dentro del procesador (Ej. Overflow). Interrupción se debe a un evento inesperado externo al CPU, por ej. I/O. Convención MIPS: Excepción es un cambio inesperado en el flujo de control, independiente si su causa es externa o interna. Cuando es externo se le llama Interrupción. 20
21 Excepciones Interrupciones Traps Causada por eventos externos (ej. I/O) Asíncronas con la ejecución del programa. Se ejecutan entre instrucciones del programa. Simple: suspenda y continúe el programa del usuario. Causadas por eventos internos. - Condiciones excepcionales (overflow) - errores (parity) - Fallos (páginas de caché) Sincrónicas con la ejecución del programa. El problema debe ser remediado por el handler (rutina del SO). La instrucción se aborta y se reinicia una vez solucionado el problema, caso contrario se debe abortar el programa. 21
22 Cómo se manejan las Excepciones? El CPU debe guardar la dirección de la instrucción causante de la excepción en EPC (exception program counter) Transferir el control al Sistema Operativo en una dirección determinada. SO realiza alguna acción en respuesta a la excepción, luego reinicia la instrucción abortada mediante el EPC. 2 tipos de excepciones para nuestro ejemplo de implementación: instrucción indefinida y overflow aritmético. Cómo se sabe qué evento causa la interrupción? Opción 1 (MIPS): un Registro de Causa contiene el código de evento Opción 2 Interrupciones Vectoriales: Una dirección contiene la causa. 22
23 Adiciones al ISA del MIPS para soportar Excepciones EPC un registro de 32-bits que contiene la dirección de la instrucción afectada (registro 14 del coprocesador 0). CAUSE un registro que contiene el código de la causa de la interrupción. En la Arquitectura MIPS los registros son de 32 bits, por tanto muchos bits no se usan. Supongamos que el LSB de este registro codifica las dos fuentes de excepción mencionadas: Instrucción indefinida = 0 y overflow =1 2 Señales de control para escribir EPC y Cause Se requiere escribir la dirección del handler de la excepción en el PC, por tanto se incrementa un MUX para incorporar como entrada al PC: Es necesario deshacer PC = PC + 4, ya que queremos que EPC apunte a la instrucción afectada (no a su sucesora); PC = PC
24 Otros suplementos al ISA para tratar Excepciones BadVAddr registro que contiene la dirección de memoria en la cual ocurre una excepción por fallo de página Status mascara de interrupción y bits de habilitación 24
25 Cómo detecta las excepciones el control. Instrucción Indefinida: se detecta cuando no está definido un estado siguiente desde el estado 1, según el valor del op-code. Se define para esta excepción un nuevo estado siguiente al N 1, para todos los valores de op-code que no sean los definidos (lw, sw, (tipo-r), jmp, beq, ori), corresponderá al estado N 12. Simbólicamente lo señalamos mediante un op-code denomindado otro, indicando que el op-code no es ninguno de los que marcan las transiciones desde el estado 1. Overflow se agrega lógica al ALU para detectar esta condición y generar una señal de salida llamada Overflow. Esta señal se usa en la MEF modificada para señalar una transición a un nuevo estado a partir del estado 7. Sólo las operaciones tipo-r pueden dar Overflow. Cuando se diseña el control de una máquina real, el desafío consiste en diseñar el control para manejar diferentes interacciones entre instrucciones y otros eventos causantes de excepciones, manteniendo la lógica de control pequeña y rápida. Interacciones complejas hacen que el diseño del control sea todo un desafío. 25
26 Cambios al Diagrama de Estado para Excepciones IR ß MEM[PC] PC ß PC + 4 undefined instruction A ß R[rs] B ß R[rt] other EPC ß PC - 4 PC ß exp_addr cause ß 0 (UI) R-type S ß A fun B ORi S ß A op ZX LW S ß A + SX SW S ß A + SX BEQ S ß A - B 0010 overflow M ß MEM[S] MEM[S] ß B R[rd] ß S R[rt] ß S R[rt] ß M EPC ß PC - 4 PC ß exp_addr cause ß 1 (Ovf) 26
27 Volviendo al Diagrama de Estados Detallado 2 0 Ifetch ALUOp=Add 1: PCWr, IRWr x: PCWrCond RegDst, Mem2R Others: 0s 1 Rfetch/Decode 8 ALUOp=Add AdrCal 1: BrWr, ExtOp beq 1: ExtOp ALUSelB=10 ALUSelA x: RegDst, PCSrc ALUSelB=11 IorD, MemtoReg ALUOp=Add Others: 0s lw or sw Other x: MemtoReg PCSrc Ori lw sw 12 Rtype 3 RExec 1: RegDst SWMem ALUSelA 1: ExtOp LWmem 5 6 ALUSelA, IorD 1: ExtOp ALUSelB=01 ALUOp=Rtype ALUSelB=11 MemWr ALUSelA x: PCSrc, IorD ALUOp=Add ALUSelB=11 MemtoReg x: MemtoReg ALUOp=Add ExtOp PCSrc x: PCSrc,RegDst MemtoReg Rfinish 1: ALUSelA 7 ALUOp=Rtype 4 LWwr RegWr, ExtOp MemtoReg 1: RegDst, RegWr ALUselA ALUSelB=11 Overflow ALUOp=Add ALUSelB=01 x: PCSrc x: IorD, PCSrc IorD 13 ExtOp BrComplete ALUOp=Sub ALUSelB=01 x: IorD, Mem2Reg RegDst, ExtOp 1: PCWrCond ALUSelA PCSrc 10 OriExec ALUOp=Or 1: ALUSelA ALUSelB=11 x: MemtoReg IorD, PCSrc 11 ALUOp=Or x: IorD, PCSrc ALUSelB=11 1: ALUSelA RegWr OriFinish 27
28 Camino de Datos y Señales para Excepciones. 1 0 Cuál es el camino para RFE? (Return From Exception) 0 Cause IntCause CauseWr EPCWr=1 EPC PCWr=1 PC IorD=0 0 Mux PCWrCond=x Zero MemWr=0 32 RAdr Ideal Memory WrAdr Din Dout 32 IRWr=0 Instruction Reg A PC busa busb ALUSelA= PCSrc=11 0 Mux Mux BrWr=x EAddr 32 ALU ALU Control Target Zero 32 ALUSelB=00 ALUOp=Sub 28
29 Estados adicionales para manejar Excepciones 12 Instr Ilegal 15 Se puede mejorar? Ifetch 0: IntCause 1: CauseWrite x: RegDst, PCSrc ALUOp, ALUSelB IorD, MemtoReg Others: 0s PCdec 1: EPCWrite 0: ALUSelA ALUSelB=00 ALUOp=Sub x: MemtoReg PCSrc, PCex : PCWr PCSrc=11 x: RegDst, ALUOp, ALUSelB IorD, MemtoReg Others: 0s Habrá algo a hacer en paralelo? ALUOp=Add 1: PCWr, IRWr x: PCWrCond RegDst, Mem2R Others: 0s 13 OVflw Other 1: IntCause 1: CauseWrite x: RegDst, PCSrc ALUOp, ALUSelB IorD, MemtoReg Others: 0s Rfetch/Decode ALUOp=Add 1: BrWr, ExtOp ALUSelB=10 x: RegDst, PCSrc IorD, MemtoReg Others: 0s Rtype RExec 1: RegDst ALUSelA ALUSelB=01 ALUOp=Rtype x: PCSrc, IorD MemtoReg ExtOp Rfinish ALUOp=Rtype 1: RegDst, RegWr ALUselA ALUSelB=01 x: IorD, PCSrc ExtOp lw or sw Overflow beq ori
30 Qué pasa con la Instrucción con excepción? Pueden aparecer algunos problemas, según la forma en que se maneje la excepción. Por ejemplo, para el caso de overflow, la instrucción que la causa escribe su resultado, debido a que se pasa al estado de overflow después que se completa el estado de escribir el resultado. Propuesta de Solución? La arquitectura debe definir que las instrucciones no alteren el estado cuando hay excepciones; el MIPS especifica esto. Cuando veamos memoria virtual, veremos que aparecen ciertas clases de excepciones que deben evitar que la instrucción cambie el estado del CPU. Este aspecto del manejo de excepciones es complejo y limita potencialmente la performance. 30
31 Resumen El Control es la parte más difícil del diseño de un CPU. La Microprogramación especifica al control como un programa en micro-ensamblador en vez de un diagrama de MEF. La Microprogramación es un método de especificación del control, útil cuando el control es complejo. El microprograma se ensambla y se obtiene la tabla de verdad, la que puede realizarse con ROM o PLA empleando CAD. Las excepciones son la parte difícil del control. Es necesario encontrar un lugar conveniente para detectar excepciones y saltar al estado que guarde el PC, cargue el registro CAUSE e invoque al Sistema Operativo. Para el caso de CPU con pipeline, y fallos de memoria virtual: la instrucción no se puede completar y debe ser posible resumir el programa en exactamente la misma instrucción que tuvo el fallo, se pone todavía más difícil. 31
32 Microprogramación: una inspiración para RISC Si una instrucción simple pudiera ejecutarse en un ciclo de reloj (al igual que una µinst). Si uno pudiera escribir programas que produzcan microinstrucciones (compilar más abajo). Si la mayoría de los programas usaran instrucciones y modos de direccionamientos simples (como µprog. Vertical) Si el microcódigo se guardara en RAM y no en ROM para solucionar errores Si en lugar de la ROM pusiéramos un cache para macroinstrucciones Entonces, por qué no saltear el microprograma y compilar directamente en al nivel más bajo de código en la máquina? Objetivo: 1 macroinstrucción en 1 T. 32
Arquitectura de Computadores. Tema 8. Diseño de un CPU de multiciclo
Arquitectura de Computadores Tema 8 Diseño de un CPU de multiciclo Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom Diseño RISC D. Cohen UNT Arq. de Computadoras - 24 op 6
Más detallesOrganización del Computador I Verano. Control Multiciclo. Basado en el capítulo 5 del libro de Patterson y Hennessy
Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2014 Profesora Borensztejn Resumen Step name Instruction fetch Instruction decode/register
Más detallesArquitectura de Computadores II Clase #4
Clase #4 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Contenido Unidad de control Control cableado Control microprogramado MIC-1 La Unidad de Control La instrucción
Más detallesLa Unidad de Control y el Camino de Datos
Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 1 2 3 Contenido Veremos el diseño completo de un subconjunto
Más detallesESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES
Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Camino de datos y control: implementación microprogramada Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa. Introducción.
Más detallesESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES
Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Camino de datos y control: visión de conjunto y conclusiones Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa 1. Excepciones
Más detallesArquitectura de Computadores - 2001
IV. Segmentación o Pipelining Alternativas de Implementación de Procesador 1. Procesador Uniciclo CPI = 1 Pero Período de Reloj Grande 2. Procesador Multiciclo CPI > 1 Pero Período de Reloj más Pequeño
Más detallesEstructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS
Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS GAC: Grupo de Arquitectura de Computadores Dpt. Electrónica e Sistemas. Universidade da Coruña. Bibliografía Computer Organization
Más detallesMicroarquitectura: DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 3. MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR
Microarquitectura: implementación multiciclo DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 3. MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR 3.1 Esquema básico de un microprocesador
Más detallesTratamiento de Excepciones en MIPS
Tratamiento de en MIPS Elías Todorovich Arquitectura I - Curso 2013 Riesgos de Control Las direcciones del PC no son secuenciales (PC = PC + 4) en los siguientes casos: Saltos condicionales (beq, bne)
Más detallesProcesador Segmentado
Organización del Computador I Verano Procesador Segmentado Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2014 Profesora Borensztejn Segmentación Descompone una determinada operación
Más detallesArquitectura de Computadoras
4-1 Arquitectura de Computadoras Tema 4: Arquitectura del Set de Instrucciones Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom 4-2 Arquitectura del Set de Instrucciones Indice
Más detallesDiseño Procesador Monociclo
Diseño Procesador Monociclo Especificación de la arquitectura del repertorio de instrucciones y de las instrucciones que podrá ejecutar el procesador. Modelo Carga-Almacenamiento. Se implementará el procesador
Más detallesArquitectura de Computadores II Clase #3
Arquitectura de Computadores II Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El
Más detalles4.5 Microprogramación para simplificar el diseño del control
4.5 Microprogramación para simplificar el diseño del control Para el control de la implementación multiciclos del subconjunto MIPS considerado, una máquina de estados como la mostrada en la figura 4.28
Más detallesTema 4 (II) El procesador
Grupo ARCOS Universidad Carlos III de Madrid Tema 4 (II) El procesador Estructura de Computadores Grado en Ingeniería Informática Contenidos } Elementos de un computador } Organización del procesador }
Más detallesESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES
Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Camino de datos y control: implementación uniciclo Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa. Introducción. 2. Construcción
Más detalles16/04/2012. Introducción. Construyendo el Datapath. Esquema de implementación Simple. Unidad de Control. Arquitectura de Computadoras Primavera 2012
/4/22 Introducción rquitectura de Computadoras Primavera 22 Construyendo el path Esquema de implementación Simple Unidad de Control 2 Los elementos básicos de un sistema de computo son: Nos centraremos
Más detallesMICROPROCESADOR. Multiciclo
MICROPROCESADOR Multiciclo Ejemplo Tiempos de operación. Unidades de memoria: 10 ns. Alu y sumadores: 10 ns Archivo de registros (lectura y escritura): 5 ns. Suponiendo que los multiplexores, unidad de
Más detallesConvenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:
Unidades principales en la implementación Data El procesador: camino de datos y control IEC UTM Moisés E. Ramírez G. 1 Register # PC Address Instruction Instruction Registers Register # ALU memory Register
Más detallesAspectos avanzados de arquitectura de computadoras Pipeline. Facultad de Ingeniería - Universidad de la República Curso 2017
Aspectos avanzados de arquitectura de computadoras Pipeline Facultad de Ingeniería - Universidad de la República Curso 2017 Objetivo Mejorar el rendimiento Incrementar frecuencia de reloj? Ancho de los
Más detallesTema 4 (II) El procesador
Tema 4 (II) El procesador Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Técnicas de control 1. Lógica cableada 2. Lógica almacenada
Más detallesIntroducción a la arquitectura de computadores
Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina
Más detallesESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES
Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Camino de datos y control: implementación multiciclo Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa. Introducción. 2. Construcción
Más detallesUnidad I: Organización del Computador. Ing. Marglorie Colina
Unidad I: Organización del Computador Ing. Marglorie Colina Arquitectura del Computador Atributos de un sistema que son visibles a un programador (Conjunto de Instrucciones, Cantidad de bits para representar
Más detallesArquitectura de Computadores II Clase #5
Arquitectura de Computadores II Clase #5 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Algunas ideas para mejorar el rendimiento Obvio: incrementar la frecuencia
Más detallesArquitectura del CPU. Organización del Computador 1 Verano 2016
Arquitectura del CPU Organización del Computador 1 Verano 2016 Agenda De dónde venimos? Introducción: esquema de una computadora Representación de la información Circuitos Combinatorios Circuitos Secuenciales
Más detallesPrimer Semestre Laboratorio de Electrónica Universidad de San Carlos de Guatemala. Electrónica 5. Aux. Marie Chantelle Cruz.
Laboratorio de Electrónica Universidad de San Carlos de Guatemala Primer Semestre 2017 Overview 1 Cortex La más usada para dispositivos móviles Encoding por 32 bits, excepto Thumb y Thumb-2 15x32bits registros
Más detallesTema 1: PROCESADORES SEGMENTADOS
Tema 1: PROCESADORES SEGMENTADOS Tema 1: PROCESADORES SEGMENTADOS 1.1. Procesadores RISC frente a procesadores CISC. 1.2. Clasificación de las arquitecturas paralelas. 1.3. Evaluación y mejora del rendimiento
Más detallesEstructura de Computadores
Estructura de Computadores Tema 4. El procesador Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Elementos de un
Más detallesArquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2
Arquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2 Departamento de Ingeniería de Sistemas Universidad id d de Antioquia i 2011 2 Unidad de control principal Mediante el
Más detallesObjetivos. Objetivos. Arquitectura de Computadores. R.Mitnik
Objetivos Objetivos Arquitecturas von Neumann Otras Unidad Central de Procesamiento (CPU) Responsabilidades Requisitos Partes de una CPU ALU Control & Decode Registros Electrónica y buses 2 Índice Capítulo
Más detallesELO311 Estructuras de Computadores Digitales. Procesador Monociclo
ELO3 Estructuras de Computadores Digitales Procesador Monociclo Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer Organization
Más detallesArquitectura de Computadores
Arquitectura de Computadores 1. Introducción 2. La CPU 3. Lenguaje Máquina 4. La Memoria 5. Sistemas de Entrada/Salida 6. Segmentación (Pipeline) 7. Memoria Caché 8. Arquitecturas RISC Arquitectura de
Más detallesEl nivel ISA (II)! Conjunto de Instrucciones
El nivel ISA (II) Conjunto de Instrucciones EC-2721 Arquitectura del Computador I Que es un Conjunto de Instrucciones? Colección completa de instrucciones comprendida por un procesador Lenguaje de máquina
Más detallesARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN
ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN De Diego Varona, Rubén Romay López, Oscar Manuel Vega Martínez, Jorge INTRODUCCIÓN La representación de la instrucción en la computadora se denomina formato.
Más detallesArquitectura de Computadoras. Clase 4 Segmentación de Instrucciones
Arquitectura de Computadoras Clase 4 Segmentación de Instrucciones Segmentación de cauce: Conceptos básicos La segmentación de cauce (pipelining) es una forma particularmente efectiva de organizar el hardware
Más detallesPráctica 4 - Microarquitectura del CPU
Práctica 4 - Microarquitectura del CPU Organización del Computador 1 Verano 2011 Ejercicio 1 El siguiente esquema muestra algunos de los componentes de la microarquitectura de un modelo del procesador
Más detallesPráctica 7 - Microarquitectura del CPU
Práctica 7 - Microarquitectura del CPU Organización del Computador 1 Primer cuatrimestre de 2012 Ejercicio 1 El siguiente esquema muestra algunos de los componentes de la microarquitectura de un modelo
Más detallesEstructura de los sistemas de cómputo
Estructura de los sistemas de cómputo Introducción Elementos básicos de un computador Registro del procesador Ejecución de las instrucciones Interrupciones Hardware de protección Introducción Qué es un
Más detallesTutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción
Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Paralelismo a nivel de instrucción
Más detallesArquitectura de Computadores. Resumen para Certamen 2 Por Franco Zuccar
Arquitectura de Computadores Resumen para Certamen 2 Por Franco Zuccar Componentes básicos Compuertas logicas (AND, OR, NOT, XOR, NAND y NOR) Flip-Flop s (SR, JK, D y T) Los circuitos combinacionales se
Más detallesInterrupciones. Sistemas con Microcontroladores y Microprocesadores.
Interrupciones Sistemas con Microcontroladores y Microprocesadores http://www.herrera.unt.edu.ar/procesadores Interrupciones en la vida real 1. Un estudiante está estudiando (Ejecuta una tarea) 2. Le golpean
Más detalles5. Procesador: camino de datos y control
Fundamentos de Computadores Ingeniería de Telecomunicación Departamento de Automática Escuela Politécnica Superior Curso académico 2009 2010 Contenidos 1 Control de operaciones elementales 2 3 4 5 Objetivos
Más detallesProcesador. Memoria. Ejemplo de un Procesador: MU0. Instrucciones. Direcciones. Registros. Datos. Instrucciones y datos SETI Tr.
Ejemplo de un Procesador: MU0 Instrucciones Registros Procesador Direcciones Instrucciones y datos Datos Memoria Tr. 306 float fir_filter(float input, float *coef, int n, float *history { int i; float
Más detallesArquitectura de Computadores II Clase #3
Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El stack Formatos de datos Control
Más detallesEVOLUCIÓN HISTÓRICA DE LOS µp
EVOLUCIÓN HISTÓRICA DE LOS µp El primer procesador fue inventado por los Babilonios en el año 500 ac En 1642 se perfeccionó la primera calculadora por Blas Pascal A mediados del siglo pasado se inventaron
Más detallesARQUITECTURA DEL REPERTORIO DE INSTRUCCIONES
ARQUITECTURA DEL REPERTORIO DE INSTRUCCIONES Arquitectura del Repertorio de instrucciones Arquitectura del repertorio de instrucciones Repertorio de instrucciones Organización del almacenamiento Formato
Más detallesArquitectura de Computadores II Clase #2
Arquitectura de Computadores II Clase #2 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Ciclo de Instrucción Normal Con interrupciones La Unidad de Control
Más detallesTema 1: PROCESADORES SEGMENTADOS
Tema 1: PROCESADORES SEGMENTADOS 1.1. Procesadores RISC frente a procesadores CISC. 1.2. Clasificación de las arquitecturas paralelas. 1.3. Evaluación y mejora del rendimiento de un computador. 1.4. Características
Más detallesTema 5. Segmentación: conceptos básicos
Tema 5. Segmentación: conceptos básicos Organización de Computadores LUIS ENRIQUE MORENO LORENTE RAÚL PÉRULA MARTÍNEZ ALBERTO BRUNETE GONZALEZ DOMINGO MIGUEL GUINEA GARCIA ALEGRE CESAR AUGUSTO ARISMENDI
Más detallesUNIDAD 4: El procesador: Camino de los datos y Control.
UNIDAD 4: El procesador: Camino de los datos y Control. 4.1 Introducción El rendimiento de una máquina depende de tres factores clave: Conteo de Instrucciones, tiempo del ciclo de reloj y ciclos de reloj
Más detallesARQUITECTURA DE COMPUTADORAS
ARQUITECTURA DE COMPUTADORAS Información General Objetivos Al terminar el curso, el estudiante estará capacitado para: 1. Manejar medidas de performance que permitan comparar diversos sistemas de Computadora.
Más detallesLECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION
ESTRUCTURA DE COMPUTADORES Pag. 14.1 LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION 1. Introducción Vamos a aplicar las ideas de microprogramación al caso de un minicomputador similar al
Más detallesEstructura y Tecnología de Computadores. Módulo G. Estructura del procesador. Tema 16. Diseño de la ruta de datos y la unidad de control
Estructura y Tecnología de Computadores Módulo G Estructura del procesador Tema 6 Diseño de la ruta de datos y la unidad de control José Manuel Mendías Cuadros Dpto Arquitectura de Computadores y Automática
Más detallesOrganización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017
Organización del Computador 1 CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017 Estructura de una máquina von Neumann Ciclo de Ejecución 1. 2. 3. 4. 5. 6. UC obtiene la próxima instrucción de
Más detallesUNIDAD DE CONTROL MICROPROGRAMADA.
UNIDAD DE CONTROL MICROPROGRAMADA. Como se ha visto en el capítulo anterior, la UC puede ser diseñada a partir de técnicas de síntesis de sistemas secuenciales y la utilización de una ROM para guardar
Más detallesDiseño del procesador MIPS R2000
Diseño del procesador MIPS R2000 Aula Virtual IS09 Sergio Barrachina Mir Área de Arquitectura y Tecnología de Computadores Dpt. de Ingeniería y Ciencia de los Computadores Universidad Jaume I Índice 1.
Más detallesCICLOS DEL PROCESADOR
UNIDAD DE CONTROL CICLOS DEL PROCESADOR Qué es un ciclo de búsqueda? Para qué sirve estudiar los ciclos de instrucción de una CPU? Para comprender el funcionamiento de la ejecución de instrucciones del
Más detalles4.1 Ejecución de instrucciones en el nivel de Microprogramación
4. Microprogramación (Nivel 1) La ejecución de una instrucción de máquina (nivel 2) requiere de varias etapas internas dentro de la CPU para ser ejecutadas. Así cada instrucción de nivel 2, dependiendo
Más detallesSistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo
Más detallesUNIDAD 5: Mejora del rendimiento con la segmentación.
UNIDAD 5: Mejora del rendimiento con la segmentación. 5.1 Un resumen de segmentación La segmentación (pipelining) es una técnica de implementación por la cual se solapa la ejecución de múltiples instrucciones.
Más detallesRepaso concepto de programa
Repaso concepto de programa ANTES se tenían sistemas cableados Datos Secuencia de funciones aritmético/lógicas Resultados Programación en hardware: cuando cambiamos las tareas, debemos cambiar el hardware
Más detallesELO311 Estructuras de Computadores Digitales. Diseño de un Procesador Multiciclo
ELO311 Estructuras de Computadores Digitales Diseño de un Procesador Multiciclo Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer
Más detallesOrganización de computadoras. Clase 4. Universidad Nacional de Quilmes. Lic. Martínez Federico
Organización de computadoras Clase 4 Universidad Nacional de Quilmes Lic. Martínez Federico Memoria: Organización Lectura Escritura Direcciones Qué pasó? Qué pasó? Memoria: Organización Lectura Escritura
Más detallesIntroducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones
Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina
Más detallesUNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO311 Estructuras de Computadores
12. Diseño de un Procesador. (Monociclo) 12.1 Especificación de instrucciones. El primer paso es la especificación de la arquitectura del repertorio de instrucciones y de las instrucciones que podrá ejecutar
Más detallesARQUITECTURA DE VON NEUMANN Y HARVARD
ARQUITECTURA DE VON NEUMANN Y HARVARD ARQUITECTURA VON NEUMANN En esta arquitectura se observa que las computadoras utilizan el mismo dispositivo de almacenamiento para datos e instrucciones conectados
Más detallesArquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA
Arquitecturas RISC Características de las arquitecturas RISC Juego de instrucciones reducido (sólo las esenciales) Acceso a memoria limitado a instrucciones de carga/almacenamiento Muchos registros de
Más detallesTema: Microprocesadores
Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Microprocesadores Arq. de Computadora I Ing. Carlos Ortega H. 1
Más detallesPlataformas de soporte computacional: arquitecturas avanzadas,
Plataformas de soporte computacional: arquitecturas avanzadas, sesión Diego R. Llanos, Belén Palop Departamento de Informática Universidad de Valladolid {diego,b.palop}@infor.uva.es Índice. Arquitectura
Más detallesTEMA VI DISEÑO DEL PROCESADOR
TEMA VI DISEÑO DEL PROCESADOR Diseño del procesador 6.1 Repertorio de instrucciones 6.1.1 Procesadores de tres direcciones 6.1.2 Procesadores de dos direcciones 6.1.3 Procesadores de una dirección (procesadores
Más detallesINDICE 2. Organización de computadoras 3. El Nivel de Lógica Digital
INDICE Prefacio XV 1. Introducción 1 1.1. Lenguajes, niveles y maquinas virtuales 4 1.2. Maquinas multinivel actuales 4 1.3. Evolución histórica de las maquinas multinivel 8 1.4. Hardware, software y maquinas
Más detallesArquitectura del MIPS: Introducción
Arquitectura del MIPS: Introducción Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución y caracterización
Más detallesArquitectura e Ingeniería de Computadores
Arquitectura e Ingeniería de Computadores Tema 2 Procesadores Segmentados Curso 2-22 Contenidos Introducción: Recordatorio MPIS-DLX Excepciones y control Segmentación Riesgos: Estructurales, de datos y
Más detallesEXCEPCIONES ARQUITECTURA DEL PROCESADOR II
EXCEPCIONES ARQUITECTURA DEL PROCESADOR II 1. Consideraciones generales sobre las excepciones El mayor desafío en el diseño de los procesador es el control: es la parte más difícil de hacer funcionar de
Más detallesUnidad 5 Unidad central de proceso
Unidad 5 Unidad central de proceso Objetivo El objetivo de esta unidad es que el alumno logre: entender el funcionamiento básico de la Unidad Central de Proceso (UCP), definir las componentes básicas de
Más detallesIntroducción a la arquitectura PIC
18 de septiembre de 2012 Contenido 1 Microprocesadores y Microcontroladores 2 3 4 Microprocesadores y Microcontroladores Microcomputadora consiste básicamente de: Unidad central de procesamiento (CPU),
Más detallesArquitecturas CISC y RISC
Arquitecturas CISC y RISC Diseño de Sistemas Digitales EL-3310 I SEMESTRE 2008 2. ARQUITECTURA DEL CONJUNTO DE INSTRUCCIONES 2.1 Elementos de la arquitectura Clasificación de la arquitectura Organización
Más detallesPipeline o Segmentación Encausada
Pipeline o Segmentación Encausada Material Elaborado por el Profesor Ricardo González A partir de Materiales de las Profesoras Angela Di Serio Patterson David, Hennessy John Organización y Diseño de Computadores
Más detallesArquitectura de Computadoras
Arquitectura de Computadoras Dr. Andrés David García García Escuela de Diseño, Ingeniería y Arquitectura Departamento de Mecatrónica 1 Microprocesadores y Periféricos Objetivos: Analizar la arquitectura
Más detallesSección de procesamiento: El camino de datos
Sección de procesamiento: El camino de datos Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución
Más detallesArquitectura de Computadoras Organización del CPU Basadas en las Notas de Teórico Versión 5.1 del Dpto. de Arquitectura-InCo-FIng
Basadas en las Versión 5.1 del Dpto. de Arquitectura-InCo-FIng ORGANIZACIÓN DE LA UNIDAD CENTRAL DE PROCESO (CPU) 1 Introducción En este capítulo veremos un posible diseño interno de una unidad central
Más detallesFUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre.
FUNDAMENTOS DE COMPUTADORES 18 de junio de 2014. Examen parcial del 2º cuatrimestre. Nombre DNI Apellidos Grupo Ejercicio 1 (2.5 puntos) Para el computador MIPS estudiado en clase, responder a las siguientes
Más detallesINTRODUCCIÓN SET DE INSTRUCCIONES
Índice INTRODCCIÓN.- Objetivos:... 4 2. La aparición de los procesadores RISC:... 4 2.. Que significa RISC... 4 2.2. La base de un sistema RISC: n set de instrucciones simple... 4 2.3. Características
Más detallesArquitectura de Computadoras I Ingeniería de Sistemas Curso 2017
Arquitectura de Computadoras I Ingeniería de Sistemas Curso 217 Práctica de Laboratorio: Microprocesador MIPS Segmentado El objetivo de esta práctica es implementar el microprocesador MIPS (visto en clase
Más detallesPipelining o Segmentación de Instrucciones
Pipelining o Segmentación de Instrucciones La segmentación de instrucciones es similar al uso de una cadena de montaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a través
Más detalles5 Lenguaje de Máquina
5 Lenguaje de Máquina Ya visto el detalle de la organización de la CPU y el nivel de microprogramación, en este punto veremos las consideraciones del nivel de lenguaje de máquina. Este conjunto de instrucciones
Más detallesInstituto Tecnológico de Morelia
Instituto Tecnológico de Morelia Arquitectura de Computadoras Unidad 1a Programa 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo. 1.1.1 Clásicas. 1.1.2 Segmentadas. 1.1.3
Más detallesArquitectura de Computadores II Clase #7
Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2009 Veremos Memoria virtual Resumen de ideas para mejorar performance 1 Recordemos:
Más detallesARQUITECTURA VON NEUMANN
ARQUITECTURA VO EUMA Computador bus de datos bus de direcciones bus de control Usuario y aplicaciones Lenguajes de alto nivel Sistema operativo Unidad Central de Proceso Memoria principal Unidad de Entrada
Más detallesFUNCIONAMIENTO DEL ORDENADOR
FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores
Más detallesArquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Arquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010 1. La
Más detallesTemporización monociclo. Componentes de la ruta de datos. Ensamblaje de la ruta de
Arquitectura de Computadores Tema 2. Repaso de Conceptos fundamentales Diseño de la ruta de datos y la unidad de control 2. Introducción contenidos Importancia del diseño del procesador. Metodología de
Más detallesMicrocontroladores. Unidad 1
Microcontroladores Unidad 1 1.1 Conceptos básicos Ordenador o Computadora Sistema de calculo de propósito general que incorpora una unidad central de proceso, memoria y dispositivos de entrada y salida.
Más detallesPROGRAMA INSTRUCCIONAL FUNDAMENTO PARA EL DISEÑO DE SISTEMAS CON MICROPROCESADORES
UNIVERSIDAD FERMÍN TORO VICE RECTORADO ACADÉMICO FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN PROGRAMA INSTRUCCIONAL FUNDAMENTO PARA EL DISEÑO DE SISTEMAS CON MICROPROCESADORES CÓDIGO ASIGNADO SEMESTRE
Más detallesCap.2. Kernel Sistemas Operativos - Viña del Mar.
Cap.2. Kernel Sistemas Operativos - Viña del Mar. Maximiliano Osorio mosorio@inf.utfsm.cl Universidad Técnica Federico Santa Maria 19 de agosto de 2017 1 / 44 Tabla de contenidos 1 Proceso Protección de
Más detallesArquitectura Segmentada: Conceptos básicosb
Arquitectura Segmentada: Conceptos básicosb Diseño de Sistemas Digitales EL-3310 I SEMESTRE 2008 4 ARQUITECTURA SEGMENTADA (PIPELINING) (4 SEMANAS) 4.1 Conceptos básicos de la arquitectura segmentada Paralelismo
Más detallesDiseño de un procesador multiciclo.
Capítulo 13. 1 Diseño de un procesador multiciclo. 13.1 Reutilización de los recursos y tiempos de ejecución de acuerdo a la instrucción. En el modelo del procesador monociclo el período del reloj se ajusta
Más detallesClasificación de las Arquitecturas
Clasificación de las Arquitecturas MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Por la taxonomía de Flynn 1 Flynn Flujo de datos Simple Múltiple Flujo de datos Simple Múltiple SISD MISD
Más detalles