Sie sind auf Seite 1von 23

INSTITUTO POLITCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA

UNIDAD ZACATENCO

INGENIERA EN COMUNICACIONES Y ELECTRNICA

Profesor: Gutirrez Castillo Gerardo

Microprocesadores

Ttulo: Resumen de las caractersticas de los microprocesadores de 8 bits

Grupo: 6CM2

Alumnos:
Aguilar Garca Adolfo Rodrigo
Lpez Tirado Diana Laura
Mendoza Hernndez Marco Antonio
May Magaa Lehi Abraham
Sosa Hernndez Ivn Antonio

El microprocesador
Unidad central de proceso (CPU), circuito microscpico que interpreta y ejecuta
instrucciones. La CPU se ocupa del control y el proceso de datos en las
computadoras. Generalmente, la CPU es un microprocesador fabricado en un
chip, un nico trozo de silicio que contiene millones de componentes electrnicos.
El microprocesador de la CPU est formado por una unidad aritmtico-lgica que
realiza clculos y comparaciones, y toma decisiones lgicas (determina si una
afirmacin es cierta o falsa mediante las reglas del lgebra de Boole); por una
serie de registros donde se almacena informacin temporalmente, y por una
unidad de control que interpreta y ejecuta las instrucciones. Para aceptar rdenes
del usuario, acceder a los datos y presentar los resultados, la CPU se comunica a
travs de un conjunto de circuitos o conexiones llamado bus. El bus conecta la
CPU a los dispositivos de almacenamiento (por ejemplo, un disco duro), los
dispositivos de entrada (por ejemplo, un teclado o
un mouse) y los dispositivos de salida (como un
monitor o una impresora).
Funcionamiento de la CPU
Cuando se ejecuta un programa, el registro de la
CPU, llamado contador de programa, lleva la
cuenta de la siguiente instruccin, para garantizar
que las instrucciones se ejecuten en la secuencia
adecuada. La unidad de control de la CPU coordina y temporiza las funciones de
la CPU, tras lo cual recupera la siguiente instruccin desde la memoria. En una
secuencia tpica, la CPU localiza la instruccin en el dispositivo de
almacenamiento correspondiente. La instruccin viaja por el bus desde la memoria
hasta la CPU, donde se almacena en el registro de instruccin. Entretanto, el
contador de programa se incrementa en uno para prepararse para la siguiente
instruccin. A continuacin, la instruccin actual es analizada por un
descodificador, que determina lo que har la instruccin. Cualquier dato requerido
por la instruccin es recuperado desde el dispositivo de almacenamiento
correspondiente y se almacena en el registro de datos de la CPU. A continuacin,
la CPU ejecuta la instruccin, y los resultados se almacenan en otro registro o se
copian en una direccin de memoria determinada.

Circuito de Reloj

El reloj interno es un componente del


microprocesador que emite una serie de pulsos
elctricos a intervalos constantes llamados ciclos,
estos ciclos marcan el ritmo que ha de seguirse para
la realizacin de cada paso de que consta la
instruccin.
Se basa en la teora binaria para marcar el ritmo
(tambin denominado pulso), el cual se considera
como 1 al estado de encendido y 0 como al estado
de apagado. La velocidad de cambio se denomina en
hercios (Hz) que son los ciclos de cambio por
segundo.

proporciona una sucesin de impulsos elctricos (llamados ciclos) a intervalos


constantes. Cada sucesin marca el instante que debe comenzar un paso de una
instruccin, Las frecuencias de relojes de los microprocesadores se miden en
hertz. Las operaciones que realiza un procesador necesitan de 2 a 206 ciclos para
concretarse.

Seal de reloj

Una seal de reloj es una seal usada para coordinar las acciones de dos o ms
circuitos. La mayora de los circuitos integrados complejos utilizan una seal de
reloj para sincronizar sus diferentes partes y contar los tiempos de propagacin.
Frecuencia de reloj
La frecuencia de reloj es la velocidad en ciclos por segundo (medidas en hercios)
con que una computadora realiza las operaciones ms bsicas. Diferentes chips
en la placa madre pueden tener diferentes frecuencias de reloj.
Circuito de reset
El Reset es una accin con la cual se inicia el trabajo de los microprocesadores y
microcontroladores. Esta accin se ejecuta cuando se aplica una sealdenominada reset- aun terminal, designado tambin como reset.

Reset de un Pic
En un microprocesador, la seal de reset se genera manualmente al pulsar un
botn(reset manual) o cuando se pone en marcha el sistema(reset por encendido)
En un microcontrolador hay otras posibles fuentes de reset como son el reset por
fallo de alimentacin(power-glitch reset, brown-out reset) y el rest por
desbordamiento del perro guardin.
El reset por desbordamiento del perro guardin se produce cuando la tensin de
alimentacin cae momentneamente por debajo de un cierto valor umbral, de
modo que C se descarga parcialmente y se alcanza y se alcanza la condicin
Vreset < Vumbral.
El Reset por desbordamiento del perro guardin se produce cuando por alguna
razn no se ha refrescado(borrado) a tiempo el perro guardin. Generalmente ello
significa que el microcontrolador se ha perdido en la ejecucin del programa, es
decir, se ha salido de la secuencia correcta.

es muy importante que el microcontrolador efecte una accin de reset cuando se


poducen falos de este tipo. Ello garantiza que en situaciones como stas, en las
que el microcontrolador perdera inexorablemente la
secuencia correcta de instrucciones del programa, no salte a
una direccin aleatoria sino que vaya a una direccin determinada( la del valor de
reset) donde se pueden efectuar acciones que contrarresten el falo que ha
producido

Memoria
El microprocesador es un circuito integrado que contiene algunos o todos los
elementos hardware, y el de CPU, que es un concepto lgico. Una CPU puede
estar soportada por uno o varios microprocesadores, y un microprocesador puede
soportar una o varias CPU. Un ncleo suele referirse a una porcin del procesador
que realiza todas las actividades de una CPU real.
La tendencia de los ltimos aos ha sido la de integrar ms ncleos dentro de un
mismo empaque, adems de componentes como memorias Cache y
controladores de memoria, elementos que antes estaban montados sobre la placa
base como dispositivos individuales.
Desde el punto de vista lgico, singular y funcional, el microprocesador est
compuesto bsicamente por: varios registros, una Unidad de control, una Unidad
aritmtico-lgica, y dependiendo del procesador, puede contener una unidad en
coma flotante.
El microprocesador ejecuta instrucciones almacenadas como nmeros binarios
organizados secuencialmente en la memoria principal. La ejecucin de las
instrucciones se puede realizar en varias fases:
PreFetch, Pre lectura de la instruccin desde la memoria principal,

Fetch, envo de la instruccin al decodificador,


Decodificacin de la instruccin, es decir, determinar qu instruccin es y por tanto
qu se debe hacer,
Lectura de operandos (si los hay),
Ejecucin,(Lanzamiento de las Mquinas de estado que llevan a cabo el
procesamiento).
Escritura de los resultados en la memoria principal o en los registros.
La capacidad de un procesador depende fuertemente de los componentes
restantes del sistema, sobre todo del chipset, de la memoria RAM y del software.
Pero obviando esas caractersticas puede tenerse una medida aproximada del
rendimiento de un procesador por medio de indicadores como la cantidad de
operaciones de punto flotante por unidad de tiempo FLOPS, o la cantidad de
instrucciones por unidad de tiempo MIPS. Una medida exacta del rendimiento de
un procesador o de un sistema, es muy complicada debido a los mltiples factores
involucrados en la computacin de un problema, por lo general las pruebas no son
concluyentes entre sistemas de la misma generacin.
La memoria de acceso aleatorio, (en ingls: Random Access Memory cuyo
acrnimo es RAM) es la memoria desde donde el procesador recibe las
instrucciones y guarda los resultados. Es el rea de trabajo para la mayor parte del
software de un computador. Existe una memoria intermedia entre el procesador y
la RAM, llamada cach, pero sta slo es una copia (de acceso rpido) de la
memoria principal almacenada en los mdulos de RAM.Los mdulos de RAM son
la presentacin comercial de este tipo de memoria, se compone de integrados
soldados sobre un circuito impreso.
La frase memoria RAM se utiliza frecuentemente para referirse a los mdulos de
memoria que se usan en los computadores personales y servidores. En el sentido
estricto, estos dispositivos contienen un tipo entre varios de memoria de acceso
aleatorio , ya que las ROM, memorias Flash , cach (SRAM) , los registros en
procesadores y otras unidades de procesamiento tambin poseen la cualidad de
presentar retardos de acceso iguales para cualquier posicin. En el sistema
operativo Windows Vista, gracias al servicio ReadyBoost, es posible asignar
memoria flash de un dispositivo externo USB como memoria RAM y as mejorar la
velocidad del equipo informtico.
Relacin con el resto del sistema:
Dentro de la jerarqua de memoria la RAM se encuentra en un nivel despus de
los registros del procesador y de las caches. Es una memoria relativamente rpida
y de una capacidad media: en la actualidad (ao 2009), es fcil encontrar
memorias con velocidades de mas de 1 Ghz y capacidades de hasta 8 GB. La
memoria RAM contenida en los mdulos, se conecta a un controlador de memoria
que se encarga de gestionar las seales entrantes y salientes de los integrados
DRAM. Algunas seales son las mismas que se utilizan para utilizar cualquier
memoria: Direcciones de las posiciones, datos almacenados y seales de control.
DIAGRAMA DE TERMINALES, BUSES Y PUERTOS E/S:

Pata Nombre
1
A10
2
3
4
5
6
7
8
9
10
11
12
13

Descripcin
Bus de direcciones
Referencia de tierra. Todas las tensiones se miden con respecto a
GND
este punto.
Si SYNC = 0: Bus de datos.
D4
Si SYNC = 1: Seal de control que indica salida a perifrico.
Si SYNC = 0: Bus de datos.
D5
Si SYNC = 1: Seal que indica si el uP est en ciclo de bsqueda
de instruccin.
Si SYNC = 0: Bus de datos.
D6
Si SYNC = 1: Seal de control que indica entrada de perifrico.
Si SYNC = 0: Bus de datos.
D7
Si SYNC = 1: Seal de control que indica lectura de memoria.
Si SYNC = 0: Bus de datos.
D3
Si SYNC = 1: Seal que indica que el uP se ha detenido.
Si SYNC = 0: Bus de datos.
D2
Si SYNC = 1: Seal que indica que se realiza una operacin con el
stack.
Si SYNC = 0: Bus de datos.
D1
Si SYNC = 1: Modo lectura/escritura.
Si SYNC = 0: Bus de datos.
D0
Si SYNC = 1: Seal de reconocimiento de interrupcin.
-5V
Una de las tres patas de alimentacin del 8080.
Seal de borrado de todos los registros internos del 8080. Para
RESET
ello, ponerlo a uno durante tres ciclos de reloj como mnimo.
HOLD Sirve para poner los buses en alta impedancia para el manejo de

14
15
16
17
18
19
20
21
22

INT
CLK2
INTE
DBIN
/WR
SYNC
+5V
HLDA
CLK1

23

READY

24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

WAIT
A0
A1
A2
+12V
A3
A4
A5
A6
A7
A8
A9
A15
A12
A13
A14
A11

DMA (acceso directo a memoria).


Seal de pedido de interrupcin.
Seal de reloj (debe venir del generador de reloj 8224).
Seal de aceptacin de interrupcin.
Indica que el bus de datos est en modo lectura.
Indica que el bus de datos est en modo escritura.
Este pin se pone a uno cuando comienza una nueva instruccin.
Una de las tres patas de alimentacin del 8080.
Reconocimiento de HOLD.
Seal de reloj (debe venir del generador de reloj 8224).
Sirve para sincronizar memorias o perifricos lentos (detiene al
8080 mientras se lee o escribe el dispositivo).
Cuando vale "1", el 8080 est esperando al perifrico lento.
Bus de direcciones.
Una de las tres patas de alimentacin del 8080.

Bus de direcciones.

CARACTERISTICAS ELECTRICAS:
Tienen alrededor de 6000 transistores MOS de canal N (NMOS) de 6 micrones, se
conectaba al exterior mediante 40 patas (en formato DIP) y necesitaba tres
tensiones para su funcionamiento): +12V, +5V y -5V. La frecuencia mxima era de
2 MHz.

Voltaje de alimentacin
Niveles de voltaje
Clock Input Low Voltage

5v
-0.3v a 7.0v

Clock Input High Voltage


Input Low Voltage
Input High Voltage
Output Low Voltage
Output High Voltage

9.0 v a VDD+1/Vcc
-0.3v a 0.8v
2.0v a Vcc+0.3v
0.4 v a Vss+0.4v
2.4 v a Vss+2.4v

Interfaz de Memoria RAM

Esquema de una memoria RAM

Interfaz de Memoria ROM

Diagramas a bloques de las memorias RAM y ROM

Figura 1. Diagrama a bloques de la memoria RAM

Figura 2. Diagrama a bloques de la memoria ROM

Diagrama CPU con Memorias

Tipos de direccionamiento
Las instrucciones de un programa en cdigo mquina que utiliza el ensamblador,
necesitan unos datos para funcionar y generan unos resultados que es necesario
almacenar. Por ejemplo, una operacin de suma necesitar conocer donde se
encuentran las dos cantidades que se desean sumar y el lugar donde deber de
almacenar el resultado una vez finaliza da la operacin. Existen varias formas de
indicar estas posiciones que reciben el nombre de modos de direccionamiento.
Los ms sencillos, simplemente indican un registro o una posicin numrica de
memoria, y existen otros modos adicionales para facilitar la tarea del programador.
Por ejemplo en general las instrucciones del 8086 permiten operaciones entre
datos contenidos en registros o datos contenidos en registros y memoria, pero no
estn permitidas instrucciones que tengan dos operandos en memoria. El
microprocesador 8086 permite 7 modos de direccionamiento diferentes. Los
procesadores 80386 y superiores usan ms modos de direccionamiento.
Direccionamiento por registros: El direccionamiento a registro indica el nombre
de un registro como fuente o destino de los datos de una instruccin, la forma de
indicarlo es escribiendo simplemente el nombre de dicho registro. Por ejemplo,
para guardar el contenido del registro AX en la pila se utilizar la instruccin push
con este modo de direccionamiento: PUSH AX. Cuando tenga una instruccin con
dos operandos (destino y fuente), obligatoriamente ambos debern ser del mismo
tamao: MOV BX, CX.
Direccionamiento inmediato: El direccionamiento inmediato consiste en indicar
el valor numrico necesario para la operacin. Por ejemplo, la instruccin MOV
CX, 2568h mueve el dato 2568h al registro CX. Lgicamente este modo de
direccionamiento slo se puede usar como operando fuente, nunca como destino.
Si se trabaja con directivas, se podr sustituir el valor constante por un smbolo
previamente definido.
Dato EQU 0FE4h ------ MOV AX,Dato.
Direccionamiento directo o absoluto: El direccionamiento directo o absoluto
consiste en indicar una direccin absoluta (segmento:desplazamiento) con la que
quiero trabajar en mi instruccin, por ejemplo con la instruccin mov podremos
utilizar: MOV AX,[1234h], esta instruccin recoger el dato del segmento de datos
con un offset 1234h y lo copiar en AX, tambin se podra haber utilizado el
direccionamiento absoluto como destino haciendo: MOV [1234h],AX, en este caso
se copiar el contenido del registro AX en la posicin de memoria indicada por
DS:1234h.
Tambin se puede utilizar la directiva DW de la siguiente forma:
Dato DW 1234h ..... MOV AX,Dato
Para segmentos diferentes al de datos, debo especificar el segmento en la
instruccin: MOV AX,ES:[1234h]

Dato DW 1234h ..... MOV AX,ES:Dato

Direccionamiento indirecto por registro: En ocasiones se necesita trabajar con


varios datos, pero cada uno en una direccin diferente. Repetir el mismo cdigo
cambiando nicamente en cada caso la direccin desde la que obtener el dato
sera muy pesado. Por ello existe el modo de direccionamiento indirecto, en el que
la direccin de memoria desde la que se obtiene o en la que se escribe el dato se
encuentra almacenada en un registro. La forma de representar este modo de
direccionamiento es como el anterior pero colocando entre los corchetes el
nombre del registro.
En el registro tendremos almacenado el desplazamiento de la posicin de
memoria a la que queremos acceder respecto a un segmento que se tomar por
defecto dependiendo del registro que utilicemos. En caso de querer referirnos a
otro segmento diferente al asignado por defecto a cada registro, se deber indicar
cul es. En la siguiente tabla se indican los segmentos por defecto para cada
registro:

Ejemplos:
MOV AX,[SI] mueve a AX el contenido de la posicin de memoria DS:SI
MOV BX,[BP] mueve a BX el contenido de la posicin de memoria SS:BP
MOV CX,ES:[DI] mueve a CX el contenido de la posicin de memoria ES:DI
MOV [BP],AX mueve a la posicin de memoria SS:BP el contenido de AX.
Direccionamiento relativo a base: Es parecido al anterior pero en este caso el
offset de los datos se obtiene por la suma de un registro base (BX BP) ms un
valor constante. El registro slo puede ser BX BP no pudindose utilizar ningn
otro registro. EL registro BX utiliza como segmento por defecto el de datos DS. El
registro BP utiliza como segmento por defecto el de pila SS. Si se quieren usar
otros segmentos diferentes a los asignados por defecto, se debe de especificar.
Ejemplos:
MOV AX, [BX]+4 mueve a AX el contenido de la posicin de memoria DS:BX+4
MOV [BX]+4, AX mueve a la posicin de memoria DS:BX+4 el contenido de AX
En vez de [BX]+4 se puede usar:
[BX]4
4[BX]
[BX + 4]

Nota: En los ejemplo slo se ha utilizado la constante 4, pero puede ser cualquier
otra constante.

Direccionamiento directo o indexado: Es parecido al anterior pero en este caso


con los registros SI DI, no pudindose utilizar otros registros. EL registro SI
utiliza como segmento por defecto el de datos DS. El registro DI utiliza como
segmento por defecto el de datos DS. Si se quieren usar otros segmentos
diferentes a los asignados por defecto, se debe de especificar.
Direccionamiento indexado a base: Es una combinacin de los dos anteriores y
en l participan dos registros uno actuando como base (BX BP) y otro como
ndice (SI DI), a cuya suma se le aade tambin un valor de desplazamiento
para obtener la direccin de memoria que contiene el dato que se solicita, la forma
de escribirlo es anloga a la anterior, slo que ahora la suma estar compuesta
por tres elementos.
[BX][SI] tiene por segmento por defecto a DS.
[BX][DI] tiene por segmento por defecto a DS.
[BP][SI] tiene por segmento por defecto a SS.
[BP][DI] tiene por segmento por defecto a SS. Si se quieren usar otros
segmentos diferentes a los asignados por defecto, se debe de especificar.
Ejemplos:
MOV AX,[BX][SI]+4
MOV AX,[BX+4][SI]
MOV AX,[BX+DI+4]
MOV AX,[BX][DI+4]
MOV AX,4[BP][DI]
Desplazamientos y segmentos asociados: Como ya se ha comentado existen
unos segmentos por defecto relacionados con los registros que utilizamos en los
modos de direccionamiento detallados en la siguiente tabla:

Si en alguno de estos direccionamientos nos interesa utilizar un segmento


diferente al asignado por defecto, bastar con especificarlo al usarlo en cada
instruccin.

Arquitectura Von Neuman.

En un sistema con arquitectura Von Neumann el tamao de la unidad de datos o


instrucciones est fijado por el ancho del bus que comunica la memoria con la
CPU. As un microprocesador de 8 bits con un bus de 8 bits, tendr que manejar
datos e instrucciones de una o ms unidades de 8 bits (bytes) de longitud. Si tiene
que acceder a una instruccin o dato de ms de un byte de longitud, tendr que
realizar ms de un acceso a la memoria.
El tener un nico bus hace que el microprocesador sea ms lento en su respuesta,
ya que no puede buscar en memoria una nueva instruccin mientras no finalicen
las transferencias de datos de la instruccin anterior.
Arquitectura Harvard.

Una de las memorias contiene solamente las instrucciones del programa (Memoria
de Programa), y la otra slo almacena datos (Memoria de Datos).
Ambos buses son totalmente independientes lo que permite que la CPU pueda
acceder de forma independiente y simultnea a la memoria de datos y a la de
instrucciones. Como los buses son independientes estos pueden tener distintos
contenidos en la misma direccin y tambin distinta longitud. Tambin la longitud
de los datos y las instrucciones puede ser distinta, lo que optimiza el uso de la
memoria en general.
Decodificacin de memoria.
Para este proceso es importante la unidad de decodificacin, la cual se encarga
de decodificar la instruccin que se va a ejecutar. Es decir, saber qu instruccin
es. Cuando el microprocesador lee de memoria una instruccin, el cdigo de esa
instruccin le llega a esta unidad. Esta unidad se encarga de interpretar ese
cdigo para averiguar el tipo de instruccin a realizar. Por ejemplo, instrucciones
de suma, multiplicacin, almacenamiento de datos en memoria, etc.

Puertos de Entrada/salida.
Contienen una serie de registros, puertas y controles que permiten la conexin al
microprocesador de una serie de perifricos de comunicacin con el exterior. De
esta forma la CPU tiene una nica entrada-salida independiente del tipo de
perifrico que se conecte.
Los perifricos que se conecten dependern de la aplicacin, por ejemplo teclado,
CRT, modem, convertidor A/D, sensores, rels, displays, sealizaciones, etc.

Direcciones de E/S de los puertos

Es utilizado por el microprocesador para sealar la celda de memoria (o el


dispositivo de E/S) con el que se quiere operar. El tipo de operacin ser de
lectura o de escritura y los datos implicados viajarn por el bus de datos.
Por l circula la expresin binaria de la direccin de memoria a la cual el
microprocesador quiere acceder. Tiene sentido de flujo unidireccional desde el
microprocesador hacia la memoria. Una vez localizados los datos perdidos, su
transmisin hacia el microprocesador (o hacia donde sea) se har a travs del bus
de datos. Los dispositivos de E/S intercambian la informacin con el
microprocesador mediante los puertos de E/S. Cada puerto est asociado con un
determinado dispositivo y tiene una direccin que lo identifica.
El ancho de este bus tambin es una medida de la potencia del microprocesador,
ya que determina la cantidad de memoria a la que ste puede acceder, es decir, la
cantidad de espacio direccionable. El espacio de direcciones es el rango de
valores distintos que el microprocesador puede seleccionar. La cantidad mxima
de direcciones disponibles ser 2 a la n, siendo n el nmero de lneas del bus de
direcciones.

Cada controlador est a cargo de un tipo especfico de dispositivo. Dependiendo


del controlador, pueden estar varios dispositivos conectados al mismo controlador.
El controlador se encarga de mover datos entre el dispositivo perifrico que
controla y el buffer de almacenamiento local. El tamao del buffer vara de un
controlador a otro y depende del dispositivo que controla. Son posibles tres
tcnicas para las operaciones de E/S:

Decodificacin de puertos

En los microcomputadores, la comunicacin entre la CPU y otros dispositivos


como memorias y puertos se efecta a travs del bus del sistema. El bus de
direcciones de un microcomputador se encuentra estrechamente relacionado con
los decodificadores, ya que gracias a ellos es posible seleccionar los dispositivos
internos del microprocesador y las posiciones de memoria para efectuar
operaciones de lectura y escritura. En la figura se indica cmo se los
decodificadores se emplean dentro de un microcomputador para seleccionar los
dispositivos internos.

Figura: Empleo de los decodificadores en el microprocesador


Esta no es la nica aplicacin de los decodificadores en los microcomputadores.
Internamente dentro del a CPU tambin existe un decodificador, llamado el
Instruccin Decoder (Decodificador de Instrucciones) el cual funciona de forma
conjunta con el Instruccin Register (Registro de Instrucciones) de la CPU.
Segn lo visto en la Leccin 1: Configuracin, sobre la configuracin interna del
Procesador Digital (CPU), el registro de instrucciones es el lugar donde se
almacena temporalmente la instruccin que la CPU debe ejecutar. Una vez la
instruccin se carga en este registro se pasa la informacin al decodificador de
instrucciones, el cual se encarga de descifrar la instruccin y sus operados;
despus de ello el decodificador genera las seales correspondientes a los
circuitos lgicos dentro de la CPU que se encargan a su vez de generar las
seales de control requeridas para que se ejecute finalmente la instruccin.

Puertos

Los puertos en un microcomputador corresponden a las interfaces de entrada y


salida entre el microcomputador y el mundo exterior. Existen puertos de entrada,
salida y bidireccionales (Entrada y Salida).

Una de las funciones bsicas del microcomputador es comunicarse con los


dispositivos exteriores, es decir, el microcomputador debe ser capaz de enviar y
recibir datos desde estos dispositivos. Sin esta funcin, el ordenador no sera
operativo porque sus clculos no seran visibles desde el exterior.

El funcionamiento de los puertos es similar al de una posicin de memoria. Al igual


que los registros de una memoria, los puertos son identificados por la CPU con
una direccin en la cual se pueden leer y/o escribir datos. Para trabajar con ellos
solo es necesario apuntar a la direccin de memoria que tienen asignada, y el
tratamiento es el mismo que el de una posicin de memoria.

Teclado Matricial de 4 X 4

E/S Paralelo
El puerto paralelo es el tipo de puerto comnmente empleado en las aplicaciones
del microcomputador, generalmente se utiliza para sealizar manejar teclados y
habilitar otros dispositivos.
E/S Seriales
Este puerto se emplea para establecer comunicacin con otros dispositivos.
Algunos microcomputadores y microcontroladores tienen incluido uno de estos

puertos en su arquitectura con el cual se puede establecer comunicacin en tres


hilos (Trasmisin, Recepcin y Referencia).

E/S Anlogas
Muchas aplicaciones necesitan de una entrada anloga para medir magnitudes
fsicas como temperatura o presin. Algunos microcomputadores tiene
conversores A/D que permiten medir estas magnitudes y procesar la informacin
en forma digital. Actualmente se consiguen en el mercado microcontroladores con
resoluciones entre 8 y 22 bits.

Memorias
En las lecciones precedentes del captulo, se mencion sobre la necesidad de por
lo menos una memoria para el funcionamiento de los microcomputadores. Esta
memoria puede ser interna o externa, ya sea con chips adicionales o internamente
dentro del chip del microcomputador.
Generalmente se habla de dos tipos de memoria dentro de un microcomputador:
La memoria de Programa.
La memoria de Datos.

Figura: Disposicin interna de las partes de una memoria

Recordando lo visto en capitulo anterior, en la figura se indica la disposicin


interna de una memoria, donde se observan las entradas de datos, direcciones y
control que se conectan a la CPU.

Tipos de instrucciones
En general, los cdigos de operacin de un juego de instrucciones varan de una
mquina a otra, pero podemos encontrar los mismos tipos de instrucciones en casi
todas las arquitecturas y los podemos clasificar de la manera siguiente:
Transferencia de datos
Aritmticas
Lgicas
Transferencia del control
Entrada/salida
Otros tipos

Juego De Instrucciones

Las instrucciones de una arquitectura son autocontenidas: es decir, incluyen toda


la informacin necesaria para su ejecucin. Uno de los elementos necesarios en
cualquier instruccin es el conjunto de operandos.

Los operandos necesarios para ejecutar una instruccin pueden encontrarse


explcitamente en la instruccin o pueden ser implcitos. La localizacin dentro del
procesador de los operandos necesarios para ejecutar una instruccin y la manera
de explicitarlos dan lugar a arquitecturas diferentes del juego de instrucciones.

Juego de instrucciones siguientes:

Arquitecturas basadas en pila: los operandos son implcitos y se encuentran


en la pila.
Arquitecturas basadas en acumulador: uno de los operandos se encuentra de
manera implcita en un registro denominado acumulador.

Arquitecturas basadas en registros de propsito general: los operandos se


encuentran siempre de manera explcita, ya sea en registros de propsito general
o en la memoria. Dentro de las arquitecturas basadas en registros de propsito
general, podemos distinguir tres subtipos:
Registro-registro (load-store): Solo pueden acceder a la memoria instrucciones
de carga (load) y almacenamiento (store).
Registro-memoria: Cualquier instruccin puede acceder a la memoria con uno
de sus operandos.
Memoria-memoria: Cualquier instruccin puede acceder a la memoria con todos
sus operandos.

Modos de direccionamiento

Los operandos de una instruccin pueden expresar directamente un dato, la


direccin, o la referencia a la direccin, donde tenemos el dato. Esta direccin
puede ser la de un registro o la de una posicin de memoria, y en este ltimo caso
la denominaremos direccin efectiva. Entendemos por modo de direccionamiento
las diferentes maneras de expresar un operando en una instruccin y el
procedimiento asociado que permite obtener la direccin donde est almacenado
el dato y, como consecuencia, el dato.

Los juegos de instrucciones ofrecen maneras diferentes de expresar los


operandos por medio de sus modos de direccionamiento, que sern un
compromiso entre diferentes factores:

El rango de las direcciones que hemos de alcanzar para poder acceder a todo el
espacio de memoria dirigible con respecto a programacin. Con respecto al
espacio para expresar el operando, se intentar reducir el nmero de bits que hay
que utilizar para codificar el operando y, en general, las diferentes partes de la
instruccin para poder construir programas que ocupen menos memoria.

Las estructuras de datos en las que se pretenda facilitar el acceso o la manera de


operar, como listas, vectores, tablas, matrices o colas. La complejidad de clculo
de la direccin efectiva que expresa el operando para agilizar la ejecucin de las
instrucciones. En este apartado analizaremos los modos de direccionamiento ms
comunes, que se recogen en el esquema siguiente:

Direccionamiento inmediato
Direccionamiento directo:
Direccionamiento directo a registro
Direccionamiento directo a memoria
Direccionamiento indirecto:
Direccionamiento indirecto a registro
Direccionamiento indirecto a memoria
Direccionamiento relativo:
Direccionamiento relativo a registro base o relativo
Direccionamiento relativo a registro ndice (RI) o indexado

Direccionamiento relativo a PC
Direccionamiento implcito
Direccionamiento a pila (indirecto a registro SP) Hay que tener presente que
cada operando de la instruccin puede tener su propio modo de direccionamiento,
y no todos los modos de direccionamiento de los que dispone un juego de
instrucciones se pueden utilizar en todos los operandos ni en todas las
instrucciones.

Existe una cuestin, a pesar de ser transparente al programador, que hay que
conocer y tener presente porque indirectamente s que le puede afectar a la hora
de acceder a la memoria. Se trata de la ordenacin de los bytes de un dato
cuando este tiene un tamao superior al tamao de la palabra de memoria. En la
mayora de los computadores la memoria se dirige en bytes, es decir, el tamao
de la palabra de memoria es de un byte. Cuando trabajamos con un dato formado
por varios bytes habr que decidir cmo se almacena el dato dentro de la
memoria, es decir, qu byte del dato se almacena en cada posicin de la memoria.
Se pueden utilizar dos sistemas diferentes:

little-endian: almacenar el byte de menos peso del dato en la direccin de


memoria ms baja.
big-endian: almacenar el byte de ms peso del dato en la direccin de memoria
ms baja.

Una vez elegido uno de estos sistemas, habr que tenerlo presente y utilizarlo en
todos los accesos a memoria (lecturas y escrituras) para asegurar la coherencia
de los datos.

Das könnte Ihnen auch gefallen