Está en la página 1de 68

Organizacin del Computador I

[OC I]
UNGS - Licenciatura en Sistemas / Tecnicatura Superior en Informtica
Unidad 5: ORGANIZACIN DE LA COMPUTADORA PERSONAL
Ing. Matas Vazquez H.

Hamming:
Deteccin

y Correccin de

errores.
Bit

de paridad.

Distancia.
Codificacin.

Arquitectura general Intel

Organizacin del Computador I [OC I]

Deteccin de errores
En todo sistema de transmisin, independientemente de
cmo haya sido diseado, existe ruido, el cual da lugar a
errores que pueden modificar uno o varios bits que se
desean transmitir.
La deteccin y correccin de errores son necesarias para
recuperar prdidas o deterioros de los datos, manteniendo
as la integridad de los mismos a travs de canales ruidosos y
medios de almacenamiento poco confiables.

Organizacin del Computador I [OC I]

Organizacin del Computador I [OC I]

Deteccin de errores
Las tcnicas de deteccin de errores no identifican cul bit
(o bits) es errneo, solamente indica que ha ocurrido un
error.
El propsito no es impedir que ocurran errores, pero
previene que los errores no detectados ocurran.

Las tcnicas de deteccin de errores ms comunes usadas para


los circuitos de comunicacin de datos son:
Comprobacin
de paridad

Redundancia
cclica

Codificacin
de cuenta
exacta

Organizacin del Computador I [OC I]

Chequeo de Paridad :
longitudinal,
bidimensional y vertical

Deteccin Vs. Correccin de errores


Tcnicas de
deteccin y
correcin de
errores

Deteccin

Cdigo de
Paridad

Correccin

Cdigos de
bloques

Cdigos de
bloques

Lineales

Lineales

Cclicos

Cclicos

Chequeo Ciclico
Redundante
(CRC)

Chequeo Ciclico
Redundante
(CRC)

Cdigo
Convolucionales

Cdigo de
Hamming

Organizacin del Computador I [OC I]

Deteccin y correccin de errores


Cdigo Hamming:
Al dato que se quiere almacenar o transmitir se le agrega una cantidad
de bits de paridad.
Al evaluar la palabra codificada (dato original + bits de paridad) se
pueden detectar errores de 2 bits y corregir errores de 1 bit.

Organizacin del Computador I [OC I]

Richard Wesley Hamming


Program el computador que realizo los campos para la 1ra. Bomba
Atmica.
En 1950, trabajando en los laboratorios Bell junto a Shannon,
desarroll y pblico la teora de codificacin.
Fue el Precursor de los lenguajes de programacin de alto nivel.
Su descubrimiento fue uno de los ms importantes en la ciencia de la
informtica.
Su mtodo permite identificar un bit errneo en una palabra
codificada (en binario). Esto es, si un bit es incorrecto, por ejemplo:
el cambio de un 1 por un 0 en una transmisin, podemos no solo
detectar el bit errneo, sino adems corregirlo.
Organizacin del Computador I [OC I]

Correccin de Errores

FEC (Forward Error Correction)

Significa correccin de errores a posteriori y se utiliza en sistemas


sin retorno o sistemas en tiempo real donde no se puede esperar a
la retransmisin para mostrar los datos.

Bsicamente consiste en codificar en el transmisor cada bloque de


k bits de la trama en palabras de n bits, siendo n>k. El receptor
decodifica las palabras en los bloques originales aunque stos
tuviesen algn error.

Organizacin del Computador I [OC I]

Correccin de Errores

FEC.

Los bits aadidos, conocidos como de redundancia, hacen posible detectar errores
y deducir el dato que se transmiti.

Organizacin del Computador I [OC I]

Correccin de Errores

FEC a bloques.

Se denomina Distancia Hamming entre dos cdigos al nmero de


smbolos en que se diferencian.

Peso de una palabra: nmero de unos que tiene.

Distancia de hamming: Nmero de bits en que difieren dos palabras.

Organizacin del Computador I [OC I]

Correccin de Errores

FEC a bloques: Distancia Hamming


10001110

11100101

00111000

11110111

d=5

d=2

Comprobacin: Peso de la suma de las 2 palabras.

10001110
+00111000
= 10110110 (peso 5)

Organizacin del Computador I [OC I]

11100101
+11110111
=00010010 (peso 2)

Correccin de Errores

FEC a bloque. Distancia Hamming.


Cuanto

mayor sea la distancia de hamming entre dos


palabras, ms difcil ser que un error en la
transmisin convierta una en la otra, ya que ser
necesario alterar d bits.

Un

cdigo de distancia hamming d ser capaz de


detectar errores en d-1 bits.

Un

cdigo de distancia hamming d ser capaz de


corregir errores en (d-1)/2 bits.

Para

corregir errores en d bits har falta un cdigo


con distancia de hamming 2d+1.
Organizacin del Computador I [OC I]

Correccin de Errores

FEC a bloques: Hamming.


Cdigos

de control de paridad.

Se

aade un bit de paridad al final de la palabra de forma que


el nmero total de unos, incluido el bit de paridad sea par
(paridad par) o impar (paridad impar).

Paridad par:

1011000 + 1

Paridad impar: 1101011 + 0

Este

cdigo tiene una distancia de hamming igual a 2, as que es


capaz de detectar errores en 1 bit.

Organizacin del Computador I [OC I]

Correccin de Errores

FEC a bloques: Hamming.


Cdigos

de control de paridad.

Si

la transmisin se realiza por bloques, se pueden aadir


bits de paridad adicionales.

Distancia

de hamming 4. Puede corregir errores en 1 bit y


detectar errores en 1, 2 3 bits.

Organizacin del Computador I [OC I]

Cdigo BINARIO

Sistema de representacin numrica de base dos, es


decir, que utiliza dos dgitos (el cero 0 y el uno 1).

El cdigo binario se utiliza con variados mtodos de


codificacin de datos tales como cadena de caracteres o
cadenas de bits. Todos los datos son transmitidos en su
equivalente en binario.
Si se agrupan reciben el nombre de:
Nibble: 4 bits.
Byte: 8 bits.
Palabra: 16 bits.

Organizacin del Computador I [OC I]

Comprobacin de paridad

Este mtodo de deteccin de errores es el mas sencillo


y utilizado y consiste en agregar un BIT de paridad al
final del bloque de datos.

La regla que puede ser utilizada es:


Paridad PAR: el nmero de 1s incluyendo al BIT de
paridad es PAR.
Paridad IMPAR: el nmero de 1s incluyendo al BIT
de paridad es IMPAR.

Organizacin del Computador I [OC I]

Comprobacin de paridad
Sea el caracter G=1110001
Si se utiliza paridad para transmitir este carcter, se tendr:
G= 1110001P
a) Si P es paridad par, G= 11100010
b) Si P es paridad impar, G= 11100011

Organizacin del Computador I [OC I]

Comprobacin de paridad
Generalmente se utiliza:

Paridad par: para comunicaciones sncronas, la cual se


utiliza transferir grandes volmenes de datos.
Paridad impar: para comunicaciones asncronas, la cual se
utiliza para transferir bajos volmenes de datos.
Desventaja de la comprobacin de paridad

Solo permite detectar errores impares, es decir, que cuando se


recibe un nmero par de bits errneamente, el chequeador de
paridad no lo detectar. Por lo tanto, la paridad en un perodo
largo de tiempo, slo es efectivo en un 50%.
Organizacin del Computador I [OC I]

Comprobacin de paridad
En la salida de este arreglo de XORs
habr un 1 cuando las entradas no
son iguales y 0 cuando son
iguales. Entonces si se desea
paridad par, se hace el BIT
polarizado en 0 e impar en 1.
ste mismo sirve tambin como
chequeador.

Organizacin del Computador I [OC I]

Comprobacin de paridad
El control de errores hace referencia a los
mecanismos necesarios para la deteccin
y la correccin de errores que aparecen
en la transmisin de tramas, donde uno
de ellos es el cdigo Hamming.

Organizacin del Computador I [OC I]

Cdigo Hamming
Es un cdigo detector y corrector de errores que se usa
actualmente. Consiste en agregar bits al mensaje de tal
forma que permita el control de los errores.
Dentro de las caractersticas que presenta este cdigo se
pueden mencionar las siguientes:
Puede detectar errores con cambios de 1 o 2 bits.
Permite corregir, cambios de un solo bit.
La paridad del cdigo puede ser par o impar.

Organizacin del Computador I [OC I]

Cdigo Hamming
Los bits necesarios para el cdigo Hamming se dividen en dos
grupos; m bits de informacin y k bits de chequeo o paridad, por
lo que, el tamao del dato a transmitir debe ser n= m+k bits, y a
su vez este debe cumplir con la siguiente ecuacin:

2 m + k +1

I7

I6

I5

C4

I3

C2

Cdigo Hamming para siete bits


Organizacin del Computador I [OC I]

C1

Cdigo Hamming
Para el caso de un cdigo Hamming de 7 bits se realizan
tres grupos de deteccin y correccin formado por cuatro
bits cada uno, los cuales siempre deben tener paridad par:
PARIDAD PAR

D6

D5

D4

D3

D2

D1

D0

I7

I6

I5

C4

I3

C2

C1

C4: 4, 5, 6, 7

I7

I6

I5

C4

I3

C2

C1

C2: 2, 3, 6, 7

I7

I6

I5

C4

I3

C2

C1

C1: 1, 3, 5, 7

Formacin del cdigo Hamming para siete bits


Organizacin del Computador I [OC I]

Cdigo Hamming
Ejemplo:

Se ha recibido el dato 1100100, el cual esta codificado en


Hamming de 7 bits con paridad par, y es necesario detectar y
corregir los bits con errores.
Solucin:
El dato recibido es 1100100, si se compara con la tabla de
formacin del cdigo se tiene que:

I7

I6

I5

C4

I3

C2

C1

Organizacin del Computador I [OC I]

Cdigo Hamming
Se puede observar que dicho dato no corresponde a ninguno de
los tres grupos de deteccin, sin embargo se asemeja al grupo
formado por los bits 2,3,6,7.
I7

I6

I5

I3

C4

C2

C1

Grupo formado por los bits 2,3,6,7

Comparando el dato recibido con este grupo:


Cdigo Hamming:
Dato recibido:

1100110
1100100

De esta manera se determina que el dato original es


1101 y el bit que sufri cambio fue el bit 2 (C2).

Organizacin del Computador I [OC I]

Cambi

Cdigo Hamming
Errores simples:
Corrige los datos sin necesidad de retransmisin
Errores dobles:
Son detectados pero no se corrigen los bits de
comprobacin extra

Organizacin del Computador I [OC I]

Cdigo Hamming: resumen


Para detectar D bits de error es necesario un cdigo que
tenga distancia mnima D+1.
Distancia entre 2 combinaciones binarias: Viene dada por
el numero de bits que hay que cambiar en una de ellas
para obtener la otra.

Organizacin del Computador I [OC I]

Cdigo Hamming: resumen


Hamming diseo un mecanismo para generar un cdigo con
distancia mnima 3 a partir de cualquier cdigo mediante el
agregando de varios bits adicionales de paridad.
Los cdigos formados a partir de este mecanismo se llaman:
cdigo de Hamming.
Si tengo N bits de informacin I, debo agregar P bits de
paridad, para poder luego verificar la autenticidad del
dato. Esto siguiendo la siguiente ecuacin:

2p I + P + 1
Organizacin del Computador I [OC I]

Cdigo Hamming: resumen


Esta ecuacin relaciona la cantidad de caracteres de deteccin
y correccin necesarios para poder encontrar un error, dos
errores, etc. y/o corregir uno o varios errores. Evidentemente,
deber mantenerse el valor de P lo menor posible para cumplir
con la tarea propuesta.
C, es el nmero de caracteres que pueden ser corregidos en
el cdigo.
D, es el nmero de caracteres de informacin errneos que
pueden ser detectados.
P, es el bit de paridad que va a validar el dato.
Organizacin del Computador I [OC I]

Cdigo Hamming: resumen


Hamming propuso, para cdigos correctores de error, ordenar los bits de
validacin (Pi), en las ubicaciones que son potencias de dos y los datos
(Di), en las restantes posiciones:

Posicin de bits de datos y bits de validacin.


Al codificar un nmero, cada bit de validacin deber producir la paridad
de un determinado nmero de posiciones. Al comprobarse la exactitud de
una transmisin, se comprobarn esas mismas posiciones y se obtendrn
los bits de validacin (Ci) correspondientes. Su valor decimal equivalente
indicar la posicin en la que ocurra un error.
Organizacin del Computador I [OC I]

Cdigo Hamming: resumen


Bits de validacin para un dato de 7 bits.
Del anlisis de ubicaciones de posiciones errneas se puede determinar qu
posiciones debe probar cada bit de validacin (paridad). As, si una
comprobacin produce un uno en la posicin 1, se podrn probar las
siguientes posiciones:

El bit de posicin C1 indicar errores en las posiciones 1, 3, 5, 7, y 9.


Organizacin del Computador I [OC I]

Cdigo Hamming: resumen


Por lo tanto, el bit de validacin C1 podr probar solamente las posiciones
1, 3, 5, 7, 9, etc.
Del mismo modo, un uno en la posicin 2 significar un posible error en
las siguientes posiciones:

El bit de posicin C2 indicar errores en las posiciones 2, 3, 6, 7, y 10.


Organizacin del Computador I [OC I]

Cdigo Hamming: resumen


Por lo tanto, el bit de validacin C2 podr probar solamente las posiciones 2,
3, 6, 7, 10, etc.

Si el bit de validacin 4 est en uno se probaran las posiciones:

El bit de posicin C4 indicar errores en las posiciones 4, 5, 6, 7, y 12.

Organizacin del Computador I [OC I]

Cdigo Hamming: resumen


Entonces, el bit de validacin C4 puede probar solamente las
posiciones 4, 5, 6, 7, 12, etc.
As, se puede seguir determinando las posiciones que prueba cada
bit de validacin de un cdigo corrector tipo HAMMING de
cualquier longitud, lo cual se resume en el siguiente cuadro:

Bits de posiciones Ci correctores de Errores.


Organizacin del Computador I [OC I]

Cdigo Hamming: resumen


En la prctica, se usa frecuentemente la codificacin de cuatro bits de datos,
por lo que se requieren 3 bit adicionales de validacin y el ordenamiento sera el
siguiente:

Los bits de validacin Pi y de datos a enviar, para lo cual se codificarn los bits
Pi, y despus se verificarn los bit Ci para las siguientes posiciones:

Equivalencia de los bits de validacin Pi y los bits de posicin Ci.


Organizacin del Computador I [OC I]

Cdigo Hamming
Ejemplo 1:
Codificar en un sistema corrector de errores tipo Hamming el
dato 0111.

P1 debe producir paridad par en las posiciones: 1,3,5,7


(p1,0,1,1), por lo que P1 debe ser 0.
P2 (P2,0,1,1) indica que P2= 0
P4 (p4,1,1,1) indica que P4= 1
Por lo tanto, el nmero codificado deber ser: 0 0 0 1 1 1 1
Organizacin del Computador I [OC I]

Cdigo Hamming
Ejemplo 2:
Si en la transmisin del dato anterior se produjo un error en la
posicin 6 y se recibi.

Dato recibido con error en la posicin 6.

Cul es el nmero correcto?


Calculando los bit de validacin Ci se llega a:
C1 (0, 0, 1, 1 ) C1= 0
C2 (0, 0, 0, 1 ) C2= 1
C4 (1, 1, 0, 1 ) C4= 1
Por lo cual, el error est en C4C2C1= 110
o sea en la posicin 6 y el dato correcto es 0001111
Organizacin del Computador I [OC I]

Cdigo Hamming
Ejemplo 3:
Si se recibe el nmero 0000111 codificado en Hamming, cual es
el realmente transmitido?

C1 (0, 0, 1, 1 ) C1= 0
C2 (0, 0, 1, 1 ) C2= 0
C4 (0, 1, 1, 1 ) C4= 1
El error est en C4C2C1= 100 equivalente a la posicin 4, y el mensaje
transmitido fue 0001111.
De lo establecido anteriormente slo queda recalcar que un mensaje
ha sido correctamente transmitido si en el clculo de los bit de
validacin Ci, todos estos generan un resultado nulo. Es decir, si
C1C2C4= 000 no hubo error en la transmisin y el mensaje es
correcto, (no hay ninguna posicin con error).
Organizacin del Computador I [OC I]

Organizacin del Computador I [OC I]

Arquitectura del 8086


Organizacin del Computador I [OC I]

Interface de Memoria

Arquitectura del 8086


0

6
5
4
3
2
1

Sumador Direccin
15

ES (Extension Segment)
CS (Code Segment)
SS (Source Segment)
DS (Destination Segment)
IP (Instruction Pointer)

BIU (Bus Interface Unit)


Cola de
Instrucciones

CU Control Unit

15

AH
BH
CH
DH

AL
BL
CL
DL
SP (Stack Pointer)
BP (Base Pointer)
SI (Source Index)
DI (Destination Index)

ALU

Flags

Organizacin del Computador I [OC I]

EU Execution Unit

Caractersticas generales

Organizacin del Computador I [OC I]

Hoja de datos del 8088

Organizacin del Computador I [OC I]

Caractersticas generales
Los procesadores previos al 8086, estaban
limitados en su desempeo por la necesidad de
realizar los dos pasos principales de ejecucin
del procesador:
Fetch / Execute, en forma secuencial.
Es decir, no se puede ejecutar una instruccin
hasta que se traiga de memoria (Fetch); y no
podan traerse instrucciones de memoria
mientras ejecutaba una instruccin, pues el
procesador estaba ocupado.
Organizacin del Computador I [OC I]

Pipeline del Fetch/Execute


Intel desarroll la arquitectura en pipeline del
Fetch/Execute, en la cual se divide la tarea en dos
secciones:
una encargada del Fetch (BIU),
otra del Execute (EU).

De esta manera, existen circuitos separados para


cada funcin, los cuales trabajan en paralelo.
El proceso an es secuencial, pero solo se
desperdicia tiempo en el Fetch.
A partir de ah, el Fetch va adelante del Execute, y
trae instrucciones al procesador mientras este
ejecuta las anteriores.
Organizacin del Computador I [OC I]

Diagrama en bloques del micro 8086/8088

Organizacin del Computador I [OC I]

La unidad de ejecucin (EU)


Realiza las operaciones aritmtico - lgicas, adems
de proporcionar las direcciones lgicas a la unidad de
interfaz con el Bus.

Contiene :
una unidad aritmtica lgica (ALU) de 16 bits,
un registro de indicadores o banderas (Flags),
un conjunto de registros de propsito general.

Organizacin del Computador I [OC I]

ALU
La unidad aritmtico - lgica se encarga de las
operaciones aritmticas y logartmicas, con los datos
que recibe siguiendo ordenes de la Unidad de Control.
Realiza:
Operaciones
Operaciones
Operaciones
Operaciones

de +,-,*,/
lgicas and, or, xor ,not
de rotacin y desplazamiento
de transformacin de operandos

Organizacin del Computador I [OC I]

Registro de Flags
El registro de Flags contiene 6 banderas de estado
(que la EU manipula para indicar el estado del
resultado de una operacin lgica o aritmtica) y 3
banderas de control que se pueden manipular por los
programas para alterar las operaciones del procesador.

Organizacin del Computador I [OC I]

Bit 0 (Carry Flag): es la bandera de carry. Se pone en 1 cuando hay


acarreo en una operacin aritmtica.
Bit 1: no utilizado.
Bit 2 (Parity Flag): se pone en 1 cuando hay un par de bits activos.
Bit 3: no utilizado.
Bit 4 (Auxiliar Flag): se pone en 1 cuando se hacen ajustes tras una
operacin BCD.
Bit 5: no utilizado.
Bit 6 (Zero Flag): indica si el resultado es cero o comparacin con
operadores iguales.
Bit 7 (Sign Flag): indica si el resultado de una operacin es negativo
o comparacin menor.
Bit 8 (Trap Flag): se usa en depuracin de cdigo.
Bit 9 (Interrup Flag): se pone en 1 si se permite la generacin de
interrupciones de hardware, como por ejemplo la del teclado.
Bit 10 (Direction Flag): indica a la CPU hacia dnde se desplazan
los punteros relativos en operaciones de loop de cadenas de datos.
Bit 11 (Overflow Flag): indicada si existe desborde aritmtico.
Bit 12 al 15: no utilizados.
Organizacin del Computador I [OC I]

Registros de uso General


Son de 16 bits permiten la realizacin de operaciones de
tipo byte, y estn divididos en sub-registros que se pueden
usar independientemente:
Ax (registro acumulador): usado en operaciones aritmticas como
primer operando y tambin como registro de propsito general a
demanda del programador.
Bx (registro base): usado para indicar posiciones de memoria u
offset.
Cx (registro contador): se usa como contador en operaciones
repetitivas o bucles.
Dx (registro dato): se usa como auxiliar en operaciones
matemticas y como contenedor a la hora de usar instrucciones
de comunicacin de puertos.
Organizacin del Computador I [OC I]

Punteros ndice
SI = ndice fuente (source index). Utilizado
como registro de ndice en ciertos modos de
direccionamiento indirecto, tambin se emplea
para guardar un valor de desplazamiento en
operaciones de cadenas.
DI = ndice destino (destination index). Se usa
en determinados modos de direccionamiento
indirecto y para almacenar un desplazamiento
en operaciones con cadenas.
Organizacin del Computador I [OC I]

La Unidad de Interface con el Bus (BIU)


Contiene registros de segmento para trabajar
en y con la memoria.
Tiene una cola de pre-bsqueda.
Tiene el generador de direcciones fsicas que
traduce las direcciones lgicas a direcciones
fsicas de la memoria con ayuda de los
registros de segmento DS, SS, ES, CS e IP.
Contiene tambin al controlador de BUS.

Organizacin del Computador I [OC I]

Registros de segmento

Definen reas de 64 Kb dentro del espacio de direcciones de 1 Mb del


8086. No es posible acceder a una posicin de memoria no definida por
algn segmento: si es preciso, habr de moverse alguno.
CS = Registro de segmento de cdigo (code segment). Contiene la
direccin del segmento con las instrucciones del programa.
Los programas de ms de 64 Kb requieren cambiar el CS peridicamente.
DS = Registro de segmento de datos (data segment). Segmento del rea
de datos del programa.
SS = Registro de segmento de pila (stack segment). Segmento de pila.
ES = Registro de segmento extra (extra segment). Segmento de
ampliacin para zona de datos.
Es extraordinariamente til actuando en conjuncin con DS: con ambos
se puede definir dos zonas de 64 Kb, tan alejadas como se desee en el
espacio de direcciones, entre las que se pueden intercambiar datos.
Organizacin del Computador I [OC I]

Punteros de pila

SP = Puntero de pila (stack pointer). Apunta al inicio de


la pila. Utilizado en las instrucciones de manejo de la
pila.

BP = Puntero base (base pointer). Es un puntero de base,


que apunta a una zona dentro de la pila dedicada al
almacenamiento de datos (variables locales y parmetros
de las funciones en los programas compilados).

IP = Puntero de instruccin (instruction pointer). Marca el


desplazamiento de la instruccin en curso dentro del
segmento de cdigo. Es automticamente modificado con
la lectura de una instruccin.
Organizacin del Computador I [OC I]

Cola de instrucciones

El BIU trabaja en paralelo con el EU y requieren un


mecanismo para comunicarse.

La EU obtiene instrucciones que la BIU almacena en la


cola de pre bsqueda en el mismo orden en que fueron
colocadas all, y puede ejecutarlas secuencialmente sin
importar en qu paso de la obtencin de la instruccin
est la BIU. Cuando el bus est desocupado, la cola se
carga con las prximas instrucciones.

Organizacin del Computador I [OC I]

Unidad de control
La unidad de control, controla el funcionamiento de la CPU:
controla las transferencias de datos desde y hacia la CPU y
controla la ALU. Sus funciones son:

Generar la secuencia de estados del procesador.


Decodificar las instrucciones, determinando as los pasos
para su ejecucin.
Para cada instruccin hay un nico cdigo que ejecutar
esa instruccin.
La unidad de control acepta la instruccin y genera las
seales de control necesarias para que la instruccin se
ejecute.
Organizacin del Computador I [OC I]

Generador de direcciones fsicas


Como las direcciones son de 20 bits, y los registros que nos
permiten accederlas son de 16, se requiere de 2 registros
para que en combinacin formen la direccin.
Esta combinacin est basada en la arquitectura segmentada
que veremos ms adelante. La funcin del generador de
direcciones fsicas consiste en realizar esa combinacin, para
lo cual contiene la circuitera necesaria para calcular la
frmula:

Direccin Fsica = segmento * 0010h + desplazamiento


Organizacin del Computador I [OC I]

Para convertir una direccin lgica en una direccin fsica, el


BIU corre el valor del registro de segmento 4 posiciones a la
izquierda (lo que es equivalente a multiplicar por 16h) y suma
el valor del offset para obtener un valor de 20 bits necesarios.

Organizacin del Computador I [OC I]

Arquitectura del 80286


Organizacin del Computador I [OC I]

AU (Address Unit)
Offset Direccin

BU (Bus Unit)

Address
Latches and Drivers

Sumador Direccin
Prefetcher

0
15
ES (Extension Segment)
CS (Code Segment)
SS (Source Segment)
DS Destination Segment
IP (Instruction Pointer)

EU
(Execution
Unit)

Tamao
Base
Segmento

Bus
Control

Comprobador
Limite Segmento
7

0
8
7
6
5
4
3
2
1

ALU

0
15
AH
AL
BH
BL
CH
CL
DH
DL
SP (Stack Pointer)
BP (Base Pointer)
SI (Source Index)
DI (Destination Index)

Processor
Extension
Interface

D3
D2
D1

Cola de
Instrucciones
Buscadas

Instruction
Decoder

IU (Bus Intruction Unit)


NMI INTR ERROR BUSY

Organizacin del Computador I [OC I]

M/IO#
PEACK#
PEREQ
READY#
HOLD
S1 S0
HDLA
COD/INTA
LOCK#
D15 D0

Cola de
Instrucciones
Decodificadas

Flags

CU Control Unit

Data
Transceivers

A23 A0
BHE#

Arquitectura del 80386


Organizacin del Computador I [OC I]

Segment Unit

Barrel Shifter /
Adder

Status Flags

Multiplicador /
Divisor
ALU

Registros

Decodificacin y
Secuenciamiento
ROM de
Control

Control Unit

ALU Bus

34

Registros
Descriptores

Cache de Pagina

Traductor de
Segmento

Traductor de
Pgina

32
Internal Control

Bus

Instruction
Decoder

Pre-Buscador

Decode Unit

Code
Stream
32

Cola de
16 bytes
de Cdigo

Prefetch Unit

Organizacin del Computador I [OC I]

Control

HOLD
INTR
NMI
ERROR
BUSY
RESET
HDLA

Bus

Address
Drivers

BE0# BE3#
A2 A31
M/IO#
M/IO#

Pipeline /
Bus Size
Control

32

D3
D2
D1

Request
Prioritizer

1
1

ALU Control

Protection
Test Unit

Sumador

32

Physical Address Bus

Effective Address Bus 32

Sumador

Bus Unit

Code Fetch / Page Table Fetch

32

Page Unit

Linear Address Bus

Effective Address Bus

Displacement Bus

Execution Unit

Multiplexers /
Transceivers

W/R#
LOCK#
ADS#
NA#
BS16#
READY#

D0 D31

Arquitectura del 80486


Organizacin del Computador I [OC I]

Datapath Unit

Segment Unit

32 Bit Data Bus


32 Bits Data Bus

Page Unit
Linear Address 32 Bit

Sumador

32
Barrel Shifter
Adder

Cache Unit

Bus Unit

Sumador

Unidad de
Cache

Unidad de
Paginacin

Registros
Descriptores
Traductor de
Segmento

Cache
8 KB

Address
Drivers

Traductor de
Pgina

Bus
Control
Displacement Bus

ALU

BE0# BE3#
A2 A31

Write Buffers
4 x 32
Data Bus
Transceivers

Multiplicador
Divisor

Registros

Clock
Multiplexer

Micro Instrucciones

D0 D31

ADS# W/R#
D/C# M/IO#
PCD PWT
RDY# LOCK#
PLOCK# BOFF#
A20M# BREQ
HOLD HLDA
RESET INTR
NMI

Request
Sequencer

Camino de
Instrucciones
Decodificadas

Instruction
Decoder

24 bit Pre-Buscador

Protection
Test Unit

FPU
Registros
de FPU

Floting Point

ROM de
Control

Control Unit

Burst Bus
Control
Bus Size
Control
Cache
Control

D3
D2
D1

Decode Unit

Organizacin del Computador I [OC I]

Cola 32 bytes
de Cdigo
(2 x 16 bytes)

Prefetch Unit

BRDY# BLAST#

BS16# BS8#
KEN# FLUSH#

Parity Generation AHOLD EADS#


And Control
Boundary
Scan Control

DP3-DP0,
PCHK#
TCK, TMS
TDI, TD0

Preguntas?

Organizacin del Computador I [OC I]

Ing. Matas Vazquez H.


2015

mvazquez@ungs.edu.ar

También podría gustarte