Вы находитесь на странице: 1из 38

ARQUITECTURA INTERNA

DE LOS
MICROPROCESADORES

Introduccin
Un Computador es un sistema secuencial sncrono

complejo.
Usa valores lgicos 1 y 0 que se corresponden
con niveles de tensin TTL o CMOS.
Para analizar sistemas complejos se usan
dos
modelos:
Top-down: empieza en nivel superior y se
descompone en mdulos de jerarqua inferior.
Bottom-up: empieza nivel inferior y se construye
hacia arriba.
2

Una posible clasificacin botton-up sera:

Nivel de componente: leyes de la fsica (P-N).


Nivel electrnico: R, L, C, transistores, diodos, etc.
Nivel lgico: puertas lgicas y biestables.
Nivel RTL (Nivel de Transferencia de Registros):

Registros,
mdulos
combinacionales
y
secuenciales.
Nivel PMS (Processor Memory Switch): Buses,
memorias y procesadores.

Elementos bsicos de un sistema basado en uP


4

Modelos Clsicos de Arquitecturas


a. Arquitectura Von Neumann
Las instrucciones y los datos comparten un solo
sistema de memoria.

b. Arquitectura Harvard
Memoria
de
instrucciones
y
datos
son
independientes, cada una con sus buses,
propiciando el paralelismo.
Permite la adecuacin del tamao de las palabras y
los buses a los requerimientos de las instrucciones
y de los datos.

c. Arquitectura Multiusuario
Integra el nuevo concepto DMA o Direct Access
Memory (Acceso directo a memoria).
De forma habitual se trabaja bajo esta arquitectura
en
sistemas
monoproceso
y
multitarea
(multiplexacin en tiempo).
Bajo costo total de implementacin del sistema
aunque con fuerte inversion en el computador
central que debe precisar de un potente rendimiento.
No debe confundirse el concepto de multiusuario
con el de multiproceso.
7

d. Arquitectura Multiproceso
Se diferencia de la arquitectura multiusuario en que
no se asigna tiempo a los usuarios del sistema, sino
a los procesos que stos realizan.
Esta arquitectura puede adoptar los estados, de
ejecucin (en uso), espera (para pasar al estado de
ejecucin), cancelado (detenido por la propia
mquina o por el usuario durante el proceso de
ejecucin) o finalizado (terminado una vez que haya
sido ejecutado).
Requiere un aumento cosiderable de memoria que
eleva su costo de implemetacin.
9

10

e. Arquitectura Basada en Memoria Virtual


Utiliza un dispositvo de almacenamiento masivo de
informacin como si de memoria se tratase.
Es bastante comn este modo de trabajo en
sistemas operativos como Windows que calcula
(basndose en el espacio libre del disco duro del
usuario, la memoria y otros parmetros de
rendimiento) cul es el tamao idneo de disco
duro para establecerlo como soporte de memoria
(*.swp).
Si se diminuye el tamao de este archivo disminuye
las prestaciones del sistema; pero si se aumenta, no
se aprovecha el espacio sobredimensionado.
11

12

f. Arquitectura LAN / HOST


Se basa en la interconexin de mquinas entre s en
las que se puede incluir o no un ordenador principal
(denominado servidor o HOST).
Esta arquitectura abarata la instalacin, ya que
permite la comparticin de recursos por parte de
todas la mquinas sin tener que recurrir a soluciones
especficas por cada ordenador.
Este tipo de arquitectura facilita el aprovechamiento
de los sistemas y permite un mayor control de los
usuarios y de la informacin manejada a travs de la
red.
13

14

g. Otras tcnicas o tendencias


Las nuevas necesidades rendimiento en los
ordenadores han obligado a la busqueda de
alternativas a los modelos y arquitecturas clsicas.
Algunas de estas son:
Mquinas RISC (Reduced Instruction Set Code)
Conjunto de cdigos de instrucciones reducidas.
Mquinas CISC (Complex Instruction Set Code)
Conjunto de cdigos de instrucciones complejas.
Mquinas SISC (Specific Instruction Set Code)
Conjunto de cdigos de instrucciones especficas.
15

Paralelismo interno que queda embebido en la

arquitectura del computador, basndose en la


segmentacin (pipeline) de funciones.
Paralelismo explcito, accesible al usuario ya que
ser l mismo quien se encargue de su explotacin.
Segn Flynn:
SISD (Single Instruction Single Data):
Arquitectura de instruccin simple trabajando
sobre dato simple.
SIMD (Single Instruction Multiple Data):
Arquitectura de mltiples flujos de datos por slo
uno de instrucciones.
16

MISD (Multiple Instruction Single Data):


Arquitectura inversa a SIMD, mltiples flujos de
instrucciones y uno de datos.
MIMD (Multiple Instruction Multiple Data):
Arquitectura que soporta el multiproceso,
mltiples flujos de instrucciones y datos.
La segmentacin hace aumentar el rendimiento de
los computadores, aunque en el fondo se sigue la
misma estrategia de busqueda/ejecucin secuencial.

17

Funcionamiento de las Unidades Internas


del Microprocesador
Funciones bsicas de los sistemas
computacionales
Procesamiento de datos.
Almacenamiento de datos.
Transferencia de datos.
Para llevar a cabo estas funciones existen las
siguientes unidades:

18

Unidad Central de Procesos (CPU)


Controla el flujo de datos, los procesa, y gobierna el

secuenciamiento de las acciones en todo el sistema.


El sistema, desde que se le alimenta, empieza a
ejecutar instrucciones y no se detiene hasta que se
apaga.
Las instrucciones forman programas mediante los
cuales se realiza una determinada accin.
Estos programas no slo son los del usuario, sino
tambin los de gestin del sistema completo.
Para ello cuenta internamente con una unidad de
control, la ALU y una serie de registros.
19

Unidad de Control
Se encarga de leer de memoria las instrucciones que

ejecutar y de secuenciar el acceso a los datos y las


operaciones a realizar por la unidad de proceso (Los
datos e instrucciones estn en memoria).
Una instruccin consta de un cdigo de operacin y
un operando (datos para ejecutar la instruccin o la
indicacin de donde encontrarlos) que para algunas
instrucciones no son necesarios o utilizados.
Una vez accedida la instruccin, la UC la almacena
en el Registro de Instrucciones (IR), interpreta su
cdigo y ejecuta la secuencia de acciones
adecuadas (decodificacin de la instruccin).

20

Entonces, la ejecucin de una instruccin pasa por

las fases de bsqueda y decodificacin de la


instruccin, bsqueda de los operandos y finalmente
la ejecucin. Este proceso se le suele abreviar
dividindolo en dos: el ciclo de bsqueda y el ciclo de
instruccin o ejecucin.
En el primero, la UC genera las seales adecuadas
para acceder a la memoria y leer la instruccin. Este
ciclo es el mismo para cualquier instruccin.
En el segundo, se ejecuta la instruccin. A diferencia
del anterior, este ciclo depende de la instruccin.

21

22

Diseo de la unidad de
control
Se puede considerar la UC
como un circuito digital que
a partir de las entradas
genera una secuencia de
seales de salida que se
corresponden
con
las
seales de control.
Existen
dos
formas
fundamentales de abordar
el diseo de una Unidad de
Control:
Unidad
de
Control
Cableada
y
Unidad
de
Control
Microprogramada.
23

DESDE UNIDAD DE MEMORIA


O DESDE CONSOLA

REGISTRO DE INSTRUCCIONES
MANDO

DIRECCIN

DECODIFICADOR DE INSTRUCCIONES

CIRCUITOS DE SECUENCIA

CIRCUITOS DE TIEMPO

COMANDOS
A TODAS
LAS UNIDADES

DESDE
CONSOLA

24

1. Unidad de Control Cableada


Utiliza lgica combinacional (lgica cableada equivalente
a puertas lgicas), para implementar las funciones lgica
de las seales de control.
Las principales caractersticas de una Unidad de Control
cableada se pueden resumir en:
Elevado costo; pero se reduce con el uso de VHDL.
Rediseo prcticamente completo, se optimiza
usando CAD.
Presenta la ventaja de la rapidez, se optimizan los
retrasos producidos en las compuertas.
Se le prefiere cuando se requiere una gran velocidad
o el diseo es muy sencillo.
25

26

2. Unidad de Control Microprogramada


Contiene una memoria, llamada memoria de
control, que almacena todos los valores
(microinstrucciones) que deben tomar las seales de
control en cada periodo de reloj dentro de la
ejecucin de una instruccin.
Para realizar una instruccin completa la UC debe
ejecutar varias microinstrucciones. El conjunto de
todas estas forman una instruccin mquina que se
le denomina microprograma.
El formato de las microinstrucciones indica cuntos
bits forman una microinstruccin y qu informacin
contiene cada uno de ellos.
27

28

29

Hay

variedad
en
el
formato
de
las
microinstrucciones debido a la influencia de los
elementos que componen la CPU. Por ejemplo, el
nmero de seales de control que es necesario
activar para cada microinstruccin limita el nmero
mnimo de bits que forman una microinstruccin,
que a su vez limita la longitud de palabra de la
memoria de control que se utiliza para almacenarlas.
La microprogramacin horizontal es un formato
en el cual cada bit de la microinstruccin se
corresponde con una seal de control, por lo que su
gran desventaja es que requiere una gran memoria
para implementarlo.
30

1.

2.

3.

Para ejecutar esta microinstruccin, se debe activar todas las


lneas de control correspondientes al bit "1" y desactivar
todas las lneas de control correspondientes al bit "0".
Si la condicin indicada por los bits de condicin es falsa, se
ejecuta la prxima instruccin en la secuencia.
Si la condicin indicada por los bits de condicin es
verdadera, la prxima microinstruccin a ser ejecutada es la
indicada en el campo de direccin.

31

La microprogramacin vertical es un formato en el cual

se agrupa las seales de control en campos. El valor de


cada una de las seales de control pertenecientes a un
campo se obtiene al decodificar el valor correspndiente
contenido en la microinstruccin. Este formato tiene la
ventaja de reducir el nmero de bits de la
microinstruccin, y por tanto de la memoria de control y,
la mayor desventaja que presenta es la decodificacin
necesaria de los valores contenidos
en la
microinstruccin. El formato es ms vertical cuanto mayor
sea el grado de codificacin es decir cuando las seales
de control estn todas agrupadas en un nmero reducido
de campos.
32

33

El

secuenciamiento de microinstrucciones
determina cual es la prxima microinstruccin que
se va a leer, puede presentar tres casos:
La siguiente microinstruccin est contenida en la
siguiente posicin de memoria.
La siguiente microinstruccin pertenece al
comienzo de una nueva instruccin.
Es necesario un salto a una posicin de memoria
sin determinar.

34

Hay

diseos donde el secuenciamiento de


microinstrucciones se realiza slo mediante los
dos primeros casos. En este caso todas la
microinstrucciones deben estar ordenadas una a
continuacin de la otra en la memoria de control y
tambin el IR debe indicar la posicin de la primera
microinstruccin
del
microprograma
correspondiente. Este tipo de secuenciamiento se
denomina implcito, y presenta la limitacin de que
no es posible implementar microprogramas con
saltos internos condicionales.
35

El secuenciamiento explcito, por el contrario,

permite los tres casos y, por tanto, como a priori no


se conoce la direccin, es necesario codificar en el
campo de secuenciamiento la direccin de la
prxima microinstruccin, con esto ya se permiten
saltos condicionales dentro de un microprograma,
pero se aumenta la longitud de palabra del formato
de las microinstrucciones y por tanto de la memoria
de control.

36

Ventajas y desventajas de la microprogramacin


La microprogramacin presenta desventajas cuando
el procesador que se desea disear es muy simple
(pocas instrucciones y poca circuitera interna) o
cuando se requiera prestaciones elevadas.
La microprogramacin se basa en el hecho de que
las microinstrucciones estn almacenadas en una
memoria, lo que presenta las siguientes ventajas:
La UC microprogramada es ms fcil de
reprogramar o redisear.
Se pueden incluir, sin grandes dificultades
hardware, instrucciones complejas que tengan
muchos periodos de ejecucin.
37

Permite implementar a este nivel algunas


instrucciones complejas que son muy usadas por
el computador.
Permite implementar procesadores con diversos
juegos de instrucciones. Esto permite copiar en
un computador un juego de instrucciones de otro
computador para ejecutar sus programas
(emulacin).
Permite hacer rutinas de diagnstico del
computador mucho mejores que las hechas en
cdigo mquina.
38

Вам также может понравиться