PDF de programación - Clase 2 - Arquitectura de Computadoras II

Imágen de pdf Clase 2 - Arquitectura de Computadoras II

Clase 2 - Arquitectura de Computadoras IIgráfica de visualizaciones

Publicado el 8 de Mayo del 2018
538 visualizaciones desde el 8 de Mayo del 2018
315,4 KB
49 paginas
Creado hace 13a (05/08/2010)
Arquitectura de Computadores II

Clase #2

Facultad de Ingeniería
Universidad de la República

Instituto de Computación
Curso 2010

Veremos

 Ciclo de Instrucción

 “Normal”
 Con interrupciones

 La Unidad de Control

 El bus del sistema

 Procesamiento de la Entrada/Salida

Ciclo de Instrucción

 Dos pasos:

 Fetch
 Execute

Ciclo Fetch

 El Program Counter (PC) tiene la dirección de la próxima

instrucción

 El procesador trae desde memoria la instrucción apuntada por el

PC

 Se carga la instrucción en el Instruction Register (IR)

 Se incrementa el PC, a menos que se indique otra cosa

Ciclo Execute

 Procesador - memoria

 Transferencia entre CPU y memoria

 Procesador - E/S

 Transferencia entre CPU y módulo de E/S

 Procesamiento de datos

 Operación lógica o aritmética sobre los datos

 Control

 Alteración de la secuencia de operaciones

• Ej. jump

 Combinación de las anteriores

• Ej. Add [100], r1

Ejemplo de ejecución de un
programa

4 bits 12 bits
Opcode Dirección

1 bit 15 bits
S

Magnitud

0001 – Cargar AC desde memoria
0010 – Almacenar AC en memoria
0101 – Sumar a AC un dato de memoria

Ciclo de Instrucciones
Diagrama de Estados

Interrupciones

 Mecanismo que permite interrumpir la secuencia normal
de procesamiento de la CPU ante condiciones particulares

 Pueden ser de alguna de las siguientes clases:

 Programa

• Ej. overflow, división por cero, protección de memoria

 Timer

• Generado por un temporizador interno del procesador
• Usado en pre-emptive multi-tasking

 E/S

• Provocada por el controlador de E/S

 Fallo de Hardware

• Ej. Error de paridad de memoria

Ciclo de Interrupciones

 Se agrega al ciclo de instrucción
 Procesador chequea por la interrupción
 Indicado por una señal de interrupción

 Si no hay interrupción, fetch próxima instrucción
 Si hay una interrupción pendiente:

 Suspender ejecución del programa corriente
 Salvar contexto
 Hacer que PC apunte a la dirección de inicio del manejador de

la interrupción

 Procesar interrupción
 Restaurar contexto y continuar el programa interrumpido

Transferencia de Control vía
Interrupciones

Control de Flujo del Programa

Tiempos de ejecución sin y
con interrupciones

E/S de corta duración

E/S de larga duración

Ciclo de Instrucción con
Interrupciones

Ciclo de Instrucción con
Interrupciones
Diagrama de Estados

Ciclo de
instrucción
“normal”

Ciclo de
instrucción con
interrupciones

Múltiples Interrupciones

 Deshabilitar interrupciones

 El procesador ignorará las interrupciones mientras se procesa

otra interrupción

 Las interrupciones quedan pendientes y son atendidas una

vez que la primera interrupción ha sido procesada

 Las interrupciones son manejadas en secuencia

 Definir prioridades

 Los manejadores de interrupciones de baja prioridad pueden

ser interrumpidos por interrupciones de mayor prioridad
 Una vez que se ha procesado la interrupción de mayor

prioridad, se retorna al manejador de la interrupción previa

Múltiples Interrupciones -
Secuencial

Múltiples Interrupciones -
Anidadas (1/2)

Múltiples Interrupciones -
Anidadas (2/2)

El diseño del procesador

 La CPU ejecuta o supervisa la ejecución de las instrucciones que

componen un programa, y por lo tanto tiene un impacto
fundamental en la performance del sistema

 Está constituido por unidades funcionales que incluyen:

 El datapath (camino de datos)

• Set de registros

• ALU

 La Unidad de Control

Algunas decisiones
importantes

 Cantidad, ancho y reglas de uso del set de

registros

 Direccionamiento
 Tecnología del dispositivo
 Set de Instrucciones
 Diseño de la Unidad de Control: cableada o

microprogramada?

La Unidad de Control

 La instrucción contenida en el Instruction Register (IR) determina

la acción de la Unidad de Control

 La ejecución incluye los siguientes pasos:

• Instruction Fetch (IF)
• Instruction Decode (ID)
• Operand Fetch (OF)
• Operation Execution (OE)
• Operand Store(OS)

 La mayoría de las instrucciones son registro-memoria o registro-

registro

 La Unidad de Control debe controlar la secuencia de pasos
discretos que son necesarios para decodificar y ejecutar las
instrucciones; se puede ver como un problema que se puede
resolver en hardware o en software.

Control cableado

 Se implementa como un circuito secuencial, usando compuertas y

componentes (NAND, NOR flip-flops, contadores, etc.).

 Los sistemas cableados son rápidos pero pueden ser inflexibles

 Las funciones de control son fijas; si se necesita agregar instrucciones

extra, la circuitería debe rediseñarse

 Algunos procesadores RISC usan control cableado para aumentar la

velocidad

 Normalmente se usa una combinación de control cableado para

instrucciones sencillas y microcódigo para instrucciones complejas y
poco frecuentes

Control microprogramado

 Solución en software del control de la máquina

 Un control microprogramado se puede ver como un computador
“interno” que implementa las funciones requeridas por el set de
instrucciones del computador “externo”

 Una secuencia de microinstrucciones ejecuta una

macroinstrucción

 El código elemental necesario para implementar las

macroinstrucciones se almacena en memoria de microprograma
 Usualmente denominado firmware

Módulos del
sistema

 Todas las unidades deben

interconectarse

 El tipo de conexión varía según

el módulo
 Memoria
 Entrada/Salida
 CPU

Buses (1/2)

 Camino de comunicación

entre dispositivos

 Normalmente broadcast
 El bus del sistema
interconecta CPU,
memoria y módulos de
entrada/salida

 Líneas en paralelo,

agrupadas por función
 Ej. 32 bits de bus de

datos y 32 bits de
direcciones

Buses (2/2)

 Bus de datos

 Transporta datos

• A este nivel no hay diferencia entre “datos” e “instrucciones” (Von

Neuman)

 Performance asociada al ancho del bus

• 8, 16, 32, 64 bits

 Bus de direcciones

 Identificar fuente o destino de los datos en memoria
 Ancho del bus determina capacidad de memoria del sistema

• Ej. 8080 tiene un bus de direcciones de 16 bits, resultando 64k de

memoria direccionable

 Bus de Control

 Información de control y temporización

• Lectura/Escritura
• Pedidos de interrupción
• Señales de reloj

Esquema de interconexión del
bus

 Muchos dispositivos en el bus…

 Retardos de propagación

• Caminos de datos largos complican la coordinación y afectan

negativamente la performance
 Problemas eléctricos (“fan out”)

 En general se utilizan múltiples buses para contrarrestar

estos problemas

Buses:
Tradicional (con cache)

Buses:
Bus de Alta Performance

Arbitraje del Bus

 Bus controlado por más de un módulo

 Ej. CPU y controlador de DMA

 Solo un módulo puede controlar el bus a la vez!
 Se debe arbitrar

 Arbitraje Centralizado

 Dispositivo hardware único controlando acceso al bus

• Árbitro o Controlador del Bus

 Puede ser parte de la CPU o separado

 Arbitraje Distribuido

 Cada módulo puede reclamar el control del bus
 Lógica de control en todos los módulos

Temporización:
Caso sincrónico

 Coordinación de eventos en el bus

 Sincrónica

 Eventos determinados por las señales de reloj
 El Bus de Control incluye la línea de reloj

• Todos los dispositivos usan el reloj
• Sincronización en flanco creciente (usualmente)

 Asincrónica

 No existe línea de reloj
 Se utilizan señales de control para sincronización
 Más flexible pero también más complicado

Bus PCI (1/3)

 Peripheral Component Interconnection

 Dominio público, publicado por Intel

• PCI Special Interest Group

 32 o 64 bit
 33/66 Mhz -> hasta 528 MBytes/seg
 Temporización sincrónica
 Arbitraje centralizado
 PnP: Plug and Play

 Permite insertar placas en cualquier slot sin cambiar “jumpers” o

“switches”

 Mapeo de direcciones, IRQs, COM ports, etc., son asignados

dinámicamente cuando arranca el sistema

 Información básica (a la BIOS o SO) para que funcione PnP:

• Tipo de placa y dispositivo
• Requerimientos de memoria
• Requerimientos de Interrupciones

Bus PCI (2/3)

 PnP es posible gracias a que cada

dispositivo PCI mantiene un espacio
de configuración de 256 bytes
 Los primeros 64 bytes (en la figura)
están definidos en la especificación
PCI y contienen información
estándar

 Los restantes 192 bytes se pueden

usar para almacenar información
específica del dispositivo

Bus PCI (3/3): arbitraje

E/S:
la interfaz con el procesador

 Direccionamiento

 E/S aislada
 E/S mapeada en Memoria

 Control de E/S

 Polling
 Interrupciones
 DMA
 Controladores de E/S
 Procesadores de E/S

Tasas de transferencia de E/S

Módulo de E/S (1/2)

 Funciones

 Control &

Temporización

 Comunicación con la

CPU

 Comunicación con

dispositivos

 Almacenamiento

temporal (buffering)
de datos

 Detección de Errores

Módulo de E/S (2/2)

 Mostrar propiedades del dispositivo a la CPU?
 Soporte de múltiples dispositivos?
 Control de funcionalidades del dispositivo, o

dejar esa tarea a la CPU?

Direccionamiento de la E/S

 E/S aislada

 Espacios de direcciones separados
 Se necesitan líneas de selección entre E/S y memoria
 Instrucciones específicas para E/S

 E/S mapeada en memoria

 Dispositivos y memoria comparten espacio de direcciones
 Accesos a E/S se ven como simples accesos a memoria

• El HW debe resolver la diferencia

 No hay instrucciones especiales para E/S
 A cada dispositivo se le asigna un identificador único
 Los comandos emitidos por la CPU contienen este

identificador (dirección)

E/S Programada

 La CPU controla directamente la E/S

 Monitorizar estado
 Comandos de lectura/escritura
 Transferencia de datos

 La CPU debe esperar que el módulo de E/S complete las

operaciones indicadas
 Pérdida de tiempo de CPU!

 E/S Programada - detalle

 CPU requiere una operació
  • Links de descarga
http://lwp-l.com/pdf10970

Comentarios de: Clase 2 - Arquitectura de Computadoras II (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad