Está en la página 1de 31

MICROPROCESADORES

ESCUELA TCNICA SUPERIOR DE INGENIERA


INFORMTICA
Tema 5: El Pentium a Fondo
Carlos Garre y David Miraut
1
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Jerarqua de Memoria
Jerarqua de memoria del Pentium:
Registros del microprocesador.
Memoria principal:
Memoria segmentada.
Mecanismo de paginacin.
Memoria cach.
C
o
n
t
e
n
i
d
o
s
2
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Registros del Microprocesador
7 registros de propsito general:
AX, BX, CX, DX, BP, DI, SI 16 bits.
EAX, EBX, ECX, EDX, EBP, EDI, ESI 32 bits.
RAX, RBX, RCX, RDX, RBP, RDI, RSI 64 bits.
AH, AL, ... Parte alta y parte baja (1B) del registro AX.
No hay acceso independiente a los 16 MSb de EAX, EBX, ...
C
o
n
t
e
n
i
d
o
s
3
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Registros de la Pila
Las operaciones de la pila utilizan hasta 3 registros:
SS (Stack Segment): Direccin de comienzo del segmento de pila en
memoria.
ESP (Extended Stack Pointer): Desplazamiento dentro del segmento
de pila:
PUSH decrementa ESP.
POP incrementa ESP.
Se utiliza implcitamente en instrucciones de subrutina y tratamiento
de interrupciones y excepciones.
EBP (Extended Base Pointer): Si pasamos a pila una estructura de
datos, apunta al comienzo de la estructura (ESP apuntar al final). Su
uso es opcional.
Esquema en la pizarra...
4
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Registros para manejo de Strings
Los registros EDI y ESI estn pensados para trabajar con
cadenas de caracteres:
ESI: Direccin de comienzo de una cadena de origen.
EDI: Direccin de comienzo de una cadena de destino.
MOVS Copia la cadena apuntada por ESI a la cadena apuntada
por EDI.
CMPS Compara las dos cadenas apuntadas por ESI y EDI.
5
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Puntero de Instruccin
El registro EIP (Extended Instruction Pointer) es un contador
de programa (PC):
En modo protegido, se utiliza EIP, de 32 bits Hasta 4GBs.
En modo real, se utiliza IP, de 16 bits Hasta 64KBs:
Intros de 64KB Vdeo.
El registro CS (Code Segment) sirve de base para el
segmento de cdigo, y EIP es el desplazamiento.
6
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Registro de Estado
El registro EFLAGS, de 32 bits, contiene:
Sealizadores de estado, controlados por la ALU:
acarreos
paridad
cero
signo
desbordamientos.
Sealizadores de control del sistema:
Control de interrupciones
Modos de operacin
Problemas de alineamiento de memoria
Etc...
7
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Registros de Segmento
Segmentos: trozos de la memoria de tamao variable que
contienen el mismo tipo de informacin.
3 tipos de segmentos:
De pila.
De cdigo.
De datos.
El Pentium controla 6 segmentos, con 6 registros de segmento de
16 bits:
8
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Registros de Segmento (II)
Estructura de los registros de segmento:
RPL: 2 bits que indican el nivel de privilegio del segmento.
9
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Otros Registros del Pentium
Registros de tablas del sistema: para manipular las tablas que
maneja el S.O. en modo protegido GDTR, IDTR, LDTR, TR.
Registros de control: determinan el modo de operacin del
Pentium y las caractersticas de la tarea en ejecucin CR0..CR4.
Registros de depuracin: los utiliza el programador para depurar
(puntos de ruptura) DR0..DR7.
Registros de prueba de la TLB: Permiten leer y escribir en la TLB
TR6 y TR7.
Registros especficos del Pentium: Registros de 64b para acceder
a caractersticas especficas de cada procesador. Son accesibles
mediante las instrucciones RDMSR y WRMSR TR1 y TR2.
10
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Jerarqua de Memoria
Jerarqua de memoria del Pentium:
Registros del microprocesador.
Memoria principal:
Memoria segmentada.
Mecanismo de paginacin.
Memoria cach.
C
o
n
t
e
n
i
d
o
s
11
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Memoria cach
El Pentium original contiene dos cachs de nivel 1 (L1):
Cach de datos: 8KBs y bus de 64 bits.
Cach de instrucciones: 8KBs y bus de 256 bits. Se conecta con los
registros de prebsqueda de instrucciones.
Cada cach dispone de su propia TLB.
Se puede hacer un acceso simultneo a ambas cachs.
En los siguientes procesadores, fue aumentado el tamao de la
cach de nivel 1, hasta 32KBs + 32KBs.
La arquitectura NetBurst (Pentium 4) sustituye la cach de
instrucciones por una cach de traza:
Almacenar microinstrucciones en lugar de instrucciones.
Nos ahorramos hacer de nuevo la etapa de decodificacin.
12
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Estructura de la cach
Controlador de cach: encargado de gobernar cada uno de los
elementos de la memoria cach (algoritmos y activaciones de
buffers).
Elementos de cach. cada elemento de cach consta de:
Bloque de datos: almacena rplicas de datos de memoria principal.
La informacin se agrupa en lneas, y cada lnea contiene varios
datos. Cuando se habla de tamao de la cach, se habla del tamao
del bloque de datos.
Bloque de etiquetas: lista de direcciones de memoria que estn
almacenadas en el bloque de datos. Contiene slo los bits ms
significativos. Hay una etiqueta por cada lnea.
Lgica de control: comparadores de tantos bits como tenga la
etiqueta. De esta manera se controla qu datos estn o no estn ya
copiados en la cach.
13
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Estructura de la cach (II)
14
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Organizacin de la cach en el Pentium
Mtodo de organizacin: definicin de cmo deben ser
almacenados los datos en la cach.
Para localizar un elemento en la cach Funcin que convierta
la direccin de la memoria principal en una posicin de cach.
El Pentium utiliza una cach asociativa de N vas:
Tambin conocida como asociativa por conjuntos.
La cach se divide en conjuntos: cada conjunto contiene N lneas.
La memoria principal se divide en grupos: cada grupo contiene N
bloques de memoria.
N: Nmero de vas. En el caso del Pentium, N = 2.
El Pentium III tiene 4 vas para la cach de instrucciones y 2 para la
de datos.
15
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Organizacin de la cach en el Pentium (II)
Cada va tiene 128 etiquetas.
Cada lnea tiene 32 bytes.
Cada etiqueta es de 22 bits:
20 bits de direccin
2 bits de atributos:
WP = Write Protect.
V = Valid.
16
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Organizacin de la cach en el Pentium (III)
Cada va tiene 128 etiquetas.
Cada lnea tiene 32 bytes.
Cada etiqueta es de 22 bits:
20 MSBs de direccin.
2 bits de atributos:
WP = Write Protect.
V = Valid.
Direccin fsica: A31-A0:
A31-A12 (20 bits): Etiqueta.
A11-A15 (7 bits): Conjunto.
ndice en el acceso a la va.
A4-A0 (5 bits): Posicin.
Byte dentro de la lnea.
17
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Actualizacin de la cach en el Pentium
Cuando se produce una ausencia en la cach, se busca la
informacin de una lnea completa (32B) en la memoria principal
y se carga en una lnea que est libre. Si debe sustituirse una de
las lneas existentes, se aplica un algoritmo de reemplazo.
El Pentium utiliza el algoritmo de reemplazo LRU (Least Recently
Used): se sustituye la lnea que lleva ms tiempo en la cach sin
haber sido referenciada. No confundir con:
LFU: se sustituye la lnea menos referenciada,
independientemente del tiempo que lleve.
FIFO: se sustituye la lnea que ms tiempo lleve,
independientemente de cunto se haya referenciado.
Para actualizar la lnea se utiliza lectura directa: primero se da a la
CPU el dato que quiere, y luego se lee el resto de la lnea,
mientras la CPU trabaja.
18
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Actualizacin de la Memoria Principal
Antes de reemplazar un bloquede cach, es necesario comprobar
si ha sido alterado en cach pero no en memoria principal. Si ha
sido modificado, la memoria principal debe tambin actualizarse
Evitar incongruencias de datos.
El Pentium utiliza el mtodo de actualizacin de memoria de
escritura obligada (Write Back):
Los resultados de las operaciones no se transfieren a memoria
principal, sino que quedan almacenados en la cach hasta que sea
preciso actualizarla.
La memoria principal se actualiza obligatoriamente cuando:
Se accede a una posicin de la memoria principal modificada en la
cach por el procesador Antes de leer, hay que escribir el dato
modificado.
Hay que reemplazar una lnea de la cach en la que se ha modificado un
dato.
19
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Jerarqua de cach
Cach de nivel 1 (L1) o cach primaria:
Cach de pequeo tamao integrada en la CPU.
La ms rpida (velocidad del microprocesador).
Desde el i80486 = 8 KBs. Pentium = 8KBs (I) + 8KBs (D).
Algoritmos de carga clsicos (vecindad temporal y espacial).
Cach de nivel 2 (L2) o cach secundaria:
Ligeramente ms lenta que la cach L1, pero de mayor capacidad.
Almacena los datos e instrucciones muy usados recientemente pero
que no han sido guardados en la cach L1.
Si la L1 no contiene el dato, se transfierela peticin a L2.
Algoritmos especiales (ajustados a programas).
Puede estar en la placa base o integrada en la CPU (pero separada
de la L1).
Se incluye a partir del Pentium Pro.
20
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Jerarqua de cach (II)
Cach de nivel 3 (L3):
Permanece en la placa base y no se integra en la CPU.
Mayor capacidad que L2, pero ms lenta.
Si L2 no contiene el dato, se transfiere la peticin a L3.
Se incluye a partir de algunos Pentium 4.
En procesadores multicore, se comparte una nica L3 para todos los
ncleos.
21
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Organizacin de la Cach del Pentium II
La cach L2 tiene entre 256KB
y 1MB, y es asociativa por
conjuntos de 8 vas. Alimenta
a las dos cachs L1 (8-16KB).
22
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Organizacin de la Cach del Pentium IV
Las cachs L2 (512 KB) y
L3 (1 MB, opcional) son
asociativas por conjuntos
de 8 vas y tamao de
lnea de 128 bytes.
23
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Protocolos de Coherencia de Cach
En un sistema multiprocesador con varias cachs, dos CPUs
pueden estar empleando la misma posicin de la memoria
principal, cuyo contenido permanece en las cachs de ambas
CPUs Surge la necesidad de asegurar que cualquier acceso a la
memoria lea el dato ms actualizado.
Esto tambin es til en sistemas monoprocesador pero con varios
niveles de cach (coherencia entre cach L1, cach L2 y memoria
principal).
Pentium utiliza el protocolo MESI (Modified Exclusive Shared
Invalid).
Cada lnea de cada cach se encuentra en uno de 4 estados:
Modificada, Exclusiva, Compartida, Invlida.
24
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Protocolo MESI
M (Modificada): La lnea de cach ha sido modificada (es
diferente de memoria principal). La versin de la lnea slo reside
en esta cach.
E (Exclusiva): El contenido de la lnea de cach coincide con
memoria principal (copia sin modificar), y ninguna otra cach
contiene una copia de la lnea.
S (Compartida): La lnea en la cach coincide con memoria
principal, y puede estar presente en otra cach. Si se escribe en
una de ellas, las dems se invalidarn automticamente.
I (No vlida): La lnea de la cach no contiene datos vlidos. Una
lectura del procesador genera una ausencia, y una escritura obliga
a actualizar la memoria principal de inmediato.
25
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Protocolo MESI (II)
26
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Jerarqua de Memoria
Jerarqua de memoria del Pentium:
Registros del microprocesador.
Memoria principal:
Memoria segmentada.
Mecanismo de paginacin.
Memoria cach.
C
o
n
t
e
n
i
d
o
s
27
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Memoria Principal
10 Consejos para elegir la memoria principal del PC
(Arquitectura del PC, Volumen II. Manuel Ujaldn):
Rasgos externos:
1. Contactos del chip.
2. Nmero de chips.
3. Seleccin de zcalos.
4. Gestin de errores.
Parmetros internos:
5. Tipo de memoria.
6. Velocidad.
7. Tamao
Especificaciones comerciales:
8. Etiquetado.
9. Marca.
10. Fecha.
28
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Rasgos Externos
Contactos del chip: cuantos ms contactos, ms moderno es el
mdulo. El material debe ser dorado (aleaciones de oro), tanto en
el mdulo como en el zcalo de la placa base.
Nmero de chips: cuanto menos chips por mdulo, mejor. Es ms
caro, pero hay menor tasa de fallos al minimizar problemas de
sincronizacin, interferencia electromagntica, etc.
Seleccin de zcalos: cuantos ms zcalos libres, mejor. Los
bancos numricamente ms bajos alojarn la memoria ms
rpida Aceleramos tareas crticas del S.O. Vigilar voltajes.
Gestin de errores: Si hay un nmero impar de chips en el
mdulo, probablemente es porque tenemos chips de paridad,
que aumentan la fiabilidad del mdulo. Vigilar la compatibilidad
con la placa y con los otros mdulos.
29
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Parmetros Internos
Tipo de memoria: Asegurar compatibilidad entre la placa base y
los mdulos de memoria.
Velocidad: No interesa la ms rpida, sino la ms rpida que sea
compatible con la placa. Si no, funcionar muy lenta o incluso
no funcionar. Todos los mdulos deben ser de la misma
velocidad.
Tamao: El tamao mximo viene limitado por:
Nmero de zcalos * tamao mximo mdulo.
Rango de direcciones que puede manejar el controlador de la placa
base (comnmente, una placa de Pentium slo poda controlar
256MBs!!)
Cantidad de memoria direccionable por el procesador (32 bits =
4GBs).
30
MICROPROCESADORES
ESCUELA TCNICA SUPERIOR DE INGENIERA
INFORMTICA
Especificaciones Comerciales
Etiquetado: Si se detalla el tiempo de respuesta cuanto
menor, mejor. Si se detalla la frecuencia cuanto mayor,
mejor.
Marca: Clasificacin de Manuel Ujaldn:
1. Kingston: garanta de por vida.
2. Micron: buena garanta, y amplio abanico de productos.
3. Fujitsu-Siemens, Hitachi, Mitsubishi, Motorola, NEC Samsung,
Texas Instruments y Toshiba: muy buenas marcas, pero no
especializadas en este sector.
4. El resto: bajo coste = baja calidad.
Fecha: Mirar fecha de fabricacin. Conveniente que no exceda
de 2 aos. La fecha puede estar oculta en algn cdigo del
fabricante. Ejemplo: 9904 dentro de un cdigo puede significar
abril de 1999.
31

También podría gustarte