Professional Documents
Culture Documents
MEMORIA EXTERNA
CAPTULO 5 (Stalling)
Los discos magnticos son el componente ms importante de una memoria externa
RAID (Redundant Array of Independent Disks) es una familia de tcnicas para
utilizar varios discos como un conjunto de dispositivos de almacenamiento de datos
en paralelo, con redundancia para compensar los fallos de disco.
DISCO MAGNTICO
Es un plato circular de metal o plstico, cubierto por una material magnetizable.
Los datos son ledos por una cabeza.
ORGANIZACIN Y FORMATO DE LOS DATOS
Los discos se organizan en un conjunto de anillos concntricos en el plato: pistas
Las pistas adyacentes estn separadas por bandas vacas.
Los datos se transfieren hacia y desde el disco en bloques, por lo tanto los datos se
almacenan en regiones del tamao de un bloque: sectores.
Los sectores adyacentes se separan con intrapistas vacas.
El disco se graba con un formato que contiene algunos datos extras, usado slo por
el controlador del disco y no accesibles al usuario.
o El campo ID es un identificador usado para localizar un sector particular
o El byte SINCRO delimita el comienzo del campo
CARACTERSTICAS FSICAS
Las cabezas pueden ser fijas o mviles (sobre un brazo en ambos casos):
o Disco de cabeza fija: hay una cabeza de lectura/escritura por pista
o Disco de cabeza mvil: contiene una sola cabeza
El disco se monta a una unidad de disco que consta del brazo, un eje de rotacin y la
elctrica necesaria.
o Un disco no extrable est permanentemente montado en la unidad de disco
o El disco extrable puede ser quitado y sustituido.
Segn el tipo de cubierta puede ser:
o De doble superficie
o De una sola superficie
Segn la cantidad de platos
o Plato nico
o Varios platos que disponen de varios brazo y constituyen un paquete de
disco
Segn el mecanismos de la cabeza:
o Contacto: hay un contacto fsico
o Separacin fija
o Separacin aerodinmica (Winchester): la cabeza est montada en una
unidad hermtica cerrada as pueden operar ms cerca de la superficie del
1
disco, permitiendo que la cabeza sea ms pequea por lo que permite una
densidad de datos mayor.
PARMETROS PARA MEDIR LAS PRESTACIONES
Cuando la unidad de disco est funcionando, el disco est rotando a una velocidad
constante. La seleccin de pista implica un movimiento de la cabeza o una seleccin
electrnica.
En un sistema de cabeza mvil, el tiempo que tarda en posicionarse en la pista es el
tiempo de bsqueda y el tiempo que tarda el sector en alcanzar la cabeza es el
retardo rotacional. La suma de ambos es el tiempo de acceso o tiempo de
transferencia de datos.
Cuando el proceso hace una peticin de E/S, primero debe esperar en cola hasta que
el dispositivo est disponible.
Cuando un fichero ocupa todos los sectores de pistas adyacentes se lo llama
organizacin secuencial y reduce los tiempos de acceso ya que el tiempo de
bsqueda se hace slo una vez.
Tiempo de bsqueda
Se puede aproximar por la siguiente frmula lineal:
Ts= m n + s
Ts= tiempo de bsqueda estimado
n= nmero de pistas atravesadas
m= constante que depende del disco
s= tiempo de comienzo
Tiempo de transferencia
Depende de la velocidad de rotacin del disco
T= b/rN
T= tiempo de transferencia
b= nmero de bytes a transferencia
N= nmero de bytes de una pista
r= velocidad de rotacin en revoluciones por segundo
RAID
Esta tcnica desarrolla un conjunto de discos que operen independientemente y en
paralelo.
Con varios discos las peticiones separadas de E/S se pueden gestionar en paralelo,
siempre que los datos estn en discos separados. O si los datos estn distribuidos en
varios discos tambin se puede procesar en paralelo una nica peticin de E/S.
El esquema RAID consta de seis niveles independientes que poseen tres
caractersticas comunes:
o RAID es un conjunto de unidades fsicas de discos vistas por el SO como
una nica unidad lgica.
2
Categora
Nivel
Descripcin
Grado de E/S
solicitado
(lectura/escritura)
Grado de
transferencia de
datos
(lectura/escritura)
Estructura en tiras
No redundante
Estructura en
espejo
Acceso paralelo
Espejo
Bueno/regular
Pequeas tiras:
excelente
Regular/regular
Redundancia con
cdigo Hamming
Bit de paridad
intercalado
Bloque de paridad
intercalado
Paridad distribuida en
bloques intercalados
Paridad distribuida
dual en bloques
intercalados
Pobre
Excelente
Pobre
Excelente
Excelente/regular
Excelente/pobre
Excelente/regular
Excelente/pobre
Excelente/regular
Excelente/pobre
3
Acceso
independiente
4
5
6
Aplicacin tpica
MEMORIA PTICA
CD-ROM
Compact disk read-only memory
La informacin es grabada digitalmente como una serie de hoyos microscpicos en
la superficie reflectante.
Un hoy cerca del centro del disco que rota, pasa por delante de un punto fijo ms
despacio que un hoyo en el exterior y hay que compensar la variacin de velocidad.
Esto se puede hacer incrementando el espaciado lineal entre bits de informacin
grabados en los segmentos ms externos del disco, por lo que el disco gira a una
velocidad angular constante (CAV)
La ventaja de la tecnologa CAV es que los bloques individuales se pueden
direccional a partir de la pista y el sector.
La desventaja es que se pierde capacidad.
Otra opcin es que la informacin se empaqueta con densidad uniforma a lo largo
del disco en segmentos del mismo tamao, y se explora a la misma velocidad,
rotando el disco a una velocidad variable dando la posibilidad de que el lser lea a
una velocidad lineal constante (CLV).
Cada bloque consta de los siguientes campos:
o Sincronizacin: identifica el principio de un bloque.
o Cabecera: contiene la direccin del bloque y el byte de modo.
o Datos
o Auxiliar: datos del usuario adicionales
El CD-ROM tiene tres ventajas:
o Gran capacidad de almacenamiento
o Se puede replican en grandes formas baratas
o Es extrable, permitiendo usar el disco como memoria de archivo
Las desventajas del CD-ROM son:
o Es slo lectura y no se puede actualizar
o Tiene un tiempo de acceso mayor que las unidades de disco magntico.
WORM
5
CD de una-escritura-varias-lecturas
Para un acceso ms rpido usa CAV
Proporciona una grabacin permanente de grandes cantidades de datos
DISCO PTICO BORRABLE
Se puede escribir y reescribir repetidamente con un sistema magntico-ptico
Ventajas:
o Puede ser usado como memoria secundaria
o Alta velocidad
o Son extrables
o Seguridad
DISCO VDEO DIGITAL
graba un gran volumen de datos con una calidad alta
DISCO MAGNTICO-PTICOS
usa un lser ptico para aumentar la capacidad.
La lectura es puramente ptica
Tiene la ventaja de longevidad y el costo por Mgbyte es inferior.
--------------------------------------------------------------------------------------------------------------
ENTRADA/SALIDA
CAPTULO 6 (Stalling)
Hay tres tcnicas de E/S: E/S programada, en la que la E/S se produce bajo el
control directo y continuo del programa que solicita la operacin de E/S; E/S
mediante interrupciones, en la que el programa genera una orden de E/S y despus
contina ejecutndose hasta que el hardware de E/S lo interrumpe para indicar que
la operacin ha concluido; y acceso directo a memoria (DMA), en lo que un
procesador de E/S especfico toma el control de la operacin para transferir un gran
bloque de datos.
El mdulo de E/S se conecta al bus de sistema y controla a uno o ms dispositivos
perifricos. Estos cumplen dos funciones principales:
o Realizar la interfaz entre el procesador y la memoria a travs del bus del
sistema o un conmutador central.
o Realiza la interfaz entre uno o ms dispositivos perifricos mediante enlaces
de datos especficos.
DISPOSITIVOS EXTERNOS
Un dispositivo externo se conecta a la computadora mediante un enlace a un
mdulo de E/S, que se utiliza para intercambiar seales de control, estado y datos.
A este tipo se lo denomina dispositivo perifrico
Se pueden clasificar en tres categoras:
o De interaccin con los humanos
o De comunicacin con mquinas
o De comunicacin (con dispositivos remotos)
6
MDULOS DE E/S
FUNCIONES DE UN MDULO
Control y temporizacin: para coordinar el trfico entre los recursos internos y los
dispositivos externos. El sistema utiliza un bus, entonces cada una de las
interacciones entre el procesador y el mdulo de E/S implica uno o ms arbitrajes
del bus.
La comunicacin con el procesador implica:
o Decodificacin de rdenes: el mdulo acepta las rdenes que se envan por
el bus de control.
o Datos: intercambio de datos a travs del bus de datos.
o Informacin de estado
o Reconocimiento de direccin: un mdulo de E/S puede reconocer una nica
direccin por cada uno de los perifricos que controla.
Comunicacin con el dispositivo: implica intercambiar rdenes, informacin de
estado y datos.
Almacenamiento temporal de datos (data buffering): los datos se almacenan
temporalmente en el mdulo de E/S y despus se envan al perifrico a la velocidad
de ste o en sentido contrario. As los mdulos deben ser capaces de operar a
velocidades variantes.
Deteccin de errores e informarlos al procesador: una clase de errores son los
defectos mecnicos y electrnicos en el funcionamiento del dispositivo, otra clase
son los cambios accidentales en los bits de transferencia
7
E/S PROGRAMADA
Los datos se intercambian entre el procesador y el mdulo de E/S.
Cuando el procesador enva una orden debe esperar hasta que la operacin de E/S
concluya.
RDENES DE E/S
El ejecutar una instruccin de E/S, el procesado proporciona una direccin
especificando el mdulo de E/S particular y el dispositivo externo y una orden
Hay cuatro tipos de rdenes:
o Control: se utilizan para activar perifricos e indicarle que hacer
o Test: se utiliza para comprobar diversas condiciones de estado asociadas con
el mdulo de E/S y su perifrico
o Lectura: hace que el mdulo de E/S capte un dato de un perifrico y lo site
en un buffer interno para que despus lo capte el procesador
o Escritura: hace que el mdulo de E/S capte un dato del bus de datos y lo
transmita al perifrico.
INSTRUCCIONES DE E/S
Cuando el procesador, la memoria y las E/S comparte un bus comn, son posibles
dos modos de direccionamiento: asignado en memoria (memory-mapped) y aislado.
Con las E/S asignadas en memoria existe un nico espacio de direcciones para las
posiciones de memoria y los dispositivos de E/S. Se necesita una sola lnea de
lectura y otra de escritura en el bus. El rango completo de direcciones est
disponible para ambos. La ventaja es que puede utilizar un amplio repertorio de
instrucciones permitiendo una programacin ms eficiente, pero utiliza se utiliza el
espacio de direcciones de memoria.
Se conoce como E/S aislada cuando el espacio de direcciones de E/S est aislado de
la memoria.
PROCESAMIENTO DE LA INTERRUPCIN
Cuando el dispositivo de E/S termina una operacin de E/S, se produce la siguiente
secuencia de datos en el hardware.
1. el dispositivo enva una seal de interrupcin al procesador.
2. el procesador termina de ejecutar la instruccin en curso antes de responder
a la interrupcin
3. el procesador comprueba si hay interrupciones, determina que hay, enva una
seal de reconocimiento al dispositivo que origin la interrupcin, haciendo
que el dispositivo desactive su seal de interrupcin
4. el procesador guarda la informacin necesaria para continuar el programa en
curso en el punto en que se interrumpi. Almacena:
el estado del procesador en la palabra de estado del programa (PSW)
las posicin de la siguiente instruccin a ejecutar
5. el procesador carga el contador de programa en la posicin de inicio del
programa de gestin de la interrupcin solicitada. (una vez que el contado de
programa se ha cargado, la captacin de instruccin el control se transfiere
al programa de gestin de interrupciones).
6. el puntero de la pila se actualiza para que apunte a la nueva cabecera de la
pila y el contador de programa se actualiza para que apunte al comienzo de
la rutina de servicio de interrupcin.
7. se procesa la interrupcin
8. cuando se termina el proceso de la interrupcin, los valores del registro de
estado se recuperan de la pila
9. se recuperan los valores de PSW y el contado de programas
GESTIONES DE DISEO
Tcnicas de identificacin del dispositivo:
o Mltiples lnea de interrupcin
o Consulta a software (software polling): cuando el procesador detecta una
interrupcin, se produce una bifurcacin a una rutina de servicio de
interrupciones que se encarga de consultar a cada mdulo para determinar
cul provoc la interrupcin. Desventaja: consume tiempo.
o Conexin en cadena (Daisy Chain) (consulta a hardware, vectorizada): la
lnea de reconocimiento de interrupcin se conecta encadenando los
mdulos uno tras otro. Cuando el procesador recibe una interrupcin, activa
el reconocimiento de interrupcin. Esta seal se propaga a travs de la
secuencia de mdulos de E/S hasta que alcanza el mdulo que solicit
interrupcin. Normalmente este mdulo responde colocando una palabra en
las lneas de datos vector. (interrupcin vectorizada)
o Arbitraje de bus (vectorizada): un mdulo de E/S debe disponer del control
del bus antes de poder activar la lnea de peticin de interrupcin. Cuando el
procesador detecta la interrupcin, responde mediante la lnea de
reconocimiento de interrupcin. Despus el mdulo que solicit la
interrupcin sita un vector en las lneas de datos.
Con lneas mltiples se responde a la de ms prioridad. Con consulta software y
conexin en cadena es por orden de consulta. El arbitraje de bus emplea un esquema
de prioridad.
9
LA MEMORIA CACH
CAPTULO 5 (Angulo)
NECESIDAD DE LA CACH
Los nuevos microprocesadores se apoyan en tres recursos para mejorar el
rendimiento:
o Arquitectura superescalar: paralelismo explcito y repertorio de
instrucciones sencillas
o Supersegmentacin: segmentacin con elevado nmero de etapas
o Potenciacin del subsistema de la memoria cach, para aumentar la
velocidad de la memoria.
Un procesador segmentado bsico ejecuta cada instruccin en cinco etapas:
o Bsqueda de instrucciones (fetch): se accede a la memoria
o Decodificacin de la instruccin (CPU)
o Bsqueda de los operando: se accede a la memoria en modo lectura
o Ejecucin de la instruccin: realizada por el camino de datos de la CPU
o Escritura del resultado: se accede a la memoria para almacenar.
Las dos etapas que afectan al procesador se realizan en un ciclo cada una. Las otras
tres etapas (1-3-5) ocupan un tiempo equivalente al acceso a la memoria principal.
En lugar de sustituir la memora DRAM por cach, se opta por aplicar la jerarqua de
memoria, que consiste en interponer una pequea memoria ultrarrpida (cach)
entre la CPU y la DRAM.
La CPU realiza una peticin de informacin al controlador de la cach, que se
encarga de trasladar la peticin a la memoria cach. Si sta contiene la informacin
solicitada (presencia) se produce un Acierto, y entrega la informacin a la CPU. En
caso de no encontrarse la informacin (ausencia), se produce un fallo. Entonces se
debe obtener la info de la memoria principal.
La peticin a la memoria principal puede realizarse simultneamente a la peticin a
la cach o cuando se produce el fallo.
11
Bus: se una un sistema subbuses para la interconexin. Tiene una baja ocupacin del
bus principal.
Operacin
L
E
R
L
E
R
L
E
Estado Final
M
M
S
E
M
S
S
E
(I)
R
L
S
E
Accin a realizar
Escritura Obligatoria
Escritura Inmediata a la
memoria principal
(invalidacin en las
dems cachs)
Actualizacin de la
cach
Escritura inmediata a
memoria principal
EL PROTOCOLO FUTUREBUS +
Toma la ventaja del uso de un bus sincrnico, basado en el protocolo MESI pero
implementando post-escritura (copy-back)
Cuando un procesador intenta leer datos de la cach pero el bus est ocupado, la
cach toma la copia del bloque.
Tambin usa cuatro estados:
o Exclusivo modificado (modified en MESI)
o Exclusivo no modificado (exclusive en MESI)
o Compartido no modificado (shared en MESI)
o Invlido (invalid en MESI)
16
EL PROTOCOLO MOESI
Soporta intervencin directa de datos.
Usa cinco estados:
o Exclusivo (E) es un estado de bloque vlido escrito slo por la CPU
o Compartido (S) indica un bloque vlido
o Invlido (I) indica un bloque invlido
o Modificado (M) indica un bloque vlido, escrito por la CPU y por alguna
otra CPU, sin haber sido observado por un controlador de bus o snoop
o El estado propietario (O) indica un bloque vlido, escrito por varias CPU y
controlado por el snoop.
EL PROTOCOLO N + 1
Usa una memoria principal inteligente con un bit de modo de uso mantenido en la
memoria por cada lnea potencial de cach, para indicar cundo una lnea pertenece
a la memoria principal o a la memoria cach (pblica o privada)
Usa tres estados:
o Invlido
o Vlido
o Sucio
--------------------------------------------------------------------------------------------------------------
INTRODUCCIN
El microprocesador Pentium tiene una frecuencia de funcionamiento inicial de 60 y 66
Mhz (112 millones de instrucciones por segundo)
Tiene una cach interna dividida en un bloque de 8 KB para datos y otro independiente
de 8KB para instrucciones.
Verificacin interna de la paridad para asegurar la correcta transferencia de las
informaciones+
Unidad de coma flotante mejorada
Bus externo de 64 bits
Diseo superescalar
17
Est constituido por dos memorias internas, una de instrucciones y otra de datos de
8 KB cada una, independientes entre s.
La organizacin es de tipo asociativo de dos vas. Cada va est configurada por 128
etiquetas correspondiendo a cada una los datos de una lnea (32 bytes).
Las etiquetas tienen un tamao de 22 bits: los 20 de mayor peso es la direccin a la
que desea acceder la CPU y dos bits de atributos (WP y V)
Que sean independientes permite realizar simultneamente una prebsqueda en la
cach de instrucciones y un acceso a una informacin en la cach de datos.
Las cachs son de escritura obligada (Write Back), lo que implica que los resultados
de las operaciones quedan almacenados dentro de la cach hasta que sea preciso
actualizarla.
Nunca se produce fallo y se consigue un ahorro de tiempo
Se usa el algoritmo de sustitucin de lneas LRU
En los sistemas multiprocesador se utiliza el protocolo MESI
UNIDAD DE ENTEROS SUPERESCALAR
La arquitectura superescalar significa que dispone de dos causes para la ejecucin
de instrucciones que manejas nmero enteros. Adems tiene otro cauce para la
ejecucin de instrucciones en coma flotante
Los dos cauces de nmeros enteros estn segmentados en cinco etapas:
o Prebsqueda de instrucciones
o Decodificacin
o Clculo de la direccin afectiva (bsqueda de operandos)
o Ejecucin
o Escritura de los resultados
Los cauces se denominan U (ejecucin de instrucciones simples de tipo RISC) y V
(ejecucin de instrucciones complejas de tipo CISC) y su funcionamiento es
paralelo
Cada cauce posee su UAL (ALU) con un circuito de generacin de direcciones y
una interfaz con la memoria cach de datos exclusivos.
Funcionamiento de la segmentacin
En la primera etapa del cauce, la unidad de prebsqueda manda una direccin al
a cach de instrucciones. Si est la enva a uno de los buffers de prebsqueda
que la pasar a la unidad de decodificacin.
Si entre dos instrucciones no existe dependencia irn una a cada cauce
simultneamente.
El Pentium posee una Unidad de Prediccin de Saltos, para que la ejecucin de
la instruccin de salto no introduzca burbujas en el cauce.
El hecho de introducciones en cada etapa del cause se llama paring
FRU: COPROCESADOR MATEMTICO
Opera en paralelo con la unidad de nmeros enteros compartiendo el bus de sistema
Dispone de un cauce segmentado de 8 etapas que permite obtener resultados en
cada ciclo de reloj:
o Prebsqueda de instrucciones
o Decodificacin
o Clculos de la direccin efectiva
o Ejecucin
18
19
20
no hubo
caso contrario
si es 0
No provoca excepcin
prohbe el reconocimiento de la
interrupcin externa e ignora las
peticiones de interrupciones
mascarables
Post incremento automtico de
ESI y EDI
22
Interrupcin pendiente
El Pentium soporta la instruccin
CPUID
No existe desbordamiento
11: nivel 2 (puede acceder a todos)
10: nivel 2
01: nivel 1
00: nivel 0 (nicamente puede
acceder el SO)
La conmutacin de tareas el libre
No se ignoran los puntos de
parada
No hay paso al modo virtual
No hay excepcin por
desalineamiento
prohbe el reconocimiento de la
interrupcin externa e ignora las
peticiones de interrupciones
mascarables
No hay interrupcin pendiente
Caso contrario
REGISTROS DE SEGMENTO
Hay tres tipos de segmentos en los programas de aplicaciones: de pila, de cdigo, de
datos
Cuando el Pentium trabaja en modo Protegido la direccin lgica o virtual de todos
los elementos accesibles en la memoria est formada por una informacin que
consta de los siguientes campos:
o Selector: son los 14 bits de ms peso que referencia el segmento al que se
desea acceder y con ellos se encuentran la base del segmento, el lmite o
tamao y sus atributos. Los dos bits de menos peso son el campo RPL que
indican el nivel de privilegio del segmento peticionado
o Desplazamiento: es un valor que se aade a la base del segmento para
localizar la direccin que hay que acceder de l.
Cada registro de segmento hace referencia a un tipo de segmento:
o CS: (Segmento de Cdigo), contiene el segmento en curso. El
desplazamiento reside en el Registro Puntero de Instrucciones EIP
o SS: (Segmento de Pila), guarda el valor del selector de pila en curso. El
registro ESP contiene el desplazamiento
o DS: (Segmento de Datos) soporta el valor del selector del segmento de datos
y el desplazamiento viene especificado en el modo de direccionamiento
usado en la instruccin para expresar operandos y el resultado.
23
Base
CS 16
SS 16
DS ES FS GS 16
Desplazamiento
IP
SP
Desplazamiento
MEMORIA SEGMENTADA
CAPTULO 8 (Angulo)
ORGANIZACIN DE LA MEMORIA
Esta organizada en bytes, palabras (2 bytes), dobles palabras (4 bytes) y cudruples
palabras (8 bytes).
La memoria se organiza en posiciones de 32 divididos en 4 grupos de 8
Tambin existen instrucciones que reconoces los siguientes tipos de datos: enteros,
ordinales, enteros BDC empaquetados y sin empaquetar, punteros de direcciones,
campos, cadenas y nmero en coma flotante.
Pentium maneja:
o Segmentos: bloques de memoria variable que contiene informacin de la
misma clase y constituyen el objeto principal sobre el que se basa el
mecanismo de proteccin.
o Pginas: trozos de longitud fija que tienen un tamao de 4 KB o 4 MB
La segmentacin paginada utiliza la paginacin para descomponer los segmentos en
pginas de 4 KB o de 4 MB de tamao, que se distribuyen aleatoriamente en la
memoria fsica. En la memoria principal slo se cargan aquellas pginas del
segmento que va a ser usadas por el procesador.
EL ESPACIO LINEAL
La segmentacin referencia a bloques que tienen todas sus posiciones ordenadas
consecutiva o linealmente.
Tiene el inconveniente de trabajar con segmentos de tamao variable, lo que
complica el mecanismo de transferencia entre las memorias virtual y fsica, as
como la optimizacin en el comportamiento del espacio de la fsica.
26
El fallo del segmento provoca una excepcin que pone en marcha una rutina del SO
que se encarga de trasladar dicho segmento desde la memoria virtual a la fsica.
DESCRIPTORES DE SEGMENTO
Descriptor: en modo protegido es un segmento que queda especificado con tres
parmetros: Base de 32 bits, Lmite o tamao de 20 bits y Atributos de 12 bits.
o Base: donde comienza el segmento
o Lmite: tamao del segmento. En el campo de atributos la granularidad (bit G)
indica si el lmite est expresado en bytes o en pginas.
o Atributo o derecho de acceso: con caractersticas relevantes al segmento:
Bit de presencia (P): indica si el segmento al que referencia el descriptor se
hala en la Memoria Principal o no.
Nivel de privilegio (DPL): campo de dos bits
Clase de segmento (S): 1 es normal, 0 segmento de sistema
Tipo: tres bits que distingue a los segmentos normales y determina el
acceso permitido
Accedido (A):
Granularidad (G)
Defecto/Grande (D/B): permite distinguir los segmentos nativos de 32 bits
para el Pentium. Si D=0 la direccin es de 16 bits.
Disponible (AVL): a disposicin del usuario para diferenciar ciertos
segmentos.
Todos los componentes del descriptor son empleados por la Unidad de
Segmentacin para comprobar si se satisface el conjunto de reglas que protegen a
los segmentos.
TIPOS DE SEGMENTOS NORMALES
De los tres bits que componen el campo TIPO, el bit de ms peso E (Ejecutable)
Si E=1 los otros dos bits son, segmento de cdigo:
o Ajustable o Conforming (C): si C=0 al ser accedido el segmento no cambia
su nivel de privilegio. C=1 se llama segmento ajustable porque toma el
privilegio de quien lo invoc.
o Legible (R): el segmento de cdigo puede leer si R=1
Si E=0 y se hace referencia a un segmento de datos:
o Expansin Decreciente (ED): Si ED=0 se trata de un segmento de datos
normal, lo que supone que el crecimiento se realiza incrementando el valor
de la direccin. Cuando ED=1 se trata de un segmento de pila y su
crecimiento es decrementando el valor de la direccin que apunta a la cima.
o Escribible (W)
TABLA DE DESCRIPTORES
Un sistema multitarea distribuye el espacio de memoria en un rea global, en la que
residen los segmentos comunes a todas las tareas y en un rea local exclusiva para
cada tarea, con los segmentos propios de cada una.
El SO primero distribuye la memoria en las tareas necesarias, posteriormente
deposita los segmentos correspondientes, y despus construye las tablas de
descriptores.
Cada segmento del rea global estar definido por un descriptor, existiendo una
Tabla de Descriptores Globales (GDT)
Existirn tantas Tablas de Descriptores Locales (LDT) como tareas soporte el
sistema.
La tabla de descriptores contiene un mximo de 8 K descriptores de 8 bytes cada
uno (64 KB ocupa la tabla). Se pueden controlar un mximo de 16 K de descriptores
(dos tablas al mismo tiempo)
TI es el bit indicador de tabla. Cuando es uno se selecciona la LDTn, si es cero la
CGDT. Los 13 bits ms significativos del selector (ndice) apuntan a una entrada de
la tabla seleccionada. El valor del ndice se multiplica por 8 para apuntar a la
direccin concreta de inicio del descriptor.
Se puede borrar el contendido de un registro de segmento cargndolo con ceros.
(ndice=0, TI=0)
A partir del selector y a travs de la tabla de descriptores, la Unida de Segmentacin
localiza la base del segmento a la que suma el desplazamiento para obtener la
direccin lineal que se convierte en la fsica.
EL MODO PLANO
Como la segmentacin no puede desactivarse se simula su con plano.
En este modo se puede saltar la restriccin de 64 KB y acceder desde el modo Real, a toda
la memoria por encima del primer MB
Se cargan todos los registros de segmento con selectores que apuntan a las tablas a
descriptores caracterizado porque le valor de su base es 00000000H y el lmite
FFFFFFFFH. As la CPU maneja un nico segmento que abarca todo el espacio lineal.
El procesador maneja 6 segmentos.
--------------------------------------------------------------------------------------------------------------
EL MECANISMO DE PAGINACIN
CAPTULO 9 (Angulo)
INTRODUCCIN
Divide y manipula los programas y los datos en trozos de tamao fijo, llamados
pginas, que no guardan relacin con la estructura lgica
La mayor ventaja de la paginacin se obtiene en la transferencia e intercambio de
elementos entre la memoria virtual y la fsica. El hecho de que las pginas tengan
28
MECANISMO DE PAGINACIN
Para su habilitacin basta con poner a 1 un bit (PG) de uno de los registros de
control (CR0). Para ello se utiliza la instruccin MOV CR0 FFFF, cuando estoy en
modo protegido solamente.
La Unidad de Paginacin traduce la direccin lineal a fsica. Teniendo en cuenta
que el espacio fsico mximo de 4 GB, la paginacin lo descompone en un milln
de pginas de 4 KB.
Los 32 bits de la direccin lineal se llevan a la Unidad de Paginacin. Esta
desarrolla la misma funcin que la segmentacin pero con una tabla de pginas
Para referenciar la base de una pgina bastan 20 bits. A la base se le suma el valor
del desplazamiento, que son los 12 bits de menos peso de la direccin lineal, para
obtener la direccin fsica de 32 bits que apunta a la posicin referenciada en una
pgina de la memoria principal.
Con esta organizacin de la DRAM, la Unidad de Paginacin maneja una tabla de
un milln de entradas en las que se guardara la direccin base de la pgina y sus
atributos.
La tabla tendr un tamao de 1 M 4 bytes = 4 MB
TABLAS DE PGINAS
Quedan definidas por tres parmetros: base, lmite y atributos
La tabla de descriptores de pginas reside en la memoria principal para poder ser
manejada por la CPU
Para reducir el espacio que ocupa la tabla se recurri a una traduccin en dos
niveles:
o Un primer nivel de traduccin soporta la tabla denominada Directorio de
Tablas de Pginas, que consta de 1 K entradas de 32 bits cada una, ocupa 4
KB y controla hasta 1.024 entradas. Estas entradas se seleccionan mediante
los 10 bits de ms peso de la direccin lineal. Cada entrada apunta a otra
pgina que se llama Tabla de Pginas y que tiene la misma estructura que el
Directorio.
El acceso a una entrada del Directorio se calcula sumando a la base (CR3) el
valor de los diez bits de ms peso de la direccin.
Para acceder a las entradas de las Tablas de Pginas se suma a la base el
valor de los 10 bits centrales de la direccin lnea.
o De esta forma slo se necesitan 8 KB (Directorio y Tabla de Pginas 4 KB
cada uno) de la memoria principal para mantener operativa la paginacin.
o Cuando las pginas son de 4 MB la traduccin es slo de primer nivel
porque con el directorio me basta para un 1 MB de direcciones.
o Tiene el inconveniente de la lentitud. Para traducir una direccin lnea a
fsica la CPU debe realizar dos accesos a la memoria para consultar el
Directorio y la Tabla de Pginas y un tercer acceso al dato solicitado.
29
R/W
0
0
1
1
0
1
0
1
Proteccin de
Usuario (nivel
3)
Ninguno
Ninguno
Slo Lectura
Lectura/Escritura
Proteccin de
Supervisor
(niveles 0, 1, 2)
Lectura/Escritura
Lectura/Escritura
Lectura/Escritura
Lectura/Escritura
A (bit accedido)
SIZ: slo es vlido en CR4 y se
llama PSE
D (bit sucio)
R/W (bit de Lectura/Escritura)
U/S (bit usuario/supervisor)
PCD (bit de aceptacin de la
cach)
PWT (bit de escritura obligada)
Cuando vale 1
Cuando vale 0
Indica que la pgina est cargada Indica que la pgina est cargada
en la memoria fsica
en la memoria fsica
Una vez cargada la pgina el S pone P=1, escribe los 20 bits de ms
peso de la entrada con el valor correspondiente a la direccin de la
base de la pgina y actualiza los restantes bits de los atributos.
Cada vez que se accede a dicha
No hubo acceso
pgina. Para usar el algoritmo
LRU
Pginas de 4 MB
Pginas de 4 KB
Se ha escrito en la pgina
Lectura y Escritura
Nivel supervisor
La pgina es cacheable
30
REGISTROS DE SEGMENTO
En cada momento la CPU maneja los segmentos propios de la tarea en curso, que se
hallan situados en el rea local de dicha tareas. Tambin puede manejar segmentos
compartidos por las tareas que se ubican en el rea global.
REGISTROS DE CONTROL
CR0, CR2, CR3 y CR4 son accesibles al programador de sistemas y pueden ser
ledos y escritos mediante instrucciones del tipo MOV desde los registros de
propsito general.
Determinan el modo de operacin del procesador y las caractersticas de la tarea en
ejecucin
CR0: DOBLE PALABRA DE ESTADO DE LA MQUINA (POR BIT)
PG: Paginacin. En modo protegido y en uno est habilitada la Unidad de
Paginacin
CD: Cach desactivada (cach interna)
NW: escritura obligada. NW=0 se pone en marcha la escritura obligada y los siclos
de invalidacin de la cach
AM: Mscara de alineamiento. AM=1 y AC (EFLAG)=1 se permite comprobar si la
palabra est alineada.
WP: Error del coprocesador
TAS: tarea conmutada. En 1 produce una conmutacin de la tarea
PE: habilitacin del modo Protegido.
Pentium no utiliza:
o ET: tarea de coprocesador
o EM: emulacin.
o MP: monitor de coprocesador.
CR2: DIRECCIN LINEAL DE FALLO DE PGINA
Cuando se produce un fallo de pgina, es necesario disponer de nuevo de la
direccin lineal, por lo que se almacena en este registro de control
CR3: BASE DEL DIRECTORIO DE LAS TABLAS DE PGINAS
Es un registro de 32 bits de los cuales 20 corresponden a la base del Directorio de
Pginas de la tarea en curso.
Un bit es el PCD: pgina cacheable y otro PWT: Pgina de escritura obligada
CR4: EXTENSIN DE LA ARQUITECTURA
Sus bits soportan diversas extensiones de la arquitectura
VME: extensin del modo Virtual 8086
PVI: Interrupciones virtuales en modo
Protegido
TSD: desactivacin del time-stamp
DE: depuracin de extensiones:
PSE: extensin del tamao de pgina
MCE: activacin del chequeo de
mquina
PGE: permiso de pginas globales
En 1
Se ampla el soporte para el modo Virtual 86 activando el flag VIF para
interrupciones mascarables
Se activa el soporte que activa el flag VIF para las interrupciones en
modo Protegido
Se permite la ejecucin de esta instruccin slo desde el nivel de
privilegio PL=0
Se activan los puntos de ruptura en el espacio de E/S
Pginas de 4 MB
Se activan las excepciones correspondientes al cheque de la mquina
En 0 se deshabilitan todas las pginas del rea global
33
PCE
REGISTROS DE DEPURACIN
Son 8 registros de 32 bits (DR0-DR7) que usa el programador de sistema para
depurar los programas
Los DR4 y DR5 son de uso reservado para el fabricante
Las direcciones lineales asociadas a cada una de las condiciones de los puntos de
ruptura se almacenan en los registros DR0-DR3.
Las entradas en el registro de control de depuracin DR7 y el registro de estado de
depuracin DR6 controlan el comportamiento del Pentium cuando en la ejecucin
de la instruccin se encuentra un punto de ruptura
Cada registro de direcciones de depuracin tiene en DR7 sus propios campos de
dos bits para la habilitacin de puntos de ruptura de Lectura/Escritura (RWx),
Longitud (LENx) y Local/Global (Lx y Gx)
Los campos R/W toman los valores:
o 00: ruptura en ejecucin de una instruccin
o 01: ruptura en escritura de datos
o 10: operaciones L/E (DE debe ser 1)
o 11: ruptura en escritura o lectura de datos, pero no en la bsqueda de
instrucciones
LENx que especifica la longitud del campo que est siendo vigilado:
o 00: un byte
o 01: dos bytes
o 10: no utilizado
o 11: cuatro bytes
Lx representan las habilitaciones locales de las condiciones x de los puntos de
ruptura.
Gx representan las habilitaciones globales de las condiciones x de los puntos de
ruptura.
DR7 tiene adems tres bits ms llamados LE, GE, GD:
o GD en 0 deshabilita la proteccin de los registros de depuracin. Uno es
caso contrario. Este bit es puesto a cero cuando entra al manipulador de
excepciones
DR6 permite determinar las condiciones que se han producido con el error a
depurar.
o Cuando se detecta una excepcin de depuracin habilitada, el bit asociado
Bn se pone en 1. Est formado por
o El campo BT que funciona como un bit de excepcin en depuracin que se
guarda en la primera posicin del TSS. Se pone en 1 antes de introducir al
manipulador de depuracin, si se ha producido una excepcin de depuracin
por una conmutacin de tareas y el bit de excepcin del TSS est a 1.
o BS funciona con el bit del sealizador de excepcin del TF. Se pone en 1
cuando el manipulador de depuraciones acta como resultado de una
ejecucin paso a paso.
o BD indica si la siguiente instruccin leer o escribir
34
INTERRUPCIONES Y EXCEPCIONES
CAPTULO 14 (Angulo)
CONCEPTOS GENERALES
Las interrupciones y excepciones son acontecimientos que provocan la desviacin el
flujo de control de la CPU
Las interrupciones son acontecimientos externos
Las excepciones son provocadas automticamente como consecuencia de alguna
anomala en la CPU
Para manejar las interrupciones y las excepciones hay una Tabla de Interrupciones
(IDT) de 256 entradas. Esta ocupa un segmento cuya base y lmite estn contenidos
en el Registro de Tablas de Descriptores de Interrupciones IDTR
35
TIPOS DE INTERRUPCIONES
INTERRUPCIONES EXTERNAS
Se trata de seales elctricas por componentes hardware externos, que provocan la
activacin de una de las patitas del Pentium. Esta activacin es destacada por el
Controlador de Interrupciones Programables Avanzado local (APIC)
Las patitas de Pentium que soportan interrupciones externas son la INTR y la NMI:
o NMI: es una interrupcin no mascarable (no puede ser ignorada)
o INTR: es una interrupcin mascarable (puede ser atendida o ignorada por la
CPU). Su aceptacin y ejecucin depende del valor del flag IF
INTERRUPCIONES INTERNAS
Son interrupciones que se provocan a travs de software
Las instrucciones que pueden provocar este tipo de interrupciones son INT n e
INTO
o INT n permite que se genere una interrupcin no marcarable suministrando
el nmero del vector de interrupciones de la IDT como un operador
o INTO comprueba el valor del sealizador OF, si vale 1 se producir una
interrupcin que es atendida por la entrada cuatro de las IDT
TIPO DE EXCEPCIONES
Se clasifican en:
o Faltas o errores: que se encargan de corregir la anomala producida al
intentar ejecutar una instruccin. El programa retorna a la instruccin que
provoc la excepcin.
o Trampa: se generan tras la finalizacin de la instruccin. Permite continuar
con la ejecucin del programa y retorna a la siguiente instruccin a la que
provoc la excepcin.
o Aborto: son aquellas excepciones generadas por la CPU en las que no se
sabe la localizacin exacta de la instruccin que la origin.
DESCRIPCIN
FLAG
CAUSA
CDIGO
ERROR
No
CLASE
No
Falta/trampa
DE
Error de divisin
#DE
Excepcin de
#DB
DIV
IDIV
(divisin por 0 o no entra el rsultado
Cualquier cdigo/dato de
Falta
36
2
3
4
5
6
7
depuracin
Interrupcin
NMI
Punto de ruptura
Desbordamiento
Comprobacin
de lmites
Cdigo OP no
vlido
-#BP
#OF
#BR
#UD
referencia/INT1
Interrupcin externa no mascarable
No
Interrupcin
No
Trampa
No
No
Trampa
Falta
No
Falta
No
Falta
S (cero)
Aborto
No
Falta
Si
Falta
Si
Falta
Si
Falta
Si
Falta
Si
Falta
No
--
Coprocesador
matemtico no
disponible
Doble falta
#NM
Desbordamiento
del segmento del
coprocesador
--
10
TSS no vlido
#TS
11
Segmento no
presente
#NP
12
Excepcin en la
pila
#SS
13
Proteccin
general
#GP
14
Fallo de pgina
#PF
15
Reservado por
Intel
Error de coma
flotante FRU
Comprobacin
de alimentacin
Comprobacin
de la mquina
--
#MF
No
Falta
#AC
Si (cero)
Falta
No
Aborto
No
Falta
--
--
---
16
17
18
19
30-31
Excepcin de
coma flotante
SIMD
Reservados por
Intel
#DF
#MC
#XF
--
37
32-255
Interrupciones
definidas por el
usuario.
--
Clase
Excepciones benignas
Excepciones contribuyentes
Falta de pginas
--
Interrupcin
Nmero de vector
1-2-3-4-5-6-7-8-9-16-17-18-19
0-10-11-12-13
14
Benigna
Excepcin
Excepcin
Excepcin
Segunda excepcin
Contribuyente
Falta de pgina
Excepcin
Excepcin
Doble falla
Excepcin
Doble falla
Doble falla
CDIGO DE ERROR
Cuando se produce una interrupcin o excepcin el procesador coloca en la cima de
la pila del gestor de interrupciones un cdigo de error, mediante el cual la CPU sabe
cul es el origen de la interrupcin o excepcin y donde tiene que acceder para
tratarla.
Antes de ejecutarse la instruccin de retorno de la interrupcin a la tarea principal
(IRET) se deber sacar de la pila los cdigos de error que se han producido y
atenderlos
El cdigo de error consta de:
o Bit 1: EXT indica el origen del error. Interrupcin (1) o excepcin (0)
o Bit 2: IDT: indica que el error se ha producido en la tabla IDT (1) o en la
GDT o LDT (0)
o Bit 3: indica que el error proviene de la GDT (0) y de la LDT (1)
o 3-15: ndice: indica la entrada de la tabla correspondiente que produjo el
error
o 16-31 no usado
Descripciones
Reset del hardware y comprobacin de la mquina
Depuracin en le cambio de tareas
Intervenciones de hardware externos
Depuracin de la instruccin previa
Interrupciones externas
Faltas procedentes de la captura de la instrucciones
Falta precedente de la codificacin de las instrucciones
Faltas de la ejecucin de una instruccin
INTRODUCCIN
El procesador del Pentium combina un bus cach L2 dedicado de alta velocidad ms
un bus del sistema con anticipacin que hace posible mltiples transacciones
simultneas. Al ser independientes Pentium est habilitado para acceder a datos
desde cualquier de sus buses simultneamente y en paralelo.
El bus puede funcionar en modo pipeline lo que le permite comenzar un segundo
ciclo de bus antes de haber terminado el primero
Las acciones del procesador se realizan en forma sincronizada y controladas por una
unidad interna del procesador llamada Unidad de Interfaz con el Bus
Un estado de bus (T) es el tiempo mnimo en el que la CPU puede realizar una
operacin elemental y dura un perodo de CLK
Tipos de ciclos de bus:
o Ciclo de bus en modo Sencillo o Simple (No Burst)
o Ciclo de bus en modo rfaga (Burst Bus Cycle): para transferir grandes cant
o Ciclos especiales: reconocimiento de interrupciones, shutdown, etc.
El ciclo de bus queda definido con las seales de control del ciclo de bus: M/IO#,
D/C# y W/R#
Cada vez que se activa ADS# comienza un nuevo ciclo de bus y al mismo tiempo
aparece una direccin vlida por las lneas A3-A31/BE0#-BE7#
Cuando el procesador no est realizando ningn ciclo de bus, significa que est en
estado de reposo (Ti) o en estado de reconocimiento de HOLD (Tn)
CICLOS DE MEMORIA
POSIBLES ESTADOS DE UN CICLO
El bus del procesador Pentium tiene seis estados de bus:
o Ti Estado de Reposo o Inactividad: no se esta ejecutando ningn ciclo
o T1 Tiempo de defeccionado: estado correspondiente al primer ciclo de reloj
de un ciclo de bus
o T2 Tiempo de transferencia de datos: segundo estado del ciclo de reloj de un
ciclo de transferencia de bus
o T12 Tiempo de diseccionado (segundo ciclo en modo pipeline) y tiempo de
datos (primer ciclo ya en progreso): hay dos ciclos de bus pendientes. El
procesador est todava en el T2 y ha comenzado el T1 para el prximo ciclo
en modo pipeline
40
42
Los accesos a direcciones de E/S se permiten con un tamao mximo de 32 bits, los
restantes 32 bits del bus de datos de Pentium quedan sin uso.
El Pentium identifica un ciclo de bus de E/S por la seal M/IO# a nivel bajo
DIRECCIONAMIENTO DE E/S
Modos de acceso:
o Usando las instrucciones E/S
o Usando las instrucciones de propsito general, lo cual requiere de mapear la
memoria de E/S
ACCESO DIRECTO A E/S
Si el Pentium desea accede a un puerto, pasa a nivel bajo la patita M/IO#
Por medio de RD/WR# se determina la direccin de la transferencia como lectura o
escritura
ACCESO MEDIANTE MEMORIA E/S MAPEADA
Se pueden usar todas las instrucciones que permitan acceder a memoria.
Mapeando el rea de E/S en memoria se pueden utilizar todas las instrucciones
generales, para acceder a la misma.
REPERTORIO DE INSTRUCCIONES
CAPTULO 17 (Angulo)
TIPOS DE DATOS
Los tipos de datos son: byte, palabra, doble palabra y cudruple palabra.
Los bytes de ms peso ocupan las direcciones ms altas de la memoria.
Los datos que manejan las instrucciones de Pentium se pueden clasificar en:
o Entero y ordinales: son nmeros con y sin signo, para instrucciones
aritmticas.
43
MODO DE DIRECCIONAMIENTO
Formas que dispone Pentium para referenciar los operando de sus instrucciones:
o Modo de direccionamiento inmediato: Instruccin registro, operando
inmediato (el operando reside en la propia instruccin)
o Por registro: Instruccin registro (el operando reside en un registro interno
del procesador)
o Modo de diseccionado en memoria: el operando reside en la memoria.
Cuando se trabaja con 32 bits, el Pentium calcula la direccin efectiva del
operando mediante:
Direccin = variable + registro base + registro ndice * factor escalar + desplazamiento
Variable: permite precisar un identificador:
Registro Base: apunta al comienzo de una estructura de datos de direccin
variable
Registro ndice: mueve el apuntador dentro de las estructuras de datos para
acceder a los diferentes campos.
Factor escala: tiene en cuenta el tamao del elemento
Desplazamiento: se usa para seleccionar un dato de direccin conocida.
o Cuando se trabaja con operando de 16 bits se emplea:
Direccin = variable + registro base + registro ndice + desplazamiento
o Las instrucciones que introducen o sacan datos por la puerta de E/S
disponen de un operando que especifica la posicin de stas en el espacio de
E/S
44
INSTRUCCIONES ARITMTICAS
AAA: despus de realizar una suma, ajusta el ltimo byte del resulta a BCD
AAD: ajusta el dividendo para que proporcione el resultado en formato cocienteresto
AAM: ajusta el resultado de dos BCD a BCD
AAS: despus de realizar una resta, ajusta el ltimo byte del resulta a BCD
DAA: tras sumar dos BCD, transforma dicho resultado en dos dgitos BCD
DAS: igual que DAA pero con resta
ADD: suma dos operandos
ADC: suma dos operando y el acarreo
SUB: resta dos operandos
SBB: resta el minuendo del sustraendo ms el acarreo
DEC: decrementa
INC: incrementa
MUL: multiplica el operando, sin signo, por AL, AX o EAZ dejando el resultado en
AX, EAX o EDX:EAX
IMUL: multiplica los operando con signo
45
INSTRUCCIONES LGICAS
AND-OR-XOR-NOT
ROL/ROR: rotacin a la izquierda o derecha de los bits del primer operando, tantas
veces como lo indique CL u otro operando.
RCL/RCR: rotacin a izquierda o derecha de los bits del primer operando junto con
el acarreo, el nmero de veces especificado por CL
TEST: realiza la operacin lgica AND de los operandos, sin resultado. Slo afecta
a los sealizadores
SAL/SAR: desplazamiento aritmtico a izquierda o derecha
SHL/SHR: desplazamiento lgico (sin preservar el bit de signo) a izquierda o
derecha
NUEVAS INSTRUCCIONES LGICAS DE PENTIUM
SHLD: desplaza el contenido del primer y segundo operando, conjuntamente, a
izquierda el nmero de veces especificado en el tercer operando.
SHRD: realiza el desplazamiento a derecha
INSTRUCCIONES DE BIT
BT: asigna a CF el valor del bit del primer operando, quedando especificada su
posicin por el segundo operando.
BRC: realiza la misma operacin que BT, pero tambin complementa el bit
especificado en la instruccin
BTR: igual que BT, pero pone a 0 el bit especificado en la instruccin
BTS: opuesto BTR
BSF: si todos los bits recorridos de menor a mayor peso, del primer operando,
especificado por el segundo, son cero Z=1. si se encuentra algn bit a 1, Z=0,
guardando en el primer operando la posicin del primer bit a 1 que se haya
encontrado
48
BSR: igual que la anterior instruccin, pero la exploracin se realiza desde el bit de
ms peso al de menos peso.
INSTRUCCIONES MULTISEGMENTO
OTRAS INSTRUCCIONES
NOP: no efecta operacin alguna
LOCK: impide la cesin del bus hasta la finalizacin de la instruccin con LOCK
PENTIUM PRO
CAPTULO 20 (Angulo)
CARACTERSTICAS GENERALES
INTRODUCCIN
Arquitectura de 64 bits
Contiene dos chips: no para el procesador y el otro para la cach de segundo nivel
La frecuencia de reloj tuvo como lmite superior 200 Mhz, partiendo de un mnimo
de 150 Mhz.
Bus de direcciones de 36 lneas capaz de direccional hasta 64 giga bytes
Desventajas:
o Alto precio de fabricacin
o La micro arquitectura utilizada estaba optimizada para software de 32 bits.
o Un consumo de energa y disipacin de calor elevados.
Microprocesador con los siguientes aspectos arquitectnicos:
o Integracin total de una cach de segundo nivel con el procesador
o Potenciacin del paralelismo mediante la ejecucin dinmica de las
instrucciones fuera de orden
50
NUEVAS INSTRUCCIONES
Mover datos condicionalmente, esto permite que las bifurcaciones de datos
dependientes sea eliminada.
PENTIUM II
CAPTULO 22 (Angulo)
CARACTERSTICAS GENERALES
INTRODUCCIN
Emplea como soporte la ranura Slot One y el encapsulado SECC (Single Edge
Contact Cartridge)
La memoria cach L2 y algunos componentes auxiliares estn soportados sobre una
tarjeta de circuito impreso
Al no contener la cach L2 su rendimiento es mejor que el de Pentium-Pro
233 y 266 Mhz
Otras cualidades:
o Arquitectura de bus dual e independiente
o Tecnologa MMX
o Tecnologa de ejecucin dinmica
o Cartucho de contactos de contacto simple
Caractersticas que potencia el procesador en el clculo de coma flotante, las
operaciones multimedia, y el clculo con nmeros enteros.
53
54
Cuando detecta y ejecuta por primera vez una instruccin de bifurcacin apuntan en
una tabla (BTB), la direccin de la instruccin, la direccin del salto y un histrico
que indica la ltima vez que se ha realizado un salto o no.
La primera vez que se trata una de estas instrucciones condicionales se especula el
resultado del destino con una poltica prefijada. Las siguientes veces se hace la
especulacin segn resultados anteriores
La BTB tiene 512 entradas, organizadas como una cach asociativa de cuatro vas
NUEVAS INSTRUCCIONES
INSTRUCCIONES MMX
La tecnologa MMX posibilita al procesador mejorar la ejecucin de aplicaciones en las
que se maneja audio, video y grficos a travs del procesamiento de datos en
paralelo.
--------------------------------------------------------------------------------------------------------------
PENTIUM IV
CAPTULO 24 (Angulo)
CARACTERSTICAS GENERALES
NUEVAS INSTRUCCIONES
Las nuevas instrucciones SSE2 constan de 144 nuevas instrucciones de tratamiento
de datos enteros y reales en simple y doble precisin.
El tamao de los operandos es de 128 bits, duplicando la longitud de palabra
La ventaja es el aumento de rendimiento en la reproduccin de audio y video.
Adems facilita la codificacin y cifrado de informacin con claves de gran
longitud.
55
ITANIUM
CAPTULO 25 (Angulo)
CARACTERSTICAS GENERALES
INTRODUCCIN
64 bit pudiendo direccionar ms memoria (16 terabytes)
Procesa el doble de instrucciones por ciclo.
ARQUITECTURA BSICA
Frecuencia de 733 y 800 Mhz.
Realiza hasta seis instrucciones a la vez
La etapa fetch (que se encarga de las predicciones) est basada en:
o Prediccin: prediccin en ramas
o Especulacin: puede cargar instrucciones y datos a la CPU antes que sean
necesarios limitando los efectos de las burbujas.
En la segunda etapas, se dirigen hacia la zona donde se manejan los registros que
consta de un juego de 128 registros para nmeros enteros (de 64 bits cada uno) , 128
registros para nmeros en coma flotante (de 82 bits cada uno), 8 registros para
saltos y varios registros con diversas funciones. El bloque Snack Engine se encarga
de reducir el tiempo para las llamadas y retornos de subrutinas.
Despus pasa a la etapa de Recursos paralelos (etapa de ejecucin) donde existen
cuatro unidades de nmeros enteros, cuatro para instrucciones MMX, la FRU con
dos FMACS y la tabla ALAT con 32 entradas para direcciones adelantadas.
Las etapas de bsqueda de instrucciones, prediccin de saltos y buffer de
desacoplamiento constan de los siguiente bloques funcionales:
o IPG: generacin de instrucciones
o FET: bsqueda de instrucciones
o ROT: rotacin de registros para generar las burbujas necesarias para evitar la
dependencia de datos.
En las etapas de emisin de instrucciones y renombrado de registros residen:
o EXP: tiene como misin repartir las seis instrucciones por los diferentes
puertos
o REN: renombra los registros en los lugares adecuados de la pila, para
optimizar su tamao
Las etapas de acceso a operandos, y marcaje y prediccin consta de:
o WLD: decodificacin
o REG: lectura de operandos
Para la ejecucin y terminacin de instrucciones:
o EXE: ejecucin
o DET: deteccin de excepciones
o WRB: Post-escritura
Procesador de 64 bits
Memoria cach: L1 de 32 KB y L2 de 96 KB integrados. Una externa de 2 a 4 MB
Mejora en operaciones de coma flotante: 128 registros de 82 bits
Compatibilidad con las instrucciones de 32 bits
Registros de monitorizacin de prestaciones
Un elevado nmero de registros
EPIC (Explicitly Parallel Instruction Computing): quince unidades de ejecucin.
Capaces de ejecutar hasta 20 instrucciones por ciclo de reloj. EPIC puede indicar al
procesador qu elementos del programa pueden ser ejecutados con total paralelismo
NUEVAS INSTRUCCIONES
Compatibilidad con las instrucciones de tipo IA-32. que son paquetes de
instrucciones de 128 bits que pueden albergar hasta tres instrucciones.
Se usan tcnicas para la mejora del procesamiento. La principal es la del
procesamiento de ms de una instruccin en la misma ranura de tiempo.
57