Arquitectura de Computadores (II Bimestre)

6,226 views
5,914 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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
6,226
On SlideShare
0
From Embeds
0
Number of Embeds
87
Actions
Shares
0
Downloads
261
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 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

    ×