Está en la página 1de 24

AMPLIACIÓN TEMA 1

Se compone de las siguientes unidades o bloques:


Unidad de Memoria Principal(MP) ó Main Memory.
Unidad Aritmético-lógica (UAL) ó Aritmetic Logic Unit.
Unidad de Control (UC) ó Control Unit.
Unidad de Entrada/Salida (U E/S) ó Input/output System.

Esto es la arquitectura Von Neumann. Busca en Internet información


sobre la arquitectura Harvard. ¿Existe? ¿Relación o diferencias con
arquitectura Von Neumann?.

Microprocesador

Es la parte principal del ordenador, en él se ejecutan los programas y se


realizan los cálculos necesarios para su funcionamiento.

a. Unidad de Control (UC)

Es el “cerebro” del ordenador, la parte pensante, es como el director


de una orquesta ya que se encarga del gobierno y funcionamiento
global del sistema. Recibe las instrucciones del programa que se esta
ejecutando y las encadena, las interpreta y las transforma enviando
las órdenes precisas al resto de los elementos del ordenador con el
fin de que cada uno actué en el momento y en la forma precisa.

Las funciones de la U.C son tres:

✓ Analiza e interpreta instrucciones del programa que se está


ejecutando.
✓ Controla los demás componentes físicos del ordenador
(memoria, periféricos, unidad aritmética lógica (UAL), etc)
mediante órdenes dirigidas a estos componentes.
✓ Atiende y decide sobre posibles interrupciones que se pueden
producir en el proceso (por ejemplo el teclado envía una señal
(una interrupción) a la unidad de control cada vez que se pulsa
una tecla, la impresora también envía señales a la unidad de
control por ejemplo cuando se quedan sin papel, y otras
muchas interrupciones que existen).

Fig. Partes de la Unidad de control

Para realizar todas sus funciones la U.C y U.A.L disponen de algunos


aliados, pequeños espacios de almacenamiento. Estos espacios se
denominan REGISTROS.

¿Cuál es el motivo de su existencia (de los registros)?.

Si el procesador tuviera que trabajar directamente con los datos


almacenados en la memoria central, el funcionamiento se haría más
lento de lo necesario (son necesarios varios ciclos de reloj para
recuperar o escribir un dato). Hay que tener en cuenta que la
memoria central es un elemento externo al procesador, y por tanto
requiere un tiempo de acceso que resulta elevado. En cambio el
acceso a los registros es muy rápido, ya que se encuentran en el
interior del procesador (se accede en un ciclo de reloj).

• Registro contador de programa (CP) o (CI).

También llamado contador de instrucción. Contiene la dirección


de memoria donde se encuentra la siguiente instrucción que se
va a ejecutar.

• Registro de Instrucción (RI).

Encargado de almacenar la instrucción, es decir contiene la


instrucción que se está ejecutando en ese momento por la
CPU.

Dicha instrucción suele estar compuesta por varias partes:

Código de operación: Expresa la acción o acciones que la


maquina tiene que realizar con la información. Es decir, qué
operación debe realizar la unidad de control (dependiendo de
este código se activarán unos u otros componentes del
ordenador) y

Direcciones de memoria: donde se encuentran los operandos


que pueda necesitar esa instrucción.

• Decodificador (D)

Se encarga de extraer y analizar el código de operación de la


instrucción en curso, o la dirección (posición) de memoria a la
que la Unidad de Control debe acceder para leer o escribir en
ella, lo analiza y emite las señales necesarias al resto de
elementos para su ejecución a través del secuenciador.

• Secuenciador (S)

Envía una serie de microórdenes al resto de elementos qué,


sincronizadas con los pulsos de reloj, hace que se ejecute paso
a paso la instrucción que está en el registro de instrucción.

• Reloj (R)
Indica en qué momento debe comenzar una determinada
operación y en qué momento debe finalizar, para esto emite
unos impulsos (pulsos de reloj) a intervalos fijos de tiempo que
sirven como referencia al resto de los componentes. La
frecuencia de reloj es la velocidad en ciclos por segundo
(medias en hercios) conque una computadora realiza las
operaciones más básicas.

b. Unidad Aritmético-Lógica (UAL)

Lleva a cabo las operaciones elementales que puede realizar el


ordenador, estas pueden ser aritméticas (sumas, productos, etc), o
lógicas (operaciones de comparación).

La UAL, recibe los datos con los que debe operar y tras realizar las
operaciones oportunas devuelve el resultado a la memoria principal.

La mayoría de las UAL como operación aritmética tan sólo tiene la


suma y el resto de las operaciones las efectúa en base a la suma,
esto para una persona sería lento y pesado pero no para un
ordenador que trabaja a velocidades de cálculo de cientos de miles de
instrucciones por segundo (MIPS).

Fig. Partes de la Unidad Aritmético lógica

• Circuito operacional (COP). Se encarga de la realización de


operaciones con los datos suministrados por registro de
entrada.
• Registro de Entrada 1 y 2 (REN1 REN2). Son utilizados tanto
para almacenar los datos u operandos que intervienen en una
instrucción antes de la realización de la operación por parte
del COP como para el almacenamiento de los resultados
intermedios.
• Registro de Estado. En el queda constancia de algunas
condiciones que se dieron e la última operación realizada y que
se tendrá que tener en cuenta en otras operaciones
posteriores.
• Registro Acumulador (RA). En él se depositan los resultados de
las operaciones llevadas a cabo por el circuito operacional.

c. Memoria RAM

La memoria principal o primaria o RAM, "Memoria Central ", es


aquella memoria de un ordenador, donde se almacenan temporalmente
tanto los datos como los programas que la CPU está procesando o va a
procesar en un determinado momento. Por su función, es una amiga
inseparable del microprocesador, con el cual se comunica a través de los
buses de datos. Por ejemplo, cuando la CPU tiene que ejecutar un
programa, primero lo coloca en la memoria y después lo empieza a
ejecutar.

Dispositivo capaz de almacenar información de forma que esta pueda ser


accedida. Debido a que es un soporte interno también recibe el nombre de
"memoria interna".

El acceso aleatorio (random access) es un método de búsqueda de


datos para la lectura o escritura de los mismos en donde se accede
directamente a ellos con una dirección. Esto significa que una palabra
(conjunto de bytes) se puede encontrar de forma directa, sin tener en
cuenta los bytes almacenados antes o después de dicha palabra.
Puede accederse a una de sus celdas conociendo su posición. El tiempo
de acceso es muy corto, pero tiene pequeña capacidad de
almacenamiento.

La capacidad de una memoria se mide en bytes según la fórmula:

Capacidad = Nº Direcciones x bytes por palabra

Por ejemplo, una unidad de memoria con 1024 direcciones, y con


palabras de 2 bytes, tiene una capacidad de:

2 x 1024 = 2048 bytes = 2 kilobytes

Para realizar estas operaciones intervienen dos registros que gestionan


dichas operaciones: RDM (Registro de Dirección de Memoria), RIM
(Registro de Intercambio de Memoria)
RDM ó (MAR memory Adres Register): Registro de Dirección de
Memoria. Contiene la dirección de Memoria de la celda donde
queremos realizar la operación de lectura ó escritura. Este registro
tiene que tener capacidad para contener , la máxima dirección a la
que se puede acceder de la memoria.

RIM: Registro de Intercambio de Memoria. Conserva el contenido de


la celda sobre la que se ha leído ó sobre la que se va a escribir. Este
registro tiene que tener un tamaño = al tamaño de las celdas de
memoria.

Aparte de los dos registros indicados tenemos un SELECTOR : Es el


dispositivo que tras una orden de lectura o escritura, conecta la celda
de memoria indicada por el RDM, con el RIM.

La memoria principal es una parte fundamental del ordenador, ya que


los programas deben de estar cargados en la memoria para poder
ejecutarse y los datos también deben estar cargados en ella para poder
ser procesados. Dispositivo capaz de almacenar información de forma
que esta pueda ser accedida.

Históricamente han existido dos tipos de memorias que se diferencian,


principalmente, por su velocidad y coste, la memoria interna y la
memoria externa o secundaria.
La memoria interna se compone de los escalones superiores de la figura
representada en el gráfico: un conjunto de registros, la memoria caché
y la memoria principal.

El procesador es el elemento principal del ordenador e interesa que las


instrucciones y datos con los que va a trabajar estén los más próximos
a él.

Cuando la CPU no encuentra un dato en alguno de los niveles de la


memoria interna se obtiene del nivel inmediatamente inferior.
A medida que descendemos de nivel, el coste de adquisición se reduce,
la velocidad disminuye, el tiempo de acceso aumenta y la capacidad es
mayor.

Tipos de memoria:

 Memoria RAM (Random Access Memory): se denominan «de


acceso aleatorio» porque se puede leer o escribir en una
posición de memoria con un tiempo de espera igual para
cualquier posición. Es una memoria volátil (pierde la
información en ausencia de alimentación) pero de tiempo de
acceso muy rápido. Este tipo de memoria permite tanto la
lectura como la escritura por parte del procesador.
 Memoria ROM (Read Only Memory): es también de acceso
aleatorio pero se denominan «de solo lectura» porque sólo
se puede leer de ella. Es utilizada principalmente para
almacenar datos básicos y de configuración del ordenador,
como es el programa de arranque del ordenador (BIOS). A
diferencia de la RAM, es una memoria no volátil.

PROM (Programmmable ROM): Memoria de solo lectura.


Se caracteriza porque cuando se adquiere aún no tiene
fijado su contenido y puede ser programada (escrita)
una sola vez. Este tipo de memorias aparecen porque las
ROM grabadas por el fabricante son sólo rentables desde
un punto de vista económico para grandes cantidades,
ya que preparar el proceso de fabricación y realizar la
máscara del circuito no compensa para pocas unidades.

EPROM (Erasable Programmable ROM): Memoria de solo


lectura. Esta puede ser borrada y reescrita mediante
hardware (mediante rayos ultravioleta). Pueden ser
reescritas varias veces.

EEPROM (Electrically Erasable Programmable ROM):


Memoria de solo lectura. Estas ya pueden ser borradas
eléctricamente. Esto evita el proceso de tener que
extraer el chip de memoria del ordenador e introducirlo
bajo la lámpara de rayos ultravioleta durante unos 15-20
minutos para el borrado y escritura.

EAROM (Electrically Alterable ROM): Memoria de solo


lectura. En esta memoria se pueden alterar los datos
sin un borrado previo con lo cual el proceso es más
rápido.

 Memoria Caché. Similar a la RAM pero más rápida.

La memoria cache es un tipo de memoria intermedia entre el


procesador y la memoria principal. En fichero aparte.

Funcionamiento del computador.

La función básica de un computador es ejecutar un programa. Un programa


es un conjunto de instrucciones almacenadas en memoria. La UCP es la que
ejecuta las instrucciones del programa.
El proceso para ejecutar una instrucción se denomina ciclo de instrucción.
Este se describe en la figura siguiente, en la que se puede ver que se
compone de dos fases, denominadas ciclo de búsqueda y ciclo de
ejecución.

El ciclo de instrucción empieza con la búsqueda (lectura) de la instrucción


de la memoria y termina con la ejecución de la misma. Por tanto, la
ejecución de un programa consiste en la repetición del proceso anterior, es
decir de múltiples ciclos de instrucción.

Según el tipo de operación se pueden necesitar varias operaciones para


ejecutarla. Por ejemplo, si necesita dos operandos, que están en memoria,
implicará realizar dos accesos de lectura de la memoria durante su
ejecución.

implicará realizar dos accesos de lectura de la memoria durante su


ejecución.

Ciclo de ejecución de una instrucción


Fase de búsqueda e interpretación de la instrucción

Fig. Búsqueda de la instrucción

Ciclo de búsqueda.

En el inicio de cada ciclo de instrucción, la UCP busca una


instrucción en la memoria.

Lo que nos da la dirección de donde se encuentra la 1ª instrucción


del programa es el CP. La UCP siempre incrementa el PC, después
de buscar cada instrucción y ejecutarla, por lo que buscará la
próxima instrucción de la secuencia, es decir la situada en la
siguiente dirección.

Supóngase un computador en el que cada instrucción ocupa


una palabra de memoria de 16 bits. Si el contador de programa
contiene el valor 300H, la UCP buscará la siguiente instrucción
de la posición 300H. En los próximos ciclos de instrucción
buscará las instrucciones de las posiciones 301, 302, 303, etc.

 La UC envía una microorden para transferir el contenido del


registro o contador de programa (dirección de la próxima
instrucción a ejecutar) al registro de dirección de memoria (a
la memoria).
 Se selecciona la posición de memoria que indica el RDM, este
hace que seleccione la celda indicada, la UC da la orden
adecuada de lectura y la información pasa al RIM, lo que se ha
leído evidentemente será la instrucción a ejecutar.
 Se ordena el traslado por parte de la UC de lo que hay en el
RIM con lo que en el RI se almacena la instrucción que se va a
ejecutar, que estará compuesta por un código de operación y
por el resto de la instrucción que normalmente son direcciones
de memoria.
 El decodificador procede a la interpretación de la instrucción
(interpreta el código de operación) se entera de la operación
que tiene que realizar.

 El registro contador de programa es incrementado con lo que


su contenido será la dirección de la próxima instrucción a
ejecutar.

Fase de ejecución de la instrucción

Fig. Ejecución de la instrucción

Supongamos que se ha detectado en la fase anterior que la


instrucción que se va a realizar es una suma, con lo cual el RI
contendría una instrucción con el código de operación y las
direcciones de memoria donde están los dos operandos así como la
dirección de memoria donde se debe almacenar el resultado.

 La dirección del primer operando es transferida desde el RI


hasta el RDM.
 Se selecciona la posición de memoria que contiene el RDM y se
realiza una lectura depositándose lo leído (primer operando) en
el RIM.
 La UC ordena que se transfiera el contenido del RIM a una de
las entradas de la UAL.
 Se transfiere la dirección del segundo operando desde el RI al
RDM.
 Se selecciona la posición de memoria del RDM y se lee de
memoria dejando lo leído (segundo operando) en el RIM.
 Se transfiere el contenido del RIM a la otra entrada de la UAL.
 El secuenciador envía una microorden a la UAL para que
efectué la operación de suma.
 El resultado de la UAL se transfiere al RIM.
 Se transfiere la dirección donde debe almacenarse el resultado
desde el RI al RDM.
 Se selecciona la posición de memoria donde se va a almacenar
el resultado y se escribe en esa posición de memoria lo que
hay en el RIM.

Análisis del ciclo de instrucción en una máquina hipotética.

Considerando un computador hipotético con la arquitectura básica


analizada anteriormente, y las características de la siguiente figura
vamos a estudiar como realizaría la ejecución de las instrucciones.

Aclaraciones de las características del computador.

Supóngase un computador en el que cada instrucción ocupa una palabra de


memoria de 16 bits. Si el contador de programa contiene el valor 300H, la
UCP buscará la siguiente instrucción de la posición 300H. En los próximos
ciclos de instrucción buscará las instrucciones de las posiciones 301, 302,
303, etc.

El registro acumulador (Ac) de la UCP se utiliza como almacenamiento


temporal y como uno de los operandos de las operaciones aritméticas y
lógicas.
Tanto las instrucciones como los datos tienen una longitud de 16 bits, por lo
que la organización correcta de la memoria será mediante palabras de 16
bits.

El formato de instrucción se divide en dos campos: código de operación y


dirección de operando. Como en el código de operación se utilizan 4 bits
pueden haber 24 = 16 códigos de operación diferentes.

Al usar 12 bits en el campo de dirección se pueden direccionar 212 = 4096


(4K)palabras de memoria.

En la siguiente figura se muestra la ejecución parcial de un programa. Se


indican los valores en hexadecimal de los registros más importantes de la
UCP y de la memoria. El programa suma el contenido de la palabra de
memoria 940H. Se consideran que los valores son en hexadecimal, por lo
que no se indicará la base (H) en las próximas referencias.

Para realizar el programa se necesitan tres instrucciones, de forma que la


ejecución se compone de tres ciclos de instrucción, cuyos correspondientes
ciclos de búsqueda y ejecución se muestran en la figura.

1º ciclo de búsqueda.

1. Como el programa comienza en la dirección 300, se empieza poniendo el


CP a 300. A continuación se transfiere el contenido del PC al registro de
dirección de memoria (RDM ó MAR).

2. RDM envia la dirección a la MP, mientras la UC genera las señales de


control a la MP para que ésta ponga el contenido de la posición de memoria
(1940) en sus salidas de dato RIM.
3. El dato leído de la MP (1940) se almacena en el registro buffer de
memoria (RIM).

4. Se transfiere el contenido del RIM al registro de instrucción (IR).

1º ciclo de ejecución.

1. Los primeros 4 bits en el IR indican la operación que debe realizarse con


los datos. En este caso 0001(1) indica una operación de carga en el
acumulador. La palabra de la memoria cuyo contenido se va a cargar en el
Ac, se indica mediante los 12 bits inferiores de la instrucción. En este caso
la dirección es 940.
2. La UC decodifica el código de operación, según se ha comentado en el
punto 1, y realiza las acciones correspondientes

Cargar RDM con 940.

Generar las señales a la MP para leer el contenido de esa


posición de memoria.

Cargar el contenido de la posición 940 (0003) en Acumulador.

Esta instrucción requiere un acceso a la MP por lo que se deben


utilizar los registros RDM y RIM. Igualmente ocurre con todos
los ciclos de búsqueda. En lo sucesivo no se hará referencia a
este proceso.

3. Se incrementa el PC.

2º ciclo de búsqueda.

1. Se busca la instrucción de la posición de memoria indicada por el valor


actualizado del PC, 301.2. Se carga en el RI la instrucción de la palabra 301
(5941). El código de operación es 5, que corresponde a la instrucción de
sumar el contenido del Ac con el de la palabra de memoria, indicada por los
12 bits inferiores de la instrucción (941).

2º ciclo de ejecución.

1. Para ejecutarse la instrucción debe realizarse una operación de lectura de


la MP, y sumar el contenido al del Ac.

2. Al final del ciclo de ejecución el Ac contiene el valor 3+2(941) = 5.

3. Se incrementa el PC, por lo que apuntará a la posición 302.

3º ciclo de búsqueda.

1. Se busca la instrucción en la posición 302.


2. Se carga el contenido de la posición 302 (2914) en el IR.

3º ciclo de ejecución

1. IR contiene el código de instrucción 2941, en el que los 4 bits de mayor


peso (2) corresponden a una instrucción de almacenamiento. Se transfiere
el contenido del Ac a la posición de memoria indicada por los 12 bits de
menor peso (941).

2. El Ac contiene el dato 5, que se transfiere mediante un acceso externo de


escritura a la MP. Al final del ciclo de ejecución la posición de memoria 941
tendrá el dato 5.

3. Se incrementa el PC. En este programa se han necesitado 3 ciclos de


instrucción para sumar el contenido de la palabra 940 al de la 941 y
almacenar el resultado en la posición 941.

Ejercicio 2: representa gráficamente los ciclos de búsqueda y ejecución de


un programa que suma el contenido de la palabra de memoria 655H con el
de la 656H y almacena el resultado en la 657H. En memoria tenemos la
siguiente información:


1. Bus del Sistema

Para que las unidades más importantes de una computadora puedan


"comunicarse" entre sí, existe un elemento que las interconecta,
llamado bus del sistema. Físicamente, el bus del sistema es un conjunto
de cables. En la siguiente figura se representan, de manera gráfica, las
unidades funcionales más importantes de una computadora; las flechas
indican las direcciones que pueden tomar los datos.

Figura. Unidades funcionales más importantes

Como ya se ha mencionado antes, la Unidad de Control es la encargada


de gestionar la entrada y salida de datos a través de la memoria y de
controlar que la UAL realice los cálculos necesarios. Para desempeñar
esta función debe comunicarse con, los diferentes componentes que
forman el ordenador. Esta comunicación se establece a través de unos
canales básicos que denominamos buses.

La existencia de señal eléctrica en un conductor significa que el valor


que se está transmitiendo es un 1, y la ausencia de señal eléctrica se
interpreta como que se está transmitiendo un 0.

El bus se puede definir como un conjunto de líneas conductoras,


utilizadas para la transmisión de datos entre los componentes de un
sistema informático. Un bus es en esencia una ruta compartida que
conecta diferentes partes del sistema, como el microprocesador, la
controladora de unidad de disco, la memoria y los puertos de
entrada/salida (E/S), para permitir la transmisión de información.
Un bus está constituido por muchas líneas. A cada línea se le asigna una
función determinada. Las líneas del bus se pueden clasificar en tres
grupos funcionales, o tipos de buses: líneas de datos, de direcciones, y
de control.

• Las líneas de datos del bus proporcionan el camino para transmitir datos
entre los módulos del sistema. El bus de datos consta de 8, 16, 32, 64
líneas distintas, cuyo número se conoce como anchura del bus de datos.
Este número de líneas determina cuantos bits se pueden transmitir al
mismo tiempo. La anchura del bus es un factor clave a la hora de
determinar las prestaciones del sistema.
• El número de conductores de un bus determina la cantidad de
información que se transmite simultáneamente. Es lo que se conoce
como ancho de bus.
• Un bus de 8 conectores tiene un ancho de bus de 8 bits (1 byte)
• Un bus de 32 conectores tiene un ancho de bus de 32 bits (4 bytes)

• Las líneas de dirección se utilizan para direccionar la fuente o el destino


de los datos situados en el bus de datos. La anchura del bus de
direcciones determina la cantidad máxima de memoria direccionable en
el sistema.
• Las líneas de control se emplean para gestionar el acceso y el uso de las
líneas de datos y dirección, señalizando peticiones y reconocimientos e
indicando que tipo de información pasa por las líneas de datos.
Existen los siguientes tipos de buses, atendiendo al tipo de información que
transportan:

1. Bus de datos. Llevan información de datos


desde y hacia la CPU, por lo que se dice que son
bidireccionales. Conforme han ido
evolucionando los ordenadores, el tamaño del bus de datos ha ido
creciendo y pasando por tamaños de 8, 16, 32 y 64 bits.
Se puede pensar en este tamaño como si fuese el número de carriles
que tiene una autovía, cuantos más carriles más coches pueden
circular por ella por segundo. Del mismo modo, cuanto mayor es el
ancho de este tipo de buses, mayor es el rendimiento de la máquina,
pues mayor caudal de datos puede transportarse en menos tiempo y,
de esta manera, se minimiza el tiempo que el procesador tiene que
estar esperando a que le lleguen los datos que ha pedido leer o
escribir, generalmente de memoria. Por otra parte, los buses también
tienen una velocidad asociada que, evidentemente, influye en el
rendimiento de la máquina. Evidentemente, no es lo mismo una
autovía que el límite de velocidad sea de 80 Km/hora que una en la
que se pueda circular a 120.
Velocidad de transmisión del bus es la cantidad de información por
segundo que es capaz de transmitir.
Se mide en bps, kbps, KB/s, GB/s, …
Hercios o Hertzs: unidad básica de frecuencia.

Un hercio o hz, es la medida estándar de frecuencia. Una repetición de un


mismo suceso en un periodo de tiempo, un segundo. Ciclo por tanto sería
cuando esa frecuencia vuelve a repetirse( como el latido del corazón). Así un
hercio sería la repetición de un ciclo en un segundo.

2. Bus de direcciones. Permiten al microprocesador


seleccionar una de las tantas posiciones de memoria,
ya sea para lectura o escritura. Se dice que es
unidireccional, pues tan sólo es el procesador el que
puede poner información en este bus; el resto de elementos del
sistema tan sólo puede leerlo. Cuanto mayor sea este bus, mayor
será la cantidad de memoria que el microprocesador puede
direccionar o encontrar y, por tanto, marca el máximo de memoria
principal que un ordenador puede tener. Así, por ejemplo, con un bus
de direcciones de 32 bits, se pueden direccionar 232 posiciones de
memoria, o lo que es lo mismo, la memoria puede ser de 232 bytes.
Esto es, aproximadamente, un tamaño de 4 GB (Gigabytes).
3. Bus de control. Son buses que permiten al microprocesador
sincronizarse con los distintos dispositivos para efectuar la
transferencia de información entre ellos

También podría gustarte