You are on page 1of 25

ARQUITECTURA DE COMPUTADORAS

Módulo 10 – Buses

Profesor: Fabio Bruschetti


Ver 2018-01
Señales

◼ Es la representación de la variación de una magnitud


física a lo largo del tiempo
◼ Éstas pueden ser:
◼ Tensión eléctrica medida en Volts [V]
◼ Corriente eléctrica medida en Amperes [A]
◼ Potencia eléctrica medida en Watts [W]
◼ entre otras…

2
Señales

◼ Continuas

◼ Alternas
◼ Periódicas: El juego o conjunto de valores se repite en intervalos de
tiempo constante, llamados Períodos; es decir, en un período
tenemos todos los valores que toma la señal y estos se repetirán un
período detrás de otro

Senoidal

3
Señales

◼ Analógicas
◼ Pueden tomar infinitos valores

◼ Digitales
◼ Pueden tomar un conjunto de valores discretos o limitados

000 100 101 100 011 100 110 111 101 011 011 100 100

4
El clock

◼ El procesador realiza todas sus operaciones en


sincronismo con una señal llamada de reloj o clock
◼ Esta señal es digital rectangular
◼ Frecuencia f: cantidad de ciclos
completos por segundo. Medida
en Hertz [Hz]
◼ Velocidad del procesador:
Frecuencia de su clock medida
en Gigahertz [GHz] = 1000
millones de Hertz

5
Buses

◼ Medio de transporte de señales digitales formado por cables de


cobre o pistas de cobre en una plaqueta (llamada circuito
impreso)
◼ Se lo utiliza para conectar dos o más dispositivos como ser
◼ Una placa de vídeo con la placa madre a través de un slot o ranura
en ella
◼ Una impresora a un computador
◼ A través de un cable flexible
◼ Interconexión de bus
◼ Se conectan dos o más dispositivos
◼ Todos los dispositivos reciben la misma información del bus
◼ Un dispositivo a la vez puede transmitir información con éxito
◼ Está compuesto por múltiples líneas de comunicación
◼ Está regido por normas o reglas de conexión

6
Ciclo de un bus

◼ Llamaremos ciclo de bus a la operación básica del bus en que se realiza una
transferencia elemental completa de información entre dos dispositivos
conectados al bus
◼ Bus de ciclo completo: La transferencia de información se hace sin interrupciones
◼ Bus de ciclo partido: El tiempo del bus se divide en pequeños períodos (time slots) en
donde se manda parte de los datos en cada uno de ellos

8 MSB LSB
LSB 10010111 LSB 10010111
10010111xx xx xx xx
8
LE = 1 10010111 LSB xxxxxxxx
OE = 1
Latch
8 MSB LSB
MSB 01001110 MSB 01001110
0100111010010111
8
LE = 0 10010111 LSB 10010111
OE = 0
Latch 16

7
Paralelismo, sincronización

◼ Paralelismo y Ancho
◼ Se trasmiten más de un dato al mismo tiempo, diremos que
es un bus paralelo
◼ Ancho = cantidad de líneas o bits que se transmitan en
paralelo (4, 8, 16, etc.)
◼ Sincronización
◼ Bus sincrónico: Hay una única señal de reloj que regula la
transmisión de información
◼ Bus asincrónico: Los dispositivos no se guían por una señal
de reloj

8
Velocidad

◼ Velocidad
◼ Bits por segundo (Bps)
◼ Tiempo que tarda un bit en transmitirse
◼ Directamente ligada a la velocidad del reloj del bus
◼ Baudio
◼ Tiempo que tarda en transmitirse una unidad de información

Velocidad del medio = 9600 bps (línea de cobre)


Tiempo en que se trasmite 1 bit = 1/9600 = 104,1 µs
Si la unidad de información es 1 byte → 8 bits = 104,1 x 8 = 833,3 µs

9
Buses multiplexados

◼ Por un mismo conjunto de cables


se transmiten datos distintos
compartiendo el mismo medio
◼ En un momento el bus transporta
el conjunto de datos “A” y en otro
conjunto “B” de distinta especie
◼ 8086/8088 = el bus de datos y
direcciones comparten los mismos
pines o cables
◼ AD0 a AD15 son Address/Datos
◼ ALE (Address Latch Enable) se
identifica cuándo están las Direcciones
o los Datos
10
Capacidad, aplicación, función, soporte

◼ Capacidad de conexión
◼ Máximo número de dispositivos que pueden conectarse al
bus sin dañar al controlador del bus
◼ Aplicación
◼ Según su uso: DMA, SATA, AGP, USB, etc.
◼ Función
◼ Para qué sirven. Bus de Control (Control Bus), Bus de
Direcciones (Address Bus) y Bus de Datos (Data Bus).
◼ Soporte
◼ Materiales físicos utilizados para soportar y realizar las
conexiones físicas: tipo de circuito impreso, cables utilizados,
material para el aislamiento, etc.

11
Velocidad

◼ Temporización
◼ Cronograma temporal de un ciclo completo del bus para todas
sus operaciones (lectura, escritura, etc.)
◼ Niveles de especificación
◼ Nivel mecánico: tipo y cantidad de cables, tipo de conectores,
etc.
◼ Nivel eléctrico: circuito eléctrico equivalente, niveles de
tensiones utilizadas, etc.
◼ Nivel lógico: define la equivalencia lógica de los valores
eléctricos como ser 0 Volt = “0” lógico y +5 Volts = “1” lógico
(lógica positiva)

12
Jerarquía de buses

◼ En un computador los periféricos se deben conectar con los buses o


“Sistema de Interconexión” (bus de Datos, de Control y de
Direcciones)
◼ Diferentes dispositivos utilizan distintos esquemas de conexión de
bus y todos tienen que poder interconectarse entre sí gracias a un
sistema jerárquico de ordenamiento de conexión

13
Buses del computador

◼ Bus de Datos (Data bus)


◼ Mueve los datos entre la UCP, Memoria Principal y
Entrada/Salida
◼ Posee un ancho de 8 ó 16 bits según sea 8088 ó 8086
respectivamente (Longitud de palabra)

14
Buses del computador

◼ Bus de Direcciones (Address Bus)


◼ Designa el origen y el destino de los datos presentes en el bus
de datos
◼ Su ancho determina la máxima capacidad de direccionamiento
◼ Ambos procesadores poseen 20 bits para el bus de direcciones
es decir 220 direcciones = 1.048.576 = 1 Mega direcciones
◼ La MP de esos procesadores tenían una longitud de palabra de
1 byte, su máxima capacidad de memoria es de 1 Megabyte.
◼ Procesadores de 32 bits direccionarán 4.294.967.296
posiciones distinta = 4 Gigabytes

15
Buses del computador

◼ Bus de Control (Control Bus)


◼ Utilizado para coordinar y controlar el acceso a los módulos y la
transferencia de información entre ellos
◼ Temporización y el control de validez de las operaciones
◼ Señales más importantes
◼ !RD (!Read) → = lectura de un dispositivo
◼ !WR (!Write) → = escritura en un dispositivo
◼ IO/!M (Input Output/Memory) → = acceso a Entrada/Salida o a Memoria
◼ INTR (Interrupt Request)  = solicitud de interrupción
◼ !INTA (Interrupt Acknowledge) → = aceptación de interrupción
◼ CLK (Clock) → = reloj del sistema
◼ RESET (Reset)  = reiniciar todos los módulos del sistema
◼ HOLD (Hold)  = solicitud de buses para transferencias DMA
◼ HLDA (Hold Acknowledge) → = concesión de buses para transferencias DMA

16
Bus ISA (Industry Standard Architecture)

◼ Creada por IBM en 1981 para el


procesador IBM AT
◼ 20 bits de direccionamiento multiplexados
◼ Tensiones de +5V y +– 12V
◼ 4 canales de DMA (RAM, Diskette, Disco
Rígido y otras)
◼ Soportaba hasta 6 dispositivos de 8 bits
◼ Operaba a 4, 6 u 8 MHz y en “clones”
hasta 22 Mhz
◼ Fue el predecesor del bus ATA (Advanced
Technology Attachment)
◼ Actualmente se utiliza en equipos
industriales.

17
Bus EISA (Extended ISA)

◼ Creada por el grupo formado por AST,


Compaq, Epson, Hewlett-Packard, NEC
Corporation, Olivetti, Tandy, Wyse y
Zenith Data Systems en 1988 para PC
compatibles
◼ Se usó hasta mediados de 1990
◼ Es de 32 bits con la CPU y Memoria y
soporta más de un procesador conectado
◼ Soporta tener otros buses ISA como
esclavos
◼ Era compatible con placas ISA
◼ Transmisión sincrónica de alta velocidad
(33 Mb/seg)

18
Bus PCI (Peripheral Component
Interconnect)
◼ Creado por Intel en 1990 para familia x86
◼ Espacios de direccionamiento
◼ 32 bits para Memoria Principal (4 GBytes) –
opcional de 64 bits
◼ 64 bits para Periféricos (8 GBytes)
◼ 256 bytes para configuración de 32 dispositivos
x 1 byte: 5 bits para id + 3 bits para funciones
◼ PCI-X (PCI Express): Extiende a 4096
bytes para configuración x 2 bytes
◼ Cache de datos con ráfagas
◼ Tasa de transferencia máxima de 133
MB/ y 266 MB/s
◼ Diferentes implementaciones de slots y
ranuras

19
Bus SATA (Serial Advanced Technology
Attachment)
◼ Conecta Discos Rígidos, Ópticos o de Estado Sólido
◼ Interfaz de bajo costo y excelente performance a
través de 4 hilos
◼ Su diseño soporta el intercambio de discos en
caliente (hot swapping), sin cortarles la energía
◼ Soportaba agregar componentes sin desconectar la
energía (hot plugging)
◼ Revisiones
◼ SATA 1.0 (2003): 1,5 GBits/segundo, 150 MB/segundo
◼ SATA 2.0 (2004): 3 GBits/segundo, 300 MB/segundo
◼ SATA 3.0 (2009): 6 GBits/segundo, 600 MB/segundo
◼ 3.1 (2011)
◼ 3.2 (2013): 16 GBits/segundo
◼ 3.3 (2016)

◼ Cada dispositivo se conecta directamente a un


controlador SATA no hay “maestros y esclavos”
20
Bus USB (Universal Serial Bus)

◼ Creado por IBM, Intel, Northern Telecom, Compaq,


Microsoft, DEC y NEC en 1996
◼ Conecta todo tipo de dispositivos electrónicos
◼ No hace falta detener el computador para conectar o
desconectar un dispositivo (plug-and-play)
◼ Dispositivos no usados pasan a “bajo consumo”
◼ Trafico full-duplex, es decir, puede transmitir y recibir
simultáneamente
◼ Tipos:
◼ 1.0: Baja velocidad - 1,5 Mbps
◼ 1.1: Velocidad completa - 12 Mbps
◼ 2.0: Alta velocidad - 488 Mbps
◼ 3.0: Súper Alta velocidad - 4,8 Gbps
◼ USB 3.1 con conectores Tipo-C reversibles
◼ USB 3.2: 20 Gbps. Conector tipo C

21
Acceso Directo a Memoria (ADM o DMA)

◼ Permite a los periféricos realizar transferencias sobre


la memoria sin la intervención de la CPU
◼ En el momento en que el DMA realiza las
transferencias, la CPU se desconecta de los buses y
cede el control → pines pasan a “3er estado”
◼ Procedimiento
◼ El periférico deberá “pedir los buses” a la CPU (pin HOLD)
◼ La CPU concede la operación (pin HLDA) una vez terminado
el ciclo de bus en curso
◼ Recordemos que el ciclo de bus es la operación por la cual se
realiza una transferencia completa de datos entre
dispositivos.
◼ La CPU deja de ser el Master de los buses
22
Acceso Directo a Memoria (ADM o DMA)

◼ Objetivo
◼ Transferir bloques considerables de datos en modo de ráfaga
◼ Entre la Memoria Principal y los dispositivos
◼ De Memoria-a-Memoria
◼ Para poder implementar la técnica de DMA la
configuración de los bus debe ser dedicada (no bus
único) que se verá más adelante

23
DMAC Intel 8237A (DMA Controller)

◼ La gestión de los buses para las


transferencias por DMA será realizada
por un controlador específico (DMAC –
DMA Controller)
◼ El DMAC Intel 8237A posee:
◼ 4 canales DMA programables (DMA0 a
DMA3)
◼ En 3 modos diferentes
◼ Cada modo en 3 tipos de transferencias
◼ Permite prioridades fijas y rotativas
◼ Es expandible a “n” canales DMA
conectando los diversos DMAC’s en
cascada.
24
DMAC Intel 8237A (DMA Controller)

◼ Provee el direccionamiento para las transferencias


◼ Modos de transferencias:
◼ Simple: se realiza una única transferencia mientras se detecta
que la CPU no usa los buses
◼ En bloques: se realiza la transferencia de un bloque de datos
gestionada a través de un contador interno en el DMAC
◼ A demanda: Mientras el periférico siga entregando datos, el
DMAC seguirá transmitiéndolos a Memoria Principal.
◼ Priorización de canales
◼ Fija: El canal 0 es el más prioritario y el 3 el menos prioritario
◼ Rotativa: El canal atendido pasa a tener la menor prioridad

25

You might also like