Uploaded by Peter Figueroa

Capitulo 3 Una visión de alto nivel del ordenador (1)

advertisement
+
William Stallings
Computer Organization
and Architecture
10th Edition
© 2016 Pearson Education, Inc., Hoboken,
NJ. All rights reserved.
+
Chapter 3
Una visión de alto nivel del ordenador
Función e interconexión
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
Componentes informáticos
https://www.youtube.com/watch?v=_5JJ0VsEjos
◼
Los diseños de ordenadores contemporáneos se basan en los
conceptos desarrollados por John von Neumann en el Instituto de
Estudios Avanzados de Princeton
Se denomina arquitectura von Neumann y se basa en tres conceptos clave:
◼
Los datos y las instrucciones se almacenan en una única memoria de
lectura y escritura
◼
El contenido de esta memoria es direccionable por ubicación, sin tener
en cuenta el tipo de datos que contiene
◼
La ejecución se produce de forma secuencial (a menos que se
modifique explícitamente) de una instrucción a la siguiente
◼
Programa de conexión directa
◼
El resultado del proceso de conexión de los distintos componentes en
la configuración deseada
https://www.youtube.com/watch?v=6qHl0SYyMmg
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
Enfoques de
hardware y
software
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Software
• Una secuencia de códigos o instrucciones
• Una parte del hardware interpreta cada instrucción y
genera señales de control
• Proporcionar una nueva secuencia de códigos para
cada nuevo programa en lugar de recablear el
hardware
Componentes principales:
• CPU
• Intérprete de instrucciones
• Módulo de funciones aritméticas y lógicas de
propósito general
• Componentes de E/S
• Módulo de entrada
+ • Contiene componentes básicos para aceptar datos
e instrucciones y convertirlos en una forma interna
de señales utilizables por el sistema
• Módulo de salida
• Medios para informar de los resultados
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Software
I/O
Components
Registro de
dirección de
memoria (MAR)
Especifica la
dirección en
memoria para la
siguiente lectura o
escritura
Registro de
memoria
intermedia (MBR)
Contiene los datos
que se escriben en
la memoria o recibe
los datos leídos de
la memoria
MEMORY
MAR
+
Registro de
dirección de E/S
(I/OAR)
Especifica un
dispositivo de E/S
concreto
Registro de búfer
de E/S (I/OBR)
Se utiliza para el
intercambio de
datos entre un
módulo de E/S y la
CPU
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
MBR
+
Almacena direcciones
Memory Address
Register (MAR): en
este
registro
se
guardan
las
direcciones
de
memoria a las que está
accediendo la CPU,
bien para leer o para
escribir.
◼
(4)
Donde esta el
operando
Operandos
(4)
Registro de
instrucción IR es un
registro de la unidad
de control de la CPU en
donde se almacena la
instrucción que se está
ejecutando
◼
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
PC = PC + 1
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
Ciclo de búsqueda
◼
Al principio de cada ciclo de instrucción, el procesador
obtiene una instrucción de la memoria
◼
El contador de programa (PC) contiene la dirección de la
siguiente instrucción que se va a obtener.
◼
El procesador incrementa el contador de programa
después de cada obtención de una instrucción para
obtener la siguiente instrucción en la secuencia.
◼
La instrucción obtenida se carga en el registro de
instrucciones (IR)
◼
El procesador interpreta la instrucción y realiza la acción
requerida
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Categorías de acción
• Datos transferidos
del procesador a
la memoria o de la
memoria al
procesador
Procesadormemoria
ProcesadorI/O
Control
Procesamien
to de datos
• Una instrucción
puede especificar
que se altere la
secuencia de
ejecución
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
• Datos transferidos
hacia o desde un
dispositivo
periférico
mediante la
transferencia entre
el procesador y un
módulo de E/S
• El procesador
puede realizar
alguna operación
aritmética o lógica
sobre los datos
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Instrucción
Dirección
Dirección
MOV Registro
Se almacena la
instrucción
Instrucción
A= 3
ADD
B= 2
B =A+ B
ASEMBLER
MOV a RAM
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
ASEMBLER,
investigar y
discutir en clase
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
INTERRUPCIONES
Definición: Una interrupción consiste en un mecanismo que provoca la alteración
del orden lógico de ejecución de instrucciones como respuesta a un evento externo,
generado por el hardware de entrada/salida en forma asincrónica al programa que está
siendo ejecutado y fuera de su control.
Clasificación:
Enmascarables: impedir que las interrupciones sean atendidas por la CPU.
No enmascarables
Hardware/software
Tienen sus prioridades
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Tipos de sistemas de interrupciones: prioridades
Clasificaremos las interrupciones atendiendo a dos criterios independientes: la fuente
que produce la interrupción, y el modo de obtener la dirección de la rutina de
tratamiento o vector de interrupción.
Atendiendo a la fuente que produce la interrupción:
Interrupciones hardware
Internas: producidas por la CPU
a) División por cero
b) Desbordamiento
c) Instrucción ilegal
d) Dirección ilegal
e) Logaritmo de cero
f) raíz cuadrada de negativos
g) etc.
Externas: producidas por los dispositivos de E/S
a) Vectorizadas
b) No vectorizadas
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Atendiendo a la fuente que produce la interrupción:
Interrupciones software
Una Interrupción software se produce cuando un usuario solicita un recurso del núcleo, mediante
una llamada al sistema, open, write, read, mount
Una interrupción por software es un mecanismo de comunicación entre un proceso (que
se ejecuta en modo usuario) y el sistema operativo (que se ejecuta en modo supervisor).
El proceso emplea las interrupciones por software para notificar al sistema operativo que
requiere de su intervención.
En procesadores x86, para lanzar una interrupción por software un
proceso ejecuta la instrucción int seguida de un número de 16 bits que
indica el tipo de interrupción por software.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Atendiendo al modo de obtener el vector de interrupción:
• Interrupciones autovectorizadas: el vector de interrupción es fijo, una
posición de memoria asociada a la línea de interrupción.
• Interrupciones vectorizadas: el vector de interrupción o parte de él lo
suministra el propio periférico cuando se le reconoce la interrupción.
Enmascaramiento de interrupciones
El sistema de interrupciones de un procesador dispone en general de la posibilidad
de ser inhibido, es decir, impedir que las interrupciones sean atendidas por la CPU.
Esta posibilidad hay que utilizarla en determinadas ocasiones en las que por ningún
concepto se puede interrumpir el programa en ejecución.
Además de la inhibición total del sistema, existe la posibilidad de enmascarar
individualmente algunas de las líneas de interrupción utilizando un registro de
máscara
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
Función de E/S
◼
El módulo E/S puede intercambiar datos directamente con el procesador
◼
El procesador puede leer o escribir datos en un módulo de E/S
◼
◼
El procesador identifica un dispositivo específico que es controlado por un
módulo de E/S en particular
◼
Instrucciones de E/S en lugar de instrucciones son instrucciones de
referencia a la memoria
En algunos casos es deseable permitir que los intercambios de E/S se
produzcan directamente con la memoria
◼
El procesador concede a un módulo de E/S la autoridad para leer o
escribir en la memoria, de modo que la transferencia de E/S a la memoria
pueda producirse sin que el procesador se vea afectado.
◼
El módulo de E/S emite comandos de lectura o escritura a la memoria
liberando al procesador de la responsabilidad del intercambio
◼
Esta operación se conoce como acceso directo a memoria (DMA)
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
La estructura de interconexión debe soportar los
siguientes tipos de transferencias:
De la
memoria al
procesador
El
procesador
lee una
instrucción
o una
unidad de
datos de la
memoria
Procesador
a memoria
E/S a
procesador
El
procesador
escribe una
unidad de
datos en la
memoria
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
El
procesador
lee datos
de un
dispositivo
de E/S a
través de
un módulo
de E/S
Procesador
a E/S
E/S hacia o
desde la
memoria
El
procesador
envía datos
al
dispositivo
de E/S
Un módulo
de E/S
puede
intercambia
r datos
directamen
te con la
memoria
sin pasar
por el
procesador
mediante el
acceso
directo a la
memoria
• La característica principal es que
es un medio de transmisión
compartido
Suele estar formado por
varias líneas de
comunicación
• Cada línea es capaz de transmitir
señales que representan el 1 y el 0
binarios
Las señales transmitidas por un
dispositivo están disponibles para ser
recibidas por todos los demás
dispositivos conectados al bus
• Si dos dispositivos transmiten durante el mismo
periodo de tiempo, sus señales se solaparán y se
confundirán
Los sistemas informáticos contienen una
serie de buses diferentes que
proporcionan vías de comunicación entre
los componentes en varios niveles de la
jerarquía del sistema informático
Bus de sistema
• Un bus que conecta los
principales componentes del
ordenador (procesador, memoria,
E/S)
Las estructuras de interconexión de
ordenadores más comunes se basan en el
uso de uno o más buses de sistema
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Interconexión de buses
Una vía de comunicación
que conecta dos o más
dispositivos
Interconexión de buses
ELEMENTOS DE DISEÑO DE UN BUS
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
CPU
Memory
Memory
I/O
I/O
Control lines
Address lines
Data lines
Figure 3.16 Bus Interconnection Scheme
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Bus
+
Interconexión punto a punto
a razón principal del cambio
fueron las limitaciones
eléctricas que se encuentran al
aumentar la frecuencia de los
buses síncronos anchos
A velocidades de datos cada
vez más altas, resulta cada vez
más difícil realizar las
funciones de sincronización y
arbitraje a tiempo
Un bus compartido
convencional en el mismo chip
aumentó las dificultades para
aumentar la velocidad de
datos del bus y reducir la
latencia del mismo para seguir
el ritmo de los procesadores
Tiene menor latencia, mayor
velocidad de datos y mejor
escalabilidad
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Data Bus
◼
Líneas de datos que proporcionan un camino para mover los
datos entre los módulos del sistema
◼
Pueden constar de 32, 64, 128 o más líneas separadas
◼
El número de líneas se denomina anchura del bus de datos
◼
El número de líneas determina cuántos bits pueden
transferirse a la vez
◼
La anchura del bus de datos
◼
Es un factor clave para
◼
Determinar el rendimiento
◼
Rendimiento del sistema
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+ Bus de direcciones
◼
◼
◼
Sirve para designar el origen o el
destino de los datos en el bus de datos
◼ Si el procesador desea leer una
palabra de datos de la memoria,
pone la dirección de la palabra
deseada en las líneas de dirección
La anchura determina la máxima
capacidad de memoria posible del
sistema
También se utiliza para direccionar los
puertos de E/S
◼ Los bits de orden superior se utilizan
para seleccionar un módulo concreto
en el bus y los bits de orden inferior
seleccionan una posición de
memoria o un puerto de E/S dentro
del módulo
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Bus de control
◼
Se utiliza para controlar el acceso y el
uso de las líneas de datos y
direcciones
◼
Dado que las líneas de datos y
direcciones son compartidas por todos
los componentes, debe haber un
medio para controlar su uso
◼
Las señales de control transmiten
información de comandos y de tiempo
entre los módulos del sistema
◼
Las señales de sincronización indican
la validez de la información de datos y
direcciones
◼
Las señales de comando especifican
las operaciones a realizar
+Bus de control (lineas)
◼
◼
◼
◼
◼
Algunas líneas de control típicas son:
Escritura en memoria (Memory write):
hace que el dato del bus se escriba en la
posición direccionada.
◼
Petición de bus (Bus request): indica que
un módulo necesita disponer del control del
bus.
◼
Cesión de bus (Bus grant): indica que se
cede el control del bus a un módulo que lo
habíasolicitado.
◼
• Petición de interrupción (Interrupt
request): indica si hay una interrupción
pendiente.
◼
• Interrupción reconocida (Interrupt
ACK): Señala que la interrupción pendiente
se ha aceptado.
◼
Reloj (clock): se utiliza para sincronizar las
operaciones.
◼
Inicio (reset): pone los módulos conectados
en su estado inicial.
• Lectura de memoria (Memory read):
hace que el dato de la posición
direccionada se sitúe en el bus.
• Escritura de E/S (I/O write): hace que
el dato del bus se transfiera a través del
puerto de E/S direccionado.
• Lectura de E/S (E/S read): hace que el
dato del puerto de E/S direccionado se
sitúe en el bus.
• Transferencia reconocida (Transfer
ACK): indica que el dato se ha aceptado o
se ha situado en el bus.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
Bus de datos
Las
líneas
de
datos
proporcionan un camino para
transmitir datos entre los
módulos
del
sistema.
El conjunto constituido por
estas líneas se denomina bus
de datos
Por ejemplo, si el bus de datos
tiene una anchura de ocho bits,
y las instrucciones son de 16
bits, entonces el procesador
debe acceder al módulo de
memoria dos veces por cada
ciclo de instrucción
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
La anchura del bus es un factor
clave a la hora de determinar las
prestaciones del conjunto del
sistema.
+
Bus de datos
Implementación física típica de una arquitectura
de bus.
El funcionamiento del bus: Si un módulo
desea enviar un dato a otro debe hacer
dos cosas: (1) obtener el uso del bus y
(2) transferir el dato a través del bus.
Si un módulo desea pedir un dato a otro
módulo, debe (1) obtener el uso del bus y
(2) transferir la petición al otro módulo
mediante las líneas de control y dirección
apropiadas.
Después debe esperar a que el segundo
módulo envíe el dato.
El bus de sistema es de hecho un conjunto de conductores
eléctricos paralelos.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
Bus de datos
Implementación física típica de una arquitectura
de bus.
Físicamente, el bus de sistema es de hecho
un conjunto de conductores eléctricos
paralelos. Estos conductores son líneas de
metal grabadas en una tarjeta (tarjeta de
circuito impreso).
El bus se extiende a través de todos los
componentes del sistema, cada uno de los
cuales se conecta a algunas o a todas las
líneas del bus.
Una disposición física muy común se
muestra en la Figura 3.17. En este ejemplo,
el bus consta de dos columnas verticales de
conductores.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
Bus de datos
Implementación física típica de una arquitectura
de bus.
. A lo largo de esas columnas, a intervalos
regulares, hay puntos de conexión en
forma de ranuras (slots) dispuestas en
sentido horizontal para sostener las tarjetas
de circuito impreso.
Cada uno de los componentes principales
del sistema ocupa una o varias tarjetas y se
conecta al bus a través de esas ranuras. El
sistema completo se introduce dentro de un
chasis.
Esta organización puede encontrarse
todavía en alguno de los buses del
computador.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
Bus de datos
Implementación física típica de una arquitectura
de bus.
.No obstante, los sistemas actuales tienden a tener
sus componentes principales en la misma tarjeta y
los circuitos integrados incluyen más elementos.
Así, el bus que conecta el procesador y la memoria
caché se integra en el microprocesador junto con el
procesador y la caché (on-chip), y el bus que
conecta el procesador con la memoria y otros
componentes se incluye en la tarjeta (on-board).
Esta es la disposición más conveniente. Así se
puede adquirir un computador pequeño y expandirlo
(ampliar memoria, módulos de E/S) más adelante
añadiendo más tarjetas. Si un componente de una
tarjeta falla, la tarjeta puede quitarse y sustituirse
fácilmente
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+Interconexión de ruta rápida
◼
Introducido en 2008
◼
Conexiones directas múltiples
◼
◼
Arquitectura de protocolo por capas
◼
◼
Conexiones directas por pares con otros
componentes que eliminan la necesidad de arbitraje
que existe en los sistemas de transmisión compartida
Estas interconexiones a nivel de procesador utilizan
una arquitectura de protocolo por capas en lugar del
simple uso de señales de control que se encuentra en
los sistemas de bus compartido
Transferencia de datos por paquetes
◼
Los datos se envían como una secuencia de
paquetes, cada uno de los cuales incluye cabeceras
de control y códigos de control de errores
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
QPI
QPI
I/O Hub
PCI Express
I/O device
DRAM
Core
D
DRAM
Core
C
I/O device
I/O device
DRAM
Core
B
I/O device
Core
A
DRAM
I/O Hub
Memory bus
Figur e 3 .1 7 M ult icor e Configur a t io n Using QPI
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Packets
Protocol
Protocol
Routing
Routing
Flits
Link
Link
Phits
Physical
Figur e 3 .1 8 QPI La ye r s
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Physical
COMPONENT A
Fwd Clk
Transmission Lanes
Reception Lanes
Rcv Clk
Rcv Clk
Reception Lanes
Transmission Lanes
Fwd Clk
Intel QuickPath Interconnect Port
Intel QuickPath Interconnect Port
COMPONENT B
Figur e 3 .1 9 Physica l I nt e r fa ce of t he I nt e l QPI I nt e r conne ct
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
bit stream of flits
#2n+1
#2n
#n+2
#n+1
#n
#2
#2n+1
#n+1
#1
QPI
lane 0
#2n+2
#n+2
#2
QPI
lane 1
#3n
#2n
#n
QPI
lane 19
#1
Figure 3.20 QPI Multilane Distribution
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
◼
QPI Link Layer
Realiza dos funciones clave: control
de flujo y control de errores
◼
Funciona a nivel de flit (unidad
de control de flujo)
◼
Cada flit se compone de una
carga útil de mensaje de 72 bits
y de un código de control de
errores de 8 bits denominado
comprobación de redundancia
cíclica (CRC)
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
◼
Función de control de flujo
◼ Necesaria para garantizar que una
entidad QPI emisora no abrume a
una entidad QPI receptora
enviando datos más rápido de lo
que el receptor puede procesar
los datos y despejar los búferes
para más datos entrantes
◼
Función de control de errores
◼
Detecta y se recupera de los
errores de bit, por lo que
aísla las capas superiores de
los errores de bit
+
QPI Capas de enrutamiento y
protocolo
Capa de enrutamiento
◼
◼
Se utiliza para determinar el
curso que seguirá un paquete a
través de las interconexiones
disponibles del sistema
Capa de protocolo
◼
El paquete se define como la unidad
de transferencia
◼
Una función clave que se realiza en
este nivel es el protocolo de
coherencia de la caché, que se
encarga de garantizar la coherencia
de los valores de la memoria
principal en varias cachés.
◼
Un paquete de datos típico es un
bloque de datos que se envía a o
desde una caché.
Definido por el firmware y
describe los posibles caminos
que puede seguir un paquete
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
Interconexión de componentes
periféricos (PCI)
◼
Un popular bus de gran ancho de banda, independiente del
procesador, que puede funcionar como bus mezzanine o periférico
◼
Ofrece un mejor rendimiento del sistema para los subsistemas de E/S
de alta velocidad
◼
Grupo de Interés Especial PCI (SIG)
◼
◼
Creado para desarrollar
especificaciones PCI
y
mantener
la
compatibilidad
de
las
PCI Express (PCIe)
◼
◼
◼
Esquema de interconexión punto a punto que pretende sustituir a los
esquemas basados en bus como PCI
El requisito clave es la alta capacidad para soportar las necesidades de los
dispositivos de E/S de mayor velocidad de datos, como Gigabit Ethernet
Otro requisito es la necesidad de soportar flujos de datos dependientes del
tiempo
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
Ejemplos de configuraciones PCI
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
Ejemplos de configuraciones PCI
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Core
Core
Gigabit
Ethernet
PCIe
Memory
Chipset
PCIe–PCI
Bridge
PCIe
Memory
PCIe
PCIe
PCIe
Legacy
endpoint
PCIe
Switch
PCIe
endpoint
PCIe
PCIe
endpoint
PCIe
endpoint
Figur e 3 .2 1 Typica l Configur a t ion Using PCI e
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Transaction
Data Link
Transaction layer
packets (TLP)
Data link layer
packets (DLLP)
Physical
Transaction
Data Link
Physical
Figur e 3 .2 2 PCI e Pr ot ocol La ye r s
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
B4
B0
128b/
130b
PCIe
lane 0
B5
B1
128b/
130b
PCIe
lane 1
B6
B2
128b/
130b
PCIe
lane 2
B7
B3
128b/
130b
PCIe
lane 3
byte stream
B7
B6
B5
B4
B3
B2
B1
B0
Figure 3.23 PCIe Multilane Distribution
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
D+ D–
8b
Scrambler
8b
128b/130b Encoding
130b
Parallel to serial
1b
Transmitter Differential
Driver
Differential
Receiver
Clock recovery
circuit
1b
Data recovery
circuit
1b
Serial to parallel
130b
128b/130b Decoding
128b
D+ D–
Descrambler
(a) Transmitter
8b
(b) Receiver
Figure 3.24 PCIe Transmit and Receive Block Diagrams
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
PCIe
Transaction Layer (TL)
◼
Recibe solicitudes de lectura y escritura
del software por encima de la TL y crea
paquetes de solicitud para su transmisión a
un destino a través de la capa de enlace
◼
La mayoría de las transacciones utilizan
una técnica de transacción dividida
◼
Un dispositivo PCIe de origen envía un
paquete de solicitud y luego espera una
respuesta
llamada
paquete
de
finalización
◼
Los mensajes TL y algunas transacciones
de
escritura
son
transacciones
contabilizadas (lo que significa que no se
espera ninguna respuesta)
◼
El formato de los paquetes TL admite el
direccionamiento de memoria de 32 bits
y el direccionamiento de memoria
ampliado de 64 bits
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
La TL admite cuatro espacios de
direcciones:
◼
Memoria
◼ El espacio de memoria
incluye la memoria
principal del sistema y los
dispositivos de E/S PCIe
◼ Ciertos rangos de
direcciones de memoria se
asignan a los dispositivos de
E/S
◼ Configuración
◼ Este espacio de direcciones
permite a la TL leer/escribir
los registros de
configuración asociados a
los dispositivos de E/S
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
◼
E/S
◼
◼
Este espacio de direcciones se
utiliza para los dispositivos PCI
heredados, con
rangos
de
direcciones reservados que se
utilizan para direccionar los
dispositivos de E/S heredados.
Mensaje
◼
Este espacio de direcciones es
para las señales de control
relacionadas
con
las
interrupciones, el manejo de
errores y la gestión de la energía
Table 3.2
PCIe TLP Transaction Types
Address Space
M emory
I /O
Configuration
M essage
M emory, I /O,
Configuration
TLP Type
Memory Read Request
Memory Read Lock Request
Memory Write Request
I/O Read Request
I/O Write Request
Config Type 0 Read Request
Config Type 0 Write Request
Config Type 1 Read Request
Config Type 1 Write Request
Message Request
Message Request with Data
Completion
Completion with Data
Completion Locked
Completion Locked with Data
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Purpose
Transfer data to or from a location in the
system memory map.
Transfer data to or from a location in the
system memory map for legacy devices.
Transfer data to or from a location in the
configuration space of a PCIe device.
Provides in-band messaging and event
reporting.
Returned for certain requests.
1
Sequence number
Start
DLLP
0 to 4096
Data
0 or 4
ECRC
4
LCRC
1
STP framing
(a) Transaction Layer Packet
2
CRC
1
End
Appended by Physical Layer
Header
Appended by Data Link Layer
12 or 16
Created by Transaction Layer
4
(b) Data Link Layer Packet
Figur e 3 .2 5 PCI e Pr ot ocol D a t a Unit For m a t
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Appended by PL
2
STP framing
Created
by DLL
Number
of octets
1
Sumario
+
Una visión de alto nivel
del funcionamiento y la
interconexión de los
ordenadores
Capitulo 3
◼
◼
Componentes del ordenador
◼
Función del ordenador
◼
Obtención y ejecución de
instrucciones
◼
Interrupciones
◼
Función de E/S
◼
Estructuras de interconexión
◼
Interconexión del bus
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
◼
Interconexión punto a punto
◼
Capa física QPI
◼
Capa de enlace QPI
◼
Capa de enrutamiento QPI
◼
Capa de protocolo QPI
PCI express
◼
Arquitectura física y lógica de PCI
◼
Capa física PCIe
◼
Capa de transacción PCIe
◼
Capa de enlace de datos PCIe
Download