Está en la página 1de 26

3/06/2020

Universidad Nacional Mayor de San Marcos


Universidad del Perú. Decana de América

FACULTAD DE INGENIERÍA ELECTRÓNICA Y ELÉCTRICA


Escuela Profesional de Ingeniería Electrónica

Arquitectura de Computadoras

Sesión 7: Procesadores Intel


Docente: Ing. Pedro Acuña
lacunag@unmsm.edu.pe
pacuna2206@gmailm.com

San Miguel, 03 de junio de 2020

Procesadores Intel

MICROPROCESADOR - 8086

1
3/06/2020

Arquitectura del 8086


• Procesador de la familia de Intel
• Procesador de 20 bits de dirección y 16 bits de datos

BUS DEL SISTEMA

BIU
MEMORIA E/S
EU

CPU - 8086

Arquitectura del 8086


• Unidad de Ejecución (EU)
Se encarga de ejecutar las instrucciones (debe considerarse
como la CPU clásica).
• Unidad de Interfase de Bus (BIU)
Se encarga de buscar las instrucciones para adelantar su
ejecución y proporciona las facilidades de manejo de las
direcciones, se responsabiliza del control de la adaptación
de los elementos externos y el CPU

2
3/06/2020

Arquitectura del 8086

Arquitectura del 8088

3
3/06/2020

Arquitectura del 8088

Registros del 8086

4
3/06/2020

Registros del 8086


4 reg. denominados AX, BX, CX y DX que pueden ser
direccionados como 8 reg. de 8 bits denominados AH,AL,….DL
• Reg. Ax – se utiliza como acumulador (fundamentalmente) y
como registro de transferencia en instrucciones de E/S
• Reg. BX – se utiliza como acumulador y como registro base para
los direccionamientos de memoria.
• Reg. CX – se utiliza como acumulador y como contador para
instrucciones repetitivas
• Reg. Dx – se utiliza como acumulador, como una extensión del
reg. AX para instrucciones de multiplicación y división y como
puntero de dirección en ciertas instrucciones de E/S

Registros del 8086


Registros de punteros de segmentos CS, DS, SS y ES, dichos
punteros definen 4 segmentos de 64 Kbytes cada uno.
• Reg. CS – Segmento de Códigos
• Reg. SS – Segmento de Stack.
• Reg. DS – Segmento de Datos
• Reg. ES – Segmento Extra

10

5
3/06/2020

Segmentación de Memoria

11

Registros del 8086


4 registros que contienendirecciones de desplazamiento.
• Reg. SP – Stack Pointer (desplazamiento dentro del segmento
de Stack).
• Reg. BP – Puntero Base (desplazamiento dentro del segmento
de Stack).
• Reg. SI – Indice Fuente (desplazamiento dentro del segmento
de Datos).
• Reg. DI – Indice Destino (desplazamiento dentro del segmento
Extra).

12

6
3/06/2020

Registros del 8086


• Reg. IP – Apuntador de Instrucciones (Contador de Programa -
desplazamiento dentro del segmento de Códigos).

13

Registro de Status (Estados)

14

7
3/06/2020

Interrupciones en el 8086
• Las interrupciones pueden ser generadas por:
– Hardware
• Enmascarables (entrada INTR)
• No enmascarables (entrada NMI) – Tipo2
– Software
• Empleando la instrucción “INT N”

15

Interrupciones en el 8086
– Internas: generadas por la CPU cuando sucede una
condición anormal.
Tipos:
• 0 Error de división.
• 1 Paso a paso (Modo depuración).
• 3 Sirve para indicar puntos donde debe pararse el
programa (modo depuración del programa).
• 4 Desbordamiento (overflow), se dispara con la
instrucción INTO (interrupción si over flow)

16

8
3/06/2020

Interrupciones de Hardware - enmascarable


• Habilitado por programa ( se activa el bit IF).
• Inicializado por un nivel alto en el PIN INTR.
– Es generado por el dispositivo que lo interrumpe.
– Muestrado en el último ciclo de reloj de la instrucción.
• Reconocido por la señal INTA.
• El CPU lee el bus de datos el identificador del dispositivo (tipo de
interrupción).
• El CPU pone en el Stack la información del estado actual (dir. de
retorno CS e IP y el registro Status) y se bifurca para servir a la
interrupción
• La rutina termina con la instrucción IRET.
• El CPU restaura del Stack la dirección de retorno y el registro de
Status.
17

Interrupciones

Nx4 posición de memoria donde está en vector


de la interrupción ( primer K de Memoria)

18

9
3/06/2020

Estructura del sistema de interrupciones


• El 8086 usa una tabla de 256 localizaciones de 4 bytes cada una
ubicada en la parte mas baja de memoria.
• En general al tipo de interrupción N se le asigna la posición de
memoria 4xN
• Ejemplo: si la interrupción de tipo 17H tiene los siguientes datos:
– D2EF 00 F0
• La dirección de la rutina de atención a esa interrupcción
sería F000:EFD2
–Segmento F000
–Offset EFD2

19

Procesadores Intel

MICROPROCESADOR - 80386

20

10
3/06/2020

Arquitectura Intel 80386


• Características principales
– Bus de datos y direcciones de 32 bits.
– Registros internos de 32 bits.
– Puede controlar 4 Gb. de memoria RAM.
– Segmentos de 4 Gb.
– Capacidad de gestionar hasta 64 Tb. de memoria virtual. (2
elevado a la 46).
– Cambio dinámico tamaño bus (8, 16 y 32 bits).
– Soporta multitarea.

21

Arquitectura Intel 80386


• Características principales
– Admite 3 modos de operación
• Modo real: como el 8086
• Modo protegido: soporta las nuevas prestaciones.
• Modo virtual-86: ejecutar programas igual que el 8086
pero incorporando las principales características del
modo protegido.

22

11
3/06/2020

Arquitectura del 80386

23

Conceptos claves
• Memoria Virtual
– Se emplea en sistemas donde el tamaño combinado de los programas y lo
datos puede exceder el de la memoria física.
– El Sistema Operativo (SO) mantiene las partes en uso de los programas y
datos correspondientes en la memoria física, salvando el resto es disco
hasta que se necesiten.
– Antes de que el procesador acceda a una posición de memoria la unidad
de gestión de memoria (MMU, Memory Management Unit) determina si
esta se encuentra en la memoria, si es así el proceso continúa, todo lo
que hace la MMU es convertir las direcciones lógicas a las que se refiere el
programa en direcciones físicas.
– El 80386 tiene una MMU formada por las unidades de segmentación y
paginación
– Si ocurre lo contrario, la MMU genera un error denominado falla de
página , entonces el Sist. Operativo toma el control y carga el área desde el
disco a la memoria
24

12
3/06/2020

Conceptos claves
• Multitasking
– Significa ejecutar varias tareas a la vez, generalmente asignando una fracción de
tiempo de CPU disponible a cada una de ellas y suspendiendo la ejecución de
aquellas que deben esperar que se complete un proceso de entrada/salida u
otros eventos externos.
– Cada tarea es una entidad independiente, dispone de sus propias áreas de
programas y datos, procedimientos de arranque y tiene definido su estado y
prioridad.
– Para ejecutar tareas un procesador debe ser capaz de:
• Pasar rápidamente de una tarea a otra (salvar y cargar completamente los
indicadores de estado de máquina , registros y otras facilidades).
• Evitar que las tareas interfieran unas de otras, pero permitiendo
comunicaciones eficientes.
• Resolver conflictos y establecer prioridades en las operaciones.
– El 80386 proporciona estructuras e instrucciones especiales para contener el
estado de una tarea, conmutar entre tareas y crear entornos globales y locales.

25

Registros del 80386


• Podemos clasificar los registros del 80386 en diversas categorías:
– Registros generales: Son registros de 32 bits utilizados
fundamentalmente en operaciones aritméticas y lógicas.
– Registros de segmento: Estos registros contienen la dirección de
un segmento de memoria, a partir del cual podemos referenciar
cualquier dato que se encuentre en cualquier dirección de
memoria.
– Registros de estado y de instrucción: Se usan para almacenar el
estado del procesador tras la ejecución de una instrucción y para
llevar un control sobre la instrucción que se va a ejecutar.
– Registros del sistema: Se suelen dividir en registros de estado
extendido, registros de gestión de memoria, registros de control,
registros de depurado y registros de test.

26

13
3/06/2020

Registros de propósitos generales

27

Registros de Segmentos

28

14
3/06/2020

Registros de Estados e Intrucción

29

Registros de Estados

30

15
3/06/2020

Registros de Estados
• VM: Pasa del modo protegido al modo Virtual-86
• IOPL:Nivel de privilegio de E/S, garantiza que se puedan realizar
operaciones autorizadas.
• NT: Tarea anidada, indica que la ejecución de la tarea actual está
anidada a otra.
• RF: Indicador de continuación, después de un fallo de depuración
reanudar la ejecución del programa

31

Registros del Sistema


• Registros de gestión de memoria: Estos registros mantiene
información sobre ciertas estructuras de memoria que son utilizadas
en el Modo Protegido. Los diversos registros de memoria son: GDTR,
LDTR, IDTR, TR y son usados para fines distintos. El propósito de estos
registros se comentará posteriormente.

32

16
3/06/2020

Registros del Sistema


• Registros de control: Estos registros llamados CR0, CR2 y CR3
tienen fines muy distintos. El registro CR0 contiene información
sobre el modo de funcionamiento del procesador, por ejemplo,
posee un bit que indica si el procesador está en modo protegido,
otro indica si la paginación está habilitada, etc. El registro CR2 es
usado en el caso de errores de paginación y CR3 indica la dirección
donde se encuentra el directorio de páginas para realizar la
traducción de direcciones lógicas a físicas.
• Registros de depurado: Utilizados para facilitar funciones a los
depuradores.

33

Gestión de Memoria
• Direccionamiento en Modo Real:
– Una dirección lógica está formada por:
• Selector: contenido del registro de segmento. Indica donde
empieza el segmento.
• Desplazamiento: Sumado a la Base del Segmento.

SELECTOR:DESPLAZAMIENTO

34

17
3/06/2020

Gestión de Memoria Modo Real

35

Gestión de Memoria Modo protegido

36

18
3/06/2020

Gestión de Memoria Traslacion de Segmento

37

Gestión de Memoria Traslacion de Segmento

38

19
3/06/2020

Descriptor de Segmento
• Base: Donde comienza el segmento
• Limite:Determina el tamaño del segmento.
• Atributos:
– Tipo de segmento (escritura, lectura, etc).
– Nivel de Privilegio
– Indicadores relativos a la memoria virtual

39

Descriptor de Segmento

40

20
3/06/2020

Descriptor de Segmento

41

Gestión de Memoria - Formato dirección lineal

42

21
3/06/2020

Gestión de Memoria - Traslacion de Página

43

Formato de la entrada de paginas

• OS RESERVED: disponible para el programador del sistema.


• D: página sucia a 1 si se escribe en la pagina
• A: página accesada
• U/S: nivel de acceso usuario o supervisor
• R/W: página de solo lectura o escritura.
• P: página presente

44

22
3/06/2020

Gestión de Tareas
El 80386 ofrece las siguientes caracteristicas de manejo de
tareas
• Segmento de estado de tarea
• Descriptores de segmento de estado de tareas
• Registros de tareas
• Descriptores de puertas de tareas
• Indicador NT (Tarea anidada)
• La gestión de tareas se aplica en modo protegido (incluído el
V86)

45

Gestión de tareas

46

23
3/06/2020

Segmento de estado de tarea


• Toda la información que el procesador necesita para manejar
una tarea se almacena en un tipo especial de segmento
llamado segmento de estado de tarea (TSS).
• Permite al S.O. cambiar de tarea
• El S.O. puede activarla, suspenderla y/o terminarla mediante
su TSS.
• El TSS tiene un tamaño mínimo de 104 bytes

47

Segmento de estado de tarea


• Contiene 2 tipos de información:
– Inf. dinámica: el procesador la actualiza cada vez que conmuta otra
tarea.
• Registros de propositos generales, reg. de segmento, indicadores,
puntero de instrucciones.
• Selector del segmento de estado de tarea que estaba en ejecución
anteriormente si espera regresar a ella.
– Inf. Estática: (estado del software) es una parte permanente del
entorno de la tarea.
• Selector de la tabla de descriptores locales de la tarea.
• Dirección Base de su directorio de páginas
• Base de mapa de entradas/salidas

48

24
3/06/2020

Segmento de estado de tarea

49

Comnutación de tarea
• No hay instrucciones específicas para conmutar tareas.
• Se usan JMP y CALL
• Se compone de varias etapas
– Instrucción de conmutación, y salvar el contexto en el TSS.
– Cargar en TR el nuevo valor. Se direcciona el nuevo TSS y se
carga su contenido (su contexto) en el CPU.
– Se reanuda el procesamiento de la nueva tarea.

50

25
3/06/2020

PREGUNTAS

51

Universidad Nacional Mayor de San Marcos


Universidad del Perú. Decana de América

52

26

También podría gustarte