Unidad II y III Microcomputador

Anuncio
1
TEMA. 3 FUNCIÓN DE LOS COMPONENTES DEL COMPUTADOR
ESQUEMA FUNCIONAL DE LOS COMPONENTES DE UN COMPUTADOR
MEMORIA AUXILIAR -SOPORTE MAGNÉTICO, ÓPTICOSMEMORIA AUXILIAR -SOPORTE MAGNÉTICO, ÓPTICOS-
Buses
Procesador-CPU
Unidad de Control
+
Unidad Lógica Aritmética
Periféricos
de Entrada
•Teclado
•Mouse
•Escáner, etc.
Buses
Buses
Buses
Memoria Principal
Instrucciones
Datos
Periféricos
de Salidas
•Impresora
•Monitor.
•Etc.
UNIDAD CENTRAL DE PROCESAMIENTO
De acuerdo a George Beekman. Se encarga de hacer las transformaciones de
los datos que introduce el usuario. Todo computador tiene una UCP que
interpreta y lleva a cabo las instrucciones de los programas, efectúa
manipulaciones aritméticas y lógicas con los datos y se comunica con las demás
partes del sistema de cómputo. Una UCP moderna es una colección
extraordinariamente compleja de circuitos electrónicos. Cuando se incorporan
todos estos circuitos en un chip de silicio, como sucede en la mayoría de los
computadores actuales, a este chip se le denomina micro procesador. un
computador de escritorio corriente, la UCP y otros chips y componentes crónicos
se ubican en un tablero de circuitos
Por otra parte Pablo Grech y Carlos Lameda, en su libro Computación I de la
UNA-1991. dicen que La UCP (o CPU en ingles) es el subsistema del computador
encargado de realizar las operaciones aritméticas y lógicas, y de controlar el flujo
de información en el computador.
El CPU dentro del computador viene representado por el microprocesador, y La
Real Académica Española lo define como: "Conjunto de circuitos electrónicos
comprimidos en una pastilla de silicio llamada (Chip). siendo su función
Guía de las Unidades II y III del Curso Microcomputador de la UNESR, Prof. Limett Lugo
2
fundamental la de encausar las señales electromagnéticas de un dispositivo a
otro. El CPU es en realidad el Microprocesador. o sea. un conmutador, es el
celebro y razón de ser del ente denominado computadora. Todo lo demás que le
rodea y se le es conectado no son más que dispositivos mediante los cuales el
celebro se alimenta de energía e interactúa con el medio ambiente y por lo
tanto con nosotros los usuarios."
ELEMENTOS DE LA CPU
UNIDAD DE CONTROL-UC
Es la que ordena la secuencia de las tareas a realizar durante la ejecución
de cada instrucción, guía y supervisa las demás partes del computador, de modo
que todos trabajen en forma armonizada.
La unidad de control debe hacer que el código de cada instrucción sea
tomado de la localidad de memoria correspondiente, en el momento apropiado
y almacenarlo en el registro de instrucción; luego, debe interpretar el código
guardado en el registro de instrucción y, de acuerdo con ello, generar una
secuencia de comandos qué produzcan el flujo requerido por la instrucción.
Según Alcalde Eduardo, Es el centro nervioso de la computadora ya que
desde ella se controlan y gobiernan todas las operaciones. Para realizar su
función, consta de los siguientes elementos
• Contador de programa (CP).
• Registro de instrucción (RI).
• Descodificador (D).
• Reloj (R)
• Secuenciador (S)
Contador de programa (CP).
Este registro es usado para almacenar la dirección de la localidad de
memoria, en que se encuentra el código correspondiente a la próxima
instrucción a ejecutar las instrucciones son usualmente almacenadas en
localidades contiguas, en el mismo orden en que deben ser ejecutadas, y, por
ello, el contador de programa normalmente se incrementa automáticamente, en
el transcurso de la ejecución de cada instrucción de manera que siempre
contenga la dirección de la localidad donde esta la próxima instrucción a
ejecutarse. si ejecuta alguna instrucción especial, que ordene saltar, para
ejecutar una instrucción situada en una localidad que no sea la siguiente,
entonces ocurre un cambio en el contenido del contador de programa, de
forma que éste mantenga la dirección en que debe buscarse la próxima
instrucción.
Registro de instrucción (RI).
Este registro es usado para almacenar el código correspondiente a la
instrucción a ejecutar, el cual será interpretado por la unidad de control, la cual
hará producir las secuencias necesarias para su ejecución.
Por ejemplo. Si el código correspondiente a la próxima instrucción fuera 11110011
en binario, éste código ha de ser transferido de la localidad de memoria principal
al registro de instrucción, para luego ser usado por el decodificador.
Descodificador (D).
Guía de las Unidades II y III del Curso Microcomputador de la UNESR, Prof. Limett Lugo
3
Se encarga de extraer el código de operación de la instrucción en curso (que
está en el RI), lo analiza y emite las señales necesarias al resto de elementos para
su ejecución a través del secuenciador.
Reloj (R).
Proporciona una sucesión de impulsos eléctricos o ciclos a intervalos constantes
(frecuencia constante), que marcan los instantes en que han de comenzar los
distintos pasos de que consta cada instrucción.
El microprocesador de Intel 8086 utiliza una frecuencia de reloj de 8 MHz (megaherzios), es decir, 8 millones de ciclos de reloj por segundo, y por tanto la duración
de un ciclo es de 1/8000000 = 125 nanosegundos. Las instrucciones que se
ejecutan en este microprocesador necesitan entre 2 y 206 ciclos.
Secuenciador (S).
También denominado controlador. En este dispositivo se generan órdenes muy
elementales (microórdenes) que, sincronizadas por los impulsos del reloj, hacen
que se vaya ejecutando poco a poco la instrucción que está cargada en eI RI.
UNIDAD LÓGICA ARITMÉTICA- ULA
Esta unidad es la encargada de realizar las operaciones elementales de
tipo aritmético (sumas, restas, productos y divisiones) y de tipo lógico
(comparaciones). Para comunicarse con las otras unidades funcionales utiliza el
denominado bus de datos.
La unidad aritmético-lógica (UAL) producirá un resultado que estara en
función de la operación a realizar y de los operandos utilizados.
De lo anterior, podemos deducir que una instrucción que ordene hacer
una operación aritmética o lógica, debe indicar el tipo de operación a realizar, el
lugar donde se encuentran los operandos y el lugar donde se ha de colocar el
resultados.
La ULA para realizar su función necesita de los siguientes elementos :
• Circuito opcracional (COP).
• Registros de entrada (REN).
• Registro acumulador (RA).
• Registro de estado (RES).
Circuito operacional (COP).
Guía de las Unidades II y III del Curso Microcomputador de la UNESR, Prof. Limett Lugo
4
Contiene los circuitos necesarios para la realización de las operaciones con los
datos procedentes de los registros de entrada (REN). Este circuito tiene unas
entradas de órdenes para seleccionar la clase de operación que debe realizar
en cada momento (suma, resta, etc.).
Registros de entrada (REN).
En ellos se almacenan los datos u operandos que intervienen en una instrucción
antes de la realización de la operación por parte del circuito operacional.
También se emplean para el almacenamiento de resultados intermedios o finales
de las operaciones respectivas.
Registro acumulador (RA).
Almacena los resultados de las operaciones llevadas a cabo por el circuito
operacional, puede ser usado como operando. Está conectado con los registros
de entrada para realimentación en el caso de operaciones encadenadas.
Asimismo tiene una conexión directa al bus de datos para el envío de los
resultados a la memoria central o a la unidad de control.
Registro de estado (RES).
Es en los que se deja constancia de algunas condiciones que se dieron en la
última operación realizada y que habrán de ser tenidas en cuenta en
operaciones posteriores.
MEMORIA CENTRAL O PRINCIPAL
La memoria central, principal o interna es la unidad donde están almacenadas
las instrucciones y los datos necesarios para poder realizar un determinado
proceso. Está constituida por multitud de celdas o posiciones de memoria,
numeradas de forma consecutiva, capaces de retener, mientras la computadora
esté conectada, la información depositada en ella.
A la numeración de las celdas se denomina dirección de memoria y mediante
esta dirección se puede acceder de forma directa a cualquiera de ellas
independientemente de su posición; se dice, por ello, que la memoria central es
un soporte de información de acceso directo. Además, el tiempo de acceso a la
memoria central es notablemente inferior al necesario para acceder a las
memorias auxiliares.
LA MEMORIA Principal viene representada por la memoria RAM La memoria
principal o RAM (acrónimo de Random Access Memory, Memoria de Acceso
Aleatorio) es donde el ordenador guarda los datos que está utilizando en el
momento presente. La hay dinámica y estática.
La unidad de información mínima manejable por una computadora es el
conjunto de 8 bits o byte. La capacidad de la memoria o cantidad máxima de
información que es capaz de almacenar se mide en múltiplos de esta unidad.
Kilobyte = Megabyte = Gigabyte = Terabyte =1024bytes -- 1024Kbytes 1024
Mbytes 1024 GbytesPor otra parte, aunque la capacidad real de la memoria
central es reducida, se ha conseguido que, desde el punto de vista de su
funcionamiento, esta capacidad sea mucho mayor que la real, prácticamente
ilimitada, mediante lo que se denomina memoria virtual. Esta memoria virtual usa
la memoria secundaria para expandir la memoria central mediante un
procedimiento llamado paginación consistente en transferir tro2os o páginas de
la memoria secundaria a la central cuando son necesarios e intercambiarlos por
otros según las necesidades de cada momento. De esta forma se consigue que
Guía de las Unidades II y III del Curso Microcomputador de la UNESR, Prof. Limett Lugo
5
toda la información almacenada en la memoria secundaria esté a disposición de
la CPU como si residiera en la memoria central y que se puedan procesar
programas cuyo tamaño excede de la capacidad real de la memoria central
La memoria central tiene asociados dos registros para la realización de
operaciones de lectura o escritura y un dispositivo encargado de seleccionar una
celda de memoria en cada operación de acceso a la misma:
• Registro de dirección de memoria (RDM).
• Registro de intercambio de memoria (RIM).
• Selector de memoria (SM).
•stack o pila
• Apuntador de pila
• Registro Indice
Registro de Dirección de Memoria (RDM).
Antes de la realización de una operación de lectura o escritura se ha de colocar
en este registro la dirección de la celda que se va a utilizar en la operación, bien
para grabar en ella o para extraer de la misma el dato correspondiente.
Son registros usados para almacenar la dirección de localidades de memoria,
con las que la CPU necesite comunicarse. Cuando la UCP vaya a leer o escribir
(es decir tomar o almacenar) información de una ó varias Localidades de
memoria, esta debe especificar la dirección de dicha, dichas, localidades y, por
ello, debe poseer registros en los que* esté almacenado el código
correspondiente a la dirección.
Registro de Intercambio de Memoria (RIM)
. Si se trata de una operación de lectura de memoria, este registro es el que
recibe el dato de la memoria señalado por el RDM para su envío por medio del
bus del sistema a la unidad que lo requiere. Si se trata de una operación de
escritura en memoria, la información que hay que grabar, procedente de
cualquier unidad funcional, es depositada por medio del bus en el R1M para que
desde él se transfiera a la posición de memoria indicada por el RDM.
Selector de Memoria (SM).
Este dispositivo se activa cada vez que se produce una orden de lectura o
escritura, conectando la celda de memoria, cuya dirección figura en el RDM,
con el R.1M y posibilitando la transferencia de los datos en un sentido o en 0tro.
stack o pila
Es un conjunto de elementos de almacenamiento que en algunos
computadores se encuentran conformados como un grupo de registros de la
UCP, y, en otros casos, como parte de la memoria principal, que sirve para
guardar información, de forma tal que el acceso a la misma se hace
normalmente en orden inverso a la manera en que ésta se almaceno.
Su modo de guardar información tiene parecido a la forma de ubicar
bandejas en una cafetería (una sobre otra), esta modalidad se llama de
"apilación". En este tipo de almacenamiento, el último ítem guardado es siempre
el mas accesible.
Apuntador de pila
Es un registro que utiliza el computador, para determinar la localidad de stack
donde se ha de guardar información próximamente, o donde se ha de requerir la
información guardada últimamente en el snack. También se le conoce como
puntero de stack o apuntador de apilamiento.
Guía de las Unidades II y III del Curso Microcomputador de la UNESR, Prof. Limett Lugo
6
El apuntador de stack es automáticamente decrementado, o incrementado,
cada vez que se almacena o se requiere información del stack, de forma que
siempre mantenga el valor actualizado, correspondiente a la próxima localidad
donde se ha de almacenar información, o la de la última donde se guarde
información.
Registro Indice
Es un registro que permite modificar automáticamente la dirección
correspondiente a una localidad de memoria, indicada por una instrucción.
BUSES
Se denomina bus del sistema al conjunto de circuitos encargados de la
conexión y comunicación entre la ÜCP y el resto de unidades de la computadora
Bus de control. Mediante ellas se transmiten las órdenes procedentes de la
unidad de control a las otras unidades, para la sincronización y control del
sistema.
Bus de direcciones. Contienen la dirección del destino al que van dirigidos los
dalos que se están transmitiendo por las buses de datos.
Bus de dato. Es el que se encarga de transferir los datos entre el CPU y la memoria
centra y periféricos de E/S.
TIPO DE INSTRUCCIONES
de acuerdo con su función, se clasifican como sigue
• Instrucciones de cálculo (aritmético y lógico).
• Instrucciones de transferencia de datos.
• Instrucciones de ruptura de secuencia.
• Etcétera.
De acuerdo a su formato y número de operandos.
Instrucciones de tres operandos
También se denominan instrucciones de tres direcciones. Constan en primer
lugar de código de operación al que siguen tres operandos, de los cuales, los
dos primeros son las direcciones de los argumentos que hay que operar y el
tercero es la dirección donde se depositará el resultado. Este formato de
instrucción es el más cómodo de trabajar pero es el que precisa mayor
número de bits.
Instrucciones de dos operandos
Contienen el código de operación y dos operandos, de los que uno de ellos
actúa, además, como receptor del resultado de la operación. También se
denominan instrucciones de dos direcciones
Instrucciones de un operando
También denominadas instrucciones de una dirección, se utilizan
generalmente en máquinas cuya arquitectura funciona con filosofía de
acumulador.
El acumulador de la UAL contiene previamente el primer argumento de la
operación. el segundo es el contenido en la propia instrucción, y después de
ser operados ambos por el circuito operacional, el resultado queda
depositado de nuevo en el acumulador
Instrucciones sin operandos
También denominadas instrucciones sin dirección, se utilizan generalmente en
computadoras cuya arquitectura tiene filosofía de pila.
Guía de las Unidades II y III del Curso Microcomputador de la UNESR, Prof. Limett Lugo
7
Una pila está formada por datos almacenados en orden consecutivo en la
memoria, existiendo un registro especial, denominado puntero de pila, que
nos indica la dirección del último dato introducido en ella. Cuando se saca un
dato de la misma, el puntero de la pila decrece apuntando al dato que está
a continuación en la pila hacia lo que llamaremos fondo de la misma y que
será aquel dato que se introdujo en primer lugar. Cuando se trata de
introducir un dato en ella, el puntero toma la dirección de memoria 5Íguientc
en orden ascendente y se introduce en dicha dirección.
Estas instrucciones sólo llevan código de operación, de tal forma que cuando
se trata de una operación de cálculo, se sacan los operandos de la pila
(previamente introducidos) y el resultado se introduce en ella
MODOS DE DIRECCIONAMIENTO
La mayoría de las instrucciones deben especificar de alguna manera dónde se
encuentra cierta información. Así, las instrucciones de transferencia de datos y las
de entrada y salida deben indicar, de alguna forma, de dónde se va a tomar la
información (la fuente) y hacia dónde se va a transferir (el destino); las
instrucciones aritméticas y lógicas deben indicar la localización de los operandos
y del resultado; los saltos condicionales e incondicionales deben señalar la
localidad a donde se va a saltar. Y existen diferentes formas o "modos de
direccionamiento", mediante los que puede especificarse esta información.
A continuación explicaremos cómo trabajan varios de los diferentes modos de
direccionamiento comúnmente empleados.
Direccionamiento directo
En las instrucciones con direccionamiento directo se indica un número que
identifica la localidad de memoria (es decir, la dirección de la localidad de
memoria} con que la ICPU debe comunicarse.
Por ejemplo, una instrucción que signifique "sumar el contenido de la localidad
100 al contenido de la localidad 201, y guardar el resultado en la localidad 202",
es una instrucción con direccionamiento directo, de un computador de tres
direcciones. Y una instrucción que signifique "restar al acumulador el contenido
de la localidad 520", es una instrucción con direccionamiento directo, de un
computador de una dirección
Direccionamiento de registros
En instrucciones con direccionamiento de registros, los datos a manipular y los
resultados han de ser almacenados en registros de trabajo, y la instrucción debe
especificar cuáles registros van ser usados.
Direccionamiento inmediato
Las instrucciones con este tipo de direccionamiento incluyen un número, que es
el dato a procesar o a transferir. Ejemplos de instrucciones con este modo de
direccionamiento son:
"Sume al contenido del acumulador el número 250".
"Cargue el acumulador con el número 300".
Direccionamiento indirecto
Las instrucciones con direccionamiento indirecto, especifican la localidad de
memoria o el registro, en que se encuentra la dirección de la localidad de
memoria de donde se va á-tomar o donde se va a almacenar una información.
Las instrucciones con este direccionamiento no especifican dónde se encuentra
Guía de las Unidades II y III del Curso Microcomputador de la UNESR, Prof. Limett Lugo
8
el dato, sino dónde se encuentra la dirección de la localidad en que está en el
dato.
Direccionamiento indexado
Las instrucciones con direccionamiento indexado especifican una dirección. la
cual es modificada según el contenido del registro índice, para producir la
dirección efectiva de la localidad de donde se va a tomar o donde se va a
guardar una información. La forma más usada para obtener la dirección
efectiva, con direccionamiento indexado, es sumando el contenido del registro
índice a la dirección dada por la instrucción.
CICLO DE INSTRUCCIÓN
Para que un programa pueda ser ejecutado por una computadora, éste ha de
estar almacenado en la memoria central. La unidad central de proceso tomará
una a una sus instrucciones e irá realizando las tareas correspondientes.
Se Denomina ciclo de instrucción al conjunto de acciones que se llevan a
cabo en la realización de una instrucción. Se compone de las dos siguientes
fases:
Fase de búsqueda. En esta fase se transfiere la instrucción que corresponde
ejecutar desde la memoria central a la unidad de control.
Fase de ejecución. Consiste en la realización de todas las acciones que
conlleva la propia instrucción.
Fase de búsqueda de una instrucción
Supongamos, para su estudio, un ejemplo de instrucción aritmética de suma con
tres direcciones y direccionamiento directo; es decir, la instrucción contiene el
código de operación correspondiente a la suma, los dos sumandos están en las
direcciones de memoria correspondientes a los dos primeros opcrandos y el
resultado ha de quedar en la dirección indicada por el tercer operando.
SUMAR 033 992 993
(Sumar los contenidos de las posiciones de memoria 033 y 992, almacenando el
resultado en la posición 993).
Código de operación (CO): SUMAR. Dirección del primer sumando (OP1): 033.
Dirección del segundo sumando (OP2): 992. Dirección del resultado (OP3): 993.
En la fase do búsqueda de la instrucción se realizan los siguientes pasos:
La unidad de control (UC) envía una microorden para que el contenido del
registro contador de programa (CP) que contiene la dirección de la
siguiente instrucción (instrucción que corresponde procesar), sea
transferido al registro de dirección de memoria (RDM).
La posición de memoria que figura en el registro de dirección de memoria
(RDM) es utilizada por el selector para transferir su contenido (instrucción) al
registro de intercambio de memoria (RIM).
Se transfiere la instrucción desde el registro de intercambio de memoria (RIM)
al registro de instrucción (RI).
A continuación el decodificador procede a interpretar la instrucción que
acaba de llegar al registro de instrucción (RI), en este caso SUMAR,
quedando dispuesto para la activación del circuito sumador de la UAL e
informando al secuenciador.
El registro contador de programa (CP) se autoincrcmenta (utilizando la unidad
aritmético-lógica) con un valor 1 (o n en el caso de que sea ésta la
longitud de la palabra de memoria), de tal forma que quede apuntando a
la siguiente instrucción situada consecutivamente en memoria. Si la
Guía de las Unidades II y III del Curso Microcomputador de la UNESR, Prof. Limett Lugo
9
instrucción en ejecución es de ruptura de secuencia, el contador de
programa (CP) se cargará con la dirección que corresponda.
Fase de ejecución de una instrucción
La fase de ejecución se realiza en los siguientes pasos, teniendo en cuenta que si
la instrucción no hubiese necesitado operandos, no se ejecutarían los pasos 1 a 6
ni el 8.
Se transfiere la dirección del primer operando desde el registro de instrucción
(RI) al registro de dirección de memoria (RDM).
El selector extrae de la memoria dicho dato depositándolo en el registro de
intercambio de memoria (R1M).
Se lleva este operando desde el registro de intercambio de memoria (RIM) al
registro de entrada 1 (REÑÍ) de la unidad aritmético-lógica (UAL).
Se transfiere la dirección del segundo operando desde el registro de
instrucción (RI) al registro de dirección de memoria (RDM).
El selector extrae de la memoria dicho dato depositándolo en el registro de
intercambio de memoria (RIM).
Se lleva este operando desde el registro de intercambio de memoria (RIM) al
registro de entrada 2 (RHN2) de la unidad aritmético-lógica (UAL).
El sccuenciador envía una microorden a la unidad aritmético-lógica (UAL)
para que se ejecute la operación de que se trate. El resultado de la
operación queda almacenado en el registro acumulador (RA).
Este resultado es enviado desde el registro acumulador (RA) al registro de
intercambio de memoria (RIM).
Se transfiere desde el registro de instrucción (RI) al registro de dirección de
memoria (RDM) la dirección donde ha de almacenarse el resultado en la
memoria.
Se transfiere el resultado desde el registro de intercambio de memoria (RIM) a
la dirección de memoria indicada en el registro de dirección de memoria
(RDM).
INSTRUCCIONES DE RUPTURA DE SECUENCIA
Como ya se indicó anteriormente, algunas veces es necesario alterar el orden de
ejecución secuencial o correlativo que las instrucciones tienen en memoria,
consiguiéndose bucles y alternativas en la ejecución del programa. Para ello se
utilizan las instrucciones de ruptura de secuencia, también denominadas de
bifurcación o salto. Estas instrucciones son de dos tipos:
• Instrucciones de salto incondicional. Cuando la unidad de control (UC) se
encuentra con una instrucción de este tipo, reemplaza la dirección que tiene el
registro contador de programa (CP) por la dirección que viene en la propia
instrucción.
• Instrucciones de salto condicional. En este caso la dirección contenida en el
contador de programa (CP) sólo es reemplazada por la dirección de la
instrucción si se cumple alguna condición (indicada en la instrucción)
determinada por el correspondiente señalizador de estado (bit del registro de
estado).
INSTRUCCIONES DE ENTRADA/SALIDA
Son aquéllas cuya misión es introducir datos desde dispositivos externos a la
memoria de la computadora y viceversa, así como enviar órdenes a dichos
dispositivos. Deben especificar las siguientes informaciones:
Guía de las Unidades II y III del Curso Microcomputador de la UNESR, Prof. Limett Lugo
10
• Tipo de instrucción (entrada o salida).
• Operación a realizar.
• Dispositivo externo que interviene.
• En su caso dirección de memoria.
Estas instrucciones normalmente no las procesa la UCP sino que solamente las
inician y activan los dispositivos necesarios, transfiriendo a continuación el control
de la misma al controlador correspondiente, el cual se encarga de su completa
realización. Mientras tanto la UCP puede ejecutar las instrucciones de otro
proceso, minimizando el tiempo de espera. Una vez que el controlador ha
concluido la ejecución de la instrucción, avisa a la UCP, mediante lo que se
denomina una interrupción, para que ósta pueda continuar con el proceso que
estaba realizando.
EJECUCIÓN DE INSTRUCCIONES
En esta sección analizaremos la forma en que se ejecutan anuencias de
instrucciones en el computador» lo cual nos servirá para afianza» los conceptos
antes estudiados.
Cada computador posee un conjunto específico de instrucciones que puede
ejecutar, el cual ha sido escogido por el diseñador, según los objetivos y límites
por él trazados. El número de instrucciones en el conjunto y su variedad depende
del diseño de cada computador y, generalmente, está relacionado con su
complejidad y costo.
Dentro del conjunto de instrucciones de un computador, existirán algunas para
realizar operaciones aritméticas y lógicas y otras para transferencia de datos,
entrada y salida, saltos, etc.
Las instrucciones serán ejecutadas en el computador en el orden con que han
sido almacenadas en memoria, a menos que una instrucción pida que se
modifique este orden de ejecución. Entre este tipo de instrucciones están los
saltos, el llamado a subrutina y el retomo de subrutina.
Ejemplo
Tomemos un computador bastante simple, en los que las instrucciones aritméticas
y lógicas tienen un formato de instrucción de una dirección, que posee un
acumulador, dos registros de propósito general (uno denominado É y otro
denominado C), un contador de programa, un registro de instrucción, un registro
de dirección, y un registro índice, que opera en la forma indicada en esta
Unidad.
Además, entre las instrucciones que puede ejecutar, están las siguientes, cada
una de las cuales puede almacenarse en una localidad de memoria:
Cargue el acumulador con un número dado.
Cargue un registro de entrada con un número dado.
Cargue el registro índice con un número dado. .- Cargue el acumulador
con el contenido de una localidad de memoria cuya dirección se especifica.
Cargue un registro de entrada (B o C) con direccionamiento indexado
usando una dirección dada.
Mueva el contenido del acumulador hacia uno de los registros entrada (B
O C).
Sume el contenido de uno de los registros de entrada al contenido del
acumulador.
Guía de las Unidades II y III del Curso Microcomputador de la UNESR, Prof. Limett Lugo
11
Reste el contenido de uno de los entrada general al contenido del
acumulador.
incremente (en uno) el contenido del registro índice.
Salto condicional a una dirección dada, si el contenido del
acumulador es igual a cero.
A partir de la localidad 1000 están almacenadas varías instrucciones, en la forma
indicada a continuación ¡
LOCALIDAD INSTRUCCIÓN (SIGNIFICADO)
1000
Cargue el acumulador con el número 3 (decimal)
1001
Cargue el registro B con el número 1.
1002
.Sume el contenido del registro B al del acumulador
1003
Mueva el contenido del acumulador hacia el registro B.
1004
Reste el contenido del registro B al del acumulador.
Veamos cómo se van modificando los contenidos del contador de programa, el
acumulador y el registro B, a medida que se ejecutan dichas instrucciones;
- Al ejecutarse la instrucción almacenada en la localidad 1000, el acumulador
contendrá el número 3, el contador de programa se incrementará en 1 y el
registro B contendrá un valor que aún no conocemos. Si denotamos a los
contenidos del contador de programa, del acumulador y del registro R como
(CP), (A) y (B) respectivamente, podemos resumir lo anterior como:
(CP)= 1001; (A) =3; (B)=?
Donde usamos el símbolo "?" para representar un valor desconocido por nosotros.
- Al ejecutarse la instrucción almacenada en la localidad 1001, el registro B se
carga con el número 1, el contador de programa se incrementa en 1 y el
contenido del acumulador no varía. Es decir que tendremos:
(CP)=1002; (A) =3; (B)-!
-. Al ejecutar la instrucción almacenada en la localidad 1002, el acumulador
contendrá la suma de su contenido antes de su ejecución más el contenido del
registro B, el contador de programa se incrementa y el registro B se mantiene
inalterado. Esto puede resumirse así:
(CP)=1003; (A)=4;(B)=(t
Al ejecutar la instrucción almacenada en la localidad 1003. el contenido del
registro B sera igual al contenida del Acumulador y se incrementa el contenido
del contador de programa. Por ello. Se tendrá:
(CP)= 1004; (A) = 4. (B)=4
Al ejecutar la instrucción almacenada en la localidad 1004, el acumulador
contendrá el resultado de restarle el contenido del registro B, al valor del
acumulador previo a la ejecución de esta instrucción, el contador de programa
se incrementa y el contenido del registro B no se altera. Es decir que;
(CP)= 1005; (A)-O; (B)=4 Estos serán los contenidos finales del contador de
programa, él
acumulador y el registro B, luego de ejecutar las instrucciones indicadas
Guía de las Unidades II y III del Curso Microcomputador de la UNESR, Prof. Limett Lugo
Documentos relacionados
Descargar