SlideShare una empresa de Scribd logo
1 de 58
Descargar para leer sin conexión
Arquitectura de Computadores




   Tema N° 1: Introducción a la Arq. de Computadoras
      Eduardo Daniel Cohen – dcohen@arnet.com.ar
            http://www.herrera.unt.edu.ar/arqcom




2003 - D. Cohen         UNT - Arq. de Computadoras     1




          Temas a Tratar: Introducción
• Información General del Curso
• Componentes de un Computador.
     –   I/O, Memoria, CPU, Buses.
     –   Jerarquía de Memoria.
     –   Sistema de Buses.
     –   CPU – Camino de Datos - Control
     –   El ciclo de la Instrucción
     –   Todo junto: ejecución de un programa.
• Conceptos de Sw
     – Lenguaje de Máquina, Lenguaje Superior.
     – Sistema Operativo, Ensamblador, Intérprete,
       Compilador
• Interrupciones y Excepciones.
2003 - D. Cohen         UNT - Arq. de Computadoras     2




                                                           1
¿Qué estaremos viendo?
•   Módulo I                           •   Módulo II
    – Introducción. ¿qué es una             – Diseño del Procesador.
      computadora?
                                               • Procesador de ciclo
        • CPU – Memoria – I/O.                    único.
        • Modelo Jerárquico
                                               • Procesador
          “por capas”
                                                  Segmentado.
    – Lenguaje Ensamblador –
      MIPS R3000                               • Procesadores
    – Performance de                              Superescalares.
      Computadoras.                         – Sistema de Memoria.
    – Paralelismo y Trabajo en                 • Caché.
      Serie.                                   • Memoria Virtual.
    – Ensamblador, linker,
                                            – Buses.
      loader.
    – Interrupciones y                      – Sistema de I/O.
      Excepciones.                             • Dispositivos



2003 - D. Cohen         UNT - Arq. de Computadoras                     3




                       Bibliografía
Libro de Texto Principal:
   Patterson, D. A.; Hennessy, J. L.
   Estructura y diseño de
   Computadores: Interficie
   circuitería/programación. Vol. 1 y 2.
   Reverté, 2000

Principales Transparencias:
   Adaptadas de clases del curso
   CS152, Universidad de Berkeley,
   California.
   Prof. D. A. Patterson

    Recomendación: leer antes de clase.

2003 - D. Cohen         UNT - Arq. de Computadoras                     4




                                                                           2
Objetivos
•   Temas a Aprender
     – Cómo funcionan las computadoras, fundamentos.
     – Como analizar su performance (¡o como no hacerlo!)
     – Temas relacionados con procesadores modernos (caches,
       pipelines).
     – Criterios de Diseño.
     – Ritmo y Actualización à Tomado del Curso en Berkeley 2001.
•   ¿Para qué aprender estos temas?
     – Imprescindible para “Ingenieros en Computación”
     – Globalización: se podrá trabajar en Argentina para Cías en USA.
     – Deben manejar la “performance” de las instalaciones: Hw y Sw
       de Base.
     – Necesitarán tomar decisiones de compra de equipos y ofrecer
       asesoramiento profesional.

2003 - D. Cohen            UNT - Arq. de Computadoras                   5




           Funcionamiento del Curso - I
• Dictado Conceptual – Ing. Daniel Cohen
            • 3 clases por semana en general – de 2 hs c/u. (L, M, V de 8
              a 10 hs).
            • Importante: Venir a Clase.
            • Consultas después de cada clase.
            • Ing. Daniel Cohen - dcohen@arnet.com.ar

• Trabajos Prácticos.
            • Nicolás Mayorel Padilla nickmpad@yahoo.com.ar
            • Ing. Esteban Vollentini – evolentini@equiser.com
            • Juan Esteban Maldonado – jemaldonado80@yahoo.com.ar
            • 1 vez por semana – Problemas a resolver individualmente.
            • Evaluación de cada práctico – 1 vez por semana.
            • Horarios: Lunes y Viernes de 10 a 11 hs.
            • Consultas a Estudiantes 2 hs por semana por Auxiliar.
2003 - D. Cohen            UNT - Arq. de Computadoras                   6




                                                                            3
Funcionamiento del Curso II
• 2 Trabajos de Laboratorio.
           • Trabajo en Grupos RTN.
           • Uso del Simulador SPIM - Trabajo en assembler del MIPS.

• Regularidad
           • Aprobación Evaluaciones TP y Laboratorios prom.>40%
           • Aprobar todos los trabajos de Laboratorio
           • Asistencia 80% evaluaciones (solo una se puede faltar)
           • Parciales con promedio > 40%.

• Evaluación Distribuida.
           • 2 Parciales (60%).
           • Evaluación Prácticos (30%) y Laboratorios (5%)
           • Participación en clase, Quizzes (10%)
           • Porcentajes tentativos, cambian si aparecen “trampas”.
           • Quien copia recibe “0”.
2003 - D. Cohen            UNT - Arq. de Computadoras                  7




           Funcionamiento del Curso III

• Correlativas a aprobar para Inscribirse:
     – Probabilidad y Estadísticas.
     – Estructura de Datos I.
     – Electrónica II.
• Arquitectura es obligatoria para:
     – Sistemas Operativos (y muchas que le siguen).
     – Diseño con Microprocesadores.
     – Laboratorio de Microprocesadores (a crearse)



2003 - D. Cohen            UNT - Arq. de Computadoras                  8




                                                                           4
Página de la Cátedra

•   Material de Ayuda – transparencias.
•   Anuncios y Novedades.
•   Información General – Programa de la Materia.
•   Trabajos Prácticos de Ejercitación y Soluciones (a la
    semana).
•   Enunciados de Evaluativos y sus Soluciones (2001).
•   Evaluativos y Soluciones 2002 – (a la semana)
•   Grupo de Discusión – preguntas y respuestas para todos.
•   Encuestas y quejas anónimas... La opinión de los
    estudiantes nos ayuda.
•   Calificaciones.
•   INSCRIBIRSE EN LA PAGINA.

2003 - D. Cohen        UNT - Arq. de Computadoras              9




                  Cronograma Inicial


• Primera semana:
     – Hoy (17/03): Presentación y Tema 1
     – Miércoles (19/03): Tema 1
     – Viernes (21/03): Tema 1 – Evaluación de
       Prerrequisitos
• Segunda Semana:
     – Lunes (24/03): Tema 1 – Dictado Laboratorio 1
     – Miércoles (26/03): Tema 1
     – Viernes (28/03): Tema 1


2003 - D. Cohen        UNT - Arq. de Computadoras             10




                                                                   5
Componentes de un Computador

                                                                                                       Desde Afuera:
                                                                                                       • Periféricos
                                                                                                            –   Mouse
              1 .1 0 Lo o kin g Ah e a
                                       d
                                                                                                            –   Teclado
              T e in t ll ctu al sy nth es i tha t
               h      e e                      s       c om es fo m v i wing
                                                                  r        e
                                                                                                            –   Monitor
                                                                                v es
                                            m e ac h the t hre e pe rsp ec ti
              a co mp ute rs ys t m fro
                                  e

              lea ds t an efficien t
                      o
              i whe n y ou un d e
              s
                                         , e ff c t ve co mp ute rd
                                              e i
                                     rs tan d h ow a ma ch
                                                                 n
                                                                       e sign . It
                                                                 i e fu nc ti ns
                                                                             o
                                                            a rch i e ctu re lev
                                                                  t
                                                                                   el
                                                                                                            –   Discos – Disketes
                               S A, a n d t h e sy ste m
              at the ga te , I                          ma c hin e. Wh eth
                                                                                 er
                                               nd the
                             y n d er sta
              tha t yo u fu ll u
              y ou r ca re e ro b
                                   j c t v e i s in Com
                                   e i

                            E g i e erin g, o
                             n n
                                                            p ute r S cie nc e

                                                  rs om e o the r a
                                                                                 ,

                                                                       sp ec t o f
                                                                  t this b o ok
                                                                                                            –   Otros...
              Co mp ute r                       re st h op e th a
                                i o u r sinc e
                                s                               e rsta nd ing .
              co mp u t rs it
                       e
                                                i g th a t u nd

                                                                                                       • Input / Output
                                                n
                            o u by p ro vid
              wil se rve y
                 l




                                                                                                            – ¿Cuál es Input?
                                                                                                            – ¿Output?
                                                                                                            – ¿Input y Output?
                                                                                                            – ¿Variedad de
                                                                                                              velocidades?
                                                                                                            – Comunica con el Mundo.


2003 - D. Cohen                                                                         UNT - Arq. de Computadoras                         11




                                                                                        Por dentro...


                                                                                                       • Motherboard
                                                                                                            –   Procesador (CPU)
                                                                                                            –   Memoria (M)
                                                                                                            –   Conectores - Bus
                                                                                                            –   Plaquetas de
                                                                                                                Expansión (I/O)
                                                                                                                     • Modem.
                                                                                                                     • Placa Multimedia.
                                                                                                                     • Otros...



2003 - D. Cohen                                                                         UNT - Arq. de Computadoras                         12




                                                                                                                                                6
Partes de un Computador

     – CPU – sistema complejo.
     – Dividir Funcionalmente: Acción (camino de Datos) y
       Control.
     – En síntesis:


                    Control                             Input
                                     Memory

                    Datapath                           Output

                   CPU              M                       I/O




2003 - D. Cohen                UNT - Arq. de Computadoras         13




                          Memoria - M

• Contiene DATOS y PROGRAMAS almacenados.
• Ejemplo de Datos (X e Y)
           • Posición A – X
           • Posición B – Y

• Ejemplo de Programa:
           • Tome X de A
           • Súmele Y de B
           • Guarde el resultado en C.

• Concepto de Programa Almacenado
           • Puede ser manipulado como datos por otro programa.




2003 - D. Cohen                UNT - Arq. de Computadoras         14




                                                                       7
CPU - Procesador
• Ejecuta los Programas.
           • Lee Instrucciones de Memoria
           • Las Decodifica
           • Las Ejecuta
                  – Lee / Escribe Datos de Memoria
                  – Recibe / Envía Datos a I/O
                  – Realiza Operaciones Lógico-Artiméticas (PROCESA)

• Se compone de
           • Unidad de Control – fija qué se debe hacer y cuándo.
           • Camino de Datos: Registros, ALU, interconexión.
                  – Se encarga de hacer.
           • Analogía: Sistema Nervioso y Músculos.




2003 - D. Cohen                  UNT - Arq. de Computadoras            15




                             Camino de Datos
•   Ejemplo Simple
                                         C3
                        C1
                             n                           Latch
                    A

                                      ALU
                                                   n
                   B
                             n
                                                       C4
                        C2
                                        n
            • C1, C2, C3 y C4 son señales de control.
            • ¿De qué depende la cantidad de bits de C3?
            • ¿Para qué está el LATCH?



2003 - D. Cohen                  UNT - Arq. de Computadoras            16




                                                                            8
Camino de Datos – Ejemplo más elaborado

 • Se desea interconectar 7 Registros y un ALU.
            • R1, R2, ..., R7 y ALU.
            • Intercambiar Contenidos de Registros (Ri <-> Rj)
                                                         à
            • Acceder al ALU desde cualquier Registro (Rià ALU)
            • Poner el resultado en cualquier Registro (ALU à Rj)

 • Solución 1
            • Conectar todos contra todos.
            • Evaluar Ventajas y Desventajas.




 2003 - D. Cohen                UNT - Arq. de Computadoras              17




                          Concepto de Bus
 •   Salida 3 State:
            • Posibilita conexión de salidas en forma directa a un
              conjunto de conectores = bus.
            • Se sube con OE=1 (output-enable)
            • Se baja con L=1 (LOAD)

           OE1                 OE2                                OE3

        Bus
                                                n

                     L4                                      L5


                   – Se sube en varios lados.
                   – Se baja en varios lados.
                   – ¿Cuántos pueden subir a la vez? ¿y bajar?

 2003 - D. Cohen                UNT - Arq. de Computadoras              18




                                                                             9
Solución 2 – 1 Bus
•   ¿Es solución?
           • Probar R1=R1+R2 y R3 <->R4, calcular ciclos de clock.
           • Ventajas y Desventajas.
           • El Bus es bidireccional.


             C1   R1           C2        R2         ...     R7      C3

       Bus
                                                n
                   L1 Latch1    Latch2    L2

                    A       ALU                           ¿cuántas líneas en C1?
                        m




2003 - D. Cohen             UNT - Arq. de Computadoras                     19




                    Banco de Registros
• Observaciones:
           • Solo un registro se conecta a la vez.
           • Muchas señales de control = O(n)... ¿se podría reducir?
           • Se pueden poner todos juntos en un bloque.
           • Con nuevas entradas de Control: SELECCIÓN, LOAD, OE.

           C1     R1           C2        R2         ...     R7      C3

       Bus
                                                n
                   L1 Latch1    Latch2    L2

                    A       ALU
                        m




2003 - D. Cohen             UNT - Arq. de Computadoras                     20




                                                                                   10
Banco de Registros
     – Entradas de Control: SELECCIÓN, WR (LOAD), OE.
     – Ventaja: Integración – similar a una RAM.
     – ¿Cuántos bits lleva SEL?

                            R0
                            R1
                  SEL
                                                    # líneas de control = O[log(n)]
                  WR

                  OE
                             R7

                                  DATA
                                                BUS



2003 - D. Cohen                   UNT - Arq. de Computadoras                  21




                        Solución 3 – 2 Buses
• ¿Mejora la Velocidad?
           • Probar R1=R1+R2 y R3 <-->R4, calcular ciclos de clock.
           • ¿Cuánto más rápido es la operación de suma?
           • Solapamiento de varias Instrucciones...
           • ¿Por qué no puede eliminarse el Latch L1?

                                                                 B1
   DATA OUT
   SELo           R0
                                       L1 Latch1
                   R1
   SELi
                                        A       ALU
   WR                                       m

   OE              R7

                        DATA IN
                                                                   B2
2003 - D. Cohen                   UNT - Arq. de Computadoras                  22




                                                                                      11
Solución 4 – 3 Buses
• Mejora la Velocidad
            • Probar R1=R1+R2 y R3 <-->R4, calcular ciclos de clock.
            • ¿Cuánto más rápido es la operación de suma?
            • ¿Solapamiento? ¿Eliminar L1?
                                                                     B2

                                                                     B1
      DATA OUT

   SEL1             R0
                                        L1 Latch1
   SEL2             R1
   SEL3
                                         A       ALU
          WR                                 m

          OE        R7

                         DATA IN                                B3

2003 - D. Cohen              UNT - Arq. de Computadoras                   23




                             Memorias


                   Control                            Input
                                   Memory

                  Datapath                           Output

                  CPU              M                      I/O




2003 - D. Cohen              UNT - Arq. de Computadoras                   24




                                                                               12
Memoria - RAM

   •   Funciona como una gran Tabla unidimensional.
   •   Una dirección de memoria es un índice en la tabla.
   •   “Direccionamiento de Byte" : el índice apunta a una byte en M.


                           0      8 bits of data

                           1      8 bits of data

                           2      8 bits of data

                           3      8 bits of data

                           4      8 bits of data

                           5      8 bits of data

                           6      8 bits of data

                           ...

   •   La celda básica es el flip-flop. Empacados en alta densidad.


   2003 - D. Cohen             UNT - Arq. de Computadoras               25




               Tecnología de Memorias
• Acceso Aleatorio (Random):
     • “Random” es bueno: tiempo de acceso es el mismo para
           todas las celdas.
   – SRAM: Static Random Access Memory
      • Baja Densidad, alto consumo, cara, rápida
      • Estática: el contenido se mantiene indefinidamente con Vcc.
   – DRAM: Dynamic Random Access Memory
      • Alta Densidad, bajo consumo, barato, lento.
      • Dinámica: necesita ser “refrescada” regularmente.
      • Circuito de Refrescado – trabaja por filas completas.

• Memorias de acceso “no aleatorio”.
        • Tiempo de acceso varía de lugar en lugar y de tiempo en
          tiempo.
        • Ejemplos: Discos, cintas (secuencial), CD-ROM
   2003 - D. Cohen             UNT - Arq. de Computadoras               26




                                                                             13
Diagrama Lógico de una SRAM
                        A
                            N       2 N words
                        WE_L         x M bit
                                     SRAM
                        OE_L                                 D
                                                      M


• Señales de Control: Write Enable y Output Enable
            • Generalmente se activan en “Low” (WE_L, OE_L).
            • OE_L permite Ahorrar Pins, unificando Din y Dout.
      – WRITE: WE_L se activa (0), OE_L se desactiva (1)
            • D funciona como entrada de Datos.
      – READ: WE_L se desactiva (1), OE_L se activa (0)
            • D es la salida de datos.
      – INDEFINIDO: SI tanto WE_L como OE_L se activan:
            • Resultado no definido. ¡¡No hacerlo!!



      2003 - D. Cohen           UNT - Arq. de Computadoras         27




                   Memorias: SRAM y DRAM
 1.     ¿Cómo se puede verificar el tamaño en KB de estos chips?
 2.     Algunas RAM unifican WE_L y OE_L en un único R/W_L
 3.     ¿Para qué traen incorporados CS?




      2003 - D. Cohen           UNT - Arq. de Computadoras         28




                                                                        14
La Interfase CPU–Memoria
                                        D ata b us            Add ress bu s

                            CPU                                                Mai n memo ry
                             m                                                          s    Address

                                                          m
                            M AR                                        A0 – Am– 1              0
                               w                                                                1
                                                          b             D0 – Db–1
                             MD R                                                               2

                               w                                                                3
                                                                        R/W
                           R eg ister
                              file
                                                                        REQU EST                2m– 1


                                                                        COMPL ETE



                                                Co ntrol si gn als

1.    MAR – Memory Address Register.
            •     Contiene la dirección de los datos a leer o escribir en M.
            •     2m es la dimensión del “espacio de direcciones”.
2.    MDR – Memory Data Register.
            •     Contiene los datos a escribir o que se leen de M.
            •     w es el “ancho de palabra” del CPU. ¿w grande es bueno?

      •     DATA BUS, ADDRESS BUS y CONTROL BUS.


     2003 - D. Cohen                    UNT - Arq. de Computadoras                                      29




                 La Interfase CPU–Memoria
                                        D ata b us            Add ress bu s

                            CPU                                                Mai n memo ry
                             m                                                          s    Address

                                                          m
                            M AR                                        A0 – Am– 1              0
                               w                                                                1
                                                          b             D0 – Db–1
                             MD R                                                               2

                               w                                                                3
                                                                        R/W
                           R eg ister
                              file
                                                                        REQU EST                2m– 1


                                                                        COMPL ETE



                                                Co ntrol si gn als

Secuencia de Eventos:
   Read:
            1. CPU pone dirección en MAR, activa Read y REQUEST
            2. Memoria envía el dato a MDR
            3. Memoria activa COMPLETE
      Write:
            1. CPU carga MAR y MDR, activa Write y REQUEST
            2. El contenido de MDR se escribe en celda indicada por MAR
            3. Memoria activa COMPLETE
      •¡Ojo!: No aparece CS, en la RAM no hay Request, ni Complete
     2003 - D. Cohen                    UNT - Arq. de Computadoras                                      30




                                                                                                             15
La Interfase CPU–Memoria
                                             Da ta bus            Addre ss b us

                                CPU                                                Mai n memo ry
                                 m                                                          s    Address

                                                              m
                                MA R                                        A0 – Am Ð1              0
                                  w                                                                 1
                                                              b             D 0 – DbÐ1
                                 MDR                                                                2

                                   w                                                                3
                                                                            R /W
                               R egi ste r
                                  fi le
                                                                            R EQUEST                2m – 1


                                                                            C OM PLETE



                                                    C ontrol si gna ls

Consideraciones Adicionales:
  • Si b < w, se requieren w/b transferencias de b-bits a Memoria.
  • Algunos CPUs permiten leer o escribir palabras con tamaño < w
           Ejemplo: Intel 8088: m = 20, w = 16, s=b = 8
           Se pueden leer o escribir Datos de 8- y 16-bit
     • Si la memoria es suficientemente rápida o si es predecible,
       entonces puede omitirse la señal COMPLETE.
     • Algunos sistemas usan líneas OE y WE y omiten REQUEST

     2003 - D. Cohen                         UNT - Arq. de Computadoras                                             31




       Algunas Propiedades de Memoria



Símbolo                Definición                                          Intel                   Intel       PowerPC
                                                                           8088                    8086        601

w      Ancho de palabra del CPU                                            16 bits                 16 bits     64 bits
m      Bits en una dirección de M                                          20 bits                 20 bits     32 bits
s      Bits en menor unidad direccionable 8 bits                                                   8 bits      8 bits
b      Ancho del Data Bus                                                  8 bits                  16 bits     64 bits
2m     Capac de palabras ancho s en M                                      220 words               220 words   232 words
2mxs Espacio de Mem. en bits                                               220 x 8 bits 220 x 8 bits 232 x 8 bits




     2003 - D. Cohen                         UNT - Arq. de Computadoras                                             32




                                                                                                                           16
Clasificación de Memoria
 •   Por el Modo de Acceso desde el CPU:
      – Primario – se accede directamente desde CPU (RAM).
      – Secundario – se accede a través de operaciones de I/O (Disco,
        Cinta...)
 •   Por el Tiempo de Acceso a todas las celdas.
      – Igual para todas – RANDOM.
      – Diferente.
            • Secuencial – Cintas Magnéticas.
            • Mixto – Discos.
 •   Por la Volatilidad. ¿De qué sirve?
      –    ROM – Read Only Memory.
      –    PROM – Programable once ROM.
      –    EPROM – Erasable PROM. (mediante UV)
      –    EEPROM . Electrically Erasable PROM.
 •   Por la Tecnología.
      – SRAM.
      – DRAM.
 •   ...
 2003 - D. Cohen             UNT - Arq. de Computadoras            33




       El Principio de Localidad
• El Principio de Localidad:
           • Los programas acceden a una porción
             relativamente pequeña del espacio de direcciones
             en cualquier instante de tiempo.
• Dos Tipos Diferentes de Localidad:
           • Localidad Temporal: Si un ítem (Dato o Instrucción)
             es accedido, tenderá a ser accedido nuevamente
             pronto.
           • Localidad Espacial: Si un item es accedido, ítems
             vecinos (direcciones cercanas) tenderán a ser
             accedidos pronto.
• Idea: información más usada en memoria rápida.
• ¿Es aplicable a las Personas también?

 2003 - D. Cohen             UNT - Arq. de Computadoras            34




                                                                        17
Jerarquía de Memoria: Personas

 •   Memoria Rápida y Limitada: el cerebro.
 •   Ayuda Memoria: Agenda.
 •   Apuntes.
 •   Libros
 •   Bibliotecas.
 •   No es transparente.
            • No hay un sistema automático que detecte nuestra
              necesidad de información y la incorpore a nuestro
              cerebro sin que nos demos cuenta.




 2003 - D. Cohen           UNT - Arq. de Computadoras                        35




                   Caché                                Sistema de Memoria




                              CPU                  Cache           DRAM



• Motivación:
     – Memorias Grandes (DRAM) son lentas.
     – Pequeñas Memorias (SRAM) son rápidas y más
       caras.
     – Lograr un tiempo de acceso promedio pequeño:
          • Sirviendo la mayoría de los accesos desde la SRAM.
     – Reducir el ancho de banda requerido para la
       DRAM.
          • Ancho de banda = palabras transferidas segundo.

 2003 - D. Cohen           UNT - Arq. de Computadoras                        36




                                                                                  18
Cache / Memoria Virtual

 • Similar Objetivo.
 • Cache: entre dos memorias RAM.
 • Memoria Virtual: entre Primario
   (RAM) y Secundario (Disco...).
 • Transparentes al Usuario:
      – Manejo por Hw. y Sistema Operativo.




 2003 - D. Cohen                      UNT - Arq. de Computadoras                           37




                   Jerarquías de Memoria
• Aprovechando el principio de Localidad:
   – Presentar al usuario todo el espacio de direcciones con un costo
     unitario muy cercano al de la tecnología más barata.
   – Brindarle acceso a la velocidad ofrecida por la tecnología más
     rápida.
                     CPU


                    Control
                                                                              Secondary
                                                                               Storage
                                                    Second       Main           (Disk)
                                    On-Chip
                        Registers




                                                     Level     Memory
                                     Cache




             Datapath                               Cache      (DRAM)
                                                   (SRAM)



    Velocidad (ns): Unos                      Decenas              Cientos 10,000,000s (10sms)
    Tamaño (bytes): Cientos                   Kilos                 Ms            Gs


 2003 - D. Cohen                      UNT - Arq. de Computadoras                           38




                                                                                                 19
Entrada / Salida


                       Control                             Input
                                        Memory

                       Datapath                           Output

                       CPU             M                       I/O




   Gran Variedad de Dispositivos E/S y Velocidades de
   transferencia.




    2003 - D. Cohen               UNT - Arq. de Computadoras                             39




         Ejemplos de Dispositivos E/S

Dispositivo           Función              Interlocutor              Veloc. Transf. (KB/sec)
Teclado               Input                Humano                               0.01
Mouse                 Input                Humano                               0.02
Line Printer          Output               Humano                               1.00
Floppy disk           Storage              Máquina                             50.00
Laser Printer         Output               Humano                             100.00
Optical Disk          Storage              Máquina                            500.00
Magnetic Disk         Storage              Máquina                          5,000.00
Red-LAN               E/S                  Máquina                      20 – 1,000.00
Display Gráfico       Salida               Humano                          30,000.00


¿Cómo hace un computador para manejar todo esto eficientemente?
¡No quedarse esperando un tecleo! ¡Hacer otras cosas mientras tanto!


    2003 - D. Cohen               UNT - Arq. de Computadoras                             40




                                                                                               20
Conceptos de E/S
Ej. Sistema Multitarea: Secretaria prepara Café.
Alternativas:
   1.     Ineficiente: Espera a que alguien pida y le sirve. No hace
          otra cosa (la echan)
   2.     Polling (encuestas): Cada media hora pregunta si alguien
          quiere café. Un reloj con alarma se lo recuerda. Si tiene
          otras urgencias no hace caso.
   3.     Interrupciones: Cuando alguien quiere café la llama por el
          interno. No hace caso si hay urgencias.
   4.     Acceso Directo (DMA): el que quiere café se sirve solo, si la
          cafetera se vacía suena alarma a la Secret.
   5.     Procesador Dedicado (IOP): dispensador automático de
          café y otras bebidas. Una vez por semana la Secretaria
          carga la máquina. Alarma si falla.


Lo mismo vale entre un CPU y dispositivo E/S (DISCO)
 2003 - D. Cohen              UNT - Arq. de Computadoras          41




                     Volvemos al CPU


                   Control                             Input
                                    Memory

                   Datapath                           Output

                   CPU             M                       I/O




 • Registros Adicionales:
     – PC – program Counter – dirección de la próxima
       instrucción.
     – IR – Instruction Register – contiene la instrucción
       actual:


 2003 - D. Cohen              UNT - Arq. de Computadoras          42




                                                                          21
El Ciclo de la Instrucción


     Instruction       Obtener instrucción de Memoria M(PC), guardar
                          Instrucción en IR
        Fetch
                       Actualizar PC
      Instruction
                       Determinar las acciones que se requieran
        Decode

        Execute        Ejecutar las acciones requeridas (leer o
                       escribir en M o I/O, procesar en ALU...)




 2003 - D. Cohen        UNT - Arq. de Computadoras                      43




  ¿Qué debe especificar una instrucción?
                                                       Flujo de Datos

• ¿Qué operación realizar?                           add r0, r1, r3
   – Op code: add, load, branch, etc.
• ¿Dónde están los operando/s?               add r0, r1, r3
   – En registros del CPU, celdas de memoria,
     lugares de I/O o parte de una instrucción.
• ¿Dónde se guarda el resultado?                     add r0, r1, r3
   – En un registro, M o I/O.
• ¿Dónde está la próxima instrucción?                add r0, r1, r3
   – En el lugar de memoria a que                    br endloop
     apunta el PC
   – Para ej. salto – PC ß endloop




 2003 - D. Cohen        UNT - Arq. de Computadoras                      44




                                                                             22
Formato de la Instrucción

    Op-Code           Operando 1       Operando 2         ...   Operando n

   1. Op-Code: Qué se hace.
         •     n bits – hasta 2n operaciones distintas .
   2. Operandos: Con qué dato se hace.
         •     En general desde 0 a 3 operandos.
         •     El dato puede estar en el campo, en Memoria o en
               un Registro.
         •     Modo de Direccionamiento: forma en que se
               especifica un dato en el campo Operando.
   3. Puede haber más de un formato,
      dependiendo de Op-Code.

  2003 - D. Cohen            UNT - Arq. de Computadoras                      45




                    3 Clases de Instrucciones
• Movimiento de Datos
   –   Tienen siempre una fuente y un destino.
   –   Load— La fuente es memoria y el destino un registro.
   –   Store— La fuente es un registro y el destino es memoria.
   –   Hay casos con fuentes y destino ambos M o ambos R.
• Procesamiento – Instrucciones Aritméticas y Lógicas.
   – Procesar uno o más operandos fuentes y guardar el resultado
     en un lugar de destino.
   – Add, Sub, Shift, etc.
• Control de flujo de Instrucciones (Saltos)
   – Alterar el flujo normal de control en lugar de ejecutar la
     siguiente instrucción de la dirección contigua.
   – Br Loc, Brz Loc2,—saltos condicionales o incondicionales.



  2003 - D. Cohen            UNT - Arq. de Computadoras                      46




                                                                                  23
PSW – Program Status Word
  • Registro de Código de Condición (CCR).
        – Compuesto por flags que indican cómo fue el
          último resultado que los cambió.
              • Carry, Negative, Overflow, Zero, Half Carry, ...
        – Sirven para implementar instrucciones de salto.
              • BZ (salte si cero), BN (salte si negativo), ...
        – Algunas arquitecturas implementan saltos sin CCR
              • Para facilitar implementación de Pipelining.
  • PSW – Program Status Word.
        – Contiene los flags (CCR)
        – Contiene información de estado del CPU (más
          adelante)


2003 - D. Cohen               UNT - Arq. de Computadoras           47




         Modos de Direccionamiento - I
• Para escribir un programa se requiere: Algoritmo
  y Estructura de Datos.
• Los modos sirven para acceder a estructuras de
  datos de forma eficiente.
• Inmediato – para una constante.
     – El dato se escribe en el campo operando.
           Ld        r1, #380H           ;r1 ß380H

• Registro – para variables temporarias muy usadas.
     – En el operando figura el número de un registro en el
       que está el dato.
           Si r2 contiene 3 y r3 contiene 4.
           Add      r1, r2, r3 ;r1 ß7

2003 - D. Cohen               UNT - Arq. de Computadoras           48




                                                                        24
Modos de Direccionamiento - II

     •      Directo – variables globales.
          – En el operando se escribe la dirección del
            dato en M.
                       Ej. Si M(100H)=5
                       Ld r1, (100H)    ; r1ß5
     •      Indexado – punteros a tablas.
          – En el operando se escribe un registro r y un
            valor llamado desplazamiento d.
          – El dato se encuentra en M(#d+r).
                       Ej. Si r2 contiene 100H y si M(130H)=5
                       Ld r1, 30(r2)       ; r1ß5.

     2003 - D. Cohen               UNT - Arq. de Computadoras                       49




   Modos Comunes de Direccionamiento
Ejemplo: Identificar los modos del SRC (más adelante)
                                                                Registro Destino
                       Sintaxis
Nombre del Modo        Assembler      RTN significado                         Uso

Registro            Ra                R[t] ←   R[a]                   Variable Temporaria
Registro indirecto  (Ra)              R[t] ←   M[R[a]]                Puntero
Inmediato           #X                R[t] ←   X                      Constante
Directo / Absoluto    X               R[t] ←   M[X]                   Variables Globales
Indirecto            (X)              R[t] ←   M[ M[X] ]              Puntero Variable
Indexado, base,    X(Ra)              R[t] ←   M[X + R[a]]            Tablas, vectores
o desplazamiento
Relativo           X(PC)              R[t] ← M[X + PC]          Valores almacenados
                                                                en el programa
Autoincremento          (Ra)+         R[t] ← M[R[a]]; R[a] ← R[a] + 1    Acceso
Autodecremento          - (Ra)        R[a] ← R[a] - 1; R[t] ← M[R[a]]    Secuencial a
                                                                         tablas

     2003 - D. Cohen               UNT - Arq. de Computadoras                       50




                                                                                            25
¿Cuáles son las componentes de un ISA?
•   Conocido como el Modelo del Programador de la máquina.
•   Celdas de Almacenamiento
     – Registros de propósito general y especial en el CPU.
     – Muchas celdas de propósito general de igual tamaño en
       Memoria.
     – Almacenamiento relacionado con dispositivos I/O.
•   El Set de Instrucciones de la Máquina.
     – Es el repertorio completo de las operaciones de la máquina.
     – Emplea celdas de almacenamiento, formatos y resultados del
       ciclo de la Instrucción.
           • Ej. Transferencias de Registros.
•   Formato de la Instrucción
     – Tamaño y significado de los diferentes campos de la Instrucción.



    2003 - D. Cohen           UNT - Arq. de Computadoras        51




    Arquitectura del Set de Instrucciones (ISA)


    • ISA = Información que se requiere para
      escribir programas en el CPU.
    • Presentaremos un CPU y su trayectoria de
      datos.
    • Presentaremos algunas Instrucciones.
    • Veremos todas las operaciones que se
      realizan para ejecutar un programa.




    2003 - D. Cohen           UNT - Arq. de Computadoras        52




                                                                          26
Ej: Diagrama de Bloques CPU de 1 Bus: SRC - 1
                                           CPU

                                                                                                                      CB
                                                                               Figure 4.1


                      Control Unit
                                                ADD
                                                P Ci n

                                                W ai
                                                 Gra
                                                      t
             Control signals out                      Control unit inputs

                      31               0   〈31. .0〉
                 R0
                           32 32-bit       32             31            0
                             general                            PC
                            purpose
                           registers                  Data Path              Main                 Input/
                                                                            memory                output
                R31
                                                                IR

                      A

                                                           MA
                      A                B
                                                  To memory subsystem
                             ALU
                              C                           MD                     Memory bus

                              C
                                                                               Figures 4.2, 4.3




     2003 - D. Cohen                                           UNT - Arq. de Computadoras                                                          53




                                Comentarios Adicionales
• Un solo Bus permite solo una
  transferencia de Registro a la vez.
• El primer operando de la ALU
  siempre en A, resultado en C                                                              R0
                                                                                                 31               0    〈31. .0〉


                                                                                                      32 32-bit       32                  31              0

• Segundo Operando de la ALU                                                                           general
                                                                                                       purpose
                                                                                                      registers
                                                                                                                                                  PC



  proviene siempre del Bus
• Palabras de Mem de 32 bits.                                                           R31
                                                                                                                                                   IR



• Direccionamiento a Bytes en M.                                                                 A




• MAR tiene 32 bits.                                                                             A                B
                                                                                                                                            MA

                                                                                                                                  T o m emory subsystem
                                                                                                        A LU
• ¿Espacio de direcciones?                                                                                 C
                                                                                                                                            MD



• 32 Registros de uso General                                                                              C


  R(0...32)
• Tiempo de Acceso a Mem = 1T

     2003 - D. Cohen                                           UNT - Arq. de Computadoras                                                          54




                                                                                                                                                              27
Trayectoria de Datos
                                                 〈31..0〉
                         31               0
                   R0
                              32 32-bit         32                 31              0
                               ge neral                                    PC
                              pu rpose
                              registers




                  R3 1
                                                                           IR


                         A



                                                                    MA                 a AB
                         A                B
                                                           To memo ry subsyst em
                                ALU

                                 C                                  MD                 a DB
                                 C




2003 - D. Cohen                       UNT - Arq. de Computadoras                              55




  Descripción Formal de Instrucciones

• RTN – Register Transfer Notation o RTL.
          • Descripción Abstracta – dice qué se hace pero no
            cómo se implementa.
          • Descripción Concreta – dice cómo se implementa.
          • Se trata de diseño – puede haber distintas
            implementaciones, con ventajas y desventajas.
          • Debe haber una única descripción abstracta.
          • Puede haber múltiples descripciones concretas.
          • La trayectoria de datos no forma parte del ISA.




2003 - D. Cohen                       UNT - Arq. de Computadoras                              56




                                                                                                   28
Instrucciones SRC-1
Formatos:
                     31 27 26 22 21 17 16                      0
                       op    ra    rb                c2            Type 1

                     31 27 26 22 21 17 16 12 11                0
                       op    ra    rb    rc               c3       Type 2

Abstract RTN: (IR ← M[PC]: PC ← PC + 4; instruction_execution);
              instruction_execution := ( • • •
              add (:= op= 12) → R[ra] ← R[rb] + R[rc]:
              ld (:= op= 1) → R[ra] ← M[disp] :
              st (:= op= 3) → M[disp] ← R[ra] : ...)
donde
              disp〈 31..0〉 := ((rb=0) → c2〈 16..0〉 {sign ext.} :
                   〈     〉                 〈     〉
              (rb≠ 0) → R[rb] + c2〈 16..0〉 {sign extend, 2's comp.} ) :
                 ≠                 〈     〉

    Extender signo significa repetir el MSB.
    Implementación: R(0)=0 siempre y todo se simplifica.
   2003 - D. Cohen                UNT - Arq. de Computadoras                57




              Observaciones del ISA - SRC

  • Tipo LOAD/STORE.
      –   Sólo las instrucciones Load y Store acceden a M.
      –   Se opera con registros.
      –   Objetivo: ancho de banda de M menos exigido.
      –   Las instrucciones entran siempre en una palabra.
      –   Pocas instrucciones y simples.
      –   RISC – “Reduced Instruction Set Computer”
  • ¿Cuáles son los modos de direccionamiento?
      – Inmediato, Directo, Indexado, Registro Indirecto.
  • SRC-1 = Simple Risc Computer con 1 Bus.

   2003 - D. Cohen                UNT - Arq. de Computadoras                58




                                                                                 29
RTN Concretas para ADD
    Abstract RTN: (IR ← M[PC]: PC ← PC + 4; instruction_execution);
                  instruction_execution := ( • • •
                  add (:= op= 12) → R[ra] ← R[rb] + R[rc]:

     RTN concreta para add                              R0
                                                             31               0
                                                                                   〈31. .0〉


                                                                  32 32-bit       32                 31              0

     Paso            RTN                                           general
                                                                  purpose
                                                                                                             PC



              MAR ← PC: C ← PC + 4;
                                                                  registers
     T0
     T1       MDR ← M[MAR]: PC ← C;                    R31

              IR ← MDR;
                                                                                                              IR
     T2
                                 IF
              A ← R[rb];
                                                             A
     T3
     T4       C ← A + R[rc];     IEx.                                                                  MA
                                                             A                B

              R[ra] ← C;
                                                                                              To mem ory subsystem
     T5                                                             A LU
                                                                                                       MD
                                                                     C



•   FETCH (IF) es igual para todas las instrucciones.    C



•   En T0 se ejecutan parte de 2 RTs (IR ← M[PC]: PC ← PC + 4;)
•   La ejecución de una sola RT abstracta en ADD toma 3 RTs concretas (T3, T4, T5)



       2003 - D. Cohen           UNT - Arq. de Computadoras                                                   59




                   RTN Concretas para Ld y St
        Ld (:= op= 1) → R[ra] ← M[disp] :
        St (:= op= 3) → M[disp] ← R[ra] :
     donde
        disp〈 31..0〉 := ((rb=0) → c2〈 16..0〉 {sign ext.} :
              〈     〉                〈      〉
             (rb≠ 0) → R[rb] + c2〈 16..0〉 {sign extend, 2's comp.} ) :
                ≠                〈      〉

     Instrucciones Ld and St (load/store register from memory)
         16@IR(16)# significa “repetir 16 veces el bit 16 de IR y concatenar con...”

    Paso      RTN para Ld                RTN para St
    T0–T2                Instruction fetch
    T3           A ← (rb = 0 → 0: rb ≠ 0 → R[rb]);    R(0):=0 siempre
    T4           C ← A + (16@IR〈 16〉 #IR〈 15..0〉 );
                                  〈 〉    〈     〉      ext. signo
    T5                   MAR ← C;
    T6    MDR ← M[MAR];                  MDR ← R[ra];
    T7    R[ra] ← MDR;                   M[MAR] ← MDR;


       2003 - D. Cohen           UNT - Arq. de Computadoras                                                   60




                                                                                                                         30
Ejemplo de Programa

   • Datos
              • 00000100H               2          (valor de la palabra)
              • 00000104H               3
              • 00000108H                          (lugar para resultado)

   • Programa
              • 00000000H               ld         r1, 0, 0100H
              • 00000004H               ld         r2, 0, 0104H
              • 00000008H               add        r3, r2, r1
              • 0000000CH               st         r3, 0, 0108H

   • Programa y Datos están en Memoria.


  2003 - D. Cohen           UNT - Arq. de Computadoras                      61




          Ejecución: Ld                         r1, 0, 0100H

  • Inicialmente PC=00000000H
Paso    RTN para ld
Fetch
T0     MAR ← PC: C ← PC + 4;                             MAR=0, A=0
T1     MDR ← M[MAR]: PC ← C ;                            MDR=M(0)=Ld, PC=4
T2     IR ← MDR;                                         IR=Ld
Ejecución
T3     A ← (rb = 0 → 0: rb ≠ 0 → R[rb]);                 A=0
T4     C ← A + (16@IR〈 16〉 #IR〈 15..0〉 );
                      〈 〉     〈      〉                   C=00000100H
T5     MAR ← C;                                          MAR=00000100H
T6     MDR ← M[MAR];                                     MDR=M(100H)=2
T7     R[ra] ← MDR;                                      R(1)=2

  • Veamos Paso a Paso.

  2003 - D. Cohen           UNT - Arq. de Computadoras                      62




                                                                                 31
Fetch: Ld              r1, 0, 0100H
T0: MAR ← PC: C ← PC + 4;
        ←       ←
                                                         0
                                                         PC
                                    Banco
                                    Registros
                                                         IR




                                A                        0
                                                         MAR


                                                         MDR
                                     C
                                      4

     2003 - D. Cohen        UNT - Arq. de Computadoras         63




                   Fetch: Ld              r1, 0, 0100H
T0: MAR ← PC: C ← PC + 4;
T1: MDR ← M[MAR]: PC ß C;                                4
                                                         PC
                                    Banco
                                    Registros
                                                         IR




                                A                        0
                                                         MAR


                                                         MDR
                                     C                    Ld
                                    4

     2003 - D. Cohen        UNT - Arq. de Computadoras         64




                                                                    32
Fetch: Ld                     r1, 0, 0100H
T0: MAR ← PC: C ← PC + 4;
T1: MDR ← M[MAR]: PC ß C;                                            4
T2: IR ← MDR;
                                                                    PC
                                              Banco
                                              Registros
                                                                    IR
                                                                    Ld

                                          A
                                                                    MAR


                                                                    MDR
                                               C                    Ld


        2003 - D. Cohen            UNT - Arq. de Computadoras             65




                Ejecución: Ld                             r1, 0, 0100H
T0:   MAR ← PC: C ← PC + 4;
T1:   MDR ← M[MAR]: PC ß C;                                          4
T2:   IR ← MDR;                                    0      r0
T3:   A ← (rb = 0 → 0: rb ≠ 0 → R[rb]);                             PC
                                              Banco
                                              Registros
                                                                    IR
                                                                    Ld
                                   0
                                          A
                                                                    MAR


                                                                    MDR
                                               C



        2003 - D. Cohen            UNT - Arq. de Computadoras             66




                                                                               33
Ejecución: Ld                              r1, 0, 0100H
T0:   MAR ← PC: C ← PC + 4;
T1:   MDR ← M[MAR]: PC ß C;                                              4
T2:   IR ← MDR;
T3:   A ← (rb = 0 → 0: rb ≠ 0 → R[rb]);                               PC
T4:   C ← A + (16@IR〈 16〉 #IR〈 15..0〉 );
                     〈 〉 〈          〉          Banco
                                               Registros
                                                                         IR
                                                                    Ld r1, 0, 100H
                                    0
                                           A                             0
                                                                      MAR


                                                                      MDR
                                                C
                                                100H

        2003 - D. Cohen             UNT - Arq. de Computadoras                  67




                Ejecución: Ld                              r1, 0, 0100H
T0:   MAR ← PC: C ← PC + 4;
T1:   MDR ← M[MAR]: PC ß C;                                              4
T2:   IR ← MDR;
T3:   A ← (rb = 0 → 0: rb ≠ 0 → R[rb]);                               PC
T4:   C ← A + (16@IR〈 16〉 #IR〈 15..0〉 );
                     〈 〉 〈          〉          Banco
T5:   MAR ← C;
                                               Registros
                                                                         IR
                                                                    Ld
                                    0
                                           A                             100H
                                                                      MAR


                                                                      MDR
                                                C
                                                100H

        2003 - D. Cohen             UNT - Arq. de Computadoras                  68




                                                                                     34
Ejecución: Ld                              r1, 0, 0100H
T0:   MAR ← PC: C ← PC + 4;
T1:   MDR ← M[MAR]: PC ß C;                                              4
T2:   IR ← MDR;
T3:   A ← (rb = 0 → 0: rb ≠ 0 → R[rb]);                              PC
T4:   C ← A + (16@IR〈 16〉 #IR〈 15..0〉 );
                     〈 〉 〈          〉          Banco
T5:   MAR ← C;
T6:   MDR ← M[MAR];                            Registros
                                                                         IR
                                                                    Ld
                                    0
                                           A                             100H
                                                                     MAR


                                                                     MDR
                                                C                        2
                                                100H

        2003 - D. Cohen             UNT - Arq. de Computadoras                  69




                Ejecución: Ld                              r1, 0, 0100H
T0:   MAR ← PC: C ← PC + 4;
T1:   MDR ← M[MAR]: PC ß C;                                              4
T2:   IR ← MDR;
T3:   A ← (rb = 0 → 0: rb ≠ 0 → R[rb]);             2      r1        PC
T4:   C ← A + (16@IR〈 16〉 #IR〈 15..0〉 );
                     〈 〉 〈          〉          Banco
T5:   MAR ← C;
T6:   MDR ← M[MAR];                            Registros
                                                                         IR
T7:   R[ra] ← MDR;
                                                                    Ld
                                    0
                                           A                             100H
                                                                     MAR


                                                                     MDR
                                                C                        2
                                                100H

        2003 - D. Cohen             UNT - Arq. de Computadoras                  70




                                                                                     35
Ejecución: Ld                     r2, 0, 0104H


  • PC = 00000004H, r1=2
Paso    RTN para ld
Fetch Ídem anterior – para vagos creativos
T8     MAR ← PC: C ← PC + 4;                MAR=4, C=8
T9     MDR ← M[MAR]: PC ← C;                MDR=M(4)=Ld, PC=8
T10    IR ← MDR;                            IR=Ld
Ejecución      Ídem anterior – para vagos creativos
T11    A ← (rb = 0 → 0: rb ≠ 0 → R[rb]);    A=0
T12    C ← A + (16@IR〈 16〉 #IR〈 15..0〉 );
                      〈 〉     〈      〉      C=00000104H
T13    MAR ← C;                             MAR=00000104H
T14    MDR ← M[MAR];                        MDR=M(104H)=3
T15    R[ra] ← MDR;                         R(2)=3



  2003 - D. Cohen       UNT - Arq. de Computadoras                    71




               Ejecución: Add r3, r2, r1


  • PC = 00000008H, r1=2, r2=3
Paso    RTN para ld
Fetch Ídem anterior – para vagos creativos
T16    MAR ← PC: C ← PC + 4;                         MAR=8, C=12=CH
T17    MDR ← M[MAR]: PC ← C;                         MDR=M(8)=Add, PC=12
T18    IR ← MDR;                                     IR=Add
Ejecución
T19    A ← R[rb];                                    A=R(2)=3
T20    C ← A + R[rc];                                C=A+R(1)=3+2=5
T21    R[ra] ← C;                                    R(3)=C=5




  2003 - D. Cohen       UNT - Arq. de Computadoras                    72




                                                                           36
Ejecución: St                         r3, 0, 0108H


 • PC = 0000000CH, r1=2, r2=3, r3=5
Paso    RTN para ld
Fetch Ídem anterior – para vagos creativos
T22    MAR ← PC: C ← PC + 4;                            MAR=CH, C=10H=16
T23    MDR ← M[MAR]: PC ← C;                            MDR=M(CH)=S t, PC=8
T24    IR ← MDR;                                        IR=St
Ejecución
T25    A ← (rb = 0 → 0: rb ≠ 0 → R[rb]);                A=0
T26    C ← A + (16@IR〈 16〉 #IR〈 15..0〉 );
                      〈 〉     〈      〉                  C=00000108H
T27    MAR ← C;                                         MAR=00000108H
T28    MDR ← R[ra];                                     MDR=R(3)=5
T29    M[MAR] ← MDR;                                    M(108H)=5



 2003 - D. Cohen           UNT - Arq. de Computadoras                   73




                   Conclusiones del Ejemplo

  • El CPU es sólo una máquina.
             • Siempre hace lo mismo – ciclo de la instrucción.

  • El Programa es quien da la “inteligencia”.
             • Hay un programa que sintetiza un algoritmo.

  • Al final el PC apunta a la siguiente
    instrucción.
             • Continúa indefinidamente.
             • “Para” con un retorno al Sistema Operativo.
             • Pero en el fondo no para, ejecuta el sistema
               operativo.




 2003 - D. Cohen           UNT - Arq. de Computadoras                   74




                                                                              37
Performance del Ejemplo

• Tiempo de Ejecución: 30 T
• Cantidad de Instrucciones: I = 4.
• Ciclos T por Instrucción Promedio - CPI.
        •   Depende del programa.
        •   En este caso resulta: 7,50.
        •   Tiempo de ejecución = I x CPI x T
        •   Aparecen las 3 variables que se pueden mejorar.
              – I: un buen ISA, buen programa, algoritmo, estruct. datos
              – CPI: mejorar la realización concreta del ISA.
              – T: mejorar la tecnología para usar un reloj más rápido.




 2003 - D. Cohen             UNT - Arq. de Computadoras                75




                       Laboratorio N° 1
 • Determinar Grupos de 3. Repetir el
   ejemplo y determinar performance y %
   mejora:
      – Desarrollar SRC-2 con 2 buses. Grupo 1
      – Desarrollar SRC-3 con 3 buses. Grupo 2
      – Definir un nuevo ISA para SRC-1.
            • Con un operando implícito en “Acumulador A”.
            • Permitir que cualquier instrucción acceda a M.
            • Formato y RTN abstracto y concreto de algunas
              instruciones.
            • Exigencia a Memoria en Ancho de Banda. ¿Cuántos
              T promedio entre accesos a Mem?




 2003 - D. Cohen             UNT - Arq. de Computadoras                76




                                                                            38
Lenguaje de Máquina (LM)

• Conformado por las Instrucciones del ISA.
           • Tal como son cargadas en memoria y leídas por el
             CPU.
           • Expresados como cadenas de ‘0’ y ‘1’.
           • Las primeras CPUs se programaban así.
• Problemas
           •   Propenso a errores: basta con cambiar un 1 por un 0.
           •   Ilegible.
           •   Indocumentable.
           •   Requiere mucho tiempo de las personas.
           •   Al principio lo caro eran las computadoras.
• Escribir en Hexadecimal es un primer avance.


2003 - D. Cohen            UNT - Arq. de Computadoras             77




                  Lenguaje Assembler (LA)

• Conformado por las Instrucciones del ISA.
           • Pero escritas en código mnemotécnico.
           • Correspondencia uno a uno con LM.
           • Es necesario traducirlas antes de ejecutarlas.

• Traductor = Ensamblador.
           • Tarea mecánica realizada por un programa traductor
           •   Instrucciones al traductor = Seudoinstrucciones.
           •   Incorpora también símbolos para variables y rótulos.
           •   Ejemplos ORG, DS, DC, EQU...
           •   Acepta Comentarios




2003 - D. Cohen            UNT - Arq. de Computadoras             78




                                                                       39
Ej: programa en Lenguaje Ensamblador
  Algunas Seudoinstrucciones:
         DCW        Define Constant Word
         DSW        Reserve Storage Word
         ORG        100H Ubicar el código siguiente a partir de 100H

             org    000H               ;comienza en 000H
             ld     r1, 0, Dos         ;r1 = 2
             ld     r2, 0, Tres        ;r2 = 3
             add    r3, r2, r1         ;r3 = r2 + r1 = 2 + 3 = 5
             st     r3, 0, Res         ;M(108H) = r3 = 5
  fin:       br     fin                ;autolazo indefinido
             org    100H               ;los datos a partir de 100H
  Dos:       dcw    2H
  Tres:      dcw    3H
  Res:       dsw                       ;reservar 1 palabra para result.
             end

  2003 - D. Cohen           UNT - Arq. de Computadoras                    79




                           Ensamblador
Traducción: de Fuente (LA) a Objeto (LM)

                                                         Progr
          Fuente           Ensamblador
                                                         Objeto


Ejecución: Corre el programa Objeto


                                                         Progr
          Datos            Progr. Objeto
                                                         Objeto




  2003 - D. Cohen           UNT - Arq. de Computadoras                    80




                                                                               40
Ventajas y Desventajas LA

• Desventajas
           •   Cada máquina tiene un LA diferente
           •   LA está orientado a la máquina y no al usuario.
           •   No hay programación estructurada.
           •   Hay que ser un experto.
           •   Difícil desarrollar mercados...
           •   ¿Y por qué no se ponen de acuerdo en un solo LA?
• Ventajas
           • Manejo exacto de Tiempo y Memoria.
           • Para aplicaciones críticas en tiempo real.




2003 - D. Cohen           UNT - Arq. de Computadoras          81




                  Lenguaje Superior (LS)

•   Característica: 1 inst. LS à n inst. LM
•   Orientado a Problemas y a Usuarios.
•   Independiente de la Máquina.
•   ¿Ejemplos de Lenguajes Superiores?
•   Traductor = Compilador. Traduce a LM o LA
•   Traducción no es única, optimiza.
•   Primero se compila, luego se carga y ejecuta.


2003 - D. Cohen           UNT - Arq. de Computadoras          82




                                                                   41
Compilador, Ensamblador, Lenguaje de Máquina
                                             temp = v[k];
         Programa de Alto
                Nivel                        v[k] = v[k+1];
                                             v[k+1] = temp;
                      Compilador
                                           lw   $15,    0($2)
     Programa Lenguaje                     lw   $16,    4($2)
        Assembler                          sw   $16,    0($2)
                                           sw   $15,    4($2)
                      Ensamblador
                                         0000   1001   1100   0110   1010   1111   0101   1000
      Programa Lenguaje                  1010   1111   0101   1000   0000   1001   1100   0110
         de Máquina                      1100   0110   1010   1111   0101   1000   0000   1001
                                         0101   1000   0000   1001   1100   0110   1010   1111

                      interpretación de Máquina

      Especificación de
        señales de control



    2003 - D. Cohen             UNT - Arq. de Computadoras                                 83




                                   Intérprete
•    Características similares al Compilador.
•    Pero traduce y ejecuta en un solo paso.
•    ¿Cuándo conviene Compilador y cuándo Intérprete?
•    Observación: el control del CPU es un intérprete para ISA.


                            Leer Instrucción


                              Decodifica

                                Ejecuta



    2003 - D. Cohen             UNT - Arq. de Computadoras                                 84




                                                                                                 42
Lenguajes de Especificación - RTN
Lenguaje que describe otro lenguaje (LM) se llama Metalenguaje


                     ISA specification written in RTN

                               RTN compiler

                          Generated processor

         LM program                                       Data output
                              SRC interpreter
          and data             or simulator


   2003 - D. Cohen           UNT - Arq. de Computadoras                 85




                        Ventajas de RTN
 • Permite describir el “qué” sin obligar a describir el “como”.
 • Especificación precisa y no ambigua,
           • al contrario de lenguajes naturales.
 • Reduce errores:
      – Debido a mala interpretación o especificaciones imprecisas.
      – Confusiones en diseño e implementación —“error humano”
 • ¡Permite al diseñador hacer chequeo de la especificación!
 • Las especificaciones pueden ser chequeadas y procesadas
   automáticamente mediante herramientas CAD.
      – Una especificación RTN puede ingresar a un generador que
           • Produce un simulador para la máquina especificada.
      – Una especificación RTN puede ingresar a un generador de
        compilador.
           • Genera un compilador para el lenguaje de la máquina en cuestión.
           • La salida del compilador puede correr en el simulador.


   2003 - D. Cohen           UNT - Arq. de Computadoras                 86




                                                                                43
Sistema Operativo
• ¿Cómo trabajar con un Computador?
     – ¿cómo cargo un programa?
     – ¿cómo manejo discos y monitor?
           • No basta con el Hw puro.
           • No basta con el ISA.
• Se necesitan Interfases.
           • Físicas (Hw – I/O: teclado, monitor, ...)
           • Lógicas (manejadores del Hw, Intérpretes).
• Y Optimizar uso de recursos...
           • Tanto de Hw como de Sw.
           • Compartir.
           • Presentar interfases transparentes a emplear por el
             usuario.
           • Seguridad, confiabilidad.

2003 - D. Cohen          UNT - Arq. de Computadoras                87




        Multiprogramación: Conceptos
• Recursos: CPU, Memoria, Disco, Printer, ...
• Acceso a Disco equivale a 100.000 ciclos de CPU.
• Si corre un único programa àCPU no hace nada
  mientras se accede a Disco. ¡Ineficiente!
• Pero se podría poner a otro programa para que use
  el CPU “concurrentemente”.
• Así, para la eficiencia de todos los recursos,
  conviene que corran varios programas
  concurrentemente.
• El Sistema Operativo distribuye los recursos de
  manera equitativa y transparente.
• Cada programa siente que corre solo.
2003 - D. Cohen          UNT - Arq. de Computadoras                88




                                                                        44
Multiprogramación – Conceptos
•Ningún programa puede afectar a los demás.
•El Sistema Operativo administra el uso compartido de recursos y
asegura que todo funcione bien (protecciones)
•La memoria es un recurso más. Un programa puede estar en disco
en un momento dado.
•Es necesario que un programa funcione correctamente,
independientemente de donde se cargue en memoria principal.




  2003 - D. Cohen       UNT - Arq. de Computadoras            89




             Visión Jerárquica por Niveles


                          Compilador
                          Ensamblador
                             SO
                             ISA
                            Control
                               Hw




  2003 - D. Cohen       UNT - Arq. de Computadoras            90




                                                                   45
Arquitectura de Computadoras
 ° Cordinación de      niveles de abstracción

                  Aplicación

                                 Sistema
                    Compilador     Operativo
                                                            Instruction Set
                                                             Architecture
                  Procesador      Sistema I/O
                     Diseño Digital
                  Diseño de Circuitos


   ° Bajo presión de fuerzas que cambian muy rapidamente




2003 - D. Cohen                UNT - Arq. de Computadoras                     91




    Fuerzas en Arq. de Computadoras

                                                 Lenguajes de
                   Tecnología                    Programación


    Aplicaciones
                                   Arquitectura
                                 De Computadores



           Sistemas
           Operativos
                                                               Historia
                                                               (A = F / M)




2003 - D. Cohen                UNT - Arq. de Computadoras                     92




                                                                                   46
Interrupciones en la Vida Real


1. Un estudiante ejecuta una tarea: estudia.
2. Le golpean la puerta: le llaman por teléfono.
   – Interrupt Request.
3. ¿Atendera? – Consulta de Prioridades.
4. Indica que sí – reconocimiento de la Interrupción
5. Pone un señalador en su libro.
   –     Guarda el estado de su tarea.
6. Atiende el teléfono – sirve a la interrupción.
7. Recupera el estado de su tarea.
8. Continúa con la tarea original.



 2003 - D. Cohen        UNT - Arq. de Computadoras       93




                   En un Procesador
 1. Un CPU ejecuta una tarea (corre un programa)
 2. Impresora externa requiere nuevos datos a Imprimir
    – pide interrupción.
 3. Prioridad(programa) < Prioridad (Interrup) à se
    atiende.
 4. Señal de Salida – reconocimiento: INTA.
 5. Se guarda PC (en algún registro o en Stack).
 6. PC ß Comienzo Rutina Interrupción.
    – Se Ejecuta Rutina de Servicio Interrupción.
           • Al comienzo guarda toda información adicional
             sobre el Programa.
 7. Al terminar recupera información y PC ß PCant
 8. Continúa tarea inicial.

 2003 - D. Cohen        UNT - Arq. de Computadoras       94




                                                              47
Punto de Vista del Programador


     (1) programa                        (2) Pedido Interrupción (ej. De la impresora)
      De usuario
        Add                              (3,4,5) Guardar PC, inhabilitar INT, INTA y
                                         Saltar a Rutina Servicio de Int.
        Div
        Sub
                                                                     (6) Guardar
                                                                     Estado del CPU
    (10) Continúa                                (7) Servicio de
                                                     (printer)
                                                 La interrupción
                  (8) Restaurar
                  estado previo a INT.
                                                                    (9) Recuperar PC




2003 - D. Cohen                 UNT - Arq. de Computadoras                    95




             Detalles de Implementación

• Pedido de Interrupción
     – Una o más líneas Externas de entrada al CPU.
• Prioridad.
     – CPU lleva prioridad del programa en PSW (un valor).
     – Cada línea de interrupción tiene una prioridad asignada.

• Guardar Estado.
     – El PC se guarda stack o en otro registro.
     – El resto del estado se guarda en el stack.
     – Más adelante en el curso veremos por qué en stack.

• Rutina de Interrupción.
     – Se carga PC con la dirección de la Rutina de Interrupción.
     – Guardar viejo valor de PSW y poner nueva prioridad.
     – Se enmascaran automáticamente por Hw las Interrupciones.
       ¿Por qué?


2003 - D. Cohen                 UNT - Arq. de Computadoras                    96




                                                                                         48
Detalles de Implementación
• Recuperar Estado.
   – La Rutina recupera de Stack parte por Sw.
   – Recuperar PSWant.
                   ß
   – RTI o RTE: PCß PCant.
• En General: Sistema Multitarea.
   – ¿Puede un usuario modificar las prioridades?
   – ¿Acceder a recursos compartidos?
   – El Sistema Operativo (SO) se encarga servir
     Interrupciones.
   – PSW informa si ejecuta en modo SO o modo Usuario.
   – Instrucciones “privilegiadas” solo corren en modo SO.
• Característica de las Interrupciones: Asincrónicas.
   – Deben ser transparentes al Programa.

 2003 - D. Cohen              UNT - Arq. de Computadoras              97




      Múltiples Fuentes de Interrupción
 Suena el Teléfono, el timbre y llaman a
    almorzar...
 Problemas
      1. Conexión.
            •      ¿Cómo se conectan al CPU?
      2. Identificación.
            •      ¿Cómo se identifica quién pide Interrupción?
      3. Simultáneas
            •      ¿Qué pasa si se pide más de una a la vez?
      4. Anidamiento
            •      Mientras se sirve una Interrupción aparece otra.



 2003 - D. Cohen              UNT - Arq. de Computadoras              98




                                                                           49
1.1 Conexión.
Alternativas:
     1. Múltiples Líneas de Pedido.


                                  INT0


                  CPU             INT1


                                   INTn




2003 - D. Cohen          UNT - Arq. de Computadoras               99




                        1.2 Conexión.
Alternativas:
     2. Una línea con conexión Open Collector.

                           Vcc
                           RL
                                                      Fuente n
                                           ...
                  CPU                                 Fuente 1
                           INTi




2003 - D. Cohen          UNT - Arq. de Computadoras              100




                                                                       50
1.3 Conexión.
  Alternativas:
       3. Mixto (cuando hay más fuentes que
          líneas).
                                Vcc                       Vcc
                                RL           Fuente 1,m   RL
                                                                Fuente n,m
                                                ...
                                                                    ...
                                             Fuente 1,1
                               INT1
                                                                Fuente n,1
                      CPU

                                 INTn
  2003 - D. Cohen            UNT - Arq. de Computadoras               101




                    2.1 Identificación por Sw.
Analogía: Camarero de Hotel

                                 Polling


                               ¿Disp 1?                     Rut 1


                                 ¿Disp 2?
                                                            Rut 2


                                 ¿Disp n?
      ERROR                                                 Rut n


  2003 - D. Cohen            UNT - Arq. de Computadoras               102




                                                                             51
2.2 Identificación por Hw
1. Múltiples Líneas.
          a) Una Dirección de Servicio para cada línea.
          b) Registro de Causa.
                  Hw escribe automáticamente qué linea fue en Reg. Causa.
                  Para identificar quién fue dentro de la línea:
                      • Hw Externo – más adelante.
                      • Polling – Sw.

2. Interrupciones Vectorizadas.
          En respuesta a INTA, el dispositivo se identifica.
          El CPU lee identificación (Vector de Interrupción, VI).
          VI apunta a un lugar de una tabla de direcciones de
              Rutinas de Servicio.
          Hw Salta automáticamente a la rutina de servicio
              adecuada.



2003 - D. Cohen               UNT - Arq. de Computadoras              103




            ¿Ventajas y Desventajas?

• Sw.
     – Ventajas:
     – Desventajas:
• Hw
     – Ventajas:
     – Desventajas:




2003 - D. Cohen               UNT - Arq. de Computadoras              104




                                                                            52
3. Simultáneas - Prioridades

1. SW - Polling.
    •      El que se encuesta primero es prioritario.
    •      Permite esquemas elaborados más equitativos.
2. Hw.
    •      Cada línea tiene su prioridad.
    •      Hw externo para resolver prioridades.
          a) PIC – Priority Interrupt Controller
          b) Conexión Daisy Chain.




2003 - D. Cohen             UNT - Arq. de Computadoras                    105




           PIC – Priority Interrupt Controller

                                INT         INTA


              CS
              WR
                                            PIC
   MASCARA


                     Irq1        Irq2        INTA 2      Irq n   INTA n
                            INTA 1


Quien resulte elegido se identifica en el DATA BUS.
Modular: Se pueden armar árboles.

2003 - D. Cohen             UNT - Arq. de Computadoras                    106




                                                                                53
Conexión Daisy Chain
                              Device 1                                          Device N
                      “1”     Máxima           Device 2                          Mínima
                             Prioridad                                          Prioridad

                      INTA
             CPU                         BUS
                                                          Request

•   Funcionamiento:
     – Si Ei=0 à Req = 0, Eo=0
     – Si Ei=1 y no solicita Interrupción à Eo=1                    Ei                            Eo
     – Si Ei=1 y pide interrupción à Req=1, Eo=0                                Device i

•   Ventaja: simple y modular.
•   Desventajas:
     – Retardo: admite un número máximo de                               Inta              ID
                                                                                 Req
       dispositivos.
     – Si se rompe uno à falla para los siguientes.

    2003 - D. Cohen               UNT - Arq. de Computadoras                                107




                             4. Anidamiento
    Hablo por teléfono y suena el timbre...
    1. Define el Diseñador del SO.
         •         Enmascaradas automáticamente por Hw.
    2. Si Admite, entonces
         i.        Guardar estado en stack y realizar
                   actividades prioritarias.
         ii.       Habilitar Interrupciones.
    3. Por Sw es difícil à código reentrante.
         i.        Debe ser código Puro.
         ii.       Areas de datos independientes por cada
                   entrada.


    2003 - D. Cohen               UNT - Arq. de Computadoras                                108




                                                                                                       54
Excepciones e Interrupciones
•   Interrupciones
     – Causada por eventos externos
     – Asíncronas con la ejecución del programa.
     – Reclaman un servicio (por el Sistema Operativo)
     – Se ejecutan entre instrucciones del programa.
     – Simple: suspenda y continúe el programa del usuario.
•   Traps o Excepciones
     – Causadas por eventos internos.
        • Condiciones excepcionales (overflow)
        • errores (parity)
        • Fallos (páginas de caché)
     – Sincrónicas con la ejecución del programa.
     – Se debe abortar la instrucción.
     – El problema debe ser remediado por el handler (rutina del SO).


    2003 - D. Cohen           UNT - Arq. de Computadoras                 109




                 Detalles del PSW en el MIPS
                                      15              8    5 4 3 2 1 0
     Status                                                k e k e k e
                                            Mask
                                                            old prev current
•   Acepta 5 niveles de interrupción por Hw y 3 por software.
•   Mask = 1 bit para cada nivel de interrupción.
      – 1 => habilita interrupciones del nivel correspondiente.
      – 0 => desabilita interrupciones.
•   k = kernel/user (núcleo/usuario)
      – 0 => núcleo.
      – 1 => usuario.
•   e = habilitación de interrupciones (de todas)
      – 0 => desabilitadas.
      – 1 => habilitadas.
•   Cuando ocurre la interrupción, 6 LSB se corren 2 bits a la
    izquierda, poniendo los 2 LSB a 0
     – Corre en modo kernel con las interrupciones inhabilitadas.
•   Volveremos sobre esto cuando veamos INTERRUPCIONES.

    2003 - D. Cohen           UNT - Arq. de Computadoras                 110




                                                                               55
Detalles del registro de Causa en MIPS
                                         15              10   5          2

                                              Pending             Code
•        Interrupciones Pendientes 5 niveles por Hw: se pone un bit en 1 si se
         solicita interrupción pero no se la responde todavía.
          – Sirve para manejar casos en los cuales hay más de un pedido de
             interrupción al mismo tiempo o cuando las interrupciones están
             inabilitadas.
•        Código de Excepción codifica la causa de la interrupción.
          – 0 (INT) => external interrupt
          – 4 (ADDRL) => address error exception (load or instr fetch)
          – 5 (ADDRS) => address error exception (store)
          – 6 (IBUS) => bus error on instruction fetch
          – 7 (DBUS) => bus error on data fetch
          – 8 (Syscall) => Syscall exception
          – 9 (BKPT) => Breakpoint exception
          – 10 (RI) => Reserved Instruction exception
          – 12 (OVF) => Arithmetic overflow exception
        2003 - D. Cohen          UNT - Arq. de Computadoras                  111




En perspectiva: Modos Supervisor / Usuario
    •     Mediante los dos modos de ejecución (user/system) es posible que el
          computador se auto-administre adecuadamente.
           – El Sistema Operativo es un programa especial que corre en
              modo privilegiado y tiene acceso a todos los recursos del
              computador.
           – presenta “recursos virtuales” para cada usuario que son más
              convenientes que los recursos físicos.
                • archivos en lugar de sectores de disco.
                • Memoria Virtual en lugar de Memoria Física.
           – protege a cada programa de usuario de los otros.
    •     Las Excepciones le permiten al Sistema Operativo tomar acción en
          respuesta a eventos que ocurren cuando el programa de usuario
          está corriendo.
            – El SO comienza a partir del manejador (Handler).
            – El programa usuario solicita servicios mediante pedidos de
              interrupción por Sw (ej. I/O).
        2003 - D. Cohen          UNT - Arq. de Computadoras                  112




                                                                                   56
Modo Trazador

  • Algunos CPU tienen un flag en PSW, T.
  • Si T=1:
       – Excepción al finalizar cada Instrucción.
       – Pasa a modo Supervisor y automáticamente
         T=0.
       – Servicio de la Excepción (debugging).
       – Al retornar, T=1
  • ¿Por qué T=0 al responder la Interrupción?



  2003 - D. Cohen        UNT - Arq. de Computadoras           113




                    Función de RESET
• Asegura que la máquina comience desde un
  estado cierto.
  – El PC se fija en un valor determinado.
       • Un valor fijo por Hw.
       • El contenido de memoria (ROM) cuya dirección es fija por
         Hw.
  – PC apunta a la Rutina de Inicialización o RESET
    (ROM)
  – Rutina de Inicialización realiza booteo del SO.
  – Las interrupciones quedan enmascaradas.
  – Modo Supervisor.
  – Estado inicial debe asegurar el Inicio (T=0, por ej.).
  – Warm Reset Vs Cold Reset
       • WARM, por SW, llama a rut Inicialización.

  2003 - D. Cohen        UNT - Arq. de Computadoras           114




                                                                    57
Ejemplo: Excepciones en M68000
•   (1) Cambio PSW
    – Se realiza una copia temporaria del viejo PSW.
    – Bit S=1 y T=0 en PSW (modo supervisor, sin trazador)
•   (2) Obtención de la dirección del Vector de Excepción (VE).
     – Se lee ID de 8 bits y se le agrega 00 a la derecha.
     – El contenido de la dirección dada por ID.00 es VE.
          • Hay una tabla de 256 entradas con los VE
    – En VE comienza el manejador de la excepción (handler)
•   (3) Los viejos PC y PSW se guardan en el stack del sistema.
•   (4) Se carga PC con VE.
•   El retorno del handler se hace con RTE.
     – Recupera PSW y PC.




2003 - D. Cohen           UNT - Arq. de Computadoras          115




                  Manejo de Prioridades

• Línea única (INT) para pedir Interrupción.
• 3 líneas para informar prioridad.
• Se permiten 7 niveles de prioridades.
     – La prioridad 000 no provocaría nunca una interrupción.
• PSW contiene 3 bits que indican prioridad actual.
• Se ignoran las excepciones cuya prioridad sea
  menor o igual que la actual.




2003 - D. Cohen           UNT - Arq. de Computadoras          116




                                                                    58

Más contenido relacionado

La actualidad más candente

Gestión de entrada salida
Gestión de entrada salida Gestión de entrada salida
Gestión de entrada salida eduardoed5
 
Mantenimiento preventivo y correctivo de software.
Mantenimiento preventivo y correctivo de software.Mantenimiento preventivo y correctivo de software.
Mantenimiento preventivo y correctivo de software.AnasusAlarcon
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instruccionesLely
 
Tipos de control de flujo
Tipos de control  de flujoTipos de control  de flujo
Tipos de control de flujoFernando Luz
 
ARQUITECTURA DE UN MICROPROCESADOR
ARQUITECTURA DE UN MICROPROCESADORARQUITECTURA DE UN MICROPROCESADOR
ARQUITECTURA DE UN MICROPROCESADORRAFAEL HONORES VERA
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Arquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsslipkdany21
 
SISTEMAS DE TIEMPO COMPARTIDO
SISTEMAS DE TIEMPO COMPARTIDOSISTEMAS DE TIEMPO COMPARTIDO
SISTEMAS DE TIEMPO COMPARTIDOAreliDA
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srtCarlos Solano
 
Arquitecturas del harvard y von neumann maria
Arquitecturas del harvard y von neumann mariaArquitecturas del harvard y von neumann maria
Arquitecturas del harvard y von neumann mariamariagrau14
 
Herramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datosHerramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datosDanitortas
 
Diagrama de-estado-de-procesos
Diagrama de-estado-de-procesosDiagrama de-estado-de-procesos
Diagrama de-estado-de-procesosGiant_serch
 
Estructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoEstructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoMarvin Romero
 
Sistema de archivos 5to año disco rigido
Sistema de archivos 5to año disco rigidoSistema de archivos 5to año disco rigido
Sistema de archivos 5to año disco rigidoprofmyriamsanuy
 

La actualidad más candente (20)

La board y sus partes
La board y sus partesLa board y sus partes
La board y sus partes
 
Partes de la caja de un computador
Partes de la caja de un computadorPartes de la caja de un computador
Partes de la caja de un computador
 
Gestión de entrada salida
Gestión de entrada salida Gestión de entrada salida
Gestión de entrada salida
 
Mantenimiento preventivo y correctivo de software.
Mantenimiento preventivo y correctivo de software.Mantenimiento preventivo y correctivo de software.
Mantenimiento preventivo y correctivo de software.
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instrucciones
 
Tipos de control de flujo
Tipos de control  de flujoTipos de control  de flujo
Tipos de control de flujo
 
ARQUITECTURA DE UN MICROPROCESADOR
ARQUITECTURA DE UN MICROPROCESADORARQUITECTURA DE UN MICROPROCESADOR
ARQUITECTURA DE UN MICROPROCESADOR
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Buses Conectores - Arquitectura de PC
Buses Conectores - Arquitectura de PCBuses Conectores - Arquitectura de PC
Buses Conectores - Arquitectura de PC
 
Arquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windows
 
SISTEMAS DE TIEMPO COMPARTIDO
SISTEMAS DE TIEMPO COMPARTIDOSISTEMAS DE TIEMPO COMPARTIDO
SISTEMAS DE TIEMPO COMPARTIDO
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srt
 
Arquitectura harvard
Arquitectura harvardArquitectura harvard
Arquitectura harvard
 
Arquitecturas del harvard y von neumann maria
Arquitecturas del harvard y von neumann mariaArquitecturas del harvard y von neumann maria
Arquitecturas del harvard y von neumann maria
 
Herramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datosHerramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datos
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
Diagrama de-estado-de-procesos
Diagrama de-estado-de-procesosDiagrama de-estado-de-procesos
Diagrama de-estado-de-procesos
 
Estructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoEstructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativo
 
Tabla De Transicion
Tabla De TransicionTabla De Transicion
Tabla De Transicion
 
Sistema de archivos 5to año disco rigido
Sistema de archivos 5to año disco rigidoSistema de archivos 5to año disco rigido
Sistema de archivos 5to año disco rigido
 

Similar a Arquitectura de computadores

UTPL-FUNDAMENTOS INFORMÁTICOS-II BIMESTRE-(abril agosto 2012)
UTPL-FUNDAMENTOS INFORMÁTICOS-II BIMESTRE-(abril agosto 2012)UTPL-FUNDAMENTOS INFORMÁTICOS-II BIMESTRE-(abril agosto 2012)
UTPL-FUNDAMENTOS INFORMÁTICOS-II BIMESTRE-(abril agosto 2012)Videoconferencias UTPL
 
UTPL-FUNDAMENTOS INFORMÁTICOS-I BIMESTRE-(abril agosto 2012)
UTPL-FUNDAMENTOS INFORMÁTICOS-I BIMESTRE-(abril agosto 2012)UTPL-FUNDAMENTOS INFORMÁTICOS-I BIMESTRE-(abril agosto 2012)
UTPL-FUNDAMENTOS INFORMÁTICOS-I BIMESTRE-(abril agosto 2012)Videoconferencias UTPL
 
UTPL-FUNDAMENTOS INFORMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-FUNDAMENTOS INFORMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-FUNDAMENTOS INFORMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-FUNDAMENTOS INFORMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)Videoconferencias UTPL
 
Clases 2002
Clases 2002Clases 2002
Clases 2002Norma
 
Introducción unidad 1
Introducción   unidad 1Introducción   unidad 1
Introducción unidad 1jdmontoya4
 
Programa Informatica
Programa InformaticaPrograma Informatica
Programa Informaticaalbertososa
 
I unidad fundamentos_del_ordenador
I unidad fundamentos_del_ordenadorI unidad fundamentos_del_ordenador
I unidad fundamentos_del_ordenadorJulio Antonio
 
Programa 1 semestre bachillerato
Programa 1 semestre bachilleratoPrograma 1 semestre bachillerato
Programa 1 semestre bachilleratoJennifer Montano
 
Primeraclasecompubasica2
Primeraclasecompubasica2Primeraclasecompubasica2
Primeraclasecompubasica2Pozoka
 
Introducción unidad 1
Introducción   unidad 1Introducción   unidad 1
Introducción unidad 1mfguartan
 
Programacion de retos Robótica educativa
Programacion de retos Robótica educativaProgramacion de retos Robótica educativa
Programacion de retos Robótica educativaCiri Torres
 
¿que es arquitectura de la computadora?
 ¿que es arquitectura de la computadora?  ¿que es arquitectura de la computadora?
¿que es arquitectura de la computadora? Heriberto Garcia
 
Curso: Minicomputadoras: 01 Introducción, arquitectura y organización
Curso: Minicomputadoras: 01 Introducción, arquitectura y organizaciónCurso: Minicomputadoras: 01 Introducción, arquitectura y organización
Curso: Minicomputadoras: 01 Introducción, arquitectura y organizaciónJack Daniel Cáceres Meza
 
Folleto de Computación para 1ro común
Folleto de Computación para  1ro comúnFolleto de Computación para  1ro común
Folleto de Computación para 1ro comúnEuler V. Terán Yépez
 

Similar a Arquitectura de computadores (20)

UTPL-FUNDAMENTOS INFORMÁTICOS-II BIMESTRE-(abril agosto 2012)
UTPL-FUNDAMENTOS INFORMÁTICOS-II BIMESTRE-(abril agosto 2012)UTPL-FUNDAMENTOS INFORMÁTICOS-II BIMESTRE-(abril agosto 2012)
UTPL-FUNDAMENTOS INFORMÁTICOS-II BIMESTRE-(abril agosto 2012)
 
UTPL-FUNDAMENTOS INFORMÁTICOS-I BIMESTRE-(abril agosto 2012)
UTPL-FUNDAMENTOS INFORMÁTICOS-I BIMESTRE-(abril agosto 2012)UTPL-FUNDAMENTOS INFORMÁTICOS-I BIMESTRE-(abril agosto 2012)
UTPL-FUNDAMENTOS INFORMÁTICOS-I BIMESTRE-(abril agosto 2012)
 
UTPL-FUNDAMENTOS INFORMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-FUNDAMENTOS INFORMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-FUNDAMENTOS INFORMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-FUNDAMENTOS INFORMÁTICOS-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
 
Clases 2002
Clases 2002Clases 2002
Clases 2002
 
Clases 2002
Clases 2002Clases 2002
Clases 2002
 
Clases 2002
Clases 2002Clases 2002
Clases 2002
 
Introducción unidad 1
Introducción   unidad 1Introducción   unidad 1
Introducción unidad 1
 
Clases 2002
Clases 2002Clases 2002
Clases 2002
 
Programa Informatica
Programa InformaticaPrograma Informatica
Programa Informatica
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
I unidad fundamentos_del_ordenador
I unidad fundamentos_del_ordenadorI unidad fundamentos_del_ordenador
I unidad fundamentos_del_ordenador
 
Programa 1 semestre bachillerato
Programa 1 semestre bachilleratoPrograma 1 semestre bachillerato
Programa 1 semestre bachillerato
 
Primeraclasecompubasica2
Primeraclasecompubasica2Primeraclasecompubasica2
Primeraclasecompubasica2
 
Práctica Computación Básica
Práctica Computación Básica Práctica Computación Básica
Práctica Computación Básica
 
Introducción unidad 1
Introducción   unidad 1Introducción   unidad 1
Introducción unidad 1
 
Programacion de retos Robótica educativa
Programacion de retos Robótica educativaProgramacion de retos Robótica educativa
Programacion de retos Robótica educativa
 
¿que es arquitectura de la computadora?
 ¿que es arquitectura de la computadora?  ¿que es arquitectura de la computadora?
¿que es arquitectura de la computadora?
 
Curso: Minicomputadoras: 01 Introducción, arquitectura y organización
Curso: Minicomputadoras: 01 Introducción, arquitectura y organizaciónCurso: Minicomputadoras: 01 Introducción, arquitectura y organización
Curso: Minicomputadoras: 01 Introducción, arquitectura y organización
 
S.o.
S.o.S.o.
S.o.
 
Folleto de Computación para 1ro común
Folleto de Computación para  1ro comúnFolleto de Computación para  1ro común
Folleto de Computación para 1ro común
 

Más de degarden

MICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GBMICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GBdegarden
 
ABC 2021 Guia del vino
ABC 2021 Guia del vinoABC 2021 Guia del vino
ABC 2021 Guia del vinodegarden
 
Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146degarden
 
Why btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of FilesystemsWhy btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of Filesystemsdegarden
 
Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2degarden
 
Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2degarden
 
The 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The LocalThe 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The Localdegarden
 
Toshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard DriveToshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard Drivedegarden
 
Sper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IRSper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IRdegarden
 
Plarad Torque and tension systems
Plarad Torque and tension systemsPlarad Torque and tension systems
Plarad Torque and tension systemsdegarden
 
Plarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power PacksPlarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power Packsdegarden
 
Hands-Free Profile 1.7
Hands-Free Profile 1.7Hands-Free Profile 1.7
Hands-Free Profile 1.7degarden
 
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...degarden
 
Reverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices DocumentationReverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices Documentationdegarden
 
pWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting FrameworkpWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting Frameworkdegarden
 
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android ¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android degarden
 
Bose NC 700 - User manual English
Bose NC 700 - User manual EnglishBose NC 700 - User manual English
Bose NC 700 - User manual Englishdegarden
 
MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+degarden
 
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017degarden
 

Más de degarden (20)

MICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GBMICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GB
 
ABC 2021 Guia del vino
ABC 2021 Guia del vinoABC 2021 Guia del vino
ABC 2021 Guia del vino
 
Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146
 
Why btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of FilesystemsWhy btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of Filesystems
 
Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2
 
Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2
 
The 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The LocalThe 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The Local
 
Toshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard DriveToshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard Drive
 
Bronces
BroncesBronces
Bronces
 
Sper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IRSper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IR
 
Plarad Torque and tension systems
Plarad Torque and tension systemsPlarad Torque and tension systems
Plarad Torque and tension systems
 
Plarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power PacksPlarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power Packs
 
Hands-Free Profile 1.7
Hands-Free Profile 1.7Hands-Free Profile 1.7
Hands-Free Profile 1.7
 
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
 
Reverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices DocumentationReverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices Documentation
 
pWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting FrameworkpWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting Framework
 
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android ¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
 
Bose NC 700 - User manual English
Bose NC 700 - User manual EnglishBose NC 700 - User manual English
Bose NC 700 - User manual English
 
MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+
 
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
 

Último

DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 

Último (20)

DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 

Arquitectura de computadores

  • 1. Arquitectura de Computadores Tema N° 1: Introducción a la Arq. de Computadoras Eduardo Daniel Cohen – dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom 2003 - D. Cohen UNT - Arq. de Computadoras 1 Temas a Tratar: Introducción • Información General del Curso • Componentes de un Computador. – I/O, Memoria, CPU, Buses. – Jerarquía de Memoria. – Sistema de Buses. – CPU – Camino de Datos - Control – El ciclo de la Instrucción – Todo junto: ejecución de un programa. • Conceptos de Sw – Lenguaje de Máquina, Lenguaje Superior. – Sistema Operativo, Ensamblador, Intérprete, Compilador • Interrupciones y Excepciones. 2003 - D. Cohen UNT - Arq. de Computadoras 2 1
  • 2. ¿Qué estaremos viendo? • Módulo I • Módulo II – Introducción. ¿qué es una – Diseño del Procesador. computadora? • Procesador de ciclo • CPU – Memoria – I/O. único. • Modelo Jerárquico • Procesador “por capas” Segmentado. – Lenguaje Ensamblador – MIPS R3000 • Procesadores – Performance de Superescalares. Computadoras. – Sistema de Memoria. – Paralelismo y Trabajo en • Caché. Serie. • Memoria Virtual. – Ensamblador, linker, – Buses. loader. – Interrupciones y – Sistema de I/O. Excepciones. • Dispositivos 2003 - D. Cohen UNT - Arq. de Computadoras 3 Bibliografía Libro de Texto Principal: Patterson, D. A.; Hennessy, J. L. Estructura y diseño de Computadores: Interficie circuitería/programación. Vol. 1 y 2. Reverté, 2000 Principales Transparencias: Adaptadas de clases del curso CS152, Universidad de Berkeley, California. Prof. D. A. Patterson Recomendación: leer antes de clase. 2003 - D. Cohen UNT - Arq. de Computadoras 4 2
  • 3. Objetivos • Temas a Aprender – Cómo funcionan las computadoras, fundamentos. – Como analizar su performance (¡o como no hacerlo!) – Temas relacionados con procesadores modernos (caches, pipelines). – Criterios de Diseño. – Ritmo y Actualización à Tomado del Curso en Berkeley 2001. • ¿Para qué aprender estos temas? – Imprescindible para “Ingenieros en Computación” – Globalización: se podrá trabajar en Argentina para Cías en USA. – Deben manejar la “performance” de las instalaciones: Hw y Sw de Base. – Necesitarán tomar decisiones de compra de equipos y ofrecer asesoramiento profesional. 2003 - D. Cohen UNT - Arq. de Computadoras 5 Funcionamiento del Curso - I • Dictado Conceptual – Ing. Daniel Cohen • 3 clases por semana en general – de 2 hs c/u. (L, M, V de 8 a 10 hs). • Importante: Venir a Clase. • Consultas después de cada clase. • Ing. Daniel Cohen - dcohen@arnet.com.ar • Trabajos Prácticos. • Nicolás Mayorel Padilla nickmpad@yahoo.com.ar • Ing. Esteban Vollentini – evolentini@equiser.com • Juan Esteban Maldonado – jemaldonado80@yahoo.com.ar • 1 vez por semana – Problemas a resolver individualmente. • Evaluación de cada práctico – 1 vez por semana. • Horarios: Lunes y Viernes de 10 a 11 hs. • Consultas a Estudiantes 2 hs por semana por Auxiliar. 2003 - D. Cohen UNT - Arq. de Computadoras 6 3
  • 4. Funcionamiento del Curso II • 2 Trabajos de Laboratorio. • Trabajo en Grupos RTN. • Uso del Simulador SPIM - Trabajo en assembler del MIPS. • Regularidad • Aprobación Evaluaciones TP y Laboratorios prom.>40% • Aprobar todos los trabajos de Laboratorio • Asistencia 80% evaluaciones (solo una se puede faltar) • Parciales con promedio > 40%. • Evaluación Distribuida. • 2 Parciales (60%). • Evaluación Prácticos (30%) y Laboratorios (5%) • Participación en clase, Quizzes (10%) • Porcentajes tentativos, cambian si aparecen “trampas”. • Quien copia recibe “0”. 2003 - D. Cohen UNT - Arq. de Computadoras 7 Funcionamiento del Curso III • Correlativas a aprobar para Inscribirse: – Probabilidad y Estadísticas. – Estructura de Datos I. – Electrónica II. • Arquitectura es obligatoria para: – Sistemas Operativos (y muchas que le siguen). – Diseño con Microprocesadores. – Laboratorio de Microprocesadores (a crearse) 2003 - D. Cohen UNT - Arq. de Computadoras 8 4
  • 5. Página de la Cátedra • Material de Ayuda – transparencias. • Anuncios y Novedades. • Información General – Programa de la Materia. • Trabajos Prácticos de Ejercitación y Soluciones (a la semana). • Enunciados de Evaluativos y sus Soluciones (2001). • Evaluativos y Soluciones 2002 – (a la semana) • Grupo de Discusión – preguntas y respuestas para todos. • Encuestas y quejas anónimas... La opinión de los estudiantes nos ayuda. • Calificaciones. • INSCRIBIRSE EN LA PAGINA. 2003 - D. Cohen UNT - Arq. de Computadoras 9 Cronograma Inicial • Primera semana: – Hoy (17/03): Presentación y Tema 1 – Miércoles (19/03): Tema 1 – Viernes (21/03): Tema 1 – Evaluación de Prerrequisitos • Segunda Semana: – Lunes (24/03): Tema 1 – Dictado Laboratorio 1 – Miércoles (26/03): Tema 1 – Viernes (28/03): Tema 1 2003 - D. Cohen UNT - Arq. de Computadoras 10 5
  • 6. Componentes de un Computador Desde Afuera: • Periféricos – Mouse 1 .1 0 Lo o kin g Ah e a d – Teclado T e in t ll ctu al sy nth es i tha t h e e s c om es fo m v i wing r e – Monitor v es m e ac h the t hre e pe rsp ec ti a co mp ute rs ys t m fro e lea ds t an efficien t o i whe n y ou un d e s , e ff c t ve co mp ute rd e i rs tan d h ow a ma ch n e sign . It i e fu nc ti ns o a rch i e ctu re lev t el – Discos – Disketes S A, a n d t h e sy ste m at the ga te , I ma c hin e. Wh eth er nd the y n d er sta tha t yo u fu ll u y ou r ca re e ro b j c t v e i s in Com e i E g i e erin g, o n n p ute r S cie nc e rs om e o the r a , sp ec t o f t this b o ok – Otros... Co mp ute r re st h op e th a i o u r sinc e s e rsta nd ing . co mp u t rs it e i g th a t u nd • Input / Output n o u by p ro vid wil se rve y l – ¿Cuál es Input? – ¿Output? – ¿Input y Output? – ¿Variedad de velocidades? – Comunica con el Mundo. 2003 - D. Cohen UNT - Arq. de Computadoras 11 Por dentro... • Motherboard – Procesador (CPU) – Memoria (M) – Conectores - Bus – Plaquetas de Expansión (I/O) • Modem. • Placa Multimedia. • Otros... 2003 - D. Cohen UNT - Arq. de Computadoras 12 6
  • 7. Partes de un Computador – CPU – sistema complejo. – Dividir Funcionalmente: Acción (camino de Datos) y Control. – En síntesis: Control Input Memory Datapath Output CPU M I/O 2003 - D. Cohen UNT - Arq. de Computadoras 13 Memoria - M • Contiene DATOS y PROGRAMAS almacenados. • Ejemplo de Datos (X e Y) • Posición A – X • Posición B – Y • Ejemplo de Programa: • Tome X de A • Súmele Y de B • Guarde el resultado en C. • Concepto de Programa Almacenado • Puede ser manipulado como datos por otro programa. 2003 - D. Cohen UNT - Arq. de Computadoras 14 7
  • 8. CPU - Procesador • Ejecuta los Programas. • Lee Instrucciones de Memoria • Las Decodifica • Las Ejecuta – Lee / Escribe Datos de Memoria – Recibe / Envía Datos a I/O – Realiza Operaciones Lógico-Artiméticas (PROCESA) • Se compone de • Unidad de Control – fija qué se debe hacer y cuándo. • Camino de Datos: Registros, ALU, interconexión. – Se encarga de hacer. • Analogía: Sistema Nervioso y Músculos. 2003 - D. Cohen UNT - Arq. de Computadoras 15 Camino de Datos • Ejemplo Simple C3 C1 n Latch A ALU n B n C4 C2 n • C1, C2, C3 y C4 son señales de control. • ¿De qué depende la cantidad de bits de C3? • ¿Para qué está el LATCH? 2003 - D. Cohen UNT - Arq. de Computadoras 16 8
  • 9. Camino de Datos – Ejemplo más elaborado • Se desea interconectar 7 Registros y un ALU. • R1, R2, ..., R7 y ALU. • Intercambiar Contenidos de Registros (Ri <-> Rj) à • Acceder al ALU desde cualquier Registro (Rià ALU) • Poner el resultado en cualquier Registro (ALU à Rj) • Solución 1 • Conectar todos contra todos. • Evaluar Ventajas y Desventajas. 2003 - D. Cohen UNT - Arq. de Computadoras 17 Concepto de Bus • Salida 3 State: • Posibilita conexión de salidas en forma directa a un conjunto de conectores = bus. • Se sube con OE=1 (output-enable) • Se baja con L=1 (LOAD) OE1 OE2 OE3 Bus n L4 L5 – Se sube en varios lados. – Se baja en varios lados. – ¿Cuántos pueden subir a la vez? ¿y bajar? 2003 - D. Cohen UNT - Arq. de Computadoras 18 9
  • 10. Solución 2 – 1 Bus • ¿Es solución? • Probar R1=R1+R2 y R3 <->R4, calcular ciclos de clock. • Ventajas y Desventajas. • El Bus es bidireccional. C1 R1 C2 R2 ... R7 C3 Bus n L1 Latch1 Latch2 L2 A ALU ¿cuántas líneas en C1? m 2003 - D. Cohen UNT - Arq. de Computadoras 19 Banco de Registros • Observaciones: • Solo un registro se conecta a la vez. • Muchas señales de control = O(n)... ¿se podría reducir? • Se pueden poner todos juntos en un bloque. • Con nuevas entradas de Control: SELECCIÓN, LOAD, OE. C1 R1 C2 R2 ... R7 C3 Bus n L1 Latch1 Latch2 L2 A ALU m 2003 - D. Cohen UNT - Arq. de Computadoras 20 10
  • 11. Banco de Registros – Entradas de Control: SELECCIÓN, WR (LOAD), OE. – Ventaja: Integración – similar a una RAM. – ¿Cuántos bits lleva SEL? R0 R1 SEL # líneas de control = O[log(n)] WR OE R7 DATA BUS 2003 - D. Cohen UNT - Arq. de Computadoras 21 Solución 3 – 2 Buses • ¿Mejora la Velocidad? • Probar R1=R1+R2 y R3 <-->R4, calcular ciclos de clock. • ¿Cuánto más rápido es la operación de suma? • Solapamiento de varias Instrucciones... • ¿Por qué no puede eliminarse el Latch L1? B1 DATA OUT SELo R0 L1 Latch1 R1 SELi A ALU WR m OE R7 DATA IN B2 2003 - D. Cohen UNT - Arq. de Computadoras 22 11
  • 12. Solución 4 – 3 Buses • Mejora la Velocidad • Probar R1=R1+R2 y R3 <-->R4, calcular ciclos de clock. • ¿Cuánto más rápido es la operación de suma? • ¿Solapamiento? ¿Eliminar L1? B2 B1 DATA OUT SEL1 R0 L1 Latch1 SEL2 R1 SEL3 A ALU WR m OE R7 DATA IN B3 2003 - D. Cohen UNT - Arq. de Computadoras 23 Memorias Control Input Memory Datapath Output CPU M I/O 2003 - D. Cohen UNT - Arq. de Computadoras 24 12
  • 13. Memoria - RAM • Funciona como una gran Tabla unidimensional. • Una dirección de memoria es un índice en la tabla. • “Direccionamiento de Byte" : el índice apunta a una byte en M. 0 8 bits of data 1 8 bits of data 2 8 bits of data 3 8 bits of data 4 8 bits of data 5 8 bits of data 6 8 bits of data ... • La celda básica es el flip-flop. Empacados en alta densidad. 2003 - D. Cohen UNT - Arq. de Computadoras 25 Tecnología de Memorias • Acceso Aleatorio (Random): • “Random” es bueno: tiempo de acceso es el mismo para todas las celdas. – SRAM: Static Random Access Memory • Baja Densidad, alto consumo, cara, rápida • Estática: el contenido se mantiene indefinidamente con Vcc. – DRAM: Dynamic Random Access Memory • Alta Densidad, bajo consumo, barato, lento. • Dinámica: necesita ser “refrescada” regularmente. • Circuito de Refrescado – trabaja por filas completas. • Memorias de acceso “no aleatorio”. • Tiempo de acceso varía de lugar en lugar y de tiempo en tiempo. • Ejemplos: Discos, cintas (secuencial), CD-ROM 2003 - D. Cohen UNT - Arq. de Computadoras 26 13
  • 14. Diagrama Lógico de una SRAM A N 2 N words WE_L x M bit SRAM OE_L D M • Señales de Control: Write Enable y Output Enable • Generalmente se activan en “Low” (WE_L, OE_L). • OE_L permite Ahorrar Pins, unificando Din y Dout. – WRITE: WE_L se activa (0), OE_L se desactiva (1) • D funciona como entrada de Datos. – READ: WE_L se desactiva (1), OE_L se activa (0) • D es la salida de datos. – INDEFINIDO: SI tanto WE_L como OE_L se activan: • Resultado no definido. ¡¡No hacerlo!! 2003 - D. Cohen UNT - Arq. de Computadoras 27 Memorias: SRAM y DRAM 1. ¿Cómo se puede verificar el tamaño en KB de estos chips? 2. Algunas RAM unifican WE_L y OE_L en un único R/W_L 3. ¿Para qué traen incorporados CS? 2003 - D. Cohen UNT - Arq. de Computadoras 28 14
  • 15. La Interfase CPU–Memoria D ata b us Add ress bu s CPU Mai n memo ry m s Address m M AR A0 – Am– 1 0 w 1 b D0 – Db–1 MD R 2 w 3 R/W R eg ister file REQU EST 2m– 1 COMPL ETE Co ntrol si gn als 1. MAR – Memory Address Register. • Contiene la dirección de los datos a leer o escribir en M. • 2m es la dimensión del “espacio de direcciones”. 2. MDR – Memory Data Register. • Contiene los datos a escribir o que se leen de M. • w es el “ancho de palabra” del CPU. ¿w grande es bueno? • DATA BUS, ADDRESS BUS y CONTROL BUS. 2003 - D. Cohen UNT - Arq. de Computadoras 29 La Interfase CPU–Memoria D ata b us Add ress bu s CPU Mai n memo ry m s Address m M AR A0 – Am– 1 0 w 1 b D0 – Db–1 MD R 2 w 3 R/W R eg ister file REQU EST 2m– 1 COMPL ETE Co ntrol si gn als Secuencia de Eventos: Read: 1. CPU pone dirección en MAR, activa Read y REQUEST 2. Memoria envía el dato a MDR 3. Memoria activa COMPLETE Write: 1. CPU carga MAR y MDR, activa Write y REQUEST 2. El contenido de MDR se escribe en celda indicada por MAR 3. Memoria activa COMPLETE •¡Ojo!: No aparece CS, en la RAM no hay Request, ni Complete 2003 - D. Cohen UNT - Arq. de Computadoras 30 15
  • 16. La Interfase CPU–Memoria Da ta bus Addre ss b us CPU Mai n memo ry m s Address m MA R A0 – Am Ð1 0 w 1 b D 0 – DbÐ1 MDR 2 w 3 R /W R egi ste r fi le R EQUEST 2m – 1 C OM PLETE C ontrol si gna ls Consideraciones Adicionales: • Si b < w, se requieren w/b transferencias de b-bits a Memoria. • Algunos CPUs permiten leer o escribir palabras con tamaño < w Ejemplo: Intel 8088: m = 20, w = 16, s=b = 8 Se pueden leer o escribir Datos de 8- y 16-bit • Si la memoria es suficientemente rápida o si es predecible, entonces puede omitirse la señal COMPLETE. • Algunos sistemas usan líneas OE y WE y omiten REQUEST 2003 - D. Cohen UNT - Arq. de Computadoras 31 Algunas Propiedades de Memoria Símbolo Definición Intel Intel PowerPC 8088 8086 601 w Ancho de palabra del CPU 16 bits 16 bits 64 bits m Bits en una dirección de M 20 bits 20 bits 32 bits s Bits en menor unidad direccionable 8 bits 8 bits 8 bits b Ancho del Data Bus 8 bits 16 bits 64 bits 2m Capac de palabras ancho s en M 220 words 220 words 232 words 2mxs Espacio de Mem. en bits 220 x 8 bits 220 x 8 bits 232 x 8 bits 2003 - D. Cohen UNT - Arq. de Computadoras 32 16
  • 17. Clasificación de Memoria • Por el Modo de Acceso desde el CPU: – Primario – se accede directamente desde CPU (RAM). – Secundario – se accede a través de operaciones de I/O (Disco, Cinta...) • Por el Tiempo de Acceso a todas las celdas. – Igual para todas – RANDOM. – Diferente. • Secuencial – Cintas Magnéticas. • Mixto – Discos. • Por la Volatilidad. ¿De qué sirve? – ROM – Read Only Memory. – PROM – Programable once ROM. – EPROM – Erasable PROM. (mediante UV) – EEPROM . Electrically Erasable PROM. • Por la Tecnología. – SRAM. – DRAM. • ... 2003 - D. Cohen UNT - Arq. de Computadoras 33 El Principio de Localidad • El Principio de Localidad: • Los programas acceden a una porción relativamente pequeña del espacio de direcciones en cualquier instante de tiempo. • Dos Tipos Diferentes de Localidad: • Localidad Temporal: Si un ítem (Dato o Instrucción) es accedido, tenderá a ser accedido nuevamente pronto. • Localidad Espacial: Si un item es accedido, ítems vecinos (direcciones cercanas) tenderán a ser accedidos pronto. • Idea: información más usada en memoria rápida. • ¿Es aplicable a las Personas también? 2003 - D. Cohen UNT - Arq. de Computadoras 34 17
  • 18. Jerarquía de Memoria: Personas • Memoria Rápida y Limitada: el cerebro. • Ayuda Memoria: Agenda. • Apuntes. • Libros • Bibliotecas. • No es transparente. • No hay un sistema automático que detecte nuestra necesidad de información y la incorpore a nuestro cerebro sin que nos demos cuenta. 2003 - D. Cohen UNT - Arq. de Computadoras 35 Caché Sistema de Memoria CPU Cache DRAM • Motivación: – Memorias Grandes (DRAM) son lentas. – Pequeñas Memorias (SRAM) son rápidas y más caras. – Lograr un tiempo de acceso promedio pequeño: • Sirviendo la mayoría de los accesos desde la SRAM. – Reducir el ancho de banda requerido para la DRAM. • Ancho de banda = palabras transferidas segundo. 2003 - D. Cohen UNT - Arq. de Computadoras 36 18
  • 19. Cache / Memoria Virtual • Similar Objetivo. • Cache: entre dos memorias RAM. • Memoria Virtual: entre Primario (RAM) y Secundario (Disco...). • Transparentes al Usuario: – Manejo por Hw. y Sistema Operativo. 2003 - D. Cohen UNT - Arq. de Computadoras 37 Jerarquías de Memoria • Aprovechando el principio de Localidad: – Presentar al usuario todo el espacio de direcciones con un costo unitario muy cercano al de la tecnología más barata. – Brindarle acceso a la velocidad ofrecida por la tecnología más rápida. CPU Control Secondary Storage Second Main (Disk) On-Chip Registers Level Memory Cache Datapath Cache (DRAM) (SRAM) Velocidad (ns): Unos Decenas Cientos 10,000,000s (10sms) Tamaño (bytes): Cientos Kilos Ms Gs 2003 - D. Cohen UNT - Arq. de Computadoras 38 19
  • 20. Entrada / Salida Control Input Memory Datapath Output CPU M I/O Gran Variedad de Dispositivos E/S y Velocidades de transferencia. 2003 - D. Cohen UNT - Arq. de Computadoras 39 Ejemplos de Dispositivos E/S Dispositivo Función Interlocutor Veloc. Transf. (KB/sec) Teclado Input Humano 0.01 Mouse Input Humano 0.02 Line Printer Output Humano 1.00 Floppy disk Storage Máquina 50.00 Laser Printer Output Humano 100.00 Optical Disk Storage Máquina 500.00 Magnetic Disk Storage Máquina 5,000.00 Red-LAN E/S Máquina 20 – 1,000.00 Display Gráfico Salida Humano 30,000.00 ¿Cómo hace un computador para manejar todo esto eficientemente? ¡No quedarse esperando un tecleo! ¡Hacer otras cosas mientras tanto! 2003 - D. Cohen UNT - Arq. de Computadoras 40 20
  • 21. Conceptos de E/S Ej. Sistema Multitarea: Secretaria prepara Café. Alternativas: 1. Ineficiente: Espera a que alguien pida y le sirve. No hace otra cosa (la echan) 2. Polling (encuestas): Cada media hora pregunta si alguien quiere café. Un reloj con alarma se lo recuerda. Si tiene otras urgencias no hace caso. 3. Interrupciones: Cuando alguien quiere café la llama por el interno. No hace caso si hay urgencias. 4. Acceso Directo (DMA): el que quiere café se sirve solo, si la cafetera se vacía suena alarma a la Secret. 5. Procesador Dedicado (IOP): dispensador automático de café y otras bebidas. Una vez por semana la Secretaria carga la máquina. Alarma si falla. Lo mismo vale entre un CPU y dispositivo E/S (DISCO) 2003 - D. Cohen UNT - Arq. de Computadoras 41 Volvemos al CPU Control Input Memory Datapath Output CPU M I/O • Registros Adicionales: – PC – program Counter – dirección de la próxima instrucción. – IR – Instruction Register – contiene la instrucción actual: 2003 - D. Cohen UNT - Arq. de Computadoras 42 21
  • 22. El Ciclo de la Instrucción Instruction Obtener instrucción de Memoria M(PC), guardar Instrucción en IR Fetch Actualizar PC Instruction Determinar las acciones que se requieran Decode Execute Ejecutar las acciones requeridas (leer o escribir en M o I/O, procesar en ALU...) 2003 - D. Cohen UNT - Arq. de Computadoras 43 ¿Qué debe especificar una instrucción? Flujo de Datos • ¿Qué operación realizar? add r0, r1, r3 – Op code: add, load, branch, etc. • ¿Dónde están los operando/s? add r0, r1, r3 – En registros del CPU, celdas de memoria, lugares de I/O o parte de una instrucción. • ¿Dónde se guarda el resultado? add r0, r1, r3 – En un registro, M o I/O. • ¿Dónde está la próxima instrucción? add r0, r1, r3 – En el lugar de memoria a que br endloop apunta el PC – Para ej. salto – PC ß endloop 2003 - D. Cohen UNT - Arq. de Computadoras 44 22
  • 23. Formato de la Instrucción Op-Code Operando 1 Operando 2 ... Operando n 1. Op-Code: Qué se hace. • n bits – hasta 2n operaciones distintas . 2. Operandos: Con qué dato se hace. • En general desde 0 a 3 operandos. • El dato puede estar en el campo, en Memoria o en un Registro. • Modo de Direccionamiento: forma en que se especifica un dato en el campo Operando. 3. Puede haber más de un formato, dependiendo de Op-Code. 2003 - D. Cohen UNT - Arq. de Computadoras 45 3 Clases de Instrucciones • Movimiento de Datos – Tienen siempre una fuente y un destino. – Load— La fuente es memoria y el destino un registro. – Store— La fuente es un registro y el destino es memoria. – Hay casos con fuentes y destino ambos M o ambos R. • Procesamiento – Instrucciones Aritméticas y Lógicas. – Procesar uno o más operandos fuentes y guardar el resultado en un lugar de destino. – Add, Sub, Shift, etc. • Control de flujo de Instrucciones (Saltos) – Alterar el flujo normal de control en lugar de ejecutar la siguiente instrucción de la dirección contigua. – Br Loc, Brz Loc2,—saltos condicionales o incondicionales. 2003 - D. Cohen UNT - Arq. de Computadoras 46 23
  • 24. PSW – Program Status Word • Registro de Código de Condición (CCR). – Compuesto por flags que indican cómo fue el último resultado que los cambió. • Carry, Negative, Overflow, Zero, Half Carry, ... – Sirven para implementar instrucciones de salto. • BZ (salte si cero), BN (salte si negativo), ... – Algunas arquitecturas implementan saltos sin CCR • Para facilitar implementación de Pipelining. • PSW – Program Status Word. – Contiene los flags (CCR) – Contiene información de estado del CPU (más adelante) 2003 - D. Cohen UNT - Arq. de Computadoras 47 Modos de Direccionamiento - I • Para escribir un programa se requiere: Algoritmo y Estructura de Datos. • Los modos sirven para acceder a estructuras de datos de forma eficiente. • Inmediato – para una constante. – El dato se escribe en el campo operando. Ld r1, #380H ;r1 ß380H • Registro – para variables temporarias muy usadas. – En el operando figura el número de un registro en el que está el dato. Si r2 contiene 3 y r3 contiene 4. Add r1, r2, r3 ;r1 ß7 2003 - D. Cohen UNT - Arq. de Computadoras 48 24
  • 25. Modos de Direccionamiento - II • Directo – variables globales. – En el operando se escribe la dirección del dato en M. Ej. Si M(100H)=5 Ld r1, (100H) ; r1ß5 • Indexado – punteros a tablas. – En el operando se escribe un registro r y un valor llamado desplazamiento d. – El dato se encuentra en M(#d+r). Ej. Si r2 contiene 100H y si M(130H)=5 Ld r1, 30(r2) ; r1ß5. 2003 - D. Cohen UNT - Arq. de Computadoras 49 Modos Comunes de Direccionamiento Ejemplo: Identificar los modos del SRC (más adelante) Registro Destino Sintaxis Nombre del Modo Assembler RTN significado Uso Registro Ra R[t] ← R[a] Variable Temporaria Registro indirecto (Ra) R[t] ← M[R[a]] Puntero Inmediato #X R[t] ← X Constante Directo / Absoluto X R[t] ← M[X] Variables Globales Indirecto (X) R[t] ← M[ M[X] ] Puntero Variable Indexado, base, X(Ra) R[t] ← M[X + R[a]] Tablas, vectores o desplazamiento Relativo X(PC) R[t] ← M[X + PC] Valores almacenados en el programa Autoincremento (Ra)+ R[t] ← M[R[a]]; R[a] ← R[a] + 1 Acceso Autodecremento - (Ra) R[a] ← R[a] - 1; R[t] ← M[R[a]] Secuencial a tablas 2003 - D. Cohen UNT - Arq. de Computadoras 50 25
  • 26. ¿Cuáles son las componentes de un ISA? • Conocido como el Modelo del Programador de la máquina. • Celdas de Almacenamiento – Registros de propósito general y especial en el CPU. – Muchas celdas de propósito general de igual tamaño en Memoria. – Almacenamiento relacionado con dispositivos I/O. • El Set de Instrucciones de la Máquina. – Es el repertorio completo de las operaciones de la máquina. – Emplea celdas de almacenamiento, formatos y resultados del ciclo de la Instrucción. • Ej. Transferencias de Registros. • Formato de la Instrucción – Tamaño y significado de los diferentes campos de la Instrucción. 2003 - D. Cohen UNT - Arq. de Computadoras 51 Arquitectura del Set de Instrucciones (ISA) • ISA = Información que se requiere para escribir programas en el CPU. • Presentaremos un CPU y su trayectoria de datos. • Presentaremos algunas Instrucciones. • Veremos todas las operaciones que se realizan para ejecutar un programa. 2003 - D. Cohen UNT - Arq. de Computadoras 52 26
  • 27. Ej: Diagrama de Bloques CPU de 1 Bus: SRC - 1 CPU CB Figure 4.1 Control Unit ADD P Ci n W ai Gra t Control signals out Control unit inputs 31 0 〈31. .0〉 R0 32 32-bit 32 31 0 general PC purpose registers Data Path Main Input/ memory output R31 IR A MA A B To memory subsystem ALU C MD Memory bus C Figures 4.2, 4.3 2003 - D. Cohen UNT - Arq. de Computadoras 53 Comentarios Adicionales • Un solo Bus permite solo una transferencia de Registro a la vez. • El primer operando de la ALU siempre en A, resultado en C R0 31 0 〈31. .0〉 32 32-bit 32 31 0 • Segundo Operando de la ALU general purpose registers PC proviene siempre del Bus • Palabras de Mem de 32 bits. R31 IR • Direccionamiento a Bytes en M. A • MAR tiene 32 bits. A B MA T o m emory subsystem A LU • ¿Espacio de direcciones? C MD • 32 Registros de uso General C R(0...32) • Tiempo de Acceso a Mem = 1T 2003 - D. Cohen UNT - Arq. de Computadoras 54 27
  • 28. Trayectoria de Datos 〈31..0〉 31 0 R0 32 32-bit 32 31 0 ge neral PC pu rpose registers R3 1 IR A MA a AB A B To memo ry subsyst em ALU C MD a DB C 2003 - D. Cohen UNT - Arq. de Computadoras 55 Descripción Formal de Instrucciones • RTN – Register Transfer Notation o RTL. • Descripción Abstracta – dice qué se hace pero no cómo se implementa. • Descripción Concreta – dice cómo se implementa. • Se trata de diseño – puede haber distintas implementaciones, con ventajas y desventajas. • Debe haber una única descripción abstracta. • Puede haber múltiples descripciones concretas. • La trayectoria de datos no forma parte del ISA. 2003 - D. Cohen UNT - Arq. de Computadoras 56 28
  • 29. Instrucciones SRC-1 Formatos: 31 27 26 22 21 17 16 0 op ra rb c2 Type 1 31 27 26 22 21 17 16 12 11 0 op ra rb rc c3 Type 2 Abstract RTN: (IR ← M[PC]: PC ← PC + 4; instruction_execution); instruction_execution := ( • • • add (:= op= 12) → R[ra] ← R[rb] + R[rc]: ld (:= op= 1) → R[ra] ← M[disp] : st (:= op= 3) → M[disp] ← R[ra] : ...) donde disp〈 31..0〉 := ((rb=0) → c2〈 16..0〉 {sign ext.} : 〈 〉 〈 〉 (rb≠ 0) → R[rb] + c2〈 16..0〉 {sign extend, 2's comp.} ) : ≠ 〈 〉 Extender signo significa repetir el MSB. Implementación: R(0)=0 siempre y todo se simplifica. 2003 - D. Cohen UNT - Arq. de Computadoras 57 Observaciones del ISA - SRC • Tipo LOAD/STORE. – Sólo las instrucciones Load y Store acceden a M. – Se opera con registros. – Objetivo: ancho de banda de M menos exigido. – Las instrucciones entran siempre en una palabra. – Pocas instrucciones y simples. – RISC – “Reduced Instruction Set Computer” • ¿Cuáles son los modos de direccionamiento? – Inmediato, Directo, Indexado, Registro Indirecto. • SRC-1 = Simple Risc Computer con 1 Bus. 2003 - D. Cohen UNT - Arq. de Computadoras 58 29
  • 30. RTN Concretas para ADD Abstract RTN: (IR ← M[PC]: PC ← PC + 4; instruction_execution); instruction_execution := ( • • • add (:= op= 12) → R[ra] ← R[rb] + R[rc]: RTN concreta para add R0 31 0 〈31. .0〉 32 32-bit 32 31 0 Paso RTN general purpose PC MAR ← PC: C ← PC + 4; registers T0 T1 MDR ← M[MAR]: PC ← C; R31 IR ← MDR; IR T2 IF A ← R[rb]; A T3 T4 C ← A + R[rc]; IEx. MA A B R[ra] ← C; To mem ory subsystem T5 A LU MD C • FETCH (IF) es igual para todas las instrucciones. C • En T0 se ejecutan parte de 2 RTs (IR ← M[PC]: PC ← PC + 4;) • La ejecución de una sola RT abstracta en ADD toma 3 RTs concretas (T3, T4, T5) 2003 - D. Cohen UNT - Arq. de Computadoras 59 RTN Concretas para Ld y St Ld (:= op= 1) → R[ra] ← M[disp] : St (:= op= 3) → M[disp] ← R[ra] : donde disp〈 31..0〉 := ((rb=0) → c2〈 16..0〉 {sign ext.} : 〈 〉 〈 〉 (rb≠ 0) → R[rb] + c2〈 16..0〉 {sign extend, 2's comp.} ) : ≠ 〈 〉 Instrucciones Ld and St (load/store register from memory) 16@IR(16)# significa “repetir 16 veces el bit 16 de IR y concatenar con...” Paso RTN para Ld RTN para St T0–T2 Instruction fetch T3 A ← (rb = 0 → 0: rb ≠ 0 → R[rb]); R(0):=0 siempre T4 C ← A + (16@IR〈 16〉 #IR〈 15..0〉 ); 〈 〉 〈 〉 ext. signo T5 MAR ← C; T6 MDR ← M[MAR]; MDR ← R[ra]; T7 R[ra] ← MDR; M[MAR] ← MDR; 2003 - D. Cohen UNT - Arq. de Computadoras 60 30
  • 31. Ejemplo de Programa • Datos • 00000100H 2 (valor de la palabra) • 00000104H 3 • 00000108H (lugar para resultado) • Programa • 00000000H ld r1, 0, 0100H • 00000004H ld r2, 0, 0104H • 00000008H add r3, r2, r1 • 0000000CH st r3, 0, 0108H • Programa y Datos están en Memoria. 2003 - D. Cohen UNT - Arq. de Computadoras 61 Ejecución: Ld r1, 0, 0100H • Inicialmente PC=00000000H Paso RTN para ld Fetch T0 MAR ← PC: C ← PC + 4; MAR=0, A=0 T1 MDR ← M[MAR]: PC ← C ; MDR=M(0)=Ld, PC=4 T2 IR ← MDR; IR=Ld Ejecución T3 A ← (rb = 0 → 0: rb ≠ 0 → R[rb]); A=0 T4 C ← A + (16@IR〈 16〉 #IR〈 15..0〉 ); 〈 〉 〈 〉 C=00000100H T5 MAR ← C; MAR=00000100H T6 MDR ← M[MAR]; MDR=M(100H)=2 T7 R[ra] ← MDR; R(1)=2 • Veamos Paso a Paso. 2003 - D. Cohen UNT - Arq. de Computadoras 62 31
  • 32. Fetch: Ld r1, 0, 0100H T0: MAR ← PC: C ← PC + 4; ← ← 0 PC Banco Registros IR A 0 MAR MDR C 4 2003 - D. Cohen UNT - Arq. de Computadoras 63 Fetch: Ld r1, 0, 0100H T0: MAR ← PC: C ← PC + 4; T1: MDR ← M[MAR]: PC ß C; 4 PC Banco Registros IR A 0 MAR MDR C Ld 4 2003 - D. Cohen UNT - Arq. de Computadoras 64 32
  • 33. Fetch: Ld r1, 0, 0100H T0: MAR ← PC: C ← PC + 4; T1: MDR ← M[MAR]: PC ß C; 4 T2: IR ← MDR; PC Banco Registros IR Ld A MAR MDR C Ld 2003 - D. Cohen UNT - Arq. de Computadoras 65 Ejecución: Ld r1, 0, 0100H T0: MAR ← PC: C ← PC + 4; T1: MDR ← M[MAR]: PC ß C; 4 T2: IR ← MDR; 0 r0 T3: A ← (rb = 0 → 0: rb ≠ 0 → R[rb]); PC Banco Registros IR Ld 0 A MAR MDR C 2003 - D. Cohen UNT - Arq. de Computadoras 66 33
  • 34. Ejecución: Ld r1, 0, 0100H T0: MAR ← PC: C ← PC + 4; T1: MDR ← M[MAR]: PC ß C; 4 T2: IR ← MDR; T3: A ← (rb = 0 → 0: rb ≠ 0 → R[rb]); PC T4: C ← A + (16@IR〈 16〉 #IR〈 15..0〉 ); 〈 〉 〈 〉 Banco Registros IR Ld r1, 0, 100H 0 A 0 MAR MDR C 100H 2003 - D. Cohen UNT - Arq. de Computadoras 67 Ejecución: Ld r1, 0, 0100H T0: MAR ← PC: C ← PC + 4; T1: MDR ← M[MAR]: PC ß C; 4 T2: IR ← MDR; T3: A ← (rb = 0 → 0: rb ≠ 0 → R[rb]); PC T4: C ← A + (16@IR〈 16〉 #IR〈 15..0〉 ); 〈 〉 〈 〉 Banco T5: MAR ← C; Registros IR Ld 0 A 100H MAR MDR C 100H 2003 - D. Cohen UNT - Arq. de Computadoras 68 34
  • 35. Ejecución: Ld r1, 0, 0100H T0: MAR ← PC: C ← PC + 4; T1: MDR ← M[MAR]: PC ß C; 4 T2: IR ← MDR; T3: A ← (rb = 0 → 0: rb ≠ 0 → R[rb]); PC T4: C ← A + (16@IR〈 16〉 #IR〈 15..0〉 ); 〈 〉 〈 〉 Banco T5: MAR ← C; T6: MDR ← M[MAR]; Registros IR Ld 0 A 100H MAR MDR C 2 100H 2003 - D. Cohen UNT - Arq. de Computadoras 69 Ejecución: Ld r1, 0, 0100H T0: MAR ← PC: C ← PC + 4; T1: MDR ← M[MAR]: PC ß C; 4 T2: IR ← MDR; T3: A ← (rb = 0 → 0: rb ≠ 0 → R[rb]); 2 r1 PC T4: C ← A + (16@IR〈 16〉 #IR〈 15..0〉 ); 〈 〉 〈 〉 Banco T5: MAR ← C; T6: MDR ← M[MAR]; Registros IR T7: R[ra] ← MDR; Ld 0 A 100H MAR MDR C 2 100H 2003 - D. Cohen UNT - Arq. de Computadoras 70 35
  • 36. Ejecución: Ld r2, 0, 0104H • PC = 00000004H, r1=2 Paso RTN para ld Fetch Ídem anterior – para vagos creativos T8 MAR ← PC: C ← PC + 4; MAR=4, C=8 T9 MDR ← M[MAR]: PC ← C; MDR=M(4)=Ld, PC=8 T10 IR ← MDR; IR=Ld Ejecución Ídem anterior – para vagos creativos T11 A ← (rb = 0 → 0: rb ≠ 0 → R[rb]); A=0 T12 C ← A + (16@IR〈 16〉 #IR〈 15..0〉 ); 〈 〉 〈 〉 C=00000104H T13 MAR ← C; MAR=00000104H T14 MDR ← M[MAR]; MDR=M(104H)=3 T15 R[ra] ← MDR; R(2)=3 2003 - D. Cohen UNT - Arq. de Computadoras 71 Ejecución: Add r3, r2, r1 • PC = 00000008H, r1=2, r2=3 Paso RTN para ld Fetch Ídem anterior – para vagos creativos T16 MAR ← PC: C ← PC + 4; MAR=8, C=12=CH T17 MDR ← M[MAR]: PC ← C; MDR=M(8)=Add, PC=12 T18 IR ← MDR; IR=Add Ejecución T19 A ← R[rb]; A=R(2)=3 T20 C ← A + R[rc]; C=A+R(1)=3+2=5 T21 R[ra] ← C; R(3)=C=5 2003 - D. Cohen UNT - Arq. de Computadoras 72 36
  • 37. Ejecución: St r3, 0, 0108H • PC = 0000000CH, r1=2, r2=3, r3=5 Paso RTN para ld Fetch Ídem anterior – para vagos creativos T22 MAR ← PC: C ← PC + 4; MAR=CH, C=10H=16 T23 MDR ← M[MAR]: PC ← C; MDR=M(CH)=S t, PC=8 T24 IR ← MDR; IR=St Ejecución T25 A ← (rb = 0 → 0: rb ≠ 0 → R[rb]); A=0 T26 C ← A + (16@IR〈 16〉 #IR〈 15..0〉 ); 〈 〉 〈 〉 C=00000108H T27 MAR ← C; MAR=00000108H T28 MDR ← R[ra]; MDR=R(3)=5 T29 M[MAR] ← MDR; M(108H)=5 2003 - D. Cohen UNT - Arq. de Computadoras 73 Conclusiones del Ejemplo • El CPU es sólo una máquina. • Siempre hace lo mismo – ciclo de la instrucción. • El Programa es quien da la “inteligencia”. • Hay un programa que sintetiza un algoritmo. • Al final el PC apunta a la siguiente instrucción. • Continúa indefinidamente. • “Para” con un retorno al Sistema Operativo. • Pero en el fondo no para, ejecuta el sistema operativo. 2003 - D. Cohen UNT - Arq. de Computadoras 74 37
  • 38. Performance del Ejemplo • Tiempo de Ejecución: 30 T • Cantidad de Instrucciones: I = 4. • Ciclos T por Instrucción Promedio - CPI. • Depende del programa. • En este caso resulta: 7,50. • Tiempo de ejecución = I x CPI x T • Aparecen las 3 variables que se pueden mejorar. – I: un buen ISA, buen programa, algoritmo, estruct. datos – CPI: mejorar la realización concreta del ISA. – T: mejorar la tecnología para usar un reloj más rápido. 2003 - D. Cohen UNT - Arq. de Computadoras 75 Laboratorio N° 1 • Determinar Grupos de 3. Repetir el ejemplo y determinar performance y % mejora: – Desarrollar SRC-2 con 2 buses. Grupo 1 – Desarrollar SRC-3 con 3 buses. Grupo 2 – Definir un nuevo ISA para SRC-1. • Con un operando implícito en “Acumulador A”. • Permitir que cualquier instrucción acceda a M. • Formato y RTN abstracto y concreto de algunas instruciones. • Exigencia a Memoria en Ancho de Banda. ¿Cuántos T promedio entre accesos a Mem? 2003 - D. Cohen UNT - Arq. de Computadoras 76 38
  • 39. Lenguaje de Máquina (LM) • Conformado por las Instrucciones del ISA. • Tal como son cargadas en memoria y leídas por el CPU. • Expresados como cadenas de ‘0’ y ‘1’. • Las primeras CPUs se programaban así. • Problemas • Propenso a errores: basta con cambiar un 1 por un 0. • Ilegible. • Indocumentable. • Requiere mucho tiempo de las personas. • Al principio lo caro eran las computadoras. • Escribir en Hexadecimal es un primer avance. 2003 - D. Cohen UNT - Arq. de Computadoras 77 Lenguaje Assembler (LA) • Conformado por las Instrucciones del ISA. • Pero escritas en código mnemotécnico. • Correspondencia uno a uno con LM. • Es necesario traducirlas antes de ejecutarlas. • Traductor = Ensamblador. • Tarea mecánica realizada por un programa traductor • Instrucciones al traductor = Seudoinstrucciones. • Incorpora también símbolos para variables y rótulos. • Ejemplos ORG, DS, DC, EQU... • Acepta Comentarios 2003 - D. Cohen UNT - Arq. de Computadoras 78 39
  • 40. Ej: programa en Lenguaje Ensamblador Algunas Seudoinstrucciones: DCW Define Constant Word DSW Reserve Storage Word ORG 100H Ubicar el código siguiente a partir de 100H org 000H ;comienza en 000H ld r1, 0, Dos ;r1 = 2 ld r2, 0, Tres ;r2 = 3 add r3, r2, r1 ;r3 = r2 + r1 = 2 + 3 = 5 st r3, 0, Res ;M(108H) = r3 = 5 fin: br fin ;autolazo indefinido org 100H ;los datos a partir de 100H Dos: dcw 2H Tres: dcw 3H Res: dsw ;reservar 1 palabra para result. end 2003 - D. Cohen UNT - Arq. de Computadoras 79 Ensamblador Traducción: de Fuente (LA) a Objeto (LM) Progr Fuente Ensamblador Objeto Ejecución: Corre el programa Objeto Progr Datos Progr. Objeto Objeto 2003 - D. Cohen UNT - Arq. de Computadoras 80 40
  • 41. Ventajas y Desventajas LA • Desventajas • Cada máquina tiene un LA diferente • LA está orientado a la máquina y no al usuario. • No hay programación estructurada. • Hay que ser un experto. • Difícil desarrollar mercados... • ¿Y por qué no se ponen de acuerdo en un solo LA? • Ventajas • Manejo exacto de Tiempo y Memoria. • Para aplicaciones críticas en tiempo real. 2003 - D. Cohen UNT - Arq. de Computadoras 81 Lenguaje Superior (LS) • Característica: 1 inst. LS à n inst. LM • Orientado a Problemas y a Usuarios. • Independiente de la Máquina. • ¿Ejemplos de Lenguajes Superiores? • Traductor = Compilador. Traduce a LM o LA • Traducción no es única, optimiza. • Primero se compila, luego se carga y ejecuta. 2003 - D. Cohen UNT - Arq. de Computadoras 82 41
  • 42. Compilador, Ensamblador, Lenguaje de Máquina temp = v[k]; Programa de Alto Nivel v[k] = v[k+1]; v[k+1] = temp; Compilador lw $15, 0($2) Programa Lenguaje lw $16, 4($2) Assembler sw $16, 0($2) sw $15, 4($2) Ensamblador 0000 1001 1100 0110 1010 1111 0101 1000 Programa Lenguaje 1010 1111 0101 1000 0000 1001 1100 0110 de Máquina 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 interpretación de Máquina Especificación de señales de control 2003 - D. Cohen UNT - Arq. de Computadoras 83 Intérprete • Características similares al Compilador. • Pero traduce y ejecuta en un solo paso. • ¿Cuándo conviene Compilador y cuándo Intérprete? • Observación: el control del CPU es un intérprete para ISA. Leer Instrucción Decodifica Ejecuta 2003 - D. Cohen UNT - Arq. de Computadoras 84 42
  • 43. Lenguajes de Especificación - RTN Lenguaje que describe otro lenguaje (LM) se llama Metalenguaje ISA specification written in RTN RTN compiler Generated processor LM program Data output SRC interpreter and data or simulator 2003 - D. Cohen UNT - Arq. de Computadoras 85 Ventajas de RTN • Permite describir el “qué” sin obligar a describir el “como”. • Especificación precisa y no ambigua, • al contrario de lenguajes naturales. • Reduce errores: – Debido a mala interpretación o especificaciones imprecisas. – Confusiones en diseño e implementación —“error humano” • ¡Permite al diseñador hacer chequeo de la especificación! • Las especificaciones pueden ser chequeadas y procesadas automáticamente mediante herramientas CAD. – Una especificación RTN puede ingresar a un generador que • Produce un simulador para la máquina especificada. – Una especificación RTN puede ingresar a un generador de compilador. • Genera un compilador para el lenguaje de la máquina en cuestión. • La salida del compilador puede correr en el simulador. 2003 - D. Cohen UNT - Arq. de Computadoras 86 43
  • 44. Sistema Operativo • ¿Cómo trabajar con un Computador? – ¿cómo cargo un programa? – ¿cómo manejo discos y monitor? • No basta con el Hw puro. • No basta con el ISA. • Se necesitan Interfases. • Físicas (Hw – I/O: teclado, monitor, ...) • Lógicas (manejadores del Hw, Intérpretes). • Y Optimizar uso de recursos... • Tanto de Hw como de Sw. • Compartir. • Presentar interfases transparentes a emplear por el usuario. • Seguridad, confiabilidad. 2003 - D. Cohen UNT - Arq. de Computadoras 87 Multiprogramación: Conceptos • Recursos: CPU, Memoria, Disco, Printer, ... • Acceso a Disco equivale a 100.000 ciclos de CPU. • Si corre un único programa àCPU no hace nada mientras se accede a Disco. ¡Ineficiente! • Pero se podría poner a otro programa para que use el CPU “concurrentemente”. • Así, para la eficiencia de todos los recursos, conviene que corran varios programas concurrentemente. • El Sistema Operativo distribuye los recursos de manera equitativa y transparente. • Cada programa siente que corre solo. 2003 - D. Cohen UNT - Arq. de Computadoras 88 44
  • 45. Multiprogramación – Conceptos •Ningún programa puede afectar a los demás. •El Sistema Operativo administra el uso compartido de recursos y asegura que todo funcione bien (protecciones) •La memoria es un recurso más. Un programa puede estar en disco en un momento dado. •Es necesario que un programa funcione correctamente, independientemente de donde se cargue en memoria principal. 2003 - D. Cohen UNT - Arq. de Computadoras 89 Visión Jerárquica por Niveles Compilador Ensamblador SO ISA Control Hw 2003 - D. Cohen UNT - Arq. de Computadoras 90 45
  • 46. Arquitectura de Computadoras ° Cordinación de niveles de abstracción Aplicación Sistema Compilador Operativo Instruction Set Architecture Procesador Sistema I/O Diseño Digital Diseño de Circuitos ° Bajo presión de fuerzas que cambian muy rapidamente 2003 - D. Cohen UNT - Arq. de Computadoras 91 Fuerzas en Arq. de Computadoras Lenguajes de Tecnología Programación Aplicaciones Arquitectura De Computadores Sistemas Operativos Historia (A = F / M) 2003 - D. Cohen UNT - Arq. de Computadoras 92 46
  • 47. Interrupciones en la Vida Real 1. Un estudiante ejecuta una tarea: estudia. 2. Le golpean la puerta: le llaman por teléfono. – Interrupt Request. 3. ¿Atendera? – Consulta de Prioridades. 4. Indica que sí – reconocimiento de la Interrupción 5. Pone un señalador en su libro. – Guarda el estado de su tarea. 6. Atiende el teléfono – sirve a la interrupción. 7. Recupera el estado de su tarea. 8. Continúa con la tarea original. 2003 - D. Cohen UNT - Arq. de Computadoras 93 En un Procesador 1. Un CPU ejecuta una tarea (corre un programa) 2. Impresora externa requiere nuevos datos a Imprimir – pide interrupción. 3. Prioridad(programa) < Prioridad (Interrup) à se atiende. 4. Señal de Salida – reconocimiento: INTA. 5. Se guarda PC (en algún registro o en Stack). 6. PC ß Comienzo Rutina Interrupción. – Se Ejecuta Rutina de Servicio Interrupción. • Al comienzo guarda toda información adicional sobre el Programa. 7. Al terminar recupera información y PC ß PCant 8. Continúa tarea inicial. 2003 - D. Cohen UNT - Arq. de Computadoras 94 47
  • 48. Punto de Vista del Programador (1) programa (2) Pedido Interrupción (ej. De la impresora) De usuario Add (3,4,5) Guardar PC, inhabilitar INT, INTA y Saltar a Rutina Servicio de Int. Div Sub (6) Guardar Estado del CPU (10) Continúa (7) Servicio de (printer) La interrupción (8) Restaurar estado previo a INT. (9) Recuperar PC 2003 - D. Cohen UNT - Arq. de Computadoras 95 Detalles de Implementación • Pedido de Interrupción – Una o más líneas Externas de entrada al CPU. • Prioridad. – CPU lleva prioridad del programa en PSW (un valor). – Cada línea de interrupción tiene una prioridad asignada. • Guardar Estado. – El PC se guarda stack o en otro registro. – El resto del estado se guarda en el stack. – Más adelante en el curso veremos por qué en stack. • Rutina de Interrupción. – Se carga PC con la dirección de la Rutina de Interrupción. – Guardar viejo valor de PSW y poner nueva prioridad. – Se enmascaran automáticamente por Hw las Interrupciones. ¿Por qué? 2003 - D. Cohen UNT - Arq. de Computadoras 96 48
  • 49. Detalles de Implementación • Recuperar Estado. – La Rutina recupera de Stack parte por Sw. – Recuperar PSWant. ß – RTI o RTE: PCß PCant. • En General: Sistema Multitarea. – ¿Puede un usuario modificar las prioridades? – ¿Acceder a recursos compartidos? – El Sistema Operativo (SO) se encarga servir Interrupciones. – PSW informa si ejecuta en modo SO o modo Usuario. – Instrucciones “privilegiadas” solo corren en modo SO. • Característica de las Interrupciones: Asincrónicas. – Deben ser transparentes al Programa. 2003 - D. Cohen UNT - Arq. de Computadoras 97 Múltiples Fuentes de Interrupción Suena el Teléfono, el timbre y llaman a almorzar... Problemas 1. Conexión. • ¿Cómo se conectan al CPU? 2. Identificación. • ¿Cómo se identifica quién pide Interrupción? 3. Simultáneas • ¿Qué pasa si se pide más de una a la vez? 4. Anidamiento • Mientras se sirve una Interrupción aparece otra. 2003 - D. Cohen UNT - Arq. de Computadoras 98 49
  • 50. 1.1 Conexión. Alternativas: 1. Múltiples Líneas de Pedido. INT0 CPU INT1 INTn 2003 - D. Cohen UNT - Arq. de Computadoras 99 1.2 Conexión. Alternativas: 2. Una línea con conexión Open Collector. Vcc RL Fuente n ... CPU Fuente 1 INTi 2003 - D. Cohen UNT - Arq. de Computadoras 100 50
  • 51. 1.3 Conexión. Alternativas: 3. Mixto (cuando hay más fuentes que líneas). Vcc Vcc RL Fuente 1,m RL Fuente n,m ... ... Fuente 1,1 INT1 Fuente n,1 CPU INTn 2003 - D. Cohen UNT - Arq. de Computadoras 101 2.1 Identificación por Sw. Analogía: Camarero de Hotel Polling ¿Disp 1? Rut 1 ¿Disp 2? Rut 2 ¿Disp n? ERROR Rut n 2003 - D. Cohen UNT - Arq. de Computadoras 102 51
  • 52. 2.2 Identificación por Hw 1. Múltiples Líneas. a) Una Dirección de Servicio para cada línea. b) Registro de Causa. Hw escribe automáticamente qué linea fue en Reg. Causa. Para identificar quién fue dentro de la línea: • Hw Externo – más adelante. • Polling – Sw. 2. Interrupciones Vectorizadas. En respuesta a INTA, el dispositivo se identifica. El CPU lee identificación (Vector de Interrupción, VI). VI apunta a un lugar de una tabla de direcciones de Rutinas de Servicio. Hw Salta automáticamente a la rutina de servicio adecuada. 2003 - D. Cohen UNT - Arq. de Computadoras 103 ¿Ventajas y Desventajas? • Sw. – Ventajas: – Desventajas: • Hw – Ventajas: – Desventajas: 2003 - D. Cohen UNT - Arq. de Computadoras 104 52
  • 53. 3. Simultáneas - Prioridades 1. SW - Polling. • El que se encuesta primero es prioritario. • Permite esquemas elaborados más equitativos. 2. Hw. • Cada línea tiene su prioridad. • Hw externo para resolver prioridades. a) PIC – Priority Interrupt Controller b) Conexión Daisy Chain. 2003 - D. Cohen UNT - Arq. de Computadoras 105 PIC – Priority Interrupt Controller INT INTA CS WR PIC MASCARA Irq1 Irq2 INTA 2 Irq n INTA n INTA 1 Quien resulte elegido se identifica en el DATA BUS. Modular: Se pueden armar árboles. 2003 - D. Cohen UNT - Arq. de Computadoras 106 53
  • 54. Conexión Daisy Chain Device 1 Device N “1” Máxima Device 2 Mínima Prioridad Prioridad INTA CPU BUS Request • Funcionamiento: – Si Ei=0 à Req = 0, Eo=0 – Si Ei=1 y no solicita Interrupción à Eo=1 Ei Eo – Si Ei=1 y pide interrupción à Req=1, Eo=0 Device i • Ventaja: simple y modular. • Desventajas: – Retardo: admite un número máximo de Inta ID Req dispositivos. – Si se rompe uno à falla para los siguientes. 2003 - D. Cohen UNT - Arq. de Computadoras 107 4. Anidamiento Hablo por teléfono y suena el timbre... 1. Define el Diseñador del SO. • Enmascaradas automáticamente por Hw. 2. Si Admite, entonces i. Guardar estado en stack y realizar actividades prioritarias. ii. Habilitar Interrupciones. 3. Por Sw es difícil à código reentrante. i. Debe ser código Puro. ii. Areas de datos independientes por cada entrada. 2003 - D. Cohen UNT - Arq. de Computadoras 108 54
  • 55. Excepciones e Interrupciones • Interrupciones – Causada por eventos externos – Asíncronas con la ejecución del programa. – Reclaman un servicio (por el Sistema Operativo) – Se ejecutan entre instrucciones del programa. – Simple: suspenda y continúe el programa del usuario. • Traps o Excepciones – Causadas por eventos internos. • Condiciones excepcionales (overflow) • errores (parity) • Fallos (páginas de caché) – Sincrónicas con la ejecución del programa. – Se debe abortar la instrucción. – El problema debe ser remediado por el handler (rutina del SO). 2003 - D. Cohen UNT - Arq. de Computadoras 109 Detalles del PSW en el MIPS 15 8 5 4 3 2 1 0 Status k e k e k e Mask old prev current • Acepta 5 niveles de interrupción por Hw y 3 por software. • Mask = 1 bit para cada nivel de interrupción. – 1 => habilita interrupciones del nivel correspondiente. – 0 => desabilita interrupciones. • k = kernel/user (núcleo/usuario) – 0 => núcleo. – 1 => usuario. • e = habilitación de interrupciones (de todas) – 0 => desabilitadas. – 1 => habilitadas. • Cuando ocurre la interrupción, 6 LSB se corren 2 bits a la izquierda, poniendo los 2 LSB a 0 – Corre en modo kernel con las interrupciones inhabilitadas. • Volveremos sobre esto cuando veamos INTERRUPCIONES. 2003 - D. Cohen UNT - Arq. de Computadoras 110 55
  • 56. Detalles del registro de Causa en MIPS 15 10 5 2 Pending Code • Interrupciones Pendientes 5 niveles por Hw: se pone un bit en 1 si se solicita interrupción pero no se la responde todavía. – Sirve para manejar casos en los cuales hay más de un pedido de interrupción al mismo tiempo o cuando las interrupciones están inabilitadas. • Código de Excepción codifica la causa de la interrupción. – 0 (INT) => external interrupt – 4 (ADDRL) => address error exception (load or instr fetch) – 5 (ADDRS) => address error exception (store) – 6 (IBUS) => bus error on instruction fetch – 7 (DBUS) => bus error on data fetch – 8 (Syscall) => Syscall exception – 9 (BKPT) => Breakpoint exception – 10 (RI) => Reserved Instruction exception – 12 (OVF) => Arithmetic overflow exception 2003 - D. Cohen UNT - Arq. de Computadoras 111 En perspectiva: Modos Supervisor / Usuario • Mediante los dos modos de ejecución (user/system) es posible que el computador se auto-administre adecuadamente. – El Sistema Operativo es un programa especial que corre en modo privilegiado y tiene acceso a todos los recursos del computador. – presenta “recursos virtuales” para cada usuario que son más convenientes que los recursos físicos. • archivos en lugar de sectores de disco. • Memoria Virtual en lugar de Memoria Física. – protege a cada programa de usuario de los otros. • Las Excepciones le permiten al Sistema Operativo tomar acción en respuesta a eventos que ocurren cuando el programa de usuario está corriendo. – El SO comienza a partir del manejador (Handler). – El programa usuario solicita servicios mediante pedidos de interrupción por Sw (ej. I/O). 2003 - D. Cohen UNT - Arq. de Computadoras 112 56
  • 57. Modo Trazador • Algunos CPU tienen un flag en PSW, T. • Si T=1: – Excepción al finalizar cada Instrucción. – Pasa a modo Supervisor y automáticamente T=0. – Servicio de la Excepción (debugging). – Al retornar, T=1 • ¿Por qué T=0 al responder la Interrupción? 2003 - D. Cohen UNT - Arq. de Computadoras 113 Función de RESET • Asegura que la máquina comience desde un estado cierto. – El PC se fija en un valor determinado. • Un valor fijo por Hw. • El contenido de memoria (ROM) cuya dirección es fija por Hw. – PC apunta a la Rutina de Inicialización o RESET (ROM) – Rutina de Inicialización realiza booteo del SO. – Las interrupciones quedan enmascaradas. – Modo Supervisor. – Estado inicial debe asegurar el Inicio (T=0, por ej.). – Warm Reset Vs Cold Reset • WARM, por SW, llama a rut Inicialización. 2003 - D. Cohen UNT - Arq. de Computadoras 114 57
  • 58. Ejemplo: Excepciones en M68000 • (1) Cambio PSW – Se realiza una copia temporaria del viejo PSW. – Bit S=1 y T=0 en PSW (modo supervisor, sin trazador) • (2) Obtención de la dirección del Vector de Excepción (VE). – Se lee ID de 8 bits y se le agrega 00 a la derecha. – El contenido de la dirección dada por ID.00 es VE. • Hay una tabla de 256 entradas con los VE – En VE comienza el manejador de la excepción (handler) • (3) Los viejos PC y PSW se guardan en el stack del sistema. • (4) Se carga PC con VE. • El retorno del handler se hace con RTE. – Recupera PSW y PC. 2003 - D. Cohen UNT - Arq. de Computadoras 115 Manejo de Prioridades • Línea única (INT) para pedir Interrupción. • 3 líneas para informar prioridad. • Se permiten 7 niveles de prioridades. – La prioridad 000 no provocaría nunca una interrupción. • PSW contiene 3 bits que indican prioridad actual. • Se ignoran las excepciones cuya prioridad sea menor o igual que la actual. 2003 - D. Cohen UNT - Arq. de Computadoras 116 58