Risc y Cisc

31,739 views

Published on

tema 4

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
31,739
On SlideShare
0
From Embeds
0
Number of Embeds
5,237
Actions
Shares
0
Downloads
998
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Risc y Cisc

  1. 1. Organización de la CPU Gustavo Dávila Octubre 2011
  2. 2. Organización de la CPU <ul><li>Unidad de Control (Control Unit - CU) </li></ul><ul><li>Unidad Aritmético Lógica (Arithmetic Logic Unit - ALU) </li></ul><ul><li>El Contador de Programa (Program Counter - PC) </li></ul><ul><li>Registro de Dirección de Memoria (Memory Address Register - MAR) </li></ul><ul><li>Registro de Buffer de Memoria (Memory Buffer Register - MBR) también llamado Registro de Datos de Memoria (Memory Data Register - MDR) </li></ul><ul><li>Memoria Caché </li></ul><ul><li>Algunos Registro de Propósito Especial , tales como: </li></ul><ul><ul><li>La Palabra de Estado del Procesador (Processor Status Word -PSW) </li></ul></ul><ul><ul><li>El Puntero de Pila (Stack Pointer - SP) </li></ul></ul><ul><ul><li>Registro de Instrucción (Instruction Register -IR) </li></ul></ul><ul><li>Algunos Registros de Propósito General para almacenar datos y direcciones </li></ul>
  3. 3. Organización Interna de una CPU
  4. 4. Ciclo Búsqueda-Decodificación-Ejecución de la CPU
  5. 5. Ciclo Búsqueda-Decodificación-Ejecución de la CPU <ul><li>Fase de Búsqueda de Instrucción </li></ul><ul><li>La CPU usa la dirección que se encuentra en el PC para buscar la instrucción </li></ul><ul><ul><li>Coloca el contenido del PC en MAR </li></ul></ul><ul><li>MAR = PC </li></ul><ul><ul><li>Asegura la línea de control para realizar una lectura “ READ ” </li></ul></ul><ul><ul><li>Coloca el contenido de la ubicación apuntada por el MAR en el MBR </li></ul></ul><ul><li>MBR= Memory[MAR] </li></ul><ul><ul><li>Incrementa el contenido del PC para apuntar a la siguiente instrucción </li></ul></ul><ul><li>PC = PC + 1 </li></ul><ul><li>Fase de Decodificación de Instrucción </li></ul><ul><li>La instrucción que se encuentra en el MBR debe ser decodificada separando el código de operación (opcode) y los operandos (n_operands) en el IR </li></ul><ul><li>IR = OPCODE - PART (MBR) </li></ul><ul><li>N_OPERANDS = los operandos requeridos basados en IR </li></ul>
  6. 6. Ciclo Búsqueda-Decodificación-Ejecución de la CPU <ul><li>Fase de Búsqueda de Operando(s) </li></ul><ul><li>Lo que se tiene ahora es el número de operandos a ser buscados en una dirección de memoria, un registro o una constante que es parte de la instrucción recibida </li></ul><ul><ul><li>Se obtiene la instrucción completa </li></ul></ul><ul><li>IR = MBR </li></ul><ul><ul><li>Coloca la dirección de memoria de el primer operando a buscar </li></ul></ul><ul><li>MAR = First - Operand(IR) </li></ul><ul><ul><li>Asegura linea de control a “ READ ” </li></ul></ul><ul><ul><li>Se trae el contenido de la dirección apuntada por el MAR (1er operando) </li></ul></ul><ul><li>MBR=Memory[MAR] </li></ul><ul><li>Fase de Ejecución </li></ul><ul><li>En este punto el valor a ser escrito en el registro r1 está en el MBR una señal de control se envía para indicar que el contenido del MBR debe ser transferido a R1 </li></ul>
  7. 7. Unidad de Control Cableado <ul><li>El control cableado consiste de una máquina de estados y un circuito combinacional </li></ul><ul><li>Es un autómata que se mueve de un estado a otro dependiendo de la entrada recibida. </li></ul>
  8. 8. Unidad de Control Microprogramado <ul><li>Cuando la CPU ejecuta una instrucción, realmente ejecuta un conjunto de microinstrucciones llamadas microrutinas </li></ul><ul><li>Cada microinstrucción requiere de un ciclo de CPU para ejecutarse </li></ul><ul><li>Cada Microrutina está almacenada generalmente en una memoria de sólo lectura tambien llamada ROM de control </li></ul><ul><li>Las características del Control Microprogramado son: </li></ul><ul><li>Permite crear infinitas instrucciones complejas que puedan ser descompuestas en las microinstrucciones básicas </li></ul><ul><li>Cuando se necesitan nuevas instrucciones no hay que modificar la parte física de un cpu sólo hay que programar la instrucción con sus equivalentes microinstrucciones. </li></ul><ul><li>En el control cableado cada nueva instrucción requiere ser agregada fisicamente en el hardware </li></ul>
  9. 9. Unidad de Control Microprogramado
  10. 10. Arquitectura RISC y CISC
  11. 11. Arquitectura RISC y CISC <ul><li>Se han realizado muchos esfuerzos para mejorar el rendimiento de los computadores con el fin de incrementar la velocidad de funcionamiento de los componentes tales como: </li></ul><ul><ul><li>El subsistema de memoria </li></ul></ul><ul><ul><li>El subsistema de dispositivos de E/S </li></ul></ul><ul><ul><li>El bus </li></ul></ul><ul><ul><li>La CPU </li></ul></ul><ul><li>El diseño de la misma CPU tenía que mejorarse para obtener mejoras significativas en el rendimiento. </li></ul><ul><li>El diseño y evolución de las CPU’s a lo largo de los años está representado en las arquitecturas RISC y CISC </li></ul>
  12. 12. Arquitectura CISC <ul><li>Arquitectura de Computadora de Conjunto de Instrucciones Complejas (Complex Instruction Set Computer – CISC) </li></ul><ul><li>Las imperativas tecnológias que influyeron en la evolución de la arquitectura CISC fueron: </li></ul><ul><li>El Control Microprogramado </li></ul><ul><ul><li>Facilidad de Implementación </li></ul></ul><ul><ul><li>Uso de eficiente del espacio en el chip </li></ul></ul><ul><ul><li>Posibilidad de modificar el conjunto de instrucciones </li></ul></ul><ul><ul><li>Posibilidad de diseñar nuevas y poderosas instrucciones </li></ul></ul><ul><ul><li>Posibilidad de simular nuevas arquitecturas </li></ul></ul>
  13. 13. Arquitectura CISC <ul><li>Necesidad de tener un rico conjunto de instrucciones, dado que muchos programas fueron desarrollados en lenguaje ensamblador </li></ul><ul><ul><li>Instrucciones para trabajar con operandos de punto flotante </li></ul></ul><ul><ul><li>Instrucciones individuales para guardar y restaurar todos los registros de la CPU </li></ul></ul><ul><ul><li>Instrucciones para proporcionar construcciones especiales de lazos </li></ul></ul><ul><ul><li>Instrucciones para trabajar con diferentes modos de direccionamiento que permitan el indexado a través de arreglos </li></ul></ul><ul><li>Buscar la correspondencia de instrucciones de lenguaje de alto nivel al nivel de lenguaje de máquina </li></ul><ul><ul><li>Al usar el control microprogramado, es posible disponer de algunas de las instrucciones de lenguaje de alto nivel a nivel de lenguaje de máquina. Estas instruccciones pueden ser interpretadas por el microprograma </li></ul></ul><ul><ul><li>La disponibilidad de una instrucción de lenguaje de máquina ofrece la ventaja de que los compiladores de lenguajes de alto nivel generen código más simple y a la vez más eficiente </li></ul></ul>
  14. 14. Arquitectura CISC <ul><li>Características de la Arquitectura CISC </li></ul><ul><li>Instrucciones de longitud variable </li></ul><ul><ul><li>La longitud de la instrucción depende del modo de direccionamiento usado en los operandos </li></ul></ul><ul><li>Las instrucciones requieren múltiples ciclos de reloj para ejecutar </li></ul><ul><ul><li>Antes de que una instrucción pueda ser ejecutada los operandos deben ser buscados desde diferentes ubicaciones en memoria </li></ul></ul><ul><li>Predominan las instrucciones con dos operandos </li></ul><ul><ul><li>Los CISC soportan cero, uno o más operandos </li></ul></ul><ul><li>Variedad del direccionamiento de operandos </li></ul><ul><ul><li>Registro a registro, registro a memoria y memoria a registro </li></ul></ul><ul><li>Multiples modos de direccionamiento </li></ul><ul><ul><li>Alguno de los direccionamientos soportados son el directo de memoria, indirecto de memoria y el indexado a través de registros </li></ul></ul>
  15. 15. Arquitectura CISC <ul><li>Ventajas </li></ul><ul><li>Facilidad de implementación del conjunto de instrucciones </li></ul><ul><li>Compatibilidad hacia adelante y hacia atrás de nuevas CPU’s </li></ul><ul><li>Facilidad de programación </li></ul><ul><li>Puede ser menor la complejidad del compilador </li></ul><ul><li>Desventajas </li></ul><ul><li>La complejidad del conjunto de instrucciones crece </li></ul><ul><li>Las instrucciones de longitud variable reducen el rendimiento del sistema </li></ul><ul><li>Inclusión de instrucciones que raramente se usan </li></ul>
  16. 16. Arquitectura RISC <ul><li>Arquitectura de Computadora de Conjunto de Instrucciones Reducidas (Reduced Instruction Set Computer – RISC) </li></ul><ul><li>Las CPUs RISC se ocupan de un número menor de instrucciones comparado con las CPUs en la arquitectura CISC. </li></ul><ul><li>Los factores y condiciones que impulsaron el desarrollo de los procesadores RISC fueron: </li></ul><ul><ul><li>Reducción de las brechas en velocidad entre la CPU y la memoria </li></ul></ul><ul><ul><li>Comprensión de la efectividad de instrucciones simples y complejas </li></ul></ul><ul><ul><li>Segmentación (Pipelining) </li></ul></ul><ul><ul><li>Velocidad de la memoria </li></ul></ul><ul><ul><li>Problemas con latencia de la Instrucción </li></ul></ul><ul><ul><li>Problemas de dependencia mutua entre instrucciones </li></ul></ul><ul><ul><li>Super Segmentación </li></ul></ul><ul><ul><li>Super Procesador Escalar </li></ul></ul>
  17. 17. Arquitectura RISC <ul><li>Características de la Arquitectura RISC </li></ul><ul><li>Pequeño conjunto de instrucciones </li></ul><ul><ul><li>Poseen un número significativamente menor de instrucciones </li></ul></ul><ul><li>Instrucciones simples </li></ul><ul><li>Instrucciones de longitud fija </li></ul><ul><ul><li>La mayoría de las instrucciones son de la misma longitud, lo que permite que una instrucción se busque con una operación individual </li></ul></ul><ul><li>Predominan las instrucciones que se ejecutan en un ciclo de máquina </li></ul><ul><ul><li>La mayoría de las instrucciones se ejecutan en un solo ciclo, esto permite la implementación de la segmentación (Pipelining) </li></ul></ul><ul><li>Procesamiento de segmentación </li></ul><ul><ul><li>Los procesadores RISC tienen la capacidad de manejar varias instrucciones al mismo tiempo, por medio de la técnica de segmentación o línea de trabajo </li></ul></ul>
  18. 18. Arquitectura RISC <ul><li>Causas de la Latencia </li></ul><ul><li>Instrucciones requieren más de un ciclo de máquina </li></ul><ul><li>Instrucciones de longitud variable </li></ul><ul><li>Instrucciones de punto flotante </li></ul><ul><li>Acceder a operandos desde memoria en vez que desde registros </li></ul><ul><li>Acceder a un recurso compartido </li></ul><ul><li>El problema de la Dependencia Mutua </li></ul><ul><li>La dependencia mutua entre instrucciones impone un orden secuencial en la ejecución </li></ul><ul><li>La dependencia mutua puede degradar el rendimiento de un procesador RISC </li></ul><ul><li>Los procesadores RISC emplean la programación de instrucciones (instruction scheduling) para minimizar la degradación en rendimiento </li></ul>
  19. 19. Arquitectura RISC <ul><li>Ventajas </li></ul><ul><li>Se incrementa la velocidad debido a un conjunto de instrucciones más simple. </li></ul><ul><li>Hardware más simple debido a instrucciones más sencillas que requieren menos espacio en el chip </li></ul><ul><li>El ciclo de diseño más corto resulta en un diseño efectivo , costos controlados de desarrollo y tiempo de salida al mercado más corto. </li></ul><ul><li>Desventajas </li></ul><ul><li>Excesiva dependencia en la efectividad del compilador </li></ul><ul><li>La depuración de los programas se hace difícil por la programación de instrucciones </li></ul><ul><li>Se incrementa el tamaño del código de lenguaje máquina </li></ul><ul><li>Necesidad de memoria rápida </li></ul>
  20. 20. Arquitectura RISC y CISC Entidad VAX-11 Intel Pentium UltraSparc Power PC Fabricante Digital Intel Sun Apple, IBM y Motorola Registros 16 PG 8 PG 8 PE 100+ PG 64 PF 32 PG 64bit Espacio de direcciones Virtuales 2^32 bytes 2^46 2^64 2^64 Modos de direccionamiento <ul><li>Múltiple modos de direccionamiento </li></ul><ul><li>Cualquier instrucción puede usar cualquier modo de direccionamiento </li></ul><ul><li>Múltiple modos de direccionamiento </li></ul><ul><li>Direccionamiento de registro base con cualquier registro de PG </li></ul><ul><li>Inmediato </li></ul><ul><li>Registro directo , indirecto e indexado </li></ul><ul><li>Memoria Directa </li></ul><ul><li>Inmediato </li></ul><ul><li>Registro directo, indirecto e indexado </li></ul><ul><li>Direccionamiento absoluto y relativo </li></ul>Conjunto de Instrucciones Más de 400 Menos de 100
  21. 21. Arquitectura RISC y CISC Fin

×