Arquitectura de computadoras - …gnudelman/Arq_Computacional.pdfArquitectura de computadoras...

17
Arquitectura de computadoras Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo Nudelman 2013

Transcript of Arquitectura de computadoras - …gnudelman/Arq_Computacional.pdfArquitectura de computadoras...

Arquitectura de computadoras

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Técnicas Digitales III Ing. Gustavo Nudelman 2013

Que entendemos por arquitectura

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

• 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

8254 – Timer programable

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

• 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

Programación por defecto del PIC en arquitectura PC

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Interrupciones del procesador

Teclado

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

• 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)

Teclas modificadoras en la BIOS data área

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Power on self test (POST)

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

• 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.

Power on self test (2)

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

• 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.

Power on self test (3)

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

• 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 DATA AREA.

• Chequea si existen ports paralelo. Inicializa a los que encuentra y

guarda resultados en BIOS DATA AREA.

• Establece si existen extensiones BIOS. Esto es: La ROM BIOS de

las PC provee un camino para integrar adaptadores de E/S con su

propia ROM on-board.

• Llama a la rutina Bootstrap loader para la carga del sistema

operativo

Chequeo de Extensiones de BIOS

• El rango de direcciones de memoria en las que se pueden mapear

estas ROMs va desde la C0000h hasta la EFFFFh.

• Se busca dentro de este rango cada 2K una firma fija e igual a 55AAh.

Si la encuentra asume que en esa página de 2k comienza una

extensión de BIOS.

• Si el POST detecta alguna ROM adicional, le transfiere

temporariamente el control.

• Devolverá al POST el control del sistema (RET) dejando al hardware

asociado a la extensión BIOS, listo para su uso.

Carga del sistema operativo

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

• 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