04-Bus

February 4, 2019 | Author: José Manuel Bruno Sarmiento | Category: Computer Memory, Central Processing Unit, Peripheral, Office Equipment, Media Technology
Share Embed Donate


Short Description

Download 04-Bus...

Description

Componentes constituyen el CPU • La UDC y la ALU constituyen Necesitan n entrar entrar al sistema sistema datos datos e instru instruccio cciones nes • Necesita y salir salir los resultad resultados os  – Entrada/ Entrada/Sali Salida da almacenamiento temporal temporal de código • Se necesita almacenamiento y resultados  – Memor Memoria ia princ principa ipall

Buses del sistema Organización Organización y arquitectura arquitectura de computadoras Capítul Capítulo o3 Buses del sistema

    

      



    

Componentes de la Computadora: visión deMemoria alto nivel 

   

       

 !

    

  

      



Interrupciones

   "##" "##" "##"          

Mecanis ismo mo por por el cual cual otro otros s módu módulo los s (ej E/S) E/S) • Mecan pueden pueden interrumpir interrumpir la secuencia secuencia normal normal de de procesamiento

$"% $%"##" $%##"" $%& $%##""! $%&!

      



    

      

'



Ciclo de interrupción (al finalizar el ciclo de instrucción) instrucción)

Interrupciones

• El procesador checa si hay interrupciones • Si no hay interrupción, extrae la siguiente instrucción • Si hay una interrupción pendiente:  – Suspende la ejecución del programa actual  – Guarda en el stack el contexto  – Establece PC a la dirección de la ISR  – Ejecuta la ISR   – Restaura el contexto  – Continua con el programa interrumpido

• Programa  – Ejemplo: overflow, división entre cero • Timer  – Generado por el timer interno del procesador  – Usado en la expropiación multi-tarea • E/S  – De un controlador de E/S • Falla del Hardware  – Error de paridad en la memoria   

 

(

  

Diagrama de estados del ciclo de instrucción (con interrupción) #"  "##"

- "

+# ##" "##"

###" #" "##"

+# ##" "

"##"# %""##"

  

#" #"

"#  

 

- 

+# ##" "

&, #"  "#"

)

Multiples interrupciones

##", " "

#" "

 

"#"

 . "#"

*

• Deshabilitar las interrupciones   – El procesador ignorará otras interrupciones mientras procesa una interrupción  – Las interrupciones permanecen pendientes y se checan una vez que se procesó la primera interrupción  – Las interrupciones se manejan en secuencia como van ocurriendo

  

 

/



Procesamiento de una secuencia de interrupciones %

Multiples interrupciones

"1 "#"2

• Define prioridades  – Las interrupciones de baja prioridad pueden interrumpirse por interrupciones de mayor prioridad  – Cuando se termina de procesar una interrupción de más alta prioridad se regresa a la interrupción previa

"1 "#"3

  

 

0

  

Procesamiento de interrupciones anidadas %

"1 "#"2

 

4

Conectando

"1 "#"3

  

 



• Todas las unidades deben conectarse • Diferentes tipos de conexión para diferentes tipos de unidades  – Memoria  – Entrada/Salida  – CPU

  

 





Conexión de memoria

Conexión a Entrada/Salida

• Recibe y envía datos • Recibe direcciones (de posiciones) • Recibe señales de control  – Lectura  – Escritura  – Timing

  

 

• Similar a la memoria desde el punto de vista de la computadora • Salida  – Recibe datos de la computadora  – Envía datos a los periféricos • Entrada  – Recibe datos del periférico  – Envía datos a la computadora



  

Conexión a Entrada/Salida

 

'

Conexión del CPU

• Recibe señales de control de la computadora • Envía señales de control a los periféricos   – Ejemplo, girar disco • Recibe direcciones de la computadora  – Ejemplo, número de puerto para identificar el periférico • Envía señales de interrupción (control)

  

 

• • • •

(

Lee instrucciones y datos Escribe datos (después de procesarlos) Envía señales de control a otras unidades Recibe (y actúa en las) interrupciones

  

 

)

'

Bus

Bus de datos

• Es un camino de comunicación que conecta dos o más dispositivos • Usualmente broadcast • Muchas veces agrupados  – Un número de canales en un bus  – Ejemplo. 32 bits del bus de datos son 32 canales separados de un bit • Las líneas de alimentación pueden no mostrarse

  

 

• Llevan datos  – En este nivel no hay diferencia entre “datos” e “instrucciones” • Amplitud es una clave determinante en el rendimiento  – 8, 16, 32, 64 bits

*

  

Bus de direcciones

 

/

Bus de control

• Identifican el origen y destino de los datos • Ejemplo. El CPU necesita leer una instrucción (datos) de una localidad dada en la memoria • La amplitud del bus determina la capacidad máxima de memoria del sistema  – Ejemplo. El 8080 tiene 16 bits del bus de direcciones dando 64 Kb. de espacio de direcciones

  

 

• Información de control y timing  – Señal de lectrura/escritura en memoria  – Solicitud de interrupción  – Señales de reloj

0

  

 

4

(

Esquema de interconexión del bus







!

¿Cómo es físicamente? físicamente? • ¿Cómo se ven los buses?  – Líneas paralelas en las tarjetas de circuitos  – Cables  – Conectores en motherboards

!

• ejemplo. PCI

56"#" 56"##" 56"

  

 





 – Conjunto de cables

  

 



Tradicional Tradicional (ISA) (con caché)

Problemas de un solo bus

#

• Muchos dispositivos en un bus nos llevan a:  – Retardos en la propagación

#

• Caminos largos de datos significan que la coordinación del bus puede afectar adversamente el rendimiento • El bus puede convertirse en un cuello de botella a medida que las peticiones de transferencia acumuladas se aproximan a la capacidad del bus

 "#

#78

"  5#!





• La mayoría de los sistemas utilizan varios buses para superar estos problemas



"# & 9""





9""   

 



  

 

'

)

Bus de alto rendimiento

Tipos de buses • Dedicados  – Separan lineas de datos y direcciones • Multiplexados  – Líneas compartidas  – Línea de control de dirección válida o dato válido  – Ventajas – menos líneas  – Desventajas

  "#

# 



# 0'

#78 "

 ;+#

-6

5.





# :2

"#  9""

9""   

 

(

• Control más complejo • Baja el rendimiento   

Método de arbitraje • • • •

 

)

Arbitraje Centralizado

Más de un módulo controlando el bus Ejemplo: CPU y el controlador DMA Sólo un módulo puede controlar un bus a la vez Puede ser centralizada o distribuída.

  

 

• Un dispositivo de hardware controlando el acceso al bus  – Controlador de bus o árbitro • Puede ser parte del CPU o estar separado

*

  

 

/

*

Arbitraje Distribuído

Temporización

• Cada módulo puede reclamar (solicitar) el bus • Control lógico en todos los módulos

  

 

• Coordinación de eventos en el bus. • Síncrona  – Los eventos son determinados por señales de reloj  – El bus incluye una línea de reloj  – Un solo 1-0 es un ciclo de reloj  – Todos los dispositivos pueden leer la línea de reloj  – Usualmente un ciclo por evento

0

  

Caso de Estudio (Bus PCI) • • • •

 

4

Líneas del bus PCI (requeridas (requeridas))

Peripheral Component Interconnection Desarrollado por Intel para el dominio público 32 or 64 bits 50 líneas

  

 

• • • • •



Lineas del sistema Direcciones y datos Control de Interface Arbitraje Líneas de error

  

 



/

Líneas del bus PCI (lineas (lineas del sistema) sistema)

Líneas del bus PCI (direcciones (direcciones y datos) datos)

• Reloj • Reset

  

• Direcciones y datos   – 32 líneas multiplexadas para direcciones y datos  – Líneas de interrupción y validación

 



  

Líneas del bus PCI (control (control de Interface) Interface)

 

'

Líneas del bus PCI (arbitraje (arbitraje))

• Indicar el comienzo y duración de una transferencia • Dispositivo preparado  – Dispositivo preparado para recibir datos • Selección de un circuito de un dispositivo • Selector de dispositivo  – El dispositivo indica que ha reconocido una dirección

  

 

• Solicitud al árbitro  – Línea punto a punto que indica al árbitro que el dispositivo correspondiente solicita utilizar el bus • Permiso del árbitro   – Línea punto a punto que indica al dispositivo que el árbitro le ha cedido el acceso al bus

(

  

 

)

0

Líneas del bus PCI (líneas (líneas de error) error)

Líneas del bus PCI (Opcionales (Opcionales)) • Líneas de interrupción  – No compartidas • Soporte a caché • Extensión de bus a 64-bits   – 32 líneas adicionales  – Tiempo multiplexado  – 2 líneas para habilitar dispositivos para usar transferencias de 64 bits • JTAG/Boundary Scan  – Procedimientos de prueba

• Error del sistema • Error de paridad en los datos por parte de un dispositivo

  

 

*

  

 

/

Lecturas y referencias • Stallings, capítulo 3 • www.pcguide.com/ref/mbsys/buses/ • www.pcguide.com/

  

 

0

4

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF