Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Arquitectura de Computadores (II Bimestre)

7,372 views

Published on

Universidad Técnica Particular de Loja
Ciencias de la Computación
Arquitectura de Computadores
II Bimestre
Abril-Agosto 2007
Ponente: Ing. Marcia Contento

  • Be the first to comment

  • Be the first to like this

Arquitectura de Computadores (II Bimestre)

  1. 1. ESCUELA : PONENTE : BIMESTRE : ARQUITECTURA DE COMPUTADORES CICLO : CIENCIAS DE LA COMPUTACIÓN II BIMESTRE Ing. Marcia Contento ABRIL – AGOSTO 2007
  2. 2. Contenidos: <ul><li>Aritm ética del Computador </li></ul><ul><li>Repertorio de Instrucciones </li></ul><ul><li>Unidad de Control </li></ul><ul><li>Unidad Aritmético Lógica </li></ul><ul><li>Bibliograf ía ・ Organizaci ón y Arquitectura de Computadores, William Stalling </li></ul>
  3. 3. Objetivos <ul><li>Conocer la organizaci ón del procesador </li></ul><ul><li>Formas de representación de datos </li></ul><ul><li>Conocer los registros que componen la memoria interna del procesador </li></ul>
  4. 4. Introducci ón <ul><li>El funcionamiento de la CPU esta determinado por las instrucciones que ejecuta(instrucciones m áquina o instrucciones de computador ). El conjunto de instrucciones se determina “ repertorio de instrucciones” </li></ul>
  5. 5. Repertorio de Instrucciones <ul><li>Conjunto de instrucciones que son entendidos por CPU </li></ul><ul><li>C ódigos máquina </li></ul><ul><li>Binarias </li></ul><ul><li>Generalmente representadas en c ódigo ensamblador </li></ul>
  6. 6. Representaci ón de números <ul><li>Representación de Enteros (coma fija) </li></ul><ul><ul><li>Signo-magnitud </li></ul></ul><ul><ul><li>Complemento a dos </li></ul></ul><ul><ul><li>Operaciones </li></ul></ul><ul><li>Representación en Coma Flotante </li></ul><ul><ul><li>Operaciones </li></ul></ul>
  7. 7. Elementos de una instrucci ón <ul><ul><ul><li>Código de operación </li></ul></ul></ul><ul><ul><ul><li>Referencia de datos fuente </li></ul></ul></ul><ul><ul><ul><li>Referencia al operando resultado </li></ul></ul></ul><ul><ul><ul><li>Referencia a la siguiente instrucción </li></ul></ul></ul><ul><li>Resultados </li></ul><ul><ul><ul><li>Memoria principal o virtual </li></ul></ul></ul><ul><ul><ul><li>Registro de la CPU </li></ul></ul></ul><ul><ul><ul><li>Dispositivo de E/S </li></ul></ul></ul>
  8. 8. Representaci ón de Instrucciones <ul><li>Representaci ón simbólica </li></ul><ul><ul><ul><li>ADD Sumar </li></ul></ul></ul><ul><ul><ul><li>SUB restar </li></ul></ul></ul><ul><ul><ul><li>MPY Multiplicar </li></ul></ul></ul><ul><ul><ul><li>DIV Dividir </li></ul></ul></ul><ul><ul><ul><li>LOAD Cargar datos a memoria </li></ul></ul></ul><ul><li>Operaciones ADD A,B </li></ul>
  9. 9. Tipos de instrucciones <ul><ul><ul><li>De procesamiento de datos </li></ul></ul></ul><ul><ul><ul><li>De almacenamiento de datos </li></ul></ul></ul><ul><ul><ul><li>De transferencia de datos </li></ul></ul></ul><ul><ul><ul><li>De Control </li></ul></ul></ul>
  10. 10. N ú mero de direcciones <ul><li>3 direcciones </li></ul><ul><ul><li>1er operando, 2do operando, resultado </li></ul></ul><ul><ul><li>a = b + c; </li></ul></ul><ul><ul><li>Siguiente instrucci ón (generalmente impl ícito ) </li></ul></ul><ul><ul><li>No muy comun </li></ul></ul><ul><li>2 direcciones </li></ul><ul><ul><li>Doble acci ón Operando y resultado </li></ul></ul><ul><ul><li>a = a + b </li></ul></ul><ul><ul><li>Reduce el tamaño de la instrucci ón </li></ul></ul><ul><ul><li>Requiere instrucciones adicionales </li></ul></ul>
  11. 11. N úmero de direcciones <ul><li>1 direcci ón </li></ul><ul><ul><li>Segunda direcci ón implicita </li></ul></ul><ul><ul><li>AC </li></ul></ul><ul><ul><li>Comun </li></ul></ul><ul><li>0 (cero) direci ón </li></ul><ul><ul><li>Todas las direcciones impl ícitas </li></ul></ul><ul><ul><li>Usa una pila </li></ul></ul><ul><ul><li>e.g. push a </li></ul></ul><ul><ul><li>push b </li></ul></ul><ul><ul><li>add </li></ul></ul><ul><ul><li>pop c </li></ul></ul><ul><ul><li>c = a + b </li></ul></ul>
  12. 12. Cuantas direcciones <ul><li>Mas direcciones </li></ul><ul><ul><li>Instrucciones mas complejas </li></ul></ul><ul><ul><li>Mas registros </li></ul></ul><ul><ul><ul><li>Operaciones mas r ápidas </li></ul></ul></ul><ul><ul><li>Pocas instrucciones por programa </li></ul></ul><ul><li>Menos direcciones </li></ul><ul><ul><li>Instrucciones menos complejas </li></ul></ul><ul><ul><li>Mas instrucciones por programa </li></ul></ul><ul><ul><li>Faster captaci ón o ejecución de instrucciones </li></ul></ul>
  13. 13. Diseño de Instrucciones <ul><ul><ul><li>Repertorio de operaciones </li></ul></ul></ul><ul><ul><ul><li>Tipos de datos </li></ul></ul></ul><ul><ul><ul><li>Formato de instrucciones </li></ul></ul></ul><ul><ul><ul><li>Registros </li></ul></ul></ul><ul><ul><ul><li>Direccionamiento </li></ul></ul></ul>Cuantas,que,cu án Longuitud,#dir,tamaño campos Cuantos registros de la CPU Modo o modos, para especificar la direcci ón de un operando
  14. 14. Tipos de operandos <ul><ul><ul><li>Números </li></ul></ul></ul><ul><ul><ul><ul><li>Enteros , como flotante </li></ul></ul></ul></ul><ul><ul><ul><li>Caracteres </li></ul></ul></ul><ul><ul><ul><ul><li>ASCII… </li></ul></ul></ul></ul><ul><ul><ul><li>Datos Lógicos </li></ul></ul></ul><ul><ul><ul><ul><li>Bits, flags </li></ul></ul></ul></ul>
  15. 15. Tipos de operaciones <ul><ul><ul><li>Transferencia de datos </li></ul></ul></ul><ul><ul><ul><li>Aritméticas </li></ul></ul></ul><ul><ul><ul><li>Lógicas </li></ul></ul></ul><ul><ul><ul><li>Conversión </li></ul></ul></ul><ul><ul><ul><li>Entrada/Salida </li></ul></ul></ul><ul><ul><ul><li>Control del sistema </li></ul></ul></ul><ul><ul><ul><li>Control de flujo </li></ul></ul></ul>
  16. 16. Transferencia de datos <ul><li>La instrucción de transferencia debe especificar varias cosas: </li></ul><ul><ul><li>Posiciones de los operandos fuente y destino </li></ul></ul><ul><ul><li>Longitud de los datos a transferir </li></ul></ul><ul><ul><li>Modo de direccionamiento para cada operando </li></ul></ul>
  17. 17. Aritméticas <ul><li>Las operaciones aritméticas básicas son: suma , resta, multiplicación y división; pero hay operaciones que requieren un solo operando: </li></ul><ul><ul><li>Absolute </li></ul></ul><ul><ul><li>Negative </li></ul></ul><ul><ul><li>Increment </li></ul></ul><ul><ul><li>Derement </li></ul></ul>
  18. 18. Lógicas <ul><li>Se basan en operaciones boleanas. </li></ul><ul><li>En este caso se aplican operando básicos como, AND, OR, XOR, EQUAL. </li></ul><ul><li>Además se incluyen operaciones de desplazamiento y rotación tales como. </li></ul><ul><ul><ul><ul><li>Desplazamiento lógico a la derecha </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Desplazamiento lógico a la izquierda </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Desplazamiento aritmético a la derecha </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Desplazamiento aritmético a la izquierda </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Rotación a la derecha </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Rotación a la izquierda </li></ul></ul></ul></ul>
  19. 19. <ul><ul><ul><li>Conversión </li></ul></ul></ul><ul><ul><ul><li>Instrucciones de conversión son aquellas que cambian el formato u operan sobre el formato de los datos. Un ejemplo común es el de convertir un decimal a binario. </li></ul></ul></ul><ul><ul><ul><li>Entrada/Salida </li></ul></ul></ul><ul><ul><ul><li>Como ya los revisamos antes teníamos varios tipos de entradas salidas: entrada/salida programada aisladas, entradas/salidas programadas asignadas en memoria, DMA y procesador de E/S. revisar capitulo de E/S </li></ul></ul></ul>
  20. 20. Control del sistema <ul><li>Llamadas instrucciones privilegiadas, que se ejecutan solo cuando el procesador está en un estado privilegiado o está ejecutando un programa en una zona privilegiada. Por lo general las usan el sistema operativo. </li></ul>
  21. 21. Control de flujo <ul><ul><ul><li>Algunas razones para el uso de funciones de control de flujo: </li></ul></ul></ul><ul><ul><ul><ul><li>Para ejecutar instrucciones mas de una vez </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Para la toma de decisiones </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Ejecución de programas largos </li></ul></ul></ul></ul><ul><ul><ul><li>Operaciones de control de flujo: </li></ul></ul></ul><ul><ul><ul><ul><li>Instrucciones de bifurcación </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Instrucciones de salto implícito </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Instrucciones de llamada a procedimiento </li></ul></ul></ul></ul>
  22. 22. CPU <ul><li>Los objetivos de la CPU son </li></ul><ul><ul><li>Captar instrucciones </li></ul></ul><ul><ul><li>Interpretar instrucci ó n </li></ul></ul><ul><ul><li>Captar datos </li></ul></ul><ul><ul><li>Procesar datos </li></ul></ul><ul><ul><li>Escribir datos </li></ul></ul>
  23. 23. Visi ón del procesador General Interna
  24. 24. Registros <ul><li>Registros visibles al usuario </li></ul><ul><ul><ul><li>Uso general </li></ul></ul></ul><ul><ul><ul><li>Datos </li></ul></ul></ul><ul><ul><ul><li>Direcciones </li></ul></ul></ul><ul><ul><ul><li>Código de condición </li></ul></ul></ul><ul><li>Registros de control y estado </li></ul><ul><ul><li>Contador de programa </li></ul></ul><ul><ul><li>Registro de instrucción </li></ul></ul><ul><ul><li>Registro de dirección de memoria </li></ul></ul><ul><ul><li>Registro intermedio de memoria. </li></ul></ul><ul><ul><li>Otros </li></ul></ul><ul><ul><li>PSW </li></ul></ul>
  25. 25. Ciclo de Instrucci ón <ul><li>Subciclos asociados al ciclo de instrucción: </li></ul><ul><ul><li>Captación </li></ul></ul><ul><ul><li>Ejecución </li></ul></ul><ul><ul><li>Interrupción </li></ul></ul><ul><ul><li>Ciclo Indirecto </li></ul></ul><ul><ul><li>Flujo de Datos </li></ul></ul>
  26. 26. Microinstrucciones <ul><li>Las microoperaciones son las operaciones funcionales o atómicas de la CPU y la unidad de control, controla el funcionamiento de la CPU. </li></ul><ul><ul><ul><li>TIPOS </li></ul></ul></ul><ul><ul><ul><li>Transferencia de datos entre registros </li></ul></ul></ul><ul><ul><ul><li>Transferencia de datos de un registro a una interfaz externa </li></ul></ul></ul><ul><ul><ul><li>Transferencia de datos de una interfaz externa a un registro </li></ul></ul></ul><ul><ul><ul><li>Hacer operaciones aritméticas o lógicas </li></ul></ul></ul>
  27. 27. Flujo de datos, ciclo captaci ón
  28. 28. Microinstrucciones-Captaci ón <ul><ul><ul><li>tx = unidad de tiempo/ciclo de reloj) </li></ul></ul></ul><ul><ul><ul><li>()= denota “el contenido de” </li></ul></ul></ul><ul><ul><ul><li>t1: MAR <- (PC) </li></ul></ul></ul><ul><ul><ul><li>t2: MBR <- (memoria) </li></ul></ul></ul><ul><ul><ul><li>PC <- (PC) +1 </li></ul></ul></ul><ul><ul><ul><li>t3: IR <- (MBR) </li></ul></ul></ul><ul><ul><ul><li>t1: MAR <- (PC) </li></ul></ul></ul><ul><ul><ul><li>t2: MBR <- (memoria) </li></ul></ul></ul><ul><ul><ul><li>t3: PC <- (PC) +1 </li></ul></ul></ul><ul><ul><ul><li>IR <- (MBR) </li></ul></ul></ul>
  29. 29. Flujo de datos, ciclo indirecto
  30. 30. Microinstrucciones-Indirecto <ul><ul><ul><li>t1:MAR <- (IRdirección) - campo dirección de IR </li></ul></ul></ul><ul><ul><ul><li>t2:MBR <- (memoria) </li></ul></ul></ul><ul><ul><ul><li>t3:IR<- (MBRdirección) </li></ul></ul></ul>
  31. 31. Flujo de datos, ciclo interrupci ón
  32. 32. Microinstrucciones-instrucciones <ul><ul><ul><li>t1:MBR <-(PC) </li></ul></ul></ul><ul><ul><ul><li>t2:MAR<-dirección de salvaguarda(regreso) </li></ul></ul></ul><ul><ul><ul><li>PC <- dirección de la rutina </li></ul></ul></ul><ul><ul><ul><li>t3: memoria <- (MBR) </li></ul></ul></ul>
  33. 33. Flujo de datos (Ejecuci ón ) <ul><li>Puede tomar varias formas </li></ul><ul><li>Depende de la instrucci ón que se est á ejecutando </li></ul><ul><li>Puede incluir </li></ul><ul><ul><li>Lectura/Escritura de la memoria </li></ul></ul><ul><ul><li>Entrada/Salida </li></ul></ul><ul><ul><li>Transferencias de registros </li></ul></ul><ul><ul><li>Operaciones en la ALU </li></ul></ul>
  34. 34. Microinstrucciones-ejecuci ón <ul><ul><ul><ul><li>t1: MAR <- (IRdirección) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>t2: MBR <- (memoria) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>t3: R1 <- R1 + (MBR) </li></ul></ul></ul></ul>
  35. 35. Diagrama de flujo de ciclo de instrucci ón

×