Professional Documents
Culture Documents
[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
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.
Deteccin de errores
Redundancia
cclica
Codificacin
de cuenta
exacta
Chequeo de Paridad :
longitudinal,
bidimensional y vertical
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
Correccin de Errores
FEC (Forward Error Correction)
Correccin de Errores
FEC.
Los bits aadidos, conocidos como de redundancia, hacen posible detectar errores y
deducir el dato que se transmiti.
Correccin de Errores
FEC a bloques.
Correccin de Errores
10001110
11100101
00111000
11110111
d=5
d=2
11100101
+00111000
+11110111
= 10110110 (peso 5)
=00010010 (peso 2)
Organizacin del Computador I [OC I]
Correccin de Errores
Para
Correccin de Errores
FEC a bloques: Hamming.
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.
Correccin de Errores
Cdigo BINARIO
Comprobacin de paridad
Comprobacin de paridad
Comprobacin de paridad
Generalmente se utiliza:
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.
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.
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:
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 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
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:
I7
I6
I5
C4
I3
C2
C1
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
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).
Cdigo Hamming
Errores simples:
Corrige los datos sin necesidad de retransmisin
Errores dobles:
Son detectados pero no se corrigen los bits de comprobacin extra
2p I + P + 1
Organizacin del Computador I [OC I]
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:
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
Cdigo Hamming
Ejemplo 3:
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)
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
Caractersticas generales
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.
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
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.
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]
Registros de segmento
Punteros de pila
Cola de instrucciones
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:
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
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
Sumador
Bus Unit
32
Page Unit
Displacement Bus
Execution Unit
Multiplexers /
Transceivers
W/R#
LOCK#
ADS#
NA#
BS16#
READY#
D0 D31
Prefetch Unit
Datapath Unit
Segment Unit
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#
DP3-DP0,
PCHK#
TCK, TMS
TDI, TD0
Preguntas?
mvazquez@ungs.edu.ar