Publicado el 16 de Diciembre del 2018
609 visualizaciones desde el 16 de Diciembre del 2018
524,0 KB
25 paginas
(7)
Unidad 7
Buses básicos de la
arquitectura 80x86
SISTEMAS BASADOS EN MICROPROCESADORES
Grado en Ingeniería Informática
EPS - UAM
(7)
Índice
7. Buses básicos de la arquitectura 80x86.
La importancia de los buses en la arquitectura PC.
La importancia de los buses en la arquitectura PC.
7.1.
7.1.
7.2. Descripción de una selección de los principales buses
de la arquitectura 80x86 (ISA, EISA, PCI).
(7)
7.1. La importancia de los buses en la
arquitectura PC (I)
Los distintos componentes de un sistema basado en
microprocesador (CPU, Memoria, E/S) han de
interconectarse eficientemente.
Tradicionalmente, la interconexión se ha basado en
buses (direcciones, datos, control).
Ventaja ⇒ Facilidad de conectar múltiples dispositivos
(necesidad de un árbitro de acceso al bus).
Inconveniente ⇒ Capacidad limitada.
Ejemplo: Sistema de buses del PC/AT
Ejemplo: Sistema de buses del PC/AT
CPU 80286
Bus datos: 16 bits
Bus direcciones: 24 bits (Hasta 16 MB)
(7)
7.1. La importancia de los buses en la
arquitectura PC (II)
R
E
F
F
U
B
.
C
S
N
A
R
T
RELOJ
CPU
R
R
O
O
D
D
A
A
S
S
E
E
C
C
O
O
R
R
P
P
O
O
C
C
Velocidad de la CPU
CONECTORES
DE BUS LOCAL
CONECTORES
DE EXPANSIÓN ISA
DIR (24 bits)
LBUS
BUS
LOCAL
DATOS (16 bits)
CTRL
BUS
ISA
(Buffers,
Transc.)
BUS DEL SISTEMA
BUS DEL SISTEMA
BUS ISA
DIR (24 bits)
SBUS
DATOS (16 bits)
XBUS
BUS DE
PERIFÉRICOS
PERIFÉRICOS
b
b
8
8
(
(
)
)
s
s
t
t
i
i
S
S
O
O
T
T
A
A
D
D
CIRCUITOS
PERIFÉRICOS
PLACA BASE
Velocidad de unos 8 MHz
TRANSC.
MUX
MBUS
BUS
MEMORIA
SUBSISTEMA
MEMORIA
DINÁMICA
(7)
7.1. La importancia de los buses en la
arquitectura PC (III)
Bus Local (LBUS)
Buses de direcciones, datos y control de la CPU (misma
anchura y velocidad que en la CPU).
Al depender de la CPU, ha evolucionado con ella.
(7)
7.1. La importancia de los buses en la
arquitectura PC (IV)
Bus de Memoria (MBUS)
Conectado al LBUS a través de transceptores y
multiplexores (bus multiplexado para direccionar filas y
columnas de las memorias).
columnas de las memorias).
Soporta conexión de memoria DRAM.
(7)
7.1. La importancia de los buses en la
arquitectura PC (V)
Bus de Periféricos (XBUS)
Conecta los dispositivos básicos del PC (PICs, DMAs,
temporizadores, teclado...)
(7)
7.1. La importancia de los buses en la
arquitectura PC (VI)
Bus del Sistema (SBUS)
Se encuentran las ranuras de expansión (tarjeta gráfica,
tarjeta de sonido, tarjetas de comunicación, controladoras
de discos duros y disquetes, puertos serie y paralelo, etc.).
de discos duros y disquetes, puertos serie y paralelo, etc.).
Conocido como Bus ISA (16b de datos y 24b direcciones).
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (I)
Principales buses de la arquitectura 80x86:
Bus ISA (Industry Standard Architecture)
Aparece en 1980 con 8 bits de datos a 4,77 MHz
Utilizado en el IBM PC (1980) y en el PC/XT (1983).
Utilizado en el IBM PC (1980) y en el PC/XT (1983).
Extendido en 1984 (PC/AT) a 16 bits y 8,33 MHz.
Bus síncrono: a la misma velocidad que la CPU.
Bus EISA (Extended Industry Standard Architecture)
Aparece en 1988 con 32 bits de datos a 8,33 MHz.
Ampliación del bus ISA (compatible).
Usado con CPUs 383 y 486.
Bus síncrono: a un divisor de la velocidad de la CPU.
Bus síncrono: a un divisor de la velocidad de la CPU.
Bus PCI (Peripheral Component Interconnect)
Aparece en 1992 con 32 o 64 bits de datos a 33,33 MHz.
Incompatible con ISA y EISA.
Usado con CPUs Pentium y posteriores.
Bus asíncrono: a velocidad independiente de la CPU.
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (II)
Bus ISA
B1
B2
B3
B4
B5
B6
B7
B7
B8
B9
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
GND
I/O_CH_CK
SD7
RESET DRV
SD6
+5 V
SD5
IRQ2
SD4
-5 V
SD3
DRQ2
SD2
SD2
-12 V
-12 V
SD1
0WS
SD0
+12 V
I/O_CH_RDY
GND
AEN
SMEMW
SA19
SMEMR
SA18
IOW
SA17
IOR
SA16
DACK3
SA15
DRQ3
SA14
DACK1
SA13
DRQ1
SA12
REFRESH
SA11
CLK
SA10
SA10
IRQ7
IRQ7
SA9
IRQ6
SA8
IRQ5
SA7
IRQ4
SA6
IRQ3
SA5
DACK2
SA4
TC
SA3
BALE
SA2
+5 V
SA1
OSC
SA0
GND
Conector original del PC/XT
A1
A2
A3
A4
A5
A6
A7
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
A21
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
MEM_CS16
I/O_CS16
I/O_CS16
IRQ10
IRQ11
IRQ12
IRQ15
IRQ14
DACK0
DRQ0
DACK5
DRQ5
DACK6
DRQ6
DACK7
DRQ7
+5 V
+5 V
MASTER
GND
D1
D2
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
D15
D16
D16
D17
D18
C1
C2
C2
C3
C4
C5
C6
C7
C8
C9
C10
C11
C12
C13
C14
C15
C16
C16
C17
C18
SBHE
LA23
LA23
LA22
LA21
LA20
LA19
LA18
LA17
MEMR
MEMW
SD8
SD9
SD10
SD11
SD12
SD13
SD13
SD14
SD15
Ampliación a 16 bits del PC/AT
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (III)
Bus ISA
Ampliación PC/AT
Conexión PC/XT
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (IV)
SA0…SA19 (E/S)
Bus ISA
Bus de direcciones de 20 bits para memoria y E/S.
Bus de direcciones de 20 bits para memoria y E/S.
LA17…LA23 (E/S)
Parte alta del bus de direcciones del PC/AT. Sólo
válidas cuando salida BALE = 1.
SD0…SD7 (E/S)
Bus de datos del PC/XT o parte baja del PC/AT (8 bits)
SD8…SD15 (E/S)
Parte alta del bus de datos del PC/AT (16 bits)
CLK (S)
Reloj del bus (8.33 MHz)
OSC (S)
Reloj de 14.31818 MHz (sincronización de periféricos)
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (V)
IOR, IOW (E/S)
Bus ISA
Órdenes de lectura y de escritura en espacio de E/S.
Órdenes de lectura y de escritura en espacio de E/S.
SMEMR, SMEMW (E/S)
Órdenes de lectura y de escritura en memoria si la
dirección está por debajo de 1 MB.
MEMR, MEMW (E/S)
Órdenes de lectura y de escritura en memoria para
cualquier dirección (PC/AT).
DRQ1,DRQ2,DRQ3 (E)
DRQ1,DRQ2,DRQ3 (E)
Señales de petición de DMA en el PC/XT (3 canales del
controlador de DMA 8237).
DRQ0, DRQ5, DRQ6, DRQ7 (E)
Señales adicionales de petición de DMA en el PC/AT
(4 canales del controlador de DMA 8237 adicional).
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (VI)
DACK1,DACK2,DACK3 (S)
Bus ISA
Reconocimiento de petición de canales DMA en PC/XT.
Reconocimiento de petición de canales DMA en PC/XT.
DACK0, DACK5, DACK6, DACK7 (S)
Reconocimiento de petición de canales adicionales DMA
en PC/AT.
AEN (S)
Validación de la dirección contenida en A0-A19.
SBHE (E/S)
Indica transferencia por el byte alto del Bus de Datos.
MASTER (E)
Permite que dispositivo externo tome control de los
buses tras recibir un DACK ⇒ permite DMA externo
(bus mastering, first-party DMA).
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (VII)
MEM_CS16
Bus ISA
Dispositivo externo indica acceso de 16b a memoria.
Dispositivo externo indica acceso de 16b a memoria.
IO_CS16
Dispositivo externo indica acceso de 16b a puerto E/S.
TC
Indica final de cuenta de algún canal de DMA.
RESET_DRV
Señal Reset del sistema que sirve para inicializar los
Señal Reset del sistema que sirve para inicializar los
circuitos de las tarjetas.
IO_CH_CK
Señal para indicar a la placa base que se ha producido
un error de paridad o algún error irrecuperable. Provoca
interrupción NMI.
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (VIII)
Bus EISA
Extensión a 32 bits de datos del bus ISA (PC/AT)
manteniendo compatibilidad.
Nivel EISA
Nivel EISA
Nivel ISA
Bus EISA
Bus ISA (PC/AT)
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (IX)
Bus EISA
Extensión a 32 bits de datos del bus ISA (PC/AT)
manteniendo compatibilidad.
Permite que varias CPUs puedan compartir el bus.
Permite acceso hasta 4 GB de memoria.
Mantiene reloj de 8.33 MHz por compatibilidad con ISA
(soporta transferencias de datos de 33 MB/s)
Soporta configuración seminautomática de dispositivos
por programa:
por programa:
Detección de tarjetas instaladas.
Selección de IRQs y direcciones base de memoria.
Evitación de conflictos con tarjetas ISA instaladas.
Inconveniente: Velocidad de transferencia limitada
por forzar compatibilidad de reloj con ISA.
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (X)
Bus PCI
Pierde compatibilidad con ISA y EISA (PCI 1.0)
Buses de direcciones y datos de 32 bits y reloj a 33
Buses de direcciones y datos de 32 bits y reloj a 33
MHz (132 MB/s).
Bus PCI (32 bits)
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (XI)
Bus PCI
Opcionalmente buses de datos y direcciones de 64 bits
y reloj a 33 MHz (264 MB/s).
Bus PCI (64 bits)
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (XII)
Bus PCI
Versión original (PCI 1.0) sólo acepta señales a 5 V.
En 1993 se añade opción de señales a 3,3 V (PCI 2.0).
En 1993 se añade opción de señales a 3,3 V (PCI 2.0).
Compatible 3,3 V
Compatible 5 V
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (XIII)
Bus PCI
Versión original (PCI 1.0) sólo acepta señales a 5 V.
En 1993 se añade opción de señales a 3,3 V (PCI 2.0).
En 1993 se añade opción de señales a 3,3 V (PCI 2.0).
En 1995 se añade opción de reloj a 66 MHz sólo para
la opción de 3,3 V (PCI 2.1):
264 MB/s en caso de buses de 32 bits.
528 MB/s en caso de buses de 64 bits.
En 1998 se añade opción de conexión de periféricos en
caliente (PCI 2.2).
caliente (PCI 2.2).
En 2002 se elimina soporte de tarjetas de solo 5 V,
aceptando tarjetas dobles de 3,3 V y 5 V (PCI 2.3).
En 1999 aparece PCI-X 1.0 con hasta 133 MHz, 3,3 V
y 32 bits (532 MB/s) o 64 bits (1064 MB/s).
(7)
7.2. Descripción de una selección de los
principales buses de 80x86 (XIV)
Bus PCI
Soporta configuración automática de dispositivos en
arranque por parte de la BIOS:
Se detectan dispositivos conectados al PCI.
Se pregunta a cada dispositivo los recursos que requiere
(tamaño del espacio de memoria, tamaño del espacio de
E/S, número de interrupciones, etc
Comentarios de: Unidad 7 - Buses básicos de la arquitectura 80x86 (0)
No hay comentarios