Professional Documents
Culture Documents
Computadoras
Evolucin de micros y PC
Arquitecturas de micros y PC
Registros y direccionamiento
Instrucciones
I t i
Arquitectura de PC
Evolucin de la Computadora
3000
AC
Babilonia
China, Japn???
Arquitectura de PC
Evolucin de la Computadora
Generacin cero: Computadoras mecnicas (1642 - 1945)
mquina calculadora
mquina calculadora : sumar y restar Sumar, restar,
multiplicacin y divisin
Barn Gottfried Wilhem von Leibniz ((1673-Alemania))
Crea una mquina que permita sumar, restar, multiplicar y dividir.
Arquitectura de PC
Evolucin de la Computadora
Generacin cero: Computadoras mecnicas (1642 - 1945)
Ada Lovelace
Charles Babbage (1792-1871, Cambridge)
150 aos depus:
Crea su maquina de Diferencias 1822
Di
Disearon mquinas
i calculadoras
l l d utilizando
tili d
aritmtica binaria. Atanasoff ide una
memoria de condensadores las cuales se
renovaban pperidicamente p para evitar qque se
perdiera la carga, a lo que llam
refrescamiento. Los chips actuales de memoria
dinmica (RAM) funcionan de esta manera.
Arquitectura de PC
Evolucin de la Computadora
Generacin cero: Computadoras mecnicas (1642 - 1945)
Howard Aiken & Grace Hopper
Construy el Mark I (IBM) en 1944 en Hardvard (mquina de
relevadores). Para cuando termin de construir su Mark II ya era
obsoleta la tecnologa de relevadores.
Arquitectura de PC
Evolucin de la Computadora
Generacin cero : Computadoras mecnicas (1642 - 1945)
Mquina
q de Von Neumann
Arquitectura de PC
Evolucin de la Computadora
1 generacin : Bulbos (1945 - 1955)
Avances de la poca:
MIT
Desarrollaron la primera computadora de
transistores y se llamo TX-0 (computadora
Transistorizada eXperimental 0).
Arquitectura de PC
Evolucin de la Computadora
2 generacin : Transistores (1955 - 1965)
Kenneth Olsen
Arquitectura de PC
Evolucin de la Computadora
2 generacin : Transistores (1955 - 1965)
IBM
Introduce al mercado dos modelos de computadoras transistorizadas, la
7090 (especficamente para uso cientfico) y la IBM 1401 (de uso
comercial pero muy verstil).
IBM
Se desarrollo la System/360, la cual era la primera familia de
computadoras con diferentes en tamaos y potencia, pero que eran
compatibles entre si y posean un lenguaje ensamblador comn.
Otro avance importante de esta familia de computadoras fue la
multiprogramacin, que consiste en la capacidad de tener varios
programas en la memoria en ejecucin a la vez.
Entre
E t otras
t i
innovaciones
i estaban:
t b
Capacidad de emular a sus predecesores.
Mayor espacio de direccionamiento de memoria.
j los registros
Introdujo g orientados hacia p
palabras de 32 bits y la
memoria orientada a bytes.
Hoy en da aun se usan todas estas caractersticas en las PCs.
Arquitectura de PC
Evolucin de la Computadora
3 generacin : Circuitos integrados (1965-1980)
IBM System/360
Arquitectura de PC
Evolucin de la Computadora
3 generacin : Circuitos integrados (1965-1980)
Para los aos ochenta la VLSI (integracin a muy grande escala, Very
L
Large S l off Integration)
Scale I t ti ) haba
h b hecho
h h posible
ibl colocar
l millones
ill d
de
transistores en un solo chip, dando origen a computadoras pequeas y
mas rapidas.
CPU Mem
Buses
E/S
Arquitectura de PC
Arquitectura de la PC y de su CPU
Arquitectura : Buses
Los sistemas modernos de computadora presentan una arquitectura
orientada a buses. Los buses pueden
p definirse como conjuntos
j de
conexiones paralelas entre los diferentes componentes que conforman el
computador y funcionan como los mecanismos de comunicacin entre
los componentes de un computador.
Microcontroladores
Arquitectura de la PC y de su CPU
Arquitectura : Buses
Los principales buses que contienen los computadores son:
El bus SouthBridge
esta conectado al
sistema a travs del
bus PCI.
En el bus PCI
normalmente se
conectan dispositivos
como las tarjetas de
sonido, los puertos
paralelos, seriales y
usb,
b los
l di
discos d
duros,
etc.
Arquitectura de PC
Arquitectura de la PC y de su CPU
Arquitectura : Buses
1971
4K
Palabra: 4-bits
45 instrucciones, 2300 Tx
108KHz
Arquitectura de PC
Evolucin de los microprocesadores
Microprocesador de 4 bits
Este microprocesador surge como una solucin a un
problema de diseo q
p que pplanteo una compaa
p jjaponesa
p
llamada Busicom en 1969 para la creacin de una
maquina calculadora basada en chips que cost
60,000$.
Intel Ted Hoff al examinar las
El ingeniero a cargo de este proyecto en Intel,
exigencias se percato de que era posible utilizar, en lugar de un
conjunto de chips, un microprocesador de 4 bits de propsito
general q
g que hara el mismo trabajo
j q
que el conjunto
j de chips
p ppropuesto
p
por Busicom. Estos eventos dieron origen al primer microprocesador
del mundo.
http://itibonzi.blogspot.com/2011/11/40-anos-del-primer-microprocesador.html
Arquitectura de PC
Evolucin de los microprocesadores
Microprocesador de 8 bits
1972
8008 48 instrucciones
3500 Tx, 200KHz
8085
Posea
P capacidad
id d para direccionar
di i una
mayor cantidad de memoria 16 MB
El 80186 fue utilizado (mediante 24 bits en el bus de direcciones)
mayoritariamente en y yya trabajaba
j a 16 MHz.
aplicaciones de control Incluy un nuevo modo de operacin, el
o como controlador de modo protegido introdujo mejor
dispositivos en las seguridad
g y pproteccin del sistema de
t j t
tarjetas madres
d o memoria, y el manejo de memoria
tarjetas de propsito virtual para el intercambio de segmentos
especifico de memoria
Arquitectura de PC
Evolucin de los microprocesadores
Tx 1200000
Microprocesador de 32 bits 1 micrometro
Tx 275000
1 5 micrometro
1.5
Hyperthreading y Dual-Core
La tecnologa Hyperthreading fue desarrollada para mejorar el
rendimiento de la arquitectura IA32 al ejecutar en sistemas operativos
multi-hilos y en la ejecucin de aplicaciones de un hilo pero que se
ejecutan en entornos multitareas
HyperThreading es una
tcnica que permite
simular dos
procesadores sobre uno
slo. Esto mejora la
velocidad de las
aplicaciones en un 30%
aprox.
Arquitectura de PC
Evolucin de los microprocesadores
Hyperthreading y Dual-Core
El Hyperthreading permite ejecutar dos o ms hilos de cdigos separados
en un mismo procesador al mismo tiempo.
Arquitectura de PC
Evolucin de los microprocesadores
Hyperthreading y Dual-Core
La Architectural State (AS) es la parte del CPU que mantiene la
informacin visible u oculta referente a los estados de los procesos, como
son:
Registros de control Registros de Propsito General
Instruction Flag Registers Adder Registers
Interrupt Mask Registers Address Registers
Memory management unit Registers Counter Registers
Status registers Index Registers
Stack Registers
String Registers
Arquitectura de PC
Evolucin de los microprocesadores
Hyperthreading y Dual-Core
Arquitectura de PC
Evolucin de los microprocesadores
Ley de Moore
Ley de Moore
Arquitectura de -procesadores
Arquitectura Bsica
Arquitectura
Interfaces Tipos de
fsicas datos
Instrucciones
Arquitectura de -procesadores
Arquitectura Interna del CPU
Almacenar o
Buscar Operar presentar
Arquitectura de -procesadores
Arquitectura Interna del CPU
El pre-recuperador: est
conectado a la salida del cach
y puede contener hasta 3
instrucciones de 1 byte sin
ejecutar
CPU - 40486
Arquitectura de -procesadores
Arquitectura Interna del CPU
Unidad decodificadora de
instrucciones: se ubica a la
salida del pre-recuperador y su
labor es identificar las
instrucciones enviarlas a la
unidad de control-prueba y
proteccin
Unidad de control-prueba y
proteccin: prueba y controla
las instrucciones decodificadas
por la unidad
decodificadora
CPU - 40486
Arquitectura de -procesadores
Arquitectura Interna del CPU
La unidad de paginacin:
realiza convierte las
direcciones lineales en
direcciones fsicas cuando se
utiliza el mecanismo de
manejo de memoria virtual por
paginacin
La unidad de segmentacin:
convierte las direcciones de
memorias lgicas (modelo
segmentado) en direcciones
lineales (modelo plano)
CPU - 40486
Arquitectura de -procesadores
Arquitectura Interna del CPU
Cluster
Grids
The link ed image cannot be display ed. The file may hav e been mov ed, renamed, or deleted. Verify that the link points to the correct file and location.
Arquitectura de -procesadores
Modos de operacin de los microprocesadores Intel
de la arquitectura IA-32
Modo
M d M d
Modo
Protegido Real
Modo de
administracin Modo IA-32e
de sistema
IA-32 (Intel Architecture, 32-bit), tambin conocida de manera genrica como x86. Es la arquitectura del conjunto
de instrucciones del procesador mas exitoso de Intel. Fue introducido en el microprocesador Intel 80386 en 1986
Arquitectura de -procesadores
Modos de operacin de los microprocesadores Intel
de la arquitectura IA-32
Modo Protegido
Este es el modo de trabajo nativo de los microprocesadores IA-32. En
este modo estn disponibles todas las instrucciones y caractersticas
disponible en la familia IA-32.
Modo de trabajo no default, pero natural para este tipo de
procesadores.
d
Se asigna por software desde Modo Real
Este es el modo de operacin recomendado para todos los
programas y sistemas
i operativos
i modernos.
d
Los datos y las instrucciones manejadas son de hasta 32bits y la
memoria se maneja por grupos o bloques denominados segmentos
de memoria
memoria.
Arquitectura de -procesadores
Modos de operacin de los microprocesadores Intel
de la arquitectura IA-32
Modo Protegido
Los segmentos de memoria son de diferentes tamaos y el
acceso a los mismos puede estar protegido.
El microprocesador tambin puede pasar del modo protegido al
modo de administracin del sistema si as se desea.
Ofrece un ambiente multitarea de ejecucin y un submodo
especial para mantener compatibilidad con el modo real
denominado modo virtual 8086.
Arquitectura de -procesadores
Modos de operacin de los microprocesadores Intel
de la arquitectura IA-32
Modo Real
Todos los microprocesadores Intel IA-32 inician su funcionamiento en modo
real.
l Este
E t modo
d implementa
i l t ell entorno
t d ejecucin
de j i del
d l procesador
d 8086
(tambin permite cambiar a cualquiera de los otros dos modos de
operacin).
Registros x87 FPU: son los registros utilizados por la unidad de punto
flotante para realizar clculos numricos sobre nmeros punto flotante,
enteros y BCD. Estos registros
g se dividen en 8 registros
g de 80 bits de
propsito general, uno de estado, otro apuntador de instrucciones, uno
apuntador de datos.
Arquitectura de -procesadores
Entorno bsico de ejecucin
de la familia IA-32
Registros especiales
Registros especiales
EFLAGS (Banderas): este registro contiene una serie de bits que
indican el estado en el que se encuentra el microprocesador y el
programa actual despus de cada instruccin ejecutada y algunos de ellos
controlan su funcionamiento. Tambin se puede direccionar como FLAGS.
Arquitectura de -procesadores
Entorno bsico de ejecucin
de la familia IA-32
Registros especiales
Arquitectura de -procesadores
Entorno bsico de ejecucin
de la familia IA-32
Registros especiales
EFLAGS
C (Acarreo Carry): indica si hubo acarreo o prstamo en operaciones
de suma y resta respectivamente, tambin indica la ocurrencia de errores
para ciertas instrucciones, como por ejemplo sobre flujo en operaciones
de aritmtica sobre nmeros enteros sin signo.
P (Paridad Parity): indica si el resultado de una operacin
tiene
paridad par. El 1 indica paridad par y el 0 indica paridad impar
(recurdese que la paridad es el conteo de los unos de un numero
binario), esto aplica para el byte menos significativo del resultado.
A (Medio acarreo hAlf carry): indica que hubo un acarreo o prstamo
entre el tercer y el cuarto bit de un byte en operaciones de suma y resta
con nmeros en representacin BCD. Instrucciones como DAA y DAS se
utilizan
tili para ajustar
j t losl valores
l de
d AL despus
d de
d haber
h b realizado
li d una
suma o resta BDC ajustando el valor contenido en AL segn lo indique
este bit. El microprocesador no utiliza de otra manera este bit.
Arquitectura de -procesadores
Entorno bsico de ejecucin
de la familia IA-32
Registros especiales
EFLAGS
Registros especiales
EFLAGS
I (Interrupcion
(I t i Interrupt):
I t t) controla
t l ell funcionamiento
f i i t de
d las
l
interrupciones enmascarables del microprocesador. Si I = 0 se deshabilita la
entrada INTR y si I = 1 se habilita la entrada INTR.
D ((Direccion Direction): ) controla la seleccin de incremento o
decremento de los registros DI y SI en operaciones de cadenas o arreglos. Si
D = 1 hay decremento automtico en los registros mencionados, si D = 0
hay incremento automtico en estos registros. Esta bandera se fija en uno
con la instruccin STD (fijar D - set) y se coloca en cero con la instruccin
CLD (borrar D - clear).
Arquitectura de -procesadores
Entorno bsico de ejecucin
de la familia IA-32
Registros especiales
EFLAGS
Registros de segmentos
Registros de segmentos
Registros de segmentos
DS ((Segmento
g de Datos Data Segment):
g )
define la direccin de memoria a partir de la
cual se almacenan la mayora de los datos de
un programa.
Registros de segmentos
ES ((Segmento
g Extra Extra Segment):
g )
contiene la direccin de un segmento de
extra de memoria utilizado para algunas
instrucciones de cadenas.
Memoria Fsica
La memoria fsica se
organiza en bloques
pequeos de memoria
de 8 bits a los que se
les denomina bancos
de memoria, y el
numero de bancos de
memoria depende del
tamao
del bus de
datos del
microprocesador.
Arquitectura de -procesadores
Manejo de la memoria en el microprocesador
Memoria Lgica
La memoria lgica
g es la misma p
para todos
los microprocesadores Intel, se considera
como un gran bloque de memoria
organizado en bytes, con la nica distincin
entre los diferentes microprocesadores que
el tamao del bloque puede ser mas
grande o mas pequeo. Esta es la manera
como el programador ve la memoria, solo
se diferencia de un procesador de otro en
cuanto a la cantidad de memoria que
puede direccionar.
Arquitectura de -procesadores
Manejo de la memoria en el microprocesador
Memoria Lgica
Arquitectura de -procesadores
Manejo de la memoria en el microprocesador
En la relacin indirecta se
t d
traducen llas direcciones
di i lineales
li l a
la fsicas a travs de un mecanismo
denominado paginacin.
Arquitectura de -procesadores
Manejo de la memoria en el microprocesador
Ejemplo
Al seleccionar el
p ,
descriptor, se
utiliza la
informacin
contenida en el
para identificar
el inicio del
segmento, su
longitud y los
derechos de
acceso al
mismo.
Arquitectura de -procesadores
Manejo de la memoria en el microprocesador
Ejemplo
suponga que un descriptor posee una base=FFA10000H y un
desplazamiento dado por el registro EBX=00001234H.
Determine cual es su direccin lineal.
Arquitectura de -procesadores
Modos de direccionamiento de memoria
Segn las diferentes combinaciones que pueden utilizarse para construir
una direccin efectiva (en funcin de los modos de operacin y modelos de
memoria), Intel define algunos modos comunes para el direccionamiento
d la
de l memoriai de
d datos.
d t
Arquitectura de -procesadores
Modos de direccionamiento de memoria
BX = 0003H
CX = 1111H
DX = FFFFH
DS = 2A20H
CS = 1000H
SS = AA00H
BP = 0006H
SI = 0002H
Va
Arquitectura de -procesadores
Modos de direccionamiento de memoria
I. Ejemplo para solucin de instrucciones en modo real
Vaciado de memoria:
AX = 000AH
alores iniciales para los registrros
BX = 0003H
CX = 1111H
DX = FFFFH
DS = 2A20H
BP = 0006H
Se debe calcular la
SP = 000AH direccin de memoria
DI = 0005H deseada para luego
SI = 0002H asignar su contenido a
Va
EAX
Arquitectura de -procesadores
Modos de direccionamiento de memoria
I. Ejemplo para solucin de instrucciones en modo real
Vaciado de memoria:
AX = 000AH
alores iniciales para los registrros
BX = 0003H
CX = 1111H
DX = FFFFH
DS = 2A20H
SI = 0002H
Va
MD: B+I+D
Arquitectura de -procesadores
Modos de direccionamiento de memoria
I. Ejemplo para solucin de instrucciones en modo real
Vaciado de memoria:
AX = 000AH
alores iniciales para los registrros
BX = 0003H
CX = 1111H
DX = FFFFH
DS = 2A20H
BX = 0003H
CX = 1111H
DX = FFFFH
DS = 2A20H
BP = 0006H
SP = 000AH
Contenido de memoria
EAX = [2A20AH] = BCAF6745H
DI = 0005H
SI = 0002H
Va
Arquitectura de -procesadores
Modos de direccionamiento de memoria
I. Ejemplo para solucin de instrucciones en modo real
Vaciado de memoria:
AX = 000AH
alores iniciales para los registrros
BX = 0003H
CX = 1111H
DX = FFFFH
DS = 2A20H
BX = 0003H
CX = 1111H
DX = FFFFH
DS = 2A20H
CS = 1000H
SS = AA00H
BP = 0006H
SP = 000AH
B: MOV BX,SS:[AX]
DI = 0005H
SI = 0002H
Va
Arquitectura de -procesadores
Modos de direccionamiento de memoria
I. Ejemplo para solucin de instrucciones en modo real
Vaciado de memoria:
AX = 000AH
alores iniciales para los registrros
BX = 0003H
CX = 1111H
DX = FFFFH
DS = 2A20H
SI = 0002H
Va
MD: B
Arquitectura de -procesadores
Modos de direccionamiento de memoria
I. Ejemplo para solucin de instrucciones en modo real
Vaciado de memoria:
AX = 000AH
alores iniciales para los registrros
BX = 0003H
CX = 1111H
DX = FFFFH
DS = 2A20H
BX = 0003H
CX = 1111H
DX = FFFFH
DS = 2A20H
BP = 0006H
SP = 000AH
Contenido de memoria
BX = [AA00AH] = 70FAH
DI = 0005H
SI = 0002H
Va
Arquitectura de -procesadores
Modos de direccionamiento de memoria
I. Ejemplo para solucin de instrucciones en modo real
Vaciado de memoria:
AX = 000AH
alores iniciales para los registrros
BX = 0003H
CX = 1111H
DX = FFFFH
DS = 2A20H
BX = 0003H
CX = 1111H
DX = FFFFH
DS = 2A20H
CS = 1000H
SS = AA00H
BP = 0006H
SP = 000AH
C: MOV AH,BL
DI = 0005H
SI = 0002H
Va
Arquitectura de -procesadores
Modos de direccionamiento de memoria
I. Ejemplo para solucin de instrucciones en modo real
Vaciado de memoria:
AX = 000AH
alores iniciales para los registrros
BX = 0003H
CX = 1111H
DX = FFFFH
DS = 2A20H
BP = 0006H
Direccin
de memoria: no aplica
SP = 000AH Contenido de memoria: AH = BL = 03H
DI = 0005H Modo de direccionamiento: no aplica
SI = 0002H
Va
Arquitectura de -procesadores
Modos de direccionamiento de memoria
II. Ejemplo para solucin de instrucciones en modo protegido
Vaciado de memoria:
AX = 0002H
alores iniciales para los registrros
CX = 0001H
DX = 0004H
SS = 0020H
DS = 001CH
CS = 0001H
DI = 0013H
SI = 0004H
BP = 0002H
SP = 0008H
Va
Arquitectura de -procesadores
Modos de direccionamiento de memoria
II. Ejemplo para solucin de instrucciones en modo protegido
D: MOV FS,[SP]
Modo de direccionamiento
Base
Direccin de memoria=
memoria Selector + Desplazamiento
= BASE+SP
Selector = SS = 0020H
= 0020H = 0000000000100|0|00 b
TI = 0 ((Tabla de descriptores
p globales)
g )
RPL = 00 (mayor nivel de privilegio)
ndice = 0000000000100 b = 4
Arquitectura de -procesadores
Modos de direccionamiento de memoria
II. Ejemplo para solucin de instrucciones en modo protegido
Descriptor
7 [[00 | 00]] 6
5 [F6 | 0A] 4 Base: 000AA000H
3 [A0 | 00] 2 Lmite: 0100H
1 [01 | 00] 0
Contenido de memoria
FS = [000AA008H] = DCBAH
Arquitectura de -procesadores
Modos de direccionamiento de memoria
II. Ejemplo para solucin de instrucciones en modo protegido
Contenido de memoria
FS = [000AA008H] = DCBAH
Arquitectura de -procesadores
Modos de direccionamiento de memoria
II. Ejemplo para solucin de instrucciones en modo protegido
Descriptor
7 [00 | 00] 6
5 [F2 | 01] 4 Base: 00010000H
3 [00 | 00] 2 Lmite: 00BCH
1 [00 | BC] 0
Arquitectura de -procesadores
Modos de direccionamiento de memoria
II. Ejemplo para solucin de instrucciones en modo protegido
Contenido de memoria
BX = [0001000CH] = 982BH
Modo de direccionamiento
Base mas ndice Escalado
Arquitectura de -procesadores
Modos de direccionamiento de memoria
II. Ejemplo para solucin de instrucciones en modo protegido
LIFO
Arquitectura de -procesadores
Modos de direccionamiento de memoria
II. Ejemplo para solucin de instrucciones en modo protegido
10 2A
[SP-1] 1Byte 1Byte
[SP 2]
[SP-2]
MSB LSB
Segmento de Pila
[SP]=0
SS
Arquitectura de -procesadores
Modos de direccionamiento de memoria
II. Ejemplo para solucin de instrucciones en modo protegido
[SP]
10 2A 10 [SP-1]
MSB LSB
2A [SP-2]
256
65.536
4.294.967.296
18.446.744.073.709.551.616
3,4028236692093846346337460743177e+38
Arquitectura de -procesadores
Datos manejados por IA-32
Ejemplo
Palabra doble : 0A11BB2B H
0A 11 BB 2B
MSB LSB
Little Endian
Arquitectura de -procesadores
Datos manejados por IA-32
Datos Enteros
Los datos enteros se pueden almacenar en
binario simple cuando se desea representar
los enteros sin signo y en complemento a dos
cuando se desea representar enteros con signo.
En binario simple se usa cualquiera de los formatos vistos para almacenar
un dato. Es evidente que mientras mas grande sea el dato es
probable que se requiera un formato mas grande para poder almacenarlo
Arquitectura de -procesadores
Datos manejados por IA-32
Datos Enteros
Ejemplo : Presentar el numero entero 200 en formato de 1 byte
MSB LSB
-3810 = 110110102
Arquitectura de -procesadores
Datos manejados por IA-32
Datos decimales
En los microprocesadores modernos se utiliza la norma IEEE-754 para
representar los nmeros decimales.
Hoy en da existen tres formatos distintos de esta norma para representar
nmeros decimales:
Punto flotante de precisin simple
Punto flotante de precisin doble
Punto flotante de precisin doble extendida.
Arquitectura de -procesadores
Datos manejados por IA-32
Datos decimales
Arquitectura de -procesadores
Datos manejados por IA-32
Datos decimales
El Bit de signo indica si el numero es
positivo ((0)) o si es negativo
p g ((1)) y el
bit J existe solamente para el formato
de precisin doble extendida (para
los otros dos formatos es implcito).
El exponente se polariza para
representarlo siempre como numero
positivo y el significante representa la
parte decimal
Arquitectura de -procesadores
Datos manejados por IA-32
Datos decimales
Cuando se dice que el exponente utilizado esta polarizado, implica que
se la ha sumado una constante numrica.
numrica
Formato Constante
Precisin simple 127 (7FH)
Precisin doble 1023 (3FFH)
Precisin doble 16383 (3FFFH)
extendida
5+127=132
13210=100001002
Arquitectura de -procesadores
Datos manejados por IA-32
Datos BCD
En los microprocesadores intel se pueden manejar los nmeros BCD
(Binary-Coded Decimal) de forma directa. Tanto la unidad aritmtico-
l
lgica como la
l unidad
d d punto flotante
fl soportan operaciones en BCD.
C Ell
almacenamiento de estos nmeros puede ser en tres formas diferentes:
Formato desempacado
Formato
F t empacado
d
Formato empacado en 80 bits.
Decimal BCD
74 0111 0100
102 0001 0000 0010
Arquitectura de -procesadores
Datos manejados por IA-32
Datos BCD
El formato desempacado permite representar un digito BCD por cada byte.
El BCD se almacenara en la p parte menos significativa
g del byte
y y la parte
p
mas significativa del byte no se utiliza.
MOV DL,CH
DL CH ; transfiere 1 byte de CH a DL
MOV AX,BX ; transfiere 1 palabra de BX a AX
MOV ESP,EDI ; transfiere 1 palabra doble de EDI a ESP
MOV CS,CX ; no es permitido porque cambia a CS
MOV DS,ES ; no es permitida la transferencia entre registros
segmento
MOV BX,CL ; no es permitida la transferencia entre registros de
diferentes tamaos
Arquitectura de -procesadores
Direccionamiento de memoria de datos
Segn B. Brey
MOV [BP],CX
[BP] CX ;transfiere
t ansfie e dos b
bytes
tes del registro
egist o CX a la
direccin de memoria del segmento
de pila con desplazamiento dado por BP
Arquitectura de -procesadores
Direccionamiento de memoria de datos
Segn B. Brey
MOV [EBX],EDX
[EBX] EDX ;transfiere cuatro bytes del registro EDX a
la direccin de memoria del segmento de
datos con desplazamiento dado por EBX
Direccionamiento base-ms-ndice:
Es comn utilizar este modo de
direccionamiento para ubicar datos
dentro de un arreglo de datos
unidimensional en la memoria.
ndice
Normalmente se interpreta al
registro base como la direccin del
inicio del arreglo y al registro Base
ndice como la distancia entre el
inicio del arreglo y el dato que se DS
d
desea ubicar
bi d t del
dentro d l mismo.
i
Arquitectura de -procesadores
Direccionamiento de memoria de datos
Segn B. Brey
MOV
MOV CX,[BX+SI+30H]
CX [BX+SI+30H] ;transfiere
t fi d
dos b
bytes
t d dell segmento
t
de datos con desplazamiento dado
por BX+SI+30H al registro CX
MOV TABLA[EBP+EDI],EBX
TABLA[EBP+EDI] EBX ;transfiere cuatro bytes del registro
EBX al segmento de pila con
desplazamiento dado por
EBP+EDI+TABLA
Arquitectura de -procesadores
Direccionamiento de memoria de datos
Segn B. Brey
Direccionamiento relativo a base-ms-ndice:
Arquitectura de -procesadores
Direccionamiento de memoria de datos
Segn B. Brey
Direccionamiento de ndice escalado: transfiere datos entre una
localidad de memoria y un registro o un dato inmediato. La direccin
efectiva de memoria se especifica a travs de un registro ndice
multiplicado por un factor de escala (1-2-4-8) y posiblemente con un
registro base y un desplazamiento fijo
Saltos incondicionales
Saltos condicionales
8-bits
El nuevo dato se almacena en SS:[SP-1] y se decrementa a SP en 1.
16-bits
16 bits
La parte alta del dato se almacena en SS:[SP-1] y la parte baja se
almacena en SS:[SP-2] y posterior se decrementa a SP en 2.
32-bits
32 bit
La parte alta del dato se almacena en SS:[SP-1], el siguiente byte en
SS:[SP-2], el siguiente en SS:[SP-3] y la parte baja se almacena en
[ ]yp
SS:[SP-4] posterior se decrementa a SP en 4.
Arquitectura de -procesadores
Direccionamiento de memoria de pila
8-bits
El dato se extrae del tope de la pila de SS:[SP] y posterior se incrementa
a SP en 1
16-bits
La parte baja del dato se extrae de SS:[SP] y la parte alta se extrae de
SS:[SP+1] y posterior se incrementa a SP en 2.
32-bits
La parte baja del dato se extrae de SS:[SP], el siguiente byte de
[ ], el siguiente
SS:[SP+1], g en SS:[SP+2]
[ ] y la p parte alta se extrae de
SS:[SP+3] y posterior se incrementa a SP en 4.
Arquitectura de -procesadores
Instrucciones de la familia IA-32
Formato de las instrucciones
Los microprocesadores Intel tienen un formato de instrucciones estndar
con campos que pueden aparecer o no dependiendo principalmente de
la instruccin empleada, los operandos y el modo de direccionamiento
utilizado
Arquitectura de -procesadores
Instrucciones de la familia IA-32
Formato de las instrucciones
Arquitectura de -procesadores
Instrucciones de la familia IA-32
Formato de las instrucciones
Arquitectura de -procesadores
Instrucciones de la familia IA-32
Prefijos
Este campo puede contener hasta cuatro (4) prefijos de 1 byte cada uno.
Los prefijos son de cuatro tipos, prefijos del grupo 1, grupo 2, grupo 3 y
grupo 4
Entre los bits mas utilizados en el primer byte del cdigo de operacin
estan:
d = 0, los datos van del campo Reg al campo R/M del byte ModR/M
d = 1, los datos van del campo R/M al campo Reg del byte ModR/M
w = 0, los operandos son de 8 bits
w = 1, los operandos son de 16 bits o de 32 bits
Arquitectura de -procesadores
Instrucciones de la familia IA-32
ModR/M y SIB
Cada uno de estos dos campos ocupan 1 byte, y sirven para indicar los
modos de direccionamiento y registros usados.
usados
El campo de mod
El campo de Reg/Opcode
El campo de R/M .
Arquitectura de -procesadores
Instrucciones de la familia IA-32
ModR/M y SIB
mod
combinado con el campo R/M establece 32 diferentes modos de
direccionamiento posibles a utilizar; 8 de estos modos son para registros
y los 24 restantes para direccionamiento de memoria.
Reg/Opcode
indica un numero de registro o sus tres bits se interpretan como
informacion del codigo de la operacion (instruccion) que se esta
ejecutando.
ejecutando
R/M
establece un numero de registro o se un modo de direccionamiento de
memoria dependiendo del valor que tenga el campo mod de este
mismo byte.
Arquitectura de -procesadores
Instrucciones de la familia IA-32
ModR/M y SIB
SIB
se utiliza en ciertos modos de direccionamiento, en particular en
aquellos que utilizan las combinaciones de base-mas-ndice e ndice
escalado para la construccin de la direccin efectiva en modos de
compatibilidad de 32 bits.
bits
Este byte
y tambin esta compuestos
p por
p tres campos
p internos:
El campo de scale
El campo index
El campo base
base
Arquitectura de -procesadores
Instrucciones de la familia IA-32
ModR/M y SIB
scale
indica el factor de escala por el cual se multiplicara el registro
especificado en el campo index. Los valores que puede asumir son 00
para multiplicador 1, 01 para multiplicador de 2, 10 para multiplicador
de 4 y 11 para multiplicador de 8.8
index
especifica
p el numero del registro
g ndice que
q se utilizara.
base
especifica el numero del registro base que se utilizara.
Arquitectura de -procesadores
Instrucciones de la familia IA-32
Desplazamiento y dato Inmediato
De aparecer un d
D desplazamiento
l i t fijo
fij este
t puede
d ser de
d 8 bits,
bit 16 bits
bit o
32 bits y aparecer inmediatamente despus del campo ModR/M.
Si la instruccin p
posee un dato inmediato,, este aparecer
p despues
p de
campo de Desplazamiento fijo o del campo ModR/M (si no existe el
campo de Desplazamiento) y puede tener una tamao de 8 bits, 16 bits
o 32 bits.
Arquitectura de -procesadores
Instrucciones de la familia IA-32
Ejemplo de codificacin de las instrucciones
MOV BP,SP
Arquitectura de -procesadores
Instrucciones de la familia IA-32
Ejemplo de codificacin de las instrucciones
MOV BP,SP
MOV BP,SP
ii. MOD-REG-R/M:
MOV BP,SP
1 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0
1 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0
8 B E C
MOV DL,[DI]
MOV DL,[DI]
1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0
8 A 2 A
ii. Opcode
p = 100010 ; Por ser Dato Inmediato a Memoria
iii. d =1 ; por el opcode
iv. w =1 ; por ser 16 o 32 bits
v. MOD = 01 ; Por ser el mas optimo
viii. SS = 01 ; *2
Carga
g de direcciones efectivas
LEA
LDS, LSS, LES, LFS y LGS
Transferencia de cadenas
LODS
STOS
MOVS
INS
OUTS
Arquitectura de -procesadores
Instrucciones de la familia IA-32
Instrucciones aritmticas y lgicas
Negacin
g Conjuncin
j OR
logica (NOT) AND inclusivo (OR)
aritmetica (NEG). exclusivo (XOR)
Arquitectura de -procesadores
Interfaces de los microprocesadores
Arquitectura de -procesadores
Interfaces de los microprocesadores
Tecnologas con las que se implementan el 8086 y 8088
SRAM-RAM
SRAM RAM Esttica: Es una memoria que retiene
su contenido mientras posea una fuente de alimentacin
conectada, de lo contrario lo pierde. Es una memoria
muyy rpida
p pero
p consume mucha potencia.
p
Uso: se utiliza principalmente como memoria cach
y como registros internos del CPU
211 = 2048 = 2K
Arquitectura de -procesadores
Decodificacin de memoria
Decodificacin
1 1 1 1 1 1 1 1 1 x x x x x x x x x x x
A19 A0
Arquitectura de -procesadores
Decodificacin de memoria
Decodificadores por compuertas NAND
FFFFF
Patrn Fijo 1
Patrn Fijo 2
Patrn Fijo 3
0
Arquitectura de -procesadores
Decodificacin de memoria
Decodificadores de 3 a 8 lneas
Arquitectura de -procesadores
Decodificacin de memoria
Decodificadores de 3 a 8 lneas
Arquitectura de -procesadores
Decodificacin de memoria
1 1 1 1 x x x x x x x x x x x x x x x x
A19 A0
ABC
Arquitectura de -procesadores
Decodificacin de memoria
Decodificadores de 3 a 8 lneas
A12-A0
FFFFF
Seleccin
A15-A
A13
Patrn Fijo 1
A19-A16