Arquitectura de computadoras - Universidad Tecnológica Nacional

Anuncio
Arquitectura de computadoras
Técnicas Digitales III
Ing. Gustavo Nudelman
2013
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Que entendemos por arquitectura
•
Un sistema con una CPU, memoria y dispositivos de entrada y salida
puede considerarse un sistema computacional.
•
En el diseño de un sistema computacional elegimos:
•
•
•
Tipo de CPU
Unidades de I/O
Ubicación de las unidades en el mapa de I/O
•
La elección de la arquitectura puede definir nuestro sistema para que
pueda ser usado para aplicaciones específicas (sistemas embedded),
sistemas de propósito general (arquitectura estándar) o incluso definir un
nuevo estándar.
•
A principios de los 80 IBM introduce la arquitectura PC, convirtiéndose la
misma en un estándar por sobre las diferentes arquitecturas que existían
al momento
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Mapa de memoria
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Mapa de memoria
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Mapa de memoria
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Mapa de I/O en arquitectura Pc
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
8254 – Timer programable
•
Timer0:
• Mapeado en la dirección 40h de I/O
• Es la base de tiempo del sistema (línea de interrupción IRQ0)
• Se programa por ROM (al iniciar el sistema) para generar un pulso
cada 55ms
• Los sistemas operativos modernos modifican esta configuración
•
Timer1
• Utilizado en principio para el Refresco de la memoria RAM (hoy no
se lo utiliza)
• Mapeado en la dirección 41h
•
Timer2
• Mapeado en la dirección 42h
• Programado para generar una señal cuadrada que es utilizada para
el beep del speaker básico.
•
Se utiliza también la dirección 43h para obtener información de
status
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Control de interrupciones – PIC 8259
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
PIC 8259 en arquitectura Pc
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Programación por defecto del PIC en
arquitectura PC
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Interrupciones del procesador
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Teclado
•
Un microcontrolador 8042 se encarga del barrido de la matriz de
teclas con la implementación del control de anti rebote.
•
Una vez detectada la pulsación o liberación de una tecla se transmite
por línea serie a la PC el código de la misma.
•
El código transmitido, llamado “ScanCode” corresponde a una
información de posición en la matriz. No es el código del carácter.
•
El SCAN CODE se transmite cada vez que se pulsa una tecla (acción
conocida como MAKE) y se vuelve a transmitir cuando se la libera
(break) generar una segunda
•
Tanto para “make”, como para break, el microcontrolador genera una
interrupción a través de la línea IRQ1 del PIC
•
Al generar la interrupción, el 8042 deja disponible en la dirección 60h
el scancode correspondiente (con MSB en 1 si es un break)
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Teclas modificadoras en la BIOS data
área
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Power on self test (POST)
•
Cuando el procesador es energizado, este comienza a buscar
instrucciones para ejecutar en la dirección FFFF0 en la cual se
encuentra mapeada la ROM del sistema (ver mapa de memoria)
•
Antes de iniciar su operación el sistema verificará el correcto
funcionamiento de la CPU
•
Chequea si el contenido de la ROM es el correcto (realiza un checksum
del contenido de la ROM completa que en fábrica se ajusta de modo
que el resultado del check sea cero).
•
Detecta el tipo de adaptador de video instalado. Lo inicializa en modo
texto 80x25. Escribe en la BIOS DATA AREA los principales datos de
interés para el sistema que proporciona este controlador.
•
Comprueba la correcta interacción con el 8042 y establece el modo de
trabajo con los diferentes ports de E/S que proporciona este chip.
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Power on self test (2)
•
Comprueba el correcto funcionamiento para el canal de DMA 0 y
dispara el refresco de memoria.
•
Comprueba el 8259 y lo inicializa con los valores default de los
vectores de Interrupción. A los que usa, los apunta a las rutinas de la
ROM correspondientes.
•
Cuenta la memoria RAM y comprueba su funcionamiento Una vez
finalizada la cuenta de memoria, chequea los restantes timers y
canales de DMA. Si funcionan correctamente los inicializa de
acuerdo a la forma en la que van a trabajar cada uno de ellos.
•
Funcionando correctamente el teclado y el timer tick, habilita sus
interrupciones en el 8259.
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Power on self test (3)
•
Testea el funcionamiento de las unidades de disco. Una vez
comprobado las inicializa, y escribe los resultados y principales
parámetros en la BIOS DATA AREA.
•
Chequea si existen ports serie. Inicializa a los que encuentra y
guarda
resultados
en BIOS de
DATA
AREA.
Chequeo
de Extensiones
BIOS
•
• El rango
de direcciones
de memoria
en lasaque
pueden
mapear
Chequea
si existen
ports paralelo.
Inicializa
los se
que
encuentra
y
ROMs va
C0000h
hasta la EFFFFh.
guardaestas
resultados
endesde
BIOSlaDATA
AREA.
•
• Se busca dentro de este rango cada 2K una firma fija e igual a 55AAh.
Establece
si existen extensiones BIOS. Esto es: La ROM BIOS de
Si la encuentra asume que en esa página de 2k comienza una
las PCextensión
provee un
camino para integrar adaptadores de E/S con su
de BIOS.
propia ROM on-board.
•
•
Si el POST detecta alguna ROM adicional, le transfiere
Llama temporariamente
a la rutina Bootstrap
loader para la carga del sistema
el control.
operativo
•
Devolverá al POST el control del sistema (RET) dejando al hardware
asociado a la extensión BIOS, listo para su uso.
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Carga del sistema operativo
•
La rutina Boostrap Loader del BIOS solo se limita a:
• Leer el primer sector físico del disco.
• Cargar los 512 bytes en memoria RAM (0000h:7C00h)
• Saltar al primer byte (debe haber allí una instrucción válida)
•
La unidad de disco que lee es la que tiene configurada el equipo en la
secuencia de arranque.
•
Siendo que ningún sistema operativo puede caber en 512 bytes, en ese
sector debe residir un programa que sepa cargar al Sistema Operativo.
(botstrap loader)
•
Un boot loader debe ser capaz de cargar el software en memoria y
transferir el control a donde sea necesario
Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires
Descargar