Arquitectura de PCs Arquitectura básica del PC. Introducción El PC es el resultado de una especificación técnica de IBM El hardware se organiza de forma.

Slides:



Advertisements
Presentaciones similares
Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.
Advertisements

Arquitectura de Sistema de E/S
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Hardware.
TEMA 7 HARDWARE TECNOLOGÍA 3º ESO ADELA GINER LARRAURI.
ITESCAM Lenguaje de Interfaz
Programación en Lenguaje Ensamblador.
Componentes básicos del ordenador
PROG. EN ENSAMBLADOR Ing. Pablo Cesar Tapia Catacora.
Composición Interna de un Procesador
1 Aula de Informática del Centro de Participación Activa para Personas Mayores de El Ejido (Almería). Consejería Territorial de Salud y Bienestar Social.
Arquitectura del Computador
CPU “Microprocesador de datos” Bus “ Transporte de los datos”
HILOS Y COMUNICACIÓN ENTRE PROCESOS

Arquitectura del 8086/8088 El 8086 Arquitectura de computadoras II
ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
Introducción a la Ingeniería en Sistemas
Unidad 7 Entrada/Salida
Tecnología de la información Unidad: 3 El software Profesor: Fernando J. Martini.
Secciones y Segmentos STARTUP
UNIDAD CENTRAL DE PROCESO
BUS DE DATOS.
Overview Sistemas Computacionales
Conceptos Arquitectónicos del computador
Lenguaje de Programación cap. 1 Estructura del Computador.
TEMA 2: Organización de computadores
Estructura de Computadores Comandos DEBUG Programación en Assembler Profesora : Tatiana Marín R.
Introducción al tiempo real en sistemas empotrados
Tema 1: DATOS Y REGISTROS
Puertos I/O Los puertos son los encargados de enviar y recibir la información en un computador, pero como hace el procesador para hacer este intercambio.
Organización del Computador Entradas / Salidas. Modelo de I/O.
Unidad I: Registros e Interrupciones Facilitador: Ing. Eduardo Brando.
¿Qué unidades conforman el procesador?

MODOS DE DIRECCIONAMIENTO
introducción al Lenguaje Ensamblador
Sistemas Informáticos
“Organización y Arquitectura de Computadores” William Stallings
Microprocesador (8086) Universidad Nacional de Ingeniería
Placa base: La placa base, también conocida como placa madre o tarjeta es una placa de circuito impreso a la que se conectan los componentes que.
Estructura de los Sistemas Operativos
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
HARDWAREHARDWARE FELIX BELLA EDU ROS. INDICE 1-. INTRODUCCION 2-. FUNCIONES BASICAS A) LA UNIDAD CENTRAL (CPU) B) LA MEMORIA PRINCIPAL C) DISPOSITIVOS.
FUNCIONAMIENTO INTERNO DEL ORDENADOR
I.- COMPONENTES BÁSICOS DE UNA MICROCOMPUTADORA
INTEGRANTES: ONEIDA OSORIO VILLA, JUAN CAMILO SÁNCHEZ BAENA, JOANNA SÁNCHEZ, LUISA VILLA, JIMMY MORALES, BRIAM ZAMBRANO.
introducción al Lenguaje Ensamblador
Computadora Es una máquina electrónica que recibe y procesa datos para convertirlos en información útil. Una computadora es una colección de circuitos.
 En la RAM se cargan todas las instrucciones que ejecutan la unidad central de procesamiento (procesador) y otras unidades de cómputo.  Se denominan.
Programación en Lenguaje Ensamblador.
Driver o controlador para la pc.
INGENIERIA EN SISTEMAS FUNDAMENTOS DE COMPUTACION
José Alvarado – Cristian Anzola
1 Unidades funcionales de un ordenador Procesadores Memorias Dispositivos de E/S
ARQUITECTURA DEL ORDENADOR
LOS COMPONENTES DEL ORDENADOR
Arquitectura de Computadores
El microprocesador y su arquitectura
El Computador. Computador. Máquina compuesta de elementos físicos (en su mayoría de origen electrónico) capaz de aceptar unos datos de entrada, realizar.
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Arquitectura de PCs Operación de los periféricos del PC.
Arquitectura de Computadores Clases Interrupciones de software y hardware IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica.
Arquitectura de PCs El ambiente de desarrollo. Introducción Ambiente de desarrollo del curso: - CPU Intel Teclado - Monitor color - Disco duro.
INTRODUCCIÓN A LA INFORMÁTICA Realizado por: SARI FOLGADO.
Arquitectura básica de la computadora
CAPITULO V Arquitectura de Von Neumann
Arquitectura de PCs El BIOS. Introducción Un PC tiene parámetros específicos para el acceso a dispositivos periféricos: por ejemplo, acceso a disco duro.
HARDWARE. INDICE ¿Qué es un ordenador? Hardware y Software Funcionamiento de un ordenador Arquitectura básica de un ordenador Placa base Unidades de medida.
Transcripción de la presentación:

Arquitectura de PCs Arquitectura básica del PC

Introducción El PC es el resultado de una especificación técnica de IBM El hardware se organiza de forma piramidal Cada escalón se comunica con el siguiente por interfaz física y lógica

Arquitectura Piramidal Intel 80x86 CPU Memoria Programa y datos Controlador PCI Controlador de disco Controladores de bus: comunican CPU con buses de expansión Bus PCI Dispositivos PCI Discos Bus IDE Buses de expansión Dispositivos periféricos Bus del sistema Bus de direcciones Bus de datos 2 patas de interrupciones Patas de control

La CPU: Generalidades La CPU es el dispositivo físico que ejecuta instrucciones: Cada instrucción se codifica con un número Conjunto de instrucciones que ejecuta la CPU forma el “lenguaje de máquina” Cada CPU tiene su lenguaje de máquina propio Ejecución de instrucciones sincronizada por reloj Distintas instrucciones requieren distinto número de períodos

La CPU: Generalidades Primer PC incluye CPU Intel 8088: 14 registros de 16 bits (unidades de almacenamiento especiales cuyo acceso es mucho más rápido que a memoria principal) Accede a 1MB de memoria Opera en “modo real”

La CPU: Generalidades Especificaciones PC siguientes usan modelos sucesivos CPU Intel 80x86 (8086, 80286,..., Pentium, etc.) Toda CPU Intel 80x86 mantiene la capacidad de funcionar en el modo real como un 8088 (en particular, todas inician en modo real) En este curso se dan los elementos necesarios para programar la CPU Intel 80x86 en modo real sobre un PC

La CPU: los registros La CPU 8088 incluye 14 registros de 16 bits: 4 registros de propósito general: AX, BX, CX y DX Se componen de 2 registros de 1B (por ej., AX en AH y AL) Intervienen en movimientos e instrucciones aritméticas 4 registros punteros a memoria: SI, DI, BP y SP SI, DI: punteros en instrucciones de movimientos SP: puntero a la pila de hardware 4 registros de segmento: CS, DS, SS y ES Motivación se explica más adelante 1 registro FLAGS con información de estado Se compone de bits de control y bits de estado 1 registro de instrucción IP: CS e IP determinan instrucción siguiente en hilo de ejecución Se modifica tras la ejecución de cada instrucción

Interfaz física de la CPU Interfaz física del 8088: bus del sistema. 62 cables paralelos digitales que incluyen: Bus de direcciones con dos espacios de direcciones (memoria y E/S) Bus de datos Dos líneas de interrupciones externas Patas de control

Interfaz física de la CPU Bus de direcciones, bus de datos y patas de control RD y WR permiten la transferencia de datos con memoria principal y controladores de bus Bus de direcciones de 20 bits tiene 2 espacios: Memoria: direcciones de 20 bits (1MB) Puertos de E/S: direcciones de 16 bits Físicamente el bus de direcciones se compone de: Patas A19.. A0: determinan la dirección del dato Pata M/IO#: determina el espacio del dato (memoria o E/S) Bus de datos de 16 bits

Interfaz física de la CPU La memoria principal se considera un arreglo de bytes que se pueden leer o escribir Cada dirección del espacio de memoria refiere a un BYTE de la memoria principal 00000H FFFFFH 00001H 00002H FFFFEH CPU A19.. A0 RD WR D15.. D0

Es posible una transferencia de 2 direcciones de memoria: 2B = palabra (WORD) La 8088 organiza memoria en modo “Little endian”: La palabra en dirección 09000H = 7705H Interfaz física de la CPU 00000H 09000H 09001H FFFFFH 77 05

Interfaz física de la CPU Cada dirección del espacio de E/S refiere a un registro de un controlador de bus Transferencias con espacio de E/S son de 1 o 2 bytes, según registro accedido CPU A15.. A0 RD WR D15.. D0 Controlador de dispositivo 1 Controlador de dispositivo N

Interfaz física de la CPU Interrupciones externas permiten a los controladores de dispositivo captar la atención de la CPU Patas de interrupciones externas: NMI: interrupción no se desactiva por software INTR: interrupción se desactiva por software, por bit IF de FLAGS Se conecta a Controlador de Interrupciones Programable (PIC) Los controladores de bus que generan interrupción se conectan a patas IRQ (Interrupt Request) del PIC Existen 16 patas IRQ (0 a 15)

Interfaz física de la CPU Secuencia de interrupción hardware: D15.. D0 INTR INTA Controlador de interrupciones programable IRQ15 IRQ14 IRQ0 IRQ1 Controlador de disco IRQ14 CPU Ejecuta rutina de atención a la interrupción IRQ14

El modo real OPERACION DE PROGRAMA EJECUTANDO EN MODO REAL

Introducción Un programa ejecutado por la CPU 8088 refiere a cada dato de la memoria principal por su dirección lineal Selector (16 bits): un registro de segmento CS, DS, ES, SS Selector : Offset Dirección real (física) Dirección real = selector * offset Dirección lineal Offset (16 bits) Registros de segmento con los 4 bits menos significativos 0. Excursionan en toda la memoria en incrementos de 16

Segmentos Código Datos Pila Registros de segmento definen áreas de memoria con tipos específicos de información. Organización del programa: código, datos y pila Contiene datos del programa; por ejemplo, caracteres “Hola” de un programa que imprime “Hola” en pantalla Contiene la pila del programa. Permite: Salvar datos temporalmente Llamados a subrutinas Interrupciones Contiene instrucciones del programa Comienzo: registro CS CS:IP puntero a instrucciones Definidos por DS y ES Comienzo: registro SS SS:SP puntero a la pila

Segmentos Operación de la segmentación: Un programa ejecutando sobre un microprocesador ejecuta en el contexto de un SO El SO es un programa que se carga al inicio del sistema en la parte más baja del área de memoria principal disponible El SO carga al programa en la memoria por encima del SO Por tanto, un programa debe funcionar en cualquier dirección de la memoria. Para esto, los accesos a memoria deben ser relativos Solución implementada en el 8088: instrucciones acceden a memoria por offset relativos a los inicios de los segmentos; los selectores son implícitos Los registros de segmento se inicializan cuando el programa se carga en memoria, para apuntar a las áreas correspondientes

Segmentos Ejemplo 1 (código): 00000H 10000H 40000H FFFFFH Siempre salta a la misma posición relativa al inicio del programa (MOV AL,[500H]), como se espera 10200H 40200H CS 2 Si programa se carga en dirección 40000H, se inicia CS = 4000H JMP 200H MOV AL,[500H] Si programa se carga en dirección 10000H, se inicia CS = 1000H CS 1 JMP 200H MOV AL,[500H] JMP 200H MOV AL,[500H] Programa 0000H 0200H 1000H Instrucción JMP 200H salta a dirección CS:200H

Segmentos Ejemplo 2 (datos): JMP 200H MOV AL,[500H] 0000H 0200H 1000H 1500H H O L A 1501H 1502H 1503H CS 2 En ambos casos, el programa carga el mismo dato en AL (= ‘H’), como se espera CS H 40000H FFFFFH 40200H Instrucción MOV AL,[500H] carga en AL el byte en dirección DS:500H Programa 41000H 41500H MOV AL,[500H] H H 10000H 10200H 11000H 11500H Si el programa se carga de modo que segmento de datos inicia en 11000H, DS = 1100H DS 1 Si el programa se carga de modo que segmento de datos inicia en 41000H, DS = 4100H DS 2

Espacios I y D Cómo se determina la organización en segmentos de un programa? Se determina en tiempo de programación: Programa con “espacio común de instrucciones y datos”: DS = CS; accede un espacio plano de direcciones de 64kB Programa con “espacios de instrucciones y datos separados”: DS distinto de CS; dispone hasta 64kB de memoria para instrucciones y 64kB para datos

Espacios I y D Ejemplo 1: Espacios instrucciones y datos separados DS = 1200H CS = 1000H 00000H 10000H CODIGO 12000H DATOS PILA 20000H FFFFFH CS DS Primer dato en offset 0: MOV AX,[0]

Espacios I y D Ejemplo 2: Espacio de instrucciones y datos único DS = 1000H CS = 1000H 00000H 10000H CODIGO 12000H DATOS PILA 20000H FFFFFH CSDS Primer dato en offset 2000H: MOV AX,[2000H]

Segmentos de datos y pila En la práctica se hace SS = DS, de forma los datos y la pila forman parte del mismo segmento de 64kB Normalmente el registro puntero de pila SP se inicia a Como la pila crece hacia abajo y los datos hacia arriba, se aprovecha el segmento común de forma óptima

La memoria del PC 00000H 640KB Memoria convencional 128KB Memoria de video 128KB ROM de dispositivo 64KB ROM opcional 64KB ROM de inicio (BIOS) A0000H BFFFFH C0000H DFFFFH 0E000H EFFFFH F0000H FFFFFH 9FFFFH Distribución del espacio de memoria del PC en modo real 640kB inferiores para RAM convencional 360kB superiores para ROM y RAM especiales (en particular, la ROM de inicio abarca las direcciones F0000H – FFFFFH)

Ejemplo INTERACCION ENTRE LOS ESCALONES DE LA ARQUITECTURA DE PC: BUS ATA-2

Introducción ATA-2 (EIDE) ATA-2 especifica una interfaz física y lógica para el acceso a discos duros ATA-2 y ATAPI (para CDROM) forman EIDE; interfaz física común, interfaz lógica distinta Un PC puede tener hasta dos canales ATA-2: canal primario y secundario Cada canal soporta dos dispositivos Cada canal tiene un controlador de bus asociado

Interfaz física ATA-2 a CPU Interfaz física de CPU a controlador del canal primario ATA-2: Direcciones E/S 01F0H...01F7H, 03F6H y 03F7H Interrupción IRQ14 Interfaz física de CPU a controlador del canal secundario ATA-2: Direcciones E/S 0170H H, 0376H y 0377H Interrupción IRQ15

Interfaz lógica ATA-2 a CPU Interfaz lógica de la CPU al controlador de disco define: tipos de acceso al disco comandos para cada acceso Los datos del disco se organizan en bloques de 512 bytes denominados “sectores” Cada sector se refiere por su coordenada “CHS” Una coordenada CHS tiene tres componentes: Cilindro C ( ) Cabezal H (0..15) Sector S (1..255)

CHS considera al disco físico una pila de discos de 2 caras con 2 cabezales c/u. Interfaz lógica ATA-2 a CPU

Ej.: lectura de sector 001 del dispositivo 0 del canal primario Interfaz lógica ATA-2 a CPU CPU Controlador de canal primario 01F0H 01F1H 01F2H 01F3H 01F4H 01F5H 01F6H 01F7H 00H 01H 00H A0H 20H Disco duro Bus ATA-2 00H INTRIRQ14 Nr. sectores Sector Cilindro L Cilindro H Nr.Disco-Cabezal Comando lectura Buffer FF D0 D1 D1FF D0 D1D2 D3