Está en la página 1de 12

Unidad 2

 La Unidad Central de Procesamiento (CPU) es el


dispositivo físico que ejecuta las instrucciones.
 Las instrucciones que ejecuta la CPU son por lo
general muy simples
 Las instrucciones pueden requerir datos que
estén en un lugar especial de almacenamiento de
la CPU en sí misma llamados registros.
 Las instrucciones que un tipo de CPU ejecuta las
hace en lenguaje de máquina

 Un compilador es un programa que traduce


programas escritos en un lenguaje de
programación a el lenguaje de máquina de una
arquitectura en particular de un computador
 En general cada tipo de CPU tiene su propio y
único lenguaje de máquina
Programa escrito lenguaje ensamblador

(compilador)

programa traducido a ceros y unos 3


 Los computadores usan un reloj para sincronizar
la ejecución de las instrucciones.
 El reloj pulsa a una frecuencia fija conocida como
velocidad del reloj.
 Una CPU de 1.5GHz tiene mil quinientos millones
de pulsos de reloj por segundo.

GHz significa giga Hertz


o mil millones de ciclos por segundo.

 En 1972, Intel lanzó el 8008, el primer


microprocesador de 8 bits.
 En 1974 el dispositivo 8080, con frecuencia descrito
como el primer microprocesador verdaderamente
útil, fue eventualmente substituido por el 8085.
 El proyecto 8086 comenzó en mayo de 1976, tanto
la arquitectura y el chip físico fueron desarrollados
por un pequeño grupo de personas, y usando los
mismos elementos básicos de la micro arquitectura y
técnicas físicas de implementación del ligeramente
más viejo 8085

 Desde la aparición de los primeros


microprocesadores, todas las áreas científicas y
tecnológicas han sido experimentado su más
acelerado desarrollo en la historia de la humanidad.
 El bajo costo, confiabilidad y reducido espacio de los
sistemas digitales basados en microprocesadores
les han posibilitado el incursionar en aplicaciones
que hasta antes de esa década se hallaban
restringidas a sistemas de alto costo y considerados
de alta tecnología

6
 El 8086 es un microprocesador de 16 bits, tanto
en lo que se refiere a su estructura como en sus
conexiones externas.
 mientras que el 8088 es un procesador de 8 bits
que internamente es casi idéntico al 8086
 La única diferencia entre ambos es el tamaño del
bus de datos
 La unidad de ejecución es la encargada de realizar
todas las operaciones
 la unidad de interfaz del bus es la encargada de
acceder a datos e instrucciones del mundo exterior
7

 El 8086 y el 8088 tienen internamente dos


componentes, la Unidad de Interfaz del Bus y la
Unidad de ejecución (Bus Interface Unit (BIU) y
Execution Unit (EU)).

 La Unidad de Ejecución procesa las instrucciones


del CPU. Está conformada por los registros
generales, los registros índice y apuntadores, los
flags, la unidad aritmético lógica, y la lógica de
control que maneja todo el proceso para ejecutar
las instrucciones.
9
 La Unidad de Interfaz del Bus maneja la lectura y
escritura desde y hacia la memoria y los puertos
de entrada/salida.
 Está conformada por los registros de segmento,
una cola de 4 bytes para instrucciones en el 8088
y de 6 en el 8086, y lógica para controlar los buses
externos del microprocesador.

10

 80286: su característica principal nueva es el


modo protegido de 16 bits.
 80386: Esta CPU es una gran ampliación del
80286. Primero extiende los registros para
almacenar 32 bits ((EAX, EBX, ECX, EDX, ESI, EDI,
EBP, ESP, EIP)
 Pentium Pro, Ellos principalmente aceleran la eje-
cución de las instrucciones.
 Pentium MMx(PII, PIII) :Estas instrucciones pueden
acelerar instrucciones comunes gráficas.

11

 La unidad de memoria es fundamentalmente el


almacen tanto de las instrucciones como datos,
cuyo conjunto define un programa.

 Básicamente es un circuito digital secuencial


que se usa para almacenar una gran cantidad
de posiciones binarias.

12
 La memoria en un computador esta formado
por un conjunto de celdas direccionables
aleatoriamente por el bus de direcciones. Cada
posición de memoria tiene un asociado en ella
un numero que lo identifica y viene a ser su
dirección.

 Por lo general, hasta en los sistemas grandes


cada posición o localidad de memoria contiene
8 bits, es dicir esta organizado en bytes
13

Organización de la memoria

14

 2.1. Historia
 2.2. Organización del Procesador
 2.3. Organización de la memoria
 2.4. Registros
 2.4.1. Registros de propósito general
 2.4.2. Registros de segmento
 2.4.3. Registros Punteros e índices
 2.4.4. Registro de banderas
 2.5. Programa Debug

15
16

17

18
 Los registros son un conjunto de lugares donde el
procesador almacena datos mientras trabaja
sobre ellos

19

 AX: Acumulador (AL:AH)


 BX: Registro base (BL:BH)
 CX: Registro contador (CL:CH)
 DX: Registro de datos (DL:DH)

20

 Tienen 16 bits cada uno y son ocho:


 1. AX = Registro acumulador, dividido en AH y
AL (8 bits cada uno).
Su parte más baja, AL, Además hay instrucciones
como DAA; DAS; AAA; AAS; AAM; AAD; LAHF;
SAHF; CBW; IN y OUT que trabajan con AX o con
uno de sus dos bytes (AH o AL).
 También se utiliza este registro (junto con DX a
veces) en multiplicaciones y divisiones

21
 2. BX = Registro base, dividido en BH y BL.
Es el registro base de propósito similar (se usa
para direccionamiento indirecto) y es una versión
más potente del par de registros HL de los
procesadores anteriores.
3. CX = Registro contador, dividido en CH y CL.
Se utiliza como contador en bucles (instrucción
LOOP), en operaciones con cadenas (usando el
prefijo REP) y en desplazamientos y rotaciones
(usando el registro CL en los dos últimos casos).

22

 4. DX = Registro de datos, dividido en DH y DL.


Se utiliza junto con el registro AX en
multiplicaciones y divisiones, en la instrucción
CWD y en IN y OUT para direccionamiento
indirecto de puertos (el registro DX indica el
número de puerto de entrada/salida).
5. BP = Puntero base
Generalmente se utiliza para realizar
direccionamiento indirecto dentro de la pila

23

 6. SP = Puntero de pila
Aunque es un registro de uso general, debe
utilizarse sólo como puntero de pila, la cual sirve
para almacenar las direcciones de retorno de
subrutinas y los datos temporarios (mediante las
instrucciones PUSH y POP). Al introducir (push) un
valor en la pila a este registro se le resta dos,
mientras que al extraer (pop) un valor de la pila
este a registro se le suma dos.

24
 7. SI = Puntero índice (no se puede subdividir).
Sirve como puntero fuente para las operaciones
con cadenas. También sirve para realizar
direccionamiento indirecto.

 8. DI = Puntero destino (no se puede subdividir).


Sirve como puntero destino para las operaciones
con cadenas. También sirve para realizar
direccionamiento indirecto

25

 se puede copiar el valor de un registro a otro


 MOV AL, BL
 En este caso se copia el valor de BL a AL
 Igualmente se puede copiar el valor de la parte
baja de un registro a la parte alta de otro registro
 MOV CH, DL
 Así como también operar con las partes altas
 MOV AH, DH
 También trabajar con los registros completos
para todos los procesadores de 32 bits
 MOV EBX, EDX
26

 Inclusive se puede copiar el valor de un registro a


una dirección de memoria
 MOV [1000], AL
 Igualmente apuntada la dirección de memoria a
DI
 MOV [DI], AL
 Y también con los registros completos (Solamente
completos en el procesador 8086)
 MOV AX, DX

27
 La instrucción MOV AX, 1000 ordena que AX
tome el valor de 1000.
 La instrucción MOV BX, 2000 ordena que BX tome
el valor de 2000.
 La instrucción ADD AX, BX ordena que AX sea
sumado con BX
 Por lo tanto AX tendra el valor 3000 luego de la
instrucción "ADD AX, BX", ya que se le sumó a AX
el valor de BX.

28

 DS: Registro segmento de datos. Contiene la


dirección del área de memoria donde se
encuentran los datos del programa.
 CS: Registro de segmento de código. Contiene la
dirección de las instrucciones del programa.
 SS: Registro segmento de pila. Contiene la
dirección del segmento de pila. La pila es un
espacio de memoria temporal que se usa para
almacenar valores de 16 bits (palabras).

29

 ES: Registro segmento extra. Contiene la


dirección del segmento extra. Se trata de un
segmento de datos adicional que se utiliza para
superar la limitación de los 64Kb del segmento de
datos y para hacer transferencias de datos entre
segmentos.
 Los registros de segmento DS, ES y SS se cargan
mediante las instrucciones MOV y POP
 CS se carga mediante transferencias de control

30
 SP: Puntero de la pila. Contiene la dirección
relativa al segmento de la pila.
 BP: Puntero base. Se utiliza para fijar el puntero
de pila y así poder accedera los elementos de la
pila.
 SI: Registro índice fuente
 DI: Registro ìndice destino

31

 Cada bandera es un bit y se usa para registrar la


información de estado y de control de las
operaciones del microprocesador.
 Hay nueve banderas (los 7 bits restantes no se
utilizan):
 Banderas de estado: Registran el estado del
procesador, normalmente asociado a una
comparación o a una instrucción aritmética.
 CF: Bandera de acarreo.
 OF: Bandera de desbordamiento (aritmético).

32

 ZF: Bandera de resultado 0 o comparación igual.


 SF: Bandera de resultado o comparación negativa.
 PF: Bandera de paridad (número par de bits).
 AF: Bandera auxiliar. Indica si hay necesidad de
ajuste en las operaciones aritméticas con
números BCD.

33
 Banderas de control:
 DF: Bandera de dirección. Controla la dirección de
las operaciones con cadenas de caracteres
incrementando o decrementando
automáticamente los registros índices (SI y DI)
 IF: Bandera de interrupciones. Indica si están
permitidas o no las interrupciones de los
dispositivos
 TF: Bandera de atrape. Controla la operación de
modo paso a paso (usada por el programa
DEBUG)
34

También podría gustarte