You are on page 1of 67

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

Chequeo de Paridad :
longitudinal,
bidimensional y vertical

Organizacin del Computador I [OC I]

Deteccin Vs. Correccin de errores


Tcnicas de
deteccin y
correcin de
errores

Deteccin

Correccin

Cdigos de
bloques

Cdigos de
bloques

Lineales

Lineales

Cdigo de Paridad

Cclicos

Cclicos

Chequeo Ciclico
Redundante
(CRC)

Chequeo Ciclico
Redundante
(CRC)

Cdigo
Convolucionales

Cdigo de
Hamming

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

11100101

+00111000

+11110111

= 10110110 (peso 5)

=00010010 (peso 2)
Organizacin del Computador I [OC I]

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:
Paridad impar:

1011000 + 1
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

C1

Cdigo Hamming para siete bits


Organizacin del Computador I [OC I]

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

C4

I3

C2

C1

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


Comparando el dato recibido con este grupo:
Cdigo Hamming:
Dato recibido:

1100110
1100100
Cambi

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]

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 erroneas 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]

Ejemplo 2:

Cdigo Hamming

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 00011112.
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]

Arquitectura del 8086

Interface de Memoria

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

EU Execution Unit

Organizacin del Computador I [OC I]

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 de +,-,*,/
Operaciones lgicas and, or, xor ,not
Operaciones de rotacin y desplazamiento
Operaciones 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 Interfase 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)
0
15
AH
AL
BH
BL
CH
CL
DH
DL
SP (Stack Pointer)
BP (Base Pointer)
SI (Source Index)
DI (Destination Index)

Tamao
Base
Segmento

Bus
Control

Comprobador
Limite Segmento
7

0
8
7
6
5
4
3
2
1

ALU

Data
Transceivers

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

Cola de
Instrucciones
Buscadas

Cola de
Instrucciones
Decodificadas

Flags

CU Control Unit

Processor
Extension
Interface

A23 A0
BHE#

D3
D2
D1

Instruction
Decoder

IU (Bus Intruction Unit)


NMI INTR ERROR BUSY

Organizacin del Computador I [OC I]

Arquitectura del 80386


Organizacin del Computador I [OC I]

Segment Unit

Barrel Shifter /
Adder

ALU

Registros

Decodificacin y
Secuenciamiento
ROM de
Control

Control Unit

Status Flags

Multiplicador /
Divisor

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

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

Prefetch Unit

Organizacin del Computador I [OC I]

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
FPU
Registros
de FPU

Floting Point

Instruction
Decoder

24 bit Pre-Buscador

Protection
Test Unit
ROM de
Control

Control Unit

D3
D2
D1

Decode Unit

Cola 32 bytes
de Cdigo
(2 x 16 bytes)

Prefetch Unit

Burst Bus
Control
Bus Size
Control

Cache
Control

BRDY# BLAST#

BS16# BS8#
KEN# FLUSH#

Parity Generation AHOLD EADS#


And Control
Boundary
Scan Control

DP3-DP0,
PCHK#

TCK, TMS
TDI, TD0

Organizacin del Computador I [OC I]

Preguntas?

Organizacin del Computador I [OC I]

Ing. Matas Vazquez H.


2014

mvazquez@ungs.edu.ar

You might also like