Pbn - 17 - 1 © Jaime Alberto Parra Plaza CLASE 17 FUNCIONES Y PASO DE PARÁMETROS A PROCEDIMIENTOS.
PBN - 02 - 1 © Jaime Alberto Parra Plaza CLASE 2 HARDWARE DEL MICROPROCESADOR.
-
Upload
emperatriz-salvas -
Category
Documents
-
view
6 -
download
0
Transcript of PBN - 02 - 1 © Jaime Alberto Parra Plaza CLASE 2 HARDWARE DEL MICROPROCESADOR.
PBN - 02 - 1© Jaime Alberto Parra Plaza
CLASE 2
HARDWARE DEL
MICROPROCESADOR
PBN - 02 - 2© Jaime Alberto Parra Plaza
TEMAS DE HOY:
• Partes componentes de un computador
• El microprocesador
• La memoria
• Los puertos de entrada/salida
• Estructura interna del microprocesador
PBN - 02 - 3© Jaime Alberto Parra Plaza
Un sistema de cómputo consta de dos elementos fundamentales: computador y periféricos.
Computador Periféricos de Entrada
Periféricos de Salida
PBN - 02 - 4© Jaime Alberto Parra Plaza
PERIFÉRICO:
Dispositivo externo al computador y que sirve para que el computador se comunique con su entorno, ya sea con otro computador, con un proceso físico o con un ser humano.
PBN - 02 - 5© Jaime Alberto Parra Plaza
EJEMPLOS DE PERIFÉRICOS:
1. De Salida: Vídeo, Impresora, Plotter, Modem, Unidad de Disco.
2. De Entrada: Teclado, Mouse, Scanner, Joystick, Modem, Unidad de Disco.
PBN - 02 - 6© Jaime Alberto Parra Plaza
DIAGRAMA FUNCIONAL DE UN COMPUTADOR:
Bus de Direcciones
CPU Memoria E/S
Bus de Datos
Bus de Control
PBN - 02 - 7© Jaime Alberto Parra Plaza
• CPU = Unidad Central de procesamiento.
En un Microcomputador la CPU es un elemento llamado Microprocesador.
• E/S = Conexiones para Entrada/Salida, llamadas Puertos, en ellas se conectan los periféricos.
• BUS = Conjunto de conductores eléctricos que transportan información a través de señales de voltaje.
PBN - 02 - 8© Jaime Alberto Parra Plaza
EL SISTEMA DE BUSES:• Permite conectar muchos elementos entre
sí utilizando sólo una línea (o conjunto de líneas) que entra y sale de cada elemento.
• Permite añadir o retirar módulos de un computador sin necesidad de hacer cambios laboriosos en la estructura física del equipo (es decir, un método del tipo plug and play - inserte y encienda - .)
PBN - 02 - 9© Jaime Alberto Parra Plaza
BUS DE DIRECCIONES:
Dado que las líneas de los buses son comunes a todos los elementos del computador, se asigna una dirección única a cada uno de ellos para poder diferenciarlos. La dirección es un número que es colocado por el microprocesador como una cantidad binaria sobre el bus de direcciones.
PBN - 02 - 10© Jaime Alberto Parra Plaza
BUS DE DATOS:En él se ubica la información que requiera
ser transferida de un sitio a otro del sistema.
La cantidad de líneas en este bus se utiliza para indicar la capacidad de un microprocesador, hablándose entonces de microprocesadores de 8 bits, de 16 bits, de 32 bits, etc.
PBN - 02 - 11© Jaime Alberto Parra Plaza
BUS DE CONTROL:
Para impedir que haya conflictos en el bus de datos, si varios elementos intentan colocar simultáneamente información en él, se utilizan líneas que cierran o abren la conexión de los elementos a los buses. Esas líneas se agrupan en el bus llamado de control.
PBN - 02 - 12© Jaime Alberto Parra Plaza
EXPRESIONES PARA DESIGNAR CANTIDADES
BINARIAS:• Página: 256 bytes• Segmento: 64
Kbytes• Kilo: 210
• Mega: 220
• Giga: 230
• Nibble: 4 bits• Byte: 8 bits• Word: 16 bits• Double: 32 bits
(2 Words)
• Párrafo: 16 bytes
PBN - 02 - 13© Jaime Alberto Parra Plaza
CARACTERÍSTICAS DEL MICROCOMPUTADOR
PERSONAL TIPO IBM (PC):• Microprocesador: 8088 de Intel• Bus de Direcciones: 20 líneas• Bus de Datos: 8 líneas (1 byte)• Bus de Control: Variable según el modelo• Memoria direccionable: 1 Megabyte (1 MB)• Puertos E/S direccionables: 1024 (1 Kilo)
PBN - 02 - 14© Jaime Alberto Parra Plaza
El microprocesador realiza, en esencia, dos tareas:
1. Comunicarse con los otros módulos para leer instrucciones o para leer/escribir datos.
2. Realizar operaciones sobre esos datos.
Dado que esas tareas son independientes entre sí, para optimizar la labor del sistema el uP posee internamente dos módulos para cada una de esas labores:
PBN - 02 - 15© Jaime Alberto Parra Plaza
EU BIU
Bus del Sistema
Unidad de
Ejecución
Unidad de
Interfaz al BusBus Interno
Cola deInstrucciones
PBN - 02 - 16© Jaime Alberto Parra Plaza
Reg. De Flags
Registrosde
Trabajo
Regs.de
Direcc.
Dec.de
Instruc.
Unidadde
Control
Colade
Instruc.
ALU
BusExt.Bus Interno
PBN - 02 - 17© Jaime Alberto Parra Plaza
• ALU = Unidad Aritmética y Lógica
• Flags = Indicadores de Resultados
• Registro = Conjunto de celdas que almacenan bits. Los registros del 8086 son todos de 16 bits.
PBN - 02 - 18© Jaime Alberto Parra Plaza
El uP es un dispositivo electrónico que puede realizar una secuencia de instrucciones (programa). El programa debe ubicarse en una memoria externa al uP. La ejecución de un programa ocurre cuando el uP ejecuta una a una cada instrucción del programa.
Tal ejecución consta de dos partes:
• Leer instrucción
• Realizar instrucción
PBN - 02 - 19© Jaime Alberto Parra Plaza
1. Leer la instrucción de la memoria (actúa la BIU)
2. Ejecutar la operación que indica la instrucción (actúa la EU)
Para ambas labores es necesario almacenar temporalmente cierta información:
En el paso 1 la dirección donde ubicar la instrucción y la instrucción misma, en el paso 2 los operandos y el resultado que se obtenga.
PBN - 02 - 20© Jaime Alberto Parra Plaza
Dentro del uP existen lugares de almacenamiento llamados registros. Un registro es físicamente igual a una memoria tipo RAM, con la característica de que sólo posee una fila.
Registro
bit n bit 0
. . . . . .
PBN - 02 - 21© Jaime Alberto Parra Plaza
REGISTROS DE LA BIU:
1. IP (Instruction Pointer) : Almacena la dirección de la siguiente instrucción a ejecutar.
2. Registros de segmento: Almacenan la dirección de inicio de cada uno de los 4 segmentos accesibles por el uP.
PBN - 02 - 22© Jaime Alberto Parra Plaza
REGISTROS DE SEGMENTO:
CS = Puntero al segmento de código
DS = Puntero al segmento de datos estándar
ES = Puntero al segmento de datos extra
SS = Puntero al segmento de pila
PBN - 02 - 23© Jaime Alberto Parra Plaza
REGISTROS DE LA EU:
• Registros de Trabajo
• Registros Índice
• Registros Puntero
• Registro de Banderas
PBN - 02 - 24© Jaime Alberto Parra Plaza
AX Acumulador
BX Base
CX Contador
DX Datos
REGISTROS DE TRABAJO:
PBN - 02 - 25© Jaime Alberto Parra Plaza
DI Índice Destino
SI Índice Origen
BP Puntero Base
SP Puntero a Pila
REGISTROS ÍNDICE:
REGISTROS PUNTERO:
PBN - 02 - 26© Jaime Alberto Parra Plaza
Los registros de trabajo pueden también manipularse como registros de 8 bits:
AL Acumulador
BL Base
CL Contador
DL Datos
AH
BH
CH
DH
Alta Baja
PBN - 02 - 27© Jaime Alberto Parra Plaza
REGISTRO DE BANDERAS:
Es un registro de 16 bits, de los cuales sólo se usan 9 bits.
6 de ellos sirven para indicar alguna característica de la última operación realizada por la ALU, fijándose en 1.
Los otros 3 sirven para programar el uP en determinada modalidad.
PBN - 02 - 28© Jaime Alberto Parra Plaza
OF: Overflow. El resultado no cabe en elrango definido para los operandos.SF: Sign. El resultado es negativo.ZF: Zero. El resultado es cero.AF: Auxiliar carry. Acarreo de nibble.PF: Parity. Cantidad de unos es impar.CF: Carry. Resultado generó acarreo.
DF: Direction. Acceso a cadenas.IF: Interrupt. Atender interrupciones.TF: Trap. Fija el uP en el modo paso a paso.
PBN - 02 - 29© Jaime Alberto Parra Plaza
MEMORIAS:Todo sistema microprocesado necesita
dispositivos de memoria para su trabajo.Una memoria recuerda la información que se le entrega y la almacena en su interior.
Existen 2 tipos de memorias:
• ROM
• RAM
PBN - 02 - 30© Jaime Alberto Parra Plaza
MEMORIA DE SÓLO LECTURA (ROM):
• En ella la información viene grabada permanentemente y no puede ser modificada, sólo leída. Útiles para guardar programas y/o datos que no necesitan cambiarse.
PBN - 02 - 31© Jaime Alberto Parra Plaza
En los microcomputadores, la ROM está dividida en dos partes:
• ROM BOOT
• ROM BIOS
La ROM BOOT contiene el código que se ejecuta cuando el computador es encendido.
La ROM BIOS posee las rutinas necesarias para comunicarse con los periféricos.
PBN - 02 - 32© Jaime Alberto Parra Plaza
MEMORIAS DE LECTURA Y ESCRITURA (RAM):
La información se puede leer y también sobrescribir información nueva sobre la anterior. En ella se ubican los programas que se cargan en el computador y los datos que se desarrollan al activar tales programas.
PBN - 02 - 33© Jaime Alberto Parra Plaza
Físicamente, una memoria (ROM o RAM) corresponde a una matriz de celdas, cada una con capacidad de almacenar un bit.
Lógicamente, la memoria es vista como un vector de registros, cada uno con capacidad de almacenar un byte.
PBN - 02 - 34© Jaime Alberto Parra Plaza
En esta forma, una memoria se caracteriza por dos parámetros:
• Contenido
• Dirección
PBN - 02 - 35© Jaime Alberto Parra Plaza
CONTENIDO DE UNA MEMORIA:
Es la información almacenada en una fila en particular, considerándola como una unidad. El contenido se liga directamente al bus de datos, el número de líneas (columnas) usual es de 8, 16, 32 ó 64.
PBN - 02 - 36© Jaime Alberto Parra Plaza
DIRECCIÓN DE UNA MEMORIA:
Es la posición de la fila en mención con respecto al conjunto de filas. El número total de posiciones de memoria (filas), para n líneas de dirección es de 2n .
Las n líneas surgen del bus de direcciones.
PBN - 02 - 37© Jaime Alberto Parra Plaza
posmem 0posmem 1
posmem k
posmem 2n - 2posmem 2n - 1
n líneas de dirección
Contenido de
la posmem k, con
una anchura de
m bits
m bits
PBN - 02 - 38© Jaime Alberto Parra Plaza
SEGMENTACIÓN DE MEMORIA:
El uP 8086 ve la memoria como si estuviera formada de bloques llamados segmentos. Un segmento tiene un tamaño de 64 Kbytes y la memoria total direccionable es de 1MB.
Un segmento puede empezar en cualquier posición que sea múltiplo de 16 (10H):
PBN - 02 - 39© Jaime Alberto Parra Plaza
30140H
MEMORIA
Segmento 1
Segmento 2
00020H
10020H
40140H
PBN - 02 - 40© Jaime Alberto Parra Plaza
DIRECCIÓN FÍSICA VERSUS
DIRECCIÓN LÓGICA:El mecanismo de segmentación permite aislar
unas partes de la memoria de otras, lo cual es muy útil en programación. En este sentido, un segmento es como una pequeña memoria, la cual puede ser manipulada como si el segmento fuera la memoria entera.
PBN - 02 - 41© Jaime Alberto Parra Plaza
puntero a la
dirección de inicio
puntero a la
posición actual
SEGMENTO
Un segmento es accesado usando dos punteros:
PBN - 02 - 42© Jaime Alberto Parra Plaza
El primer puntero, llamado SEGMENTO, indica la dirección absoluta donde comienza el bloque de memoria, DIVIDIDO ENTRE 10H.
El segundo puntero, o DESPLAZAMIENTO (offset ), es la posición relativa de una fila dada, con respecto al inicio del bloque.
PBN - 02 - 43© Jaime Alberto Parra Plaza
A raíz de esto, toda posmem puede indicarse por dos direcciones diferentes:
• DIRECCIÓN FÍSICA: Es la dirección absoluta que ocupa en la memoria física.
• DIRECCIÓN LÓGICA: Es la dirección relativa a un segmento en particular.
PBN - 02 - 44© Jaime Alberto Parra Plaza
dir física MEMORIA dirs. lógicas
00000H
Segmento 2
00070H
Segmento1
Inicio del segmento 200100H
Inicio del segmento 1
00123H
23H
B3H
PBN - 02 - 45© Jaime Alberto Parra Plaza
La dirección lógica se da usando este formato:
Segmento : Desplazamiento
Para el ejemplo anterior sería:
• Respecto al segmento 1: 7H : B3H Respecto al segmento 2: 10H : 23H
PBN - 02 - 46© Jaime Alberto Parra Plaza
GENERACIÓN DE UNA DIRECCIÓN FÍSICA:
Tanto el segmento como el desplazamiento ocupan 16 bits ( 4 hexadecimales), mientras que la dirección física ocupa 20 bits (5 hexadecimales).
La relación entre ellos se da así:
PBN - 02 - 47© Jaime Alberto Parra Plaza
Segmento Desplazamiento
x10H
Dirección Física
PBN - 02 - 48© Jaime Alberto Parra Plaza
EJEMPLOS:
• 15H: 49H 15H*10H + 49H = 150H + 49H = 199H
• 2AH: 305H 2AH*10H + 305H = 2A0H + 305H = 5A5H
• 7DH: 9ABH 7DH*10H + 9ABH = 7D0H + 9ABH = 117BH
Len2 - 5 - 10
PBN - 02 - 49© Jaime Alberto Parra Plaza
PREGUNTA 2:
• El sistema descrito se basa en el modelo de computador definido por Von Neumann en los años 50. ¿Qué otros modelos se han definido y cuáles arquitecturas se basan en ellos?
PBN - 02 - 50© Jaime Alberto Parra Plaza
< FIN DE LA CLASE 2 >