Sunteți pe pagina 1din 29

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

ARQUITECTURA DEL COMPUTADOR


De las subreas en que se descompone el estudio de un computador hay dos ntimamente relacionadas
con la asignatura: la Arquitectura de Computadores y La Estructura de Computadores. Estas subreas
tienen fronteras comunes lo que puede dificultar su diferenciacin.
El conocimiento de la arquitectura es imprescindible para estudiar la estructura que la implementa. De las
muchas definiciones de Arquitectura que existen damos dos que son, en cierta medida, el compendio de
todas las dems. Bell y Newell, en su libro Computer Structures. Principles and examples definen
arquitectura como los atributos del computador que puede ver el programador de lenguaje mquina.
Por su parte, Hennessy y Patterson realizan una interesante definicin. Arquitectura es la interface entre
el Software de bajo nivel y el Hardware, indicando que esta interfaz es la que posibilita implementaciones
de diverso costo/rendimiento en las que corre software idntico. La arquitectura debe contener todo lo
que los programadores necesitan conocer para que el programa SW (Lenguaje Mquina) funcione
correctamente. Segn indican Hennessy y Patterson todos los lenguajes mquina son parecidos. Esto se
debe a que la mayora de los computadores se construyen con tecnologas basadas en los mismos
principios bsicos, y a que deben ser pocas las operaciones que debe suministrar el computador.
El objetivo perseguido al disear una arquitectura es encontrar un lenguaje mquina que haga fcil la
construccin del hardware y del compilador, al tiempo que se maximiza el rendimiento y se minimiza el
costo. Ejemplos de atributos de arquitectura son:

Repertorio de instrucciones
Formato de las instrucciones
Cdigos de operacin
Modos de direccionamiento
Registros y posiciones de memoria que se pueden manipular directamente
Nmero de bits utilizados para representar diferentes tipos de datos
Mecanismos de entrada/salida

La Estructura de un computador estudia las unidades operacionales de un computador as como y las


formas de relacionarlas para que implementen las especificaciones de la arquitectura.
Atributos de la estructura son los detalles del hardware transparentes al programador como:
Las seales de control
Interfaces entre el computador y los perifricos
La tecnologa de memoria utilizada
El tipo de operadores aritmticos seleccionado
Con el ejemplo que se da a continuacin se ven las diferencias entre los dos conceptos. Una decisin
que afecta a la arquitectura es determinar si el computador va a disponer de una determinada operacin
aritmtica, por ejemplo, el producto. Una decisin de estructura es estudiar cmo implementar dicha
operacin, si mediante un sistema secuencial o combinacional; mediante una unidad especial o en la
UAL del computador. La decisin de diseo de la estructura se fundamenta en:

La velocidad de ejecucin
En el tamao
Consumo de potencia
Etc.

La diferencia entre arquitectura y estructura aparece de manera clara en las familias de computadores,
que comparten una misma arquitectura pero tienen diferentes estructuras. Consecuentemente, los
diferentes modelos de la familia tienen diferentes precios y caractersticas de rendimiento. An ms, el

GUIA

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

concepto de estructura est ligado a la tecnologa de fabricacin, mientras que la arquitectura es


independiente de l, de tal manera que una arquitectura puede perpetuarse durante aos, mientras es
muy extrao que una estructura dure demasiado tiempo. El primer ejemplo de familia de computadores
fue el IBM 360.
En lo que respecta al rendimiento del computador, en un principio eran las mejoras tecnolgicas las que
aumentaban el rendimiento de los computadores. En la actualidad, es la mejora en las arquitecturas la
que ha logrado un gran avance en el rendimiento. En esta direccin ha habido adelantos tan importantes
como:

La segmentacin - pipeline
El paralelismo
Los computadores RISC

Conviene recordar que pueden existir muchas estructuras diferentes para implementar un conjunto de
instrucciones pero, en definitiva, es el repertorio de instrucciones el factor principal que determina la
razn coste/rendimiento .
Antes de pasar al siguiente apartado quiero recalcar que la frontera entre arquitectura y
estructura no est tan clara como puede parecer. De hecho, existen autores que consideran, que tanto lo
que hemos definido como arquitectura, como lo que hemos definido como estructura, Para Baron y
Higbie son arquitectura de computadores:
Arquitectura de computadores es el diseo de computadores incluyendo su conjunto de instrucciones,
sus componentes hardware y su organizacin de sistema. Existen dos partes esenciales en la
arquitectura de computadores: la arquitectura del conjunto de instrucciones (ACI) y la arquitectura del
sistema hardware (ASH). La ACI incluye las especificaciones que determinan cmo el programador de
lenguaje mquina interacta con el computador. Un computador se ve generalmente en trminos de su
ACI que determina sus caractersticas computacionales. En contraste, el ASH est relacionado con los
principales subsistemas hardware del computador, incluyendo su unidad central de proceso, su sistema
de almacenamiento, y su sistema de entrada/salida. El ASH incluye tanto diseo lgico como
organizacin del flujo de datos de dichos subsistemas, por eso el ASH determina en gran medida la
eficiencia de la mquina.

ARQUITECTURA VON NEUMANN


Las computadoras no son mas que sofisticados circuitos secuenciales. La mayora de las computadoras
actuales siguen los mismos patrones de la Arquitectura de Von Neumann, aunque se haya progresado en
cada uno de los niveles de arquitectura de la mquina.
La Maquina de Von Neumann fue el primer avance de la arquitectura y apareci para superar la dificultad
de programacin. Esta programacin se realizaba manualmente manipulando cables e interruptores. La
solucin fue almacenar los programas en la memoria. La arquitectura a la que dio lugar consta de cuatro
bloques bsicos:

GUIA

La memoria principal
La unidad de control
La unidad aritmtico lgica
Los sistemas de entrada/salida.

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

MEMORIA SECUNDARIA
Seales de control y de estado

MEMORIA
PRINCIPAL
Datos e
instrucciones

ENTRADA

(Datos e Instrucciones)

Instrucciones
UNIDAD
DE CONTROL
(UC)

Datos

Datos

UNIDAD
ARITMTICO
LOGICA
(ALU)

SALIDA
Resultados o
Datos de salida

PROCESADOR CENTRAL (CPU)

La memoria estaba formada por 1024 palabras (1 Kpalabras) de 40 bits. Cada palabra poda contener 2
instrucciones o un nmero entero de 39 bits.
Las instrucciones tenan 8 bits para indicar el tipo de instruccin, y 12 bits para indicar una palabra de
memoria.
La unidad aritmtico-lgica tena un registro interno de 40 bits llamado Acumulador. Una instruccin
tpica sumaba el contenido de una palabra de memoria al acumulador, o almacenaba el contenido del
acumulador en una palabra de memoria.
Esta mquina tenan las siguientes caractersticas que hoy pueden parecer obvias:

La memoria era unidimensional, organizada como un vector de celdas del mismo tamao y de
direcciones secuenciales

Una misma memoria para instrucciones y datos

No haba distincin explicita entre instrucciones y datos

No haba especificacin explicita del tipo de datos

Cada instruccin especificaba la direccin de la siguiente instruccin a ejecutar. Posteriormente


se le aadi el concepto del Registro Contador de Programa, dando lugar a la ejecucin
secuencial de las instrucciones, y a la inclusin de las instrucciones de salto para alterar el flujo
de control

Esta arquitectura es la que se mantiene hoy en da en la inmensa mayora de las mquinas de propsito
general, en las que la Unidad de Control y la Unidad Aritmtico-Lgica se han integrado en la actual CPU.

GUIA

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

CLASIFICACION DE ARQUITECTURAS
La clasificacin ms aceptada de los modelos de arquitectura es la que se debe a Flynn, la cual se
realiza segn el nmero de instrucciones o datos implicados en cada ciclo de reloj. Es una organizacin
realizada desde el punto de vista de la Estructura del Ordenador y los clasifica en:

SISD
SIMD
MISD
MIMD

SISD ( Single Instruction Single Data )


Un nico procesador interpreta una nica secuencia de instrucciones para operar con los datos de una
nica memoria
Solo una instruccin solo un dato
Es tpico el Von Neumann
Una CPU que ejecuta una instruccin cada vez y busca o almacena un dato cada vez
Es una arquitectura con un nico procesador

SIMD ( Single Instruction - Mltiple Data )


Una nica instruccin controla la ejecucin simultnea de varias unidades de proceso. Cada unidad de
proceso tiene una memoria asociada. Cada instruccin es ejecutada en cada procesador por un conjunto
de datos diferente. Sistemas tpicos son los procesadores vectoriales y matriciales
Solo una instruccin mltiples datos
Una unidad de control
Varias unidades de proceso
Tpico de arrays de procesadores
Se ejecuta la misma instruccin sobre datos diferentes
Distribuyen el proceso sobre una gran cantidad de hw
Operan concurrentemente sobre muchos datos
Ejecutan el mismo clculo sobre todos los elementos
La unidad de control es por si misma un computador de Von Neumann y se le llama UC porque
esta diseada para controlar los procesadores
Adems puede incluir computadores host que realizan tareas especificas como:
Carga de programas
Configuracin del array de elementos de proceso
Supervisin de entrada/salida

MISD ( Mltiple Instruction Simple Data )


Se transmite una secuencia de datos a un conjunto de procesadores. Cada procesador ejecutauna
instruccin diferente sobre el mismo conjunto de datos. Nunca se ha implementado.
Mltiples instrucciones y solo un dato
Ejecucin de diferentes programas sobre el mismo datos
Conocidos como arrays sistlicos

MIMD ( Mltiple Instruction Multiple Data )


Conjunto de procesadores que ejecutan conjuntos de instrucciones diferentes sobre conjuntos de datos
diferentes. Los procesadores son de carcter general.
Mltiples instrucciones mltiples datos
Distribuyen el procesamiento entre un n de procesadores independientes
Distribucin de recursos, incluyendo la MP, entre los procesadores
Cada procesador opera concurrentemente y en paralelo con el resto

GUIA

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

Cada procesador ejecuta su propio programa


Diferentes arquitecturas se diferencian por
Diferente red de interconexin
Diferentes procesadores
Diferente estructura de direccionamiento de memoria
Diferente control y estructura de sincronizacin
Multiprocesadores : tienen memoria comn
Multicomputadores : tienen memorias locales.

Otra clasificacin desde el punto de vista de la Arquitectura

Arquitectura CISC (Complex Instruction Set Computer)


La utilizacin de lenguajes de alto nivel ha provocado un salto semntico debido a la diferencia que existe
entre estos lenguajes y el lenguaje mquina que ejecuta un computador. El efecto inmediato de este salto
es una creciente complejidad de los computadores y un tamao excesivo de los programas en lenguaje
mquina lo que en ocasiones les haca ineficientes.
Para reducir este salto semntico los diseadores optaron por incrementar la complejidad de la
arquitectura de los computadores incluyendo tipos de datos complejos, decenas de modos de
direccionamiento y grandes repertorio de instrucciones, incluyendo algunas que implementaban
directamente sentencias complejas de los LAN.
Arquitecturas RISC (Reduced Instruction Set Computer)
Los estudios realizados por algunos investigadores sobre las caractersticas de ejecucin de programas
en lenguaje mquina a partir de programas escritos en LAN daba como resultado que las instrucciones
mquina que se ejecutan con mayor frecuencia dinmica son las de movimiento de datos, control de flujo,
comparacin lgicas y aritmtica simple, representando estas ms del 90% de las instrucciones
ejecutadas. Adems, los modos de direccionamiento simples representan ms del 75 % de los usados
dinmicamente.
Basndose en estos estudios surgen las arquitecturas RISC que reducen la complejidad de los
computadores al implementar solo aquellas instrucciones ms usadas, y utilizar slo modos de
direccionamiento sencillo, tipos de datos bsicos y gran nmero de registros que sirven para almacenar
datos temporales. La arquitectura RISC es con toda probabilidad la principal aportacin a la arquitectura
que se ha producido en los aos ochenta, debido a que a roto la tendencia evolutiva de las arquitecturas
que cada vez se hacan ms complejas

GUIA

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

ESTRUCTURA BASICA DE LOS COMPUTADORES


La estructura bsica de la mayora de los ordenadores
actuales se representa mediante los siguientes elementos
bsicos:
E/S

MEMORIA

La Unidad Central de Procesamiento, CPU


La memoria principal
BUS DE DIRECCIONES

CPU

Los subsistemas de E/S


Los buses del sistema

BUS DE DATOS
BUS DE CONTROL

LA UNIDAD CENTRAL DE PROCESAMIENTO (CPU)


La unidad central de procesamiento, conocida tambin como Procesador, es la encargada de controlar
las operaciones de la computadora y realizar las funciones de procesamiento de datos.
La funcin de la CPU es la de ejecutar una secuencia de instrucciones que estn almacenadas en la
memoria principal de la computadora. Al disear un procesador se especifica un repertorio de
instrucciones que ser capaz de realizar y que se conoce como conjunto de instrucciones. El procesador
trabajar a manera de interprete decodificando las instrucciones para ser ejecutadas.
Las funciones que realiza la CPU para ejecutar una instruccin son:

Buscar instrucciones: El CPU debe leer instrucciones de la memoria.


Interpretar instrucciones: La instruccin debe ser decodificada para determinar la accin a
realizar.
Buscar datos: La ejecucin de una instruccin posiblemente requiera de leer datos de la memoria
o de algn mdulo de E/S.
Procesar datos: La ejecucin de una instruccin posiblemente requiera desarrollar algunos
clculos aritmticos o realizar operaciones lgicas con los datos.
Escribir datos: El resultado de una ejecucin posiblemente requiera escribir datos en la memoria
o en algn modulo de E/S.

La CPU para realizar sus funciones se compone de varias partes:


La Unidad de Control (UC):
Controla el funcionamiento del CPU.
UNIDAD DE
CONTROL

ULA

REGISTROS

La Unidad Lgica y Aritmtica (ULA):


Ejecuta funciones de procesamiento de datos.
Registros:
Proveen almacenamiento interno al CPU
Interconexiones:
Permiten la comunicacin entre la UC, la ULA y
los Registros.

GUIA

UNIMET

ARQUITECTURA DEL COMPUTADOR


Prof. Sandro Costantini

UNIDAD LOGICA ARITMTICA ULA


Es la encargada de realizar todos los clculos aritmticos y lgicos.
Una operacin bsica de todas las computadoras es la adicin o sustraccin de dos nmeros. Tales
operaciones se proporcionan en el nivel de instrucciones de mquina. Se implantan, junto con las
funciones lgicas AND, OR, NOT y EXOR en la ULA del CPU.
Los operandos se le presentan a la ULA como salidas de dos registros del CPU, a travs de un bus. Por
lo general, el resultado se enva a otro registro del CPU para que la lgica combinatoria termine con los
clculos. Adems una operacin de la ULA es ms veloz que una operacin de acceso a memoria. Esto
significa que en una instruccin en la que haya una operacin de la ULA, el operando que deba traerse
de memoria no requerir mucho ms tiempo de ejecucin que una instruccin que slo traslada el
contenido de una localidad de memoria a otra.
En comparacin, las operaciones de multiplicacin y divisin son ms complejas que las de adicin y
sustraccin. Por lo general, estas operaciones se incluyen en el conjunto bsico de instrucciones, sin
embargo, sus tiempos de ejecucin pueden ser significativamente ms lentos que los de otras
instrucciones tales como sumar, mover, etc. Esto se debe a que estn implantadas como una secuencia
de pasos de adicin y sustraccin que realiza la ULA, controlada por un microprograma. En las
computadoras de alto rendimiento, a menudo se utiliza hardware multiplicador y divisor para incrementar
la velocidad de las operaciones aritmticas. Desde luego, siempre y cuando se cuente con las
instrucciones de mquina de Suma y Sustraccin, ser posible suministrar operaciones tanto de
multiplicacin como de divisin, mediante rutinas de software. Estas rutinas implantan bsicamente la
multiplicacin como una secuencia de sumas y desplazamientos y, la divisin, como una secuencia de
sustracciones y desplazamientos.
Comparadas con las operaciones aritmticas, las operaciones lgicas son simples desde el punto de
vista de la circuitera combinatoria. Slo requieren de que se realicen operaciones booleanas
independientes en posiciones individuales de bits de los operandos.
Como mencionamos anteriormente, la ULA es la parte de la computadora que se encarga de ejecutar
operaciones aritmticas y lgicas a los datos. El resto de los componentes, unidad de control, registros,
memoria, E/S, se encargan de llevar datos a la ULA para procesarlos y despus toman el resultado de
regreso.

REGISTROS
Para ejecutar las instrucciones la CPU requiere de algn tipo de almacenamiento temporal. Esta pequea
memoria interna, de alta velocidad, est constituida por registros, los cuales se pueden utilizar para el
almacenamiento temporal de operandos o datos que se utilicen con frecuencia. Cada registro puede
almacenar una palabra de dato. Los tiempos de acceso a los registros son generalmente de 5 a 10 veces
ms rpidos que los de acceso a memoria.
En la figura se muestra un esquema simplificado de las conexiones entre registros ULA y unidad de
control en el CPU.
CPU
MDR

R0
R1

BUS DE DATOS

......

MAR

Rn

PC
BUS INTERNO

ULA

IR

UNIDAD DE
CONTROL

BUS DE DIRECCIONES

BUS DE CONTROL

M
E
M
O
R
I
A

PSW

GUIA

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

Los registros de la CPU estn clasificados en dos categoras de acuerdo a sus funciones, aunque no
existe una clara separacin entre las dos.
Registros visibles al usuario. Permiten al programador de lenguaje de mquina o ensamblador
minimizar las referencias a la memoria principal, cuando optimiza el uso de los registros.
Registros de control y estado. Son utilizados por la unidad de control para controlar el
funcionamiento de la CPU, y por programas privilegiados del sistema operativo para controlar la
ejecucin de programas.
(Antes mencionamos que no existe una clara separacin entre las dos categoras, por ejemplo aunque en
la mayora de las mquinas el Contador de Programa(PC) no es visible al usuario, en algunas si lo es.

REGISTROS VISIBLES AL USUARIO:


Son aquellos que pueden ser referenciados por medio del lenguaje de mquina que ejecuta la CPU.
Se pueden clasificar en las siguientes categoras:
Registros de Propsito General: pueden ser asignados por el programador a una gran variedad de
funciones. Puede contener el operando de cualquier instruccin.
Registros de Datos: Se utilizan nicamente para almacenar datos, y no pueden utilizarse para el
clculo de la direccin de un operando.

REGISTROS DE DIRECCIONES
Pueden ser de uso mas o menos general, o pueden estar dedicados a un modo particular de
direccionamiento. Como ejemplo tenemos:

Apuntadores de segmento: contiene la direccin de la base del segmento en una mquina con
direccionamiento segmentado.

Registros ndices: Utilizados para direccionamiento indexado, y pueden ser autoindexados.

Apuntadores de Pila: Si existe un direccionamiento de pila visible al usuario, entonces la pila


est en memoria y hay un registro dedicado que apunta al tope de esta.

REGISTROS DE CODIGOS DE CONDICION (banderas(flags))


Son bits fijados por el hardware de la CPU como resultados de una operacin. Por ejemplo una operacin
aritmtica puede producir un resultado positivo, negativo, nulo o con desbordamiento. Adems de
almacenar el propio resultado en memoria, se obtiene tambin un cdigo de condicin, que puede ser
consultado como parte de una bifurcacin condicional.
Los bits de cdigos de condicin se renen en uno o mas registros. Normalmente forman parte del
registro de control. Generalmente las mquinas permiten que estos bits se lean mediante referencias
implcitas, pero no pueden ser alterados por el programador.
En algunas mquinas, una llamada a una subrutina implica guardar el contenido de los registros visibles
al usuario, para reestablecerlos al regreso. Esta tarea es realizada por el CPU como parte de la ejecucin
de la llamada y del regreso. Esto permite que cada subrutina utilice los registros independientemente. En
otras mquinas es responsabilidad del programador guardar y reestablecer los valores de los registros
Al momento de disear los registros de un CPU hay varios puntos que hay que considerar. Uno muy
importante es la especializacin, que trata de si deben utilizarse nicamente registros de propsito
general o especializar su uso. Con el uso de registros especializados puede estar implcito en el cdigo
de operacin el tipo de registro al que har referencia un operando. Este debe identificar nicamente un
registro de un conjunto especializado, en lugar de uno de entre todos los registros. Esto por un lado
ahorra bits, pero la especializacin limita la flexibilidad del programador. No existe una solucin nica en
este punto, pero la tendencia es el uso de los registros especializados.

GUIA

UNIMET

ARQUITECTURA DEL COMPUTADOR


Prof. Sandro Costantini

Otro punto es el Numero de Registros, ya sean de propsito general, de datos o de direcciones. Esto
afecta el diseo del conjunto de instrucciones dado que ms registros requieren ms bits de operandos.
Al parecer de 8 a 32 registros son opt5imos. Utilizar pocos registros produce ms referencias a la
memoria; muchos registros no reducen notablemente el nmero de referencias a memoria. Sin embargo,
existe un nuevo planteamiento, el cual encuentra ventajas en el uso de cientos de registros, y se
encuentra en algunos sistemas RISC
Un ltimo punto en el diseo es la Longitud de los Registros. Los registros que contienen direcciones
deben ser lo suficientemente grandes para contener direcciones grandes. Los registros de datos deben
ser capaces de almacenar valores de la mayora de los tipos de datos. Algunas mquinas permiten el uso
de dos registros contiguos para almacenar valores de longitud doble.

REGISTROS DE CONTROL Y ESTADO


Hay una gran variedad de registros que son utilizados para controlar la operacin del CPU. La mayora
de estos, en muchsimas mquinas, no son visibles al usuario. Algunos duden ser visibles a instrucciones
de mquina realizadas en un modo de control o de sistema operativo.
Por supuesto, existen diferentes organizaciones de registros y utilizan diferentes tecnologa. A
continuacin se muestra una lista, razonablemente completa, de tipos de registros y una breve
descripcin.
Registros esenciales para la ejecucin de una instruccin:
Registro de direccin de memoria MAR: Especifica la direccin de memoria a la que se est
accediendo. Est conectado al bus de direccin.
Registro de datos de memoria MDR: Contiene el valor a escribir en la memoria o el ltimos valor
ledo de la memoria. Est conectado al bus de datos.
Contador de Programa PC: Contiene la direccin de la prxima instruccin a captar.
Registro de Instruccin IR: Almacena la instruccin que actualmente se est ejecutando
MAR: Memory Address Register;

MDR: Memory Data Register;

PC:Program Counter;

IR:Instruction Register

El PC es actualizado por el CPU despus de cada bsqueda de instruccin, por lo que siempre apunta a
la siguiente instruccin a ser ejecutada. Una instruccin de salto tambin modifica al PC. La instruccin
buscada se coloca en el IR donde el cdigo de operacin y el operando son analizados. Los datos se
intercambian utilizando MAR y MDR.
Estos cuatro registros se utilizan para la transferencia de datos entre el CPU y la memoria. Dentro del
CPU los datos son presentados a la ULA para procesarlos. La ULA debe tener acceso directo al MDR y
a los registros visibles al usuario.

GUIA

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

En la figura se muestran los dos registros involucrados directamente con el acceso a memoria.

CPU

MEMORIA
UNIDAD DE
CONTROL

MDR

MAR

0 1 0 1 0 1 1 1

0 0 1 1 0

0 1 0 1 0 1 1 1

DECOD

Bus de direcciones

Bus de datos

Todos los diseos del CPU incluyen un registro, o conjunto de registros, conocido como palabra de
estado del programa PSW (program status word). Frecuentemente el PSW contiene cdigos de condicin
y otra informacin de estado. Entre los campos comunes se incluyen los siguientes:

Signo: Contiene el bit de signo resultante en la ltima operacin aritmtica.


Cero: Puesto a 1 cuando el resultado es cero.
Acarreo: Puesto a 1 si la operacin da como resultado un acarreo del bit ms significativo.
Igual: Puesto en 1 si el resultado de una comparacin lgica es la igualdad.
Overflow: Utilizado para indicar un desbordamiento en una operacin aritmtica.
Interrupt enable disable: Utilizada para habilitar o deshabilitar las interrupciones.

Supervisor: Indica cuando el CPU est operando en modo supervisor o en modo usuario. Ciertas
instrucciones y reas de memoria solo pueden accesarse en modo supervisor

GUIA

10

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

UNIDAD DE CONTROL UC.


La funcin de una computadora es la de ejecutar programas. Estos programas estn compuestos de una
serie de instrucciones, las cuales son ejecutadas una cada vez. Es decir, que la ejecucin de un
programa consiste en realizar una secuencia de ciclos de instruccin, con una instruccin de mquina por
ciclo.
La funcin de la unidad de control de un computador es la bsqueda de las instrucciones en memoria, su
interpretacin y la generacin en los instantes adecuados, de las seales de control necesarias para
ejecutar la operacin especificada por cada instruccin. En este proceso se distinguen dos aspectos
fundamentales:

El secuenciamiento de las instrucciones.


La interpretacin de las instrucciones.

SECUENCIAMIENTO
El secuenciamiento de las instrucciones es el proceso por el cual las instrucciones de un programa van
siendo seleccionadas para su ejecucin en un orden determinado. La mayor parte de las instrucciones de
un programa tienen una sola sucesora, por lo que resulta natural almacenadas en posiciones
consecutivas de memoria. Para su secuenciamiento, se utiliza un registro denominado contador de
programa (CP). En general, si la instruccin i necesita p palabras de memoria, el incremento del CP para
pasar a la instruccin i+1 ser CP CP+p.
Las instrucciones de ruptura son las que permiten la seleccin de un camino entre varios posibles.
Cuando es necesario transferir el control del programa principal a una subrutina o una interrupcin, lo que
se hace es guardar el contenido del CP (que ser la direccin de la siguiente instruccin del programa
principal) en algn registro de la CPU o en una posicin determinada de la memoria principal llamada
direccin de retorno. Despus se carga en el CP la direccin en la que se encuentra la instruccin que
arranca el subprograma, que se ejecuta hasta que finaliza, volviendo luego el control al programa
principal recuperando el contenido del CP de la direccin de retorno.

INTERPRETACIN:
Es el proceso por el cual la unidad de control obtiene las instrucciones almacenadas en memoria y las
ejecuta. Esto se realiza en lo que llamaremos ciclo de instruccin.

CICLO DE INSTRUCCIN
La ejecucin de un programa consiste en la ejecucin secuencial de sus instrucciones. Cada instruccin
se ejecuta durante un ciclo de instruccin que est compuesto de subciclos ms pequeos (bsqueda,
direccionamiento indirecto, ejecucin e interrupcin) La realizacin de cada uno de esos subciclos implica
una o ms operaciones ms pequeas llamadas microoperaciones.

Ciclo de captacin
Ciclo de decodificacin
Ciclo de ejecucin

CICLO DE CAPTACIN
Las instrucciones que forman un programa se almacenan en forma secuencial en la memoria. Para
ejecutar este programa la CPU trae una instruccin a la vez de la memoria y realiza las funciones
especificadas. A este proceso se le conoce como ciclo de captacin y ocurre al comienzo de cada ciclo

GUIA

11

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

de instruccin produciendo que una instruccin sea obtenida de la memoria. Se utilizan los cuatro
registros siguientes:

Registro de direccin de memoria MAR


Registro de datos de memoria MDR.
Contador de Programa PC
Registro de Instruccin IR

(su descripcin se mencion en la seccin correspondiente a los registros)


Para explicar las microoperaciones del ciclo de captacin consideremos los eventos que se van
sucediendo, y su efecto sobre los registros del CPU.
El primer paso consiste en traer de la memoria la instruccin a ejecutar. Al comienzo del ciclo de
captacin la direccin de la prxima instruccin a ejecutarse se encuentra almacenada en el contador de
programa (PC). Entonces debemos colocar el contenido del PC en el registro de direccin de
memoria(MAR), ya que este es el registro que est conectado a las lneas de direccin del bus del
sistema.
El segundo paso consiste en traer la instruccin. Para esto la direccin (contenida en el MAR) se coloca
en el bus de direcciones y la unidad de control emite una seal de LECTURA en el bus de control. El
resultado aparece en el bus de datos y se copia en el registro de datos de memoria (MDR). Es necesario
adems actualizar el valor del PC para que contenga la direccin de la siguiente instruccin. Esto se
realiza incrementando el PC en I (longitud de la instruccin), para que est preparado para la prxima
instruccin. Dado que las dos operaciones no interfieren entre s, se pueden realizar simultneamente
para ahorrar tiempo.
El tercer paso consiste en transferir el dato almacenado en MDR al registro de instruccin (IR). Esto libera
MDR para su posible uso durante un ciclo indirecto.
De esta forma, el ciclo de captacin consta de 4 microoperaciones que se realizan en 3 pasos.
Las secuencias de pasos en el ciclo de bsqueda pueden representarse simblicamente de la siguiente
forma:
t1:
t2:
t3:

MAR
MDR
PC
IR

[PC]
Memoria
[PC] + I
MDR

Transferir el contenido de PC a MAR


Transferir el contenido de la posicin de memoria sealada por MAR a MDR.
Incrementar en I el contenido de PC
Transferir el contenido de MDR a IR.

ti representa unidades sucesivas de tiempo y los corchetes [ ] se utilizan para denotar el contenido de.

CICLO DE DECODIFICACION
Una vez que se tiene la microinstruccin, el siguiente consiste en analizar los bits correspondientes al
codigo de operacin de la instruccin y determinar las operaciones a ejecutarse en el ciclo de ejecucin.

CICLO DE EJECUCIN
El ciclo de ejecucin no tiene una secuencia fija de operaciones, sino que para cada cdigo de operacin
y modo de direccionamiento hay una secuencia distinta. De forma general se efectuan las siguientes
operaciones:
Calculo de las direcciones efectivas de los operandos (dependen del modo de direccionamiento)
Lectura de los operandos (se leen de la memoria principal y se almacenan en registros a la
entrada de la Unidad Aritmtico lgica)
Operacin con los datos (en la Unidad Aritmtico Lgica)
Almacenamiento de operando (escritura del resultado en la memoria)

Al terminar con el ciclo de instruccin se sigue el mismo procedimiento con la instruccin siguiente.

GUIA

12

UNIMET

ARQUITECTURA DEL COMPUTADOR


Prof. Sandro Costantini

NOTAS ADICIONALES
Algunos autores especifican un ciclo indirecto que hemos considerado como parte del ciclo de ejecucin
CICLO INDIRECTO
Una vez que se tiene la microinstruccin, el siguiente paso consiste en captar los operandos.
Supongamos que el formato de instruccin requiere de un direccionamiento directo o indirecto. Si la
instruccin especifica un direccionamiento indirecto (consiste en obtener la direccin almacenada en otra
localidad de memoria), entonces se debe realizar un Ciclo Indirecto. Esto incluye las siguientes
microoperaciones:
t1:
MAR
[IR(Direccin)]
t2:
MDR
Memoria
t3:
IR(direccin) [MDR(Direccin)]
El campo de direccin en la instruccin se transfiere a MAR. Este se utiliza despus para captar la
direccin del operando. Por ltimo, el campo de direccin de IR se actualiza con el contenido de MDR, de
modo que contenga una direccin directa en lugar de una indirecta.
IR tiene ahora el mismo estado que si no se hubiera usado direccionamiento indirecto, y est listo para el
ciclo de ejecucin.

CICLO DE INTERRUPCION
Cuando termina el ciclo de ejecucin, se realiza una comprobacin para determinar si se ha habilitado
alguna interrupcin. Si es as, entonces antes de captar la siguiente instruccin tiene lugar el ciclo de
interrupcin. La secuencia es la siguiente:
t1:
t2:
t3:

MDR
MAR
PC
Memoria

[PC]
Direccin de regreso
Direccin de rutina
[MDR]

Aqu el contenido de PC se almacena en el MDR para que cuando la rutina termine de ejecutarse, el CPU
sepa en donde debe continuar. Se coloca en el MAR la direccin donde se almacenar el contenido de
PC y la direccin de la rutina a ejecutar se almacena en el PC. Posteriormente la unidad de control
especifica que se debe realizar una escritura para almacenar en memoria el dato contenido en MDR.

GUIA

13

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

INSTRUCCIONES
Las instrucciones maquinas son las acciones elementales que puede ejecutar un computador. Una
accin compleja deber codificarse como una secuencia de instrucciones mquina en lo que se
denomina un programa. La arquitectura de un procesador entendida como el conjunto de recursos
operativos disponibles por un programador a nivel de lenguaje maquina queda definida por el repertorio
de instrucciones ISA (Instruction Set Architecture). En general, una instruccin bsica que el computador
realiza sobre unos datos ubicados en la memoria o en los registros de la maquina y a los que accede
utilizando un modo de direccionamiento. Por consiguiente, la arquitectura ISA de un procesador viene
determinada por los siguientes factores.

Tipos de datos y formatos que pueden manejar las instrucciones: naturales, enteros, reales,
caracteres, etc.
Modos de direccionamiento de los datos ubicados en la memoria: inmediato, directo, indirecto,
etc. Estos dos factores son determinantes para la implantacin eficiente de las estructuras
complejas de datos de un lenguaje de alto nivel
Conjunto bsico de operaciones que se pueden realizar sobre los datos: suma, resta, etc.

FORMATO DE LAS INSTRUCCIONES


El formato de una instruccin mquina define la disposicin y el reparto de sus bits entre los
componentes de la instruccin. El formato de una instruccin debe incluir el cdigo e, implcita o
explcitamente, cero o mas operandos. Los operandos son datos que estn en alguno de los registros
internos de la CPU, en la memoria principal o en algn controlador de entrada/salida. A cada operando se
accede mediante uno de los distintos modos de direccionamiento que veremos posteriormente.
A la hora de disear un juego de instrucciones, se deben tener en cuenta ciertas consideraciones sobre
dos cuestiones bsicas: la longitud de la instruccin y el reparto de los bits que la componen.

LONGITUD DE LAS INSTRUCCIONES


Hay un claro compromiso entre el deseo de un rico y variado repertorio de instrucciones, y la necesidad
de ahorrar espacio. Los programadores quieren muchos cdigos de operacin distintos (requieren
muchos bits en el campo de cdigo de operacin) para disponer de operaciones que se ajusten lo ms
posible a sus necesidades, y as escribir programas ms cortos. De igual manera, cuanto ms modos de
direccionamiento estn disponibles, ms flexibilidad tendrn para manejar estructuras de datos
complejas, como tablas o matrices. Por otro lado, puesto que cada vez se dispone de mayor cantidad de
memoria, se requieren muchos bits para hacer referencia a un gran espacio de direccionamiento. Pero
claro, una instruccin que ofrezca todo esto puede ocupar posiblemente el doble de bits que otra similar
que no ofrezca tanta flexibilidad. Est claro que una instruccin larga ocupa ms espacio en memoria
que una corta, se tarda ms tiempo en llevarla de memoria a la CPU, y se tarda ms tiempo en
decodificarla.
Se debe tener en cuenta que el ancho del bus de datos sea mltiplo de la longitud de un carcter, para
evitar desaprovechar el espacio de almacenamiento. Y esta restriccin afecta a la longitud de las
instrucciones, que deben ocupar un nmero entero de palabras, o en una palabra debe caber un nmero
entero de instrucciones. Por esto los tamaos de las instrucciones suelen ser mltiplos de 8. Un diseo
con caracteres de 9 bits, instrucciones de 12 y palabras de 31 bits sera una catstrofe.

REPARTO DE LOS BITS


Aqu el compromiso est en el reparto de los bits disponibles entre el nmero de cdigos de operacin y
la versatilidad de los operandos. Esta versatilidad genera las siguientes preguntas: cuntos operandos
hay en una instruccin? de cuantos modos de direccionamiento se dispone? dnde estn los
operandos, en registro o en memoria? Cuntos registros hay?
Las informaciones relativas a los factores mencionados anteriormente se codifican en cada una de las
instrucciones siguiendo un formato preestablecido. El formato determinar la longitud en bits de las
instrucciones y los campos que codifican el valor de los factores citados.

GUIA

14

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

En general una instruccin se compone de los siguientes campos del programa.

Cdigo de operacin (CO)


Operandos fuentes (OP1,OP2,...)
Operando destino (Opd)
Instruccin siguiente (IS)

CO

OP1

OP2

.......

OPd

IS

El cdigo de operacin determina la operacin que se realiza sobre los operandos 1,2,... El resultado se
deja en el Operando Destino. Lo normal es que el numero de operandos fuentes de un repertorio no pase
de 2. La direccin de la instruccin siguiente IS queda implcita en todas las instrucciones (se trata de la
instruccin siguiente del programa) salvo en las instrucciones de ruptura condicional o incondicional de
secuencia.

Instrucciones con 3 operandos:


CO OP1(fuente1) OP2(fuente2) OP3(destino)

Constan de un campo de cdigo de operacin


y 3 operandos que corresponden a las
direcciones de las dos entradas y la salida de
la operacin.
Presenta la mxima flexibilidad pero ocupa
muchos bits si los operandos estn en
memoria.
Ejemplo ADD B, C, A : A B+C

REG B

REG A

CO

ULA

OP1

OP2

OP3

REGISTRO DE INSTRUCCION

ACUMULADOR

(A, B, C son direcciones de memoria)

Instrucciones con 2 operandos:


CO OP1(fuente1) OP2(fuente2)
Como la de 3 operandos, solo que en una de
las direcciones se almacena tambin el
resultado. Con esto se reduce el tamao de la
instruccin pero se pierde uno de los
operandos.
Ejemplo: ADD B, C : B B+C

REG A

REG B

ULA

CO

OP1

OP2

REGISTRO DE INSTRUCCION

ACUMULADOR

GUIA

15

UNIMET

ARQUITECTURA DEL COMPUTADOR


Prof. Sandro Costantini

Instrucciones con 1 operando:


CO OP1(fuente1)
Supone que fuente1 y destino es un registro
predeterminado (acumulador). Se pierde un
operando fuente.

REG B

REG A

Ejemplo: ADD B :
Acumulador [Acumulador] + B

ULA

CO

OP1

REGISTRO DE INSTRUCCION

ACUMULADOR

Instrucciones con 0 operando:


CO

Se trata de computadores que trabajan sobre una pila


Ejemplo: ADD : Tope de pila [ Tope de pila] + [Tope de pila -1]

GUIA

16

UNIMET

ARQUITECTURA DEL COMPUTADOR


Prof. Sandro Costantini

METODOS DE DIRECCIONAMIENTO
Como las instrucciones del programa y los datos se almacenan en memoria central antes de ejecutar el
programa es fundamental que el procesador disponga de mecanismos para acceder tanto a las
posiciones de memoria ocupadas por las instrucciones y las posiciones de memoria ocupadas por los
datos. En el capitulo anterior se ha escrito la memoria como un conjunto de posiciones de memoria cada
una conteniendo una palabra de memoria.
La manera de acceder a memoria depender de como se utilizan los buses del sistema tanto de
direcciones como de datos para transportar las direcciones y los contenidos de memoria
correspondientes tanto a datos como a instrucciones. En la prctica esto no es tan simple:
-Las instrucciones ocupan mas de una palabra de memoria
-Las direcciones transferidas a travs del bus de direcciones no son siempre direcciones fsicas.
Existen diferentes tcnicas para averiguar las direcciones fsicas de la informacin en memoria. Se
conocen como modos de direccionamiento.
Estos modos de direccionamiento, que son transparentes para todos menos para los programadores de
lenguaje ensamblador, estn diseadas para facilitar el acceso a los datos o a grupos de datos en
memoria. No todos los procesadores implementan todos los modos de direccionamiento. Escribir un
compilador para un procesador (o lo que es lo mismo dispone de un medio para pasar un algoritmo de
alto nivel a las instrucciones bsicas de su repertorio) suele resultar ms fcil si estn implementados los
siguientes modos de direccionamiento, que permitan el acceso a los operandos de las instrucciones o a
las instrucciones mismas.

Direccionamiento Inmediato
La forma ms simple de indicar un operando es incluyndolo en la propia instruccin. Ya
CO OPERANDO
que las instrucciones no son modificables, este es el modo que se utiliza en o peraciones
con constantes. Si la constante es un valor numrico, se almacena en complemento a
dos.
La ventaja del direccionamiento inmediato es que no se requieren referencias adicionales a memoria para obtener el
operando, ahorrando por lo tanto espacio y tiempo. El inconveniente es que el espacio reservado para este operando
suele estar restringido y suele ser menor que el tamao de la palabra, por lo que en algunos procesadores solamente
se utiliza para constantes de valores pequeos.

Direccionamiento Directo
Otra forma muy simple de hacer referencia a un
operando es indicando su direccin en memoria
principal, y solamente requiere una referencia
adicional a memoria para obtener un operando.
Es el modo de direccionamiento comn para las
variables globales de los programas. La
instruccin siempre accesar a la misma
localidad de memoria exactamente. Si bien el
valor contenido en ella puede cambiar, la
direccin no puede alterarse.

GUIA

MEMORIA
CO

operando
operando

17

UNIMET

ARQUITECTURA DEL COMPUTADOR


Prof. Sandro Costantini

Direccionamiento a Registro

REGISTROS

Similar al direccionamiento directo, pero en este


CO
R
caso, el campo de direccin se refiere a uno de
los registros generales del procesador en lugar
de una posicin de memoria.
Las ventajas que tiene son que solo necesita 3 0
operando
R
4 bits para indicar uno de los registros generales,
operando
y que no requiere referencias adicionales a
memoria. El inconveniente es que no se suele
disponer de muchos registros, aunque con el advenimiento de las maquinas RISC, la tendencia es a ir
incrementando su nmero.
Se utiliza para guardar valores temporales en la evaluacin de e xpresiones, o para mantener en registros algunas
variables que se referencian muy a menudo.

Direccionamiento Indirecto

MEMORIA

En este modo se hace referencia a una palabra


CO
R
de memoria principal en la que se encuentra la
direccin del operando.
A
Con una indireccin se requieren dos accesos
adicionales a memoria para obtener el
operando
operando.
Se utiliza cuando la direccin de las variables
no se conoce en el tiempo de compilacin, sino
que es durante la ejecucin del programa cuando se calcula la direccin del operando y se guarda sta en memoria
(o en un registro como se ve en el siguiente modo).

Direccionamiento Indirecto por


Registro
En este mtodo, el operando hace referencia a
un registro general en el que se encuentra la
direccin del dato. Cuando una direccin se usa
de esta manera, se llama apuntador. Una gran
ventaja del direccionamiento indirecto por
registro es que puede hacer referencias a la
memoria sin pagar el precio de tener una
direccin de memoria completa en la
instruccin.

MEMORIA
CO

operando
operando
REGISTROS

operando

Direccionamiento Indexado
En este modo para formar la direccin del dato
se utilizan un registro ms un desplazamiento
que viene explcitamente en el campo de
operando.
Direccin del operando es igual al contenido del
registro + una constante.

MEMORIA
CO

operando
operando

REGISTROS

GUIA

operando

18

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

SISTEMAS DE MEMORIA
La memoria es un medio fsico capaz de almacenar informacin (programas y datos) de forma temporal o
permanente. Sin memoria no puede haber computadoras como las conocemos ahora.
Aunque conceptualmente parezcan sencillas, presentan una gran variedad de tipos, tecnologa,
estructura, prestaciones y costo. Ninguna tecnologa es ptima para satisfacer todas las necesidades de
un computador por lo existe una jerarqua de subsistemas de memoria, algunos directamente accesibles
por el procesador (internos) y otros accesibles mediante mdulos de entrada/salida (externos).
Examinaremos las caractersticas claves de las memorias y luego analizaremos el subsistema de
memoria principal.

CARACTERISTICAS DE LOS SISTEMAS DE MEMORIA


CONCEPTOS BASICOS Y TERMINOLOGIA.
Con el el fin de diferenciar entre las diferentes memorias, es necesario conocer cuales son sus
caractersticas principales, y a que se refiere cada una de ellas. Las caractersticas que se consideran
son localizacin, capacidad, unidad de transferencia, mtodo de acceso, desempeo y tipo. Estas
caractersticas se describen a continuacin.

Localizacin: Segn su localizacin existen tres grandes grupos:

Memoria interna del procesador: la utiliza la CPU como elemento de almacenamiento temporal de
instrucciones y datos, y consta de un pequeo conjunto de registros de alta velocidad.
Memoria Principal: es una memoria relativamente grande y rpida utilizada para el
almacenamiento de los programas y sus correspondientes datos, siendo la tecnologa ms
empleada la de circuito integrado.
Memoria externa o secundaria: son dispositivos perifricos de almacenamiento accesible a la
CPU a travs de controladores de E/S. Suele ser ms grande y ms lenta que la memoria central,
y se utiliza fundamentalmente para el almacenamiento de programas y conjuntos de datos que no
estn siendo utilizados continuamente por la CPU.

Jerarqua:
Las restricciones de diseo de la memoria de un computador se resumen en tres puntos: Capacidad,
velocidad y costo.
Por una tenemos que es importante disponer de una gran cantidad de memoria. Para facilitar la ejecucin
de programas que son grandes o que trabajan con una gran cantidad de datos.
Por otra parte tenemos que la velocidad de ejecucin de los programas es muy dependiente de la
velocidad a la que se pueden transferir los datos entre la CPU y la memoria. Por esto, idealmente, la
memoria debera ser rpida, grande y barata. Como cabria esperar, hay un compromiso entre estas tres
caractersticas de la memoria que mantienen las siguientes relaciones:

GUIA

A menor tiempo de acceso mayor costo por bit.


A mayor capacidad menor costo por bit.
A mayor capacidad mayor tiempo de acceso.

19

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

De cara al diseador el dilema est claro; le gustara disponer de una tecnologa de memoria que le
proporcionara una gran capacidad, tanto porque se necesita cantidad de memoria, como porque el costo
por bit es pequeo. Sin embargo, para conseguir buen rendimiento y velocidad se necesitan memorias de
rpido acceso, que son de poca capacidad y ms caras.
La jerarqua de memorias se emplea para solucionar las diferentes necesidades que tienen cada tipo de
memoria. Una jerarqua tpica es la siguiente:

REGISTROS CPU
MEMORIA CACH
MEMORIA PRINCIPAL
DISCOS MAGNETICOS
CINTAS MAGNETICAS

A medida que se va de arriba hacia abajo, disminuye el costo por


bit, aumenta la capacidad, aumenta el tiempo de acceso y
disminuye la frecuencia de acceso a la memora por parte de la
CPU.
La clave del xito de la jerarqua es esta ltima, la decreciente
frecuencia de acceso. Esto simplemente quiere decir que no se
accede a todos los datos con la misma frecuencia; obviamente se
accede ms a los datos del programa en ejecucin que a los de
uno que no se ejecuta desde hace un ao; y de igual manera, en
un momento dado se accede ms a los datos de una expresin
que se est evaluando en ese preciso instante que a otros datos
del programa.

En lugar de decidirnos por un solo tipo de tecnologa o un nico tipo de memoria, lo que hay que hacer es
construir una estructura con una jerarqua de memoria de manera de situar en los niveles superiores los
datos o instrucciones que se necesitan ms frecuentemente. Los pocos datos con los que se est
ejecutando la instruccin en curso estn en los registros; los datos de las ltimas instrucciones, en la
memoria cach, el resto de los datos del programa en ejecucin estarn repartido entre la memoria
principal y secundaria de acceso rpido(discos magnticos); los programas o datos que no se estn
ejecutando se guardan en memorias secundarias masivas de mayor tiempo de acceso, como la cinta
magntica y el disco ptico,
La CPU y el sistema operativo se encargarn de ir llevando y trayendo los datos de las memorias lentas a
las rpidas y viceversa, a medida que se vayan referenciando los distintos datos o programas.

Capacidad: forma de especificar cuantos bits se pueden almacenar un dispositivo de memoria


particular o en un sistema de memoria completo. Para ilustrar esto, suponga que se tiene una memoria
que puede almacenar 4096 palabras de 20 bits. Esto representa una capacidad total de 81.920 bits.
Tambin podramos expresar esta capacidad de la memoria como 4096 x 20. Cuando se expresa de
esta manera, el primer numero representa el nmero de palabras y el segundo es el tamao de la palabra
(numero de bits por palabra). El nmero de palabras contenidas en una memoria , a menudo es un
10
mltiplo de 1024. Es comn utilizar la designacin 1K (kilo) para representar 2 = 1024 cuando nos
referimos a la capacidad de la memoria. Por tanto, una memoria que tiene una capacidad de
almacenamiento de 4K x 20, es en realidad una memoria de 4096 x 20.
Tambin puede venir expresada en bits o en bytes (1 byte = 8 bits).
El desarrollo de memoria grande ha dado origen a otras designaciones que son el Mega, el Giga y el
Tera.
1
1
1
1

10

K=2
20
M=2
30
G=2
40
T=2

= 1024
= 1024 K
= 1024 M
= 1024 G

As un circuito integrado de memoria que se especifica como 2K x 8, tendr una capacidad de 2048 X 8 =
16.384 bits o, lo que es lo mismo, 2048 bytes ( 2 Kbytes)

GUIA

20

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

Direccin o ubicacin. Cada celda de memoria es asociada unvocamente a una direccin, de tal
manera que mediante esa direccin se puede acceder a ella para escribir o leer un dato.
No se debe confundir el espacio de direccionamiento de un procesador con la cantidad de memoria
disponible. El espacio de direccionamiento viene impuesto por el nmero de hilos, n , del bus de
n
direcciones, de tal manera que el espacio de direccionamiento de un procesador es 2 unidades
n
direccionables, con lo que su rango de direcciones va desde 0 hasta 2 1. La cantidad de memoria de un
ordenador se corresponde solamente con la memoria realmente instalada. El mximo de memoria que se
n
puede instalar es 2 .

Palabra: Es la unidad comn de organizacin de la memoria. Su tamao viene determinado por el


tamao de los registros internos de la CPU. El tamao de las palabras en las computadoras modernas
vara comnmente de 4 a 64 bits, segn la dimensin de la computadora.

Byte: Grupo de 8 bits


Unidad direccionable: En muchos sistemas, la unidad direccionable es la palabra, sin embargo,
algunos de ellos permiten direccionar a nivel de byte.

Unidad de transferencia: Para la memoria principal es el numero de bits que se leen o escriben en
memoria a la vez. Viene impuesto por el numero de hilos del bus de datos. No tiene por qu coincidir con
una palabra o con una unidad direccionable.

Mtodos de acceso.
Se distinguen 4 tipos:

Acceso Aleatorio: cuando puede accederse a las informaciones almacenadas en la


memoria en cualquier orden, siendo el tiempo de acceso constante e independiente de la
posicin donde est localizada la informacin. La localizacin fsica real de la palabra.
Acceso Secuencial solamente se puede acceder a una informacin almacenada mediante
una secuencia lineal. Por tanto, el tiempo de acceso es variable y depende de la posicin donde
est almacenada la informacin.
Acceso Directo: Incorpora un mecanismo de lectura/escritura compartido. Sin embargo, los
bloques o registros individuales tienen una direccin nica, que se basa en su posicin fsica. El
tiempo de acceso es variable. Un ejemplo clsico son las unidades de disco
Acceso Asociativo: son tambin de acceso aleatorio, diferencindose en que no se
pregunta por el contenido de una direccin, sino que se pregunta si existe una posicin de
memoria que contiene una palabra determinada. La ventaja fundamental es que dividiendo la
palabra en campos, se puede asociar un campo a una regin concreta de la memoria, haciendo
la bsqueda ms rpida. Una palabra es recuperada basndose en una porcin de su contenido
en lugar de su direccin. Cada posicin tiene su propio mecanismo de recuperacin que es
constante e independiente de la posicin. Las memorias cach a veces emplean este mtodo.

Desempeo: para medir el rendimiento de velocidad se utilizan los tres parmetros siguientes:

GUIA

21

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

Tiempo de acceso (tA): Para las memorias de acceso aleatorio, es el tiempo que toma

realizar una operacin de lectura o escritura. Para las no aleatorias es el tiempo que tarda el
mecanismo de lectura/escritura en posicionarse en la localidad deseada.
Tiempo de Ciclo de memoria (tC): es el tiempo mnimo entre dos lecturas consecutivas.
Velocidad de transferencia (fA): es la velocidad a la que se pueden transferir datos a o
desde una unidad de memoria. Para las memorias de acceso aleatorio coincide con el inverso
del tiempo de ciclo.

Tipos fsicos:
Existe

una gran variedad de tipos fsicos de memoria. Los tres ms utilizados son:
Memorias de Semiconductor como memoria principal
Memorias Magnticas como memoria secundaria
Memorias pticas, tambin como memoria secundaria

Caractersticas fsicas:
Alterabilidad: Las memorias cuyo contenido no puede ser modificado se denominan memorias de
slo lectura o memorias ROM, y las que pueden realizar operaciones de lectura y escritura se llaman
memorias de lectura/escritura.

Permanencia de la informacin: Hay tres caractersticas que pueden redundar en la destruccin


de la informacin:

Lectura destructiva: las operaciones de lectura ocasionan la destruccin de la informacin.

Volatilidad : prdida de la informacin ante el fallo de corriente.


Almacenamiento estatico/dinmico: una memoria es estatica si la informacin que contiene no
vara con el tiempo y es dinmica si la informacin se va perdiendo por lo que hay que refrescarla
para evitar su prdida.

GUIA

22

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

MEMORIA PRINCIPAL
Aunque la CPU dispone de una memoria interna (los registros), sta es demasiado pequea como para
albergar solamente la instruccin a ejecutar , sus operandos y poco ms. Por eso es necesario disponer
de un sistema de memoria externa suficientemente grande. Para ello se cuenta con la Memoria Principal
que hoy en da est construida a base de semiconductores y estn formadas por una serie de celdas que
contienen datos.
Hay diversos tipos de memorias de semiconductor, y tambin varios criterios de clasificacin. Uno de
estos criterios puede ser el cmo se referencia cada una de las celdas de datos de la memoria. Segn
este criterio hay dos tipos de memorias:
Asociativas: esto es seleccionadle por el contenido
Convencionales: seleccionables por la direccin de la celda
Las memorias asociativas son las que utiliza la memoria cach. Por su parte las convencionales tienen
distintos usos dependiendo de su tecnologa, y podemos encontrarlos memoria RAM, ROM, PROM,
EPROM, Flash y EEPROM. Entre todas estas, la que suele ocupar la mayor parte del mapa de memoria
principal es la memoria RAM, es decir, memoria voltil de acceso directo de lectura/escritura.
La memoria RAM a su vez admite distintas tecnologas, como las memorias estticas (ms rpidas y que
suelen emplearse para las memorias cach) y las dinmicas (ms lentas y utilizadas para la memoria
principal), pero no vamos a bajar a este nivel, y nos ocuparemos solo de las caractersticas y conexiones
de los mdulos de memoria RAM y ROM en general. Los mdulos de memoria ROM los consideraremos
con las mismas caractersticas que la memoria Ram, excepto la posibilidad de escribir en ella.
Aunque un mapa de memoria principal puede estar formado por distintos tipos de memoria, lo ms
frecuente es encontrar simplemente memoria RAM y ROM (o alguna variedad), donde la RAM ocupa la
inmensa mayora del espacio de direcciones.
En la memoria ROM de los ordenadores es donde se encuentra el programa inicial de arranque (IPL) y
un conjunto de rutinas bsicas de entrada/salida. Con ayuda de este programa se arranca el mecanismo
de carga del sistema operativo de cada ordenador.

ORGANIZACION
Sabemos que la memoria est compuesta por bits, y el elemento bsico de una memoria semiconductora
es la celda binaria de almacenamiento, capaz de contener un bit de informacin.
Pero un bit resulta insuficiente como unidad lgica de almacenamiento por lo que se procesan en grupos
de un tamao predefinido llamado palabra. El nmero de celdas en cada palabra se denomina longitud
de palabra. A cada una se le asocia una direccin que determina la localidad en la que se encuentra la
palabra.
En la figura se muestra como organizar de varias formas distintas una memoria de 96 bits.

0
1
2
3
4
5
6
7
8
9
10
11

0
1
2
3
4
5
6
7

0
1
2
3
4
5

16

bits

12 bits

8 bits

GUIA

23

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

Aunque el nmero de bits por celda ha variado mucho, hoy da casi todos los fabricantes de ordenadores
de propsito general han estandarizado el grupo de 8 bits, llamado byte. Un byte es capaz de almacenar
datos tale como caracteres, pero resulta insuficiente para manejar nmeros de cierta magnitud. Por esto
los bytes se agrupan a su vez en palabras. El tamao de una palabra viene determinado por el ancho de
los registros generales de la CPU, por lo que un procesador con registros de 32 bits, tiene una palabra de
32 bits. Esto quiere decir que se pueden hacer operaciones con datos de hasta 32 bits (en este caso).

EL MAPA DE MEMORIA
32 Mb

RAM

EEPROM

4 Kb

ROM/PROM

16 Kb

Los ordenadores personales convencionales suelen contar actualmente


con un vasto espacio de direccionamiento, pero no suele ser necesario
llenar todo este espacio de direccionamiento con los chips de memoria
correspondiente. Por otra parte, tambin resulta normal contar con
varios tipos de memoria. La mayor parte es RAM, que suele comenzar
en las direcciones bajas, un poco de ROM que suele estar en las
direcciones mas altas de la memoria. En algunos sistemas tambin se
puede contar con una pequea cantidad de EEPROM que puede estar
situada en cualquier parte del hueco entre la RAM y la ROM.
As, nos encontramos con que el espacio de direccionamiento est
formado por varias zonas o rango de direcciones en las que hay
distintos tipos de memoria y huecos en los que no hay instalada ningn
tipo de memoria.
El Mapa de Direcciones representa la distribucin del espacio de
direccionamiento de una mquina entre los distintos tipos de memoria
instalados.

CHIPS DE MEMORIA
Como otros circuitos integrados, las memorias semiconductoras vienen en chips encapsulados. Cada
chip contiene una matriz de celdas de memoria.
Supongamos por ejemplo que tenemos una pastilla de memoria RAM de 1 Mbit x 8.
Veamos la interfaz que nos ofrece con el mundo exterior.
Pines de direccion: A0-A19. Puesto que tiene un espacio de
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A 10
A 11
WE
OE
CS
GND
Vcc

GUIA

RAM
1 Mb x 8

A 12
A 13
A 14
A 15
A 16
A 17
A 18
A 19
D0
D1
D2
D3
D4
D5
D6
D7
Vcc

direccionamiento de 1 Mega( 1.048.576 direcciones) necesita 20 pines


para poder seleccionar la celda deseada, pues 220 =1.048.576. Estas
son seales de entrada.
Pines de datos: D0-D7. Cada celda direccionada es de un byte
(8 bits), luego necesita 8 lneas. Como es una RAM, se puede leer o
escribir en ella, por lo que estas patas son de entrada/salida,
dependiendo de si la operacin es escritura o lectura.
Seales de lectura/escritura: OE y WE.: Cuando se desea
realizar una operacin de lectura, adems de indicar la direccin
correspondiente en los pines de direccin, debe activarse la seal
OE(Output Enable) Si lo que se desea es una operacin de escritura,
debe activarse la seal WE (Write Enable). Obviamente, estas seales
son mutuamente excluyentes.
Selector de chip: CS. Un computador est compuesto por varios
chips de memoria a los que llegan las seales de direccin que vienen
de la CPU. Sin embargo, en cada operacin concreta de
lectura/escritura no debe leerse o escribirse en todos los chips sino
solamente el que contenga la direccin. Un decodificador se encargar
de seleccionar el o los chips que deben recibir las seales OE o WE y
para ello activar la seal CS (Chip Select) del chip o de los chips que
deban responder o no a la operacin de lectura/escritura que se
arranca.
Tensin de alimentacin Vcc: Pin el voltaje de alimentacin.
Tierra (GND) : Pin para la toma de tierra.

24

UNIMET

ARQUITECTURA DEL COMPUTADOR


Prof. Sandro Costantini

Las pastillas de memoria se comercializan con un numero de celdas de memoria (direcciones) y un


tamao de celda (bits por celda) que no coinciden con el tamao de la palabra de la CPU, ni con las
necesidades de memoria que hay que instalar. Por esto es normal que haya que agrupar varios chips de
memoria para poder ofrecerle a la CPU la imagen de una nica memoria con tantas direcciones como se
desea y con un tamao de celda igual al tamao de la palabra de la CPU.

ORGANIZACIN DE LAS CELDAS DE MEMORIA


Existen 2 organizaciones principales, la 2D en la cual la disposicin fsica de las celdas de la matriz de
memoria es la misma que la disposicin lgica, y la 2D en la que los datos se leen o escriben por bits.
Ambas organizaciones se explican a continuacin.

ORGANIZACIN 2D
La matriz est organizada en w palabras de b bits cada una. Todos los bits de una palabra se localizan
en el mismo chip. Es una organizacin rpida, ya que el nico retardo es el asociado con los circuitos de
decodificacin. Sin embargo, ya que el nmero de palabras es mucho mayor que el nmero de bits por
palabras, la utilizacin de esta organizacin dara lugar a matrices de celdas excesivamente largas y
estrechas, que no resultan adecuadas para su realizacin en un circuito integrado.

ARREGLO DE
MEMORIA

2n

LECTURA/ESCRITURA

2n X B

2 n palabras

LINEAS DE
DIRECCION

DECODIFICADOR

B bits

CIRCUITO
ENTRADA
SALIDA

LINEAS DE DATOS

En este tipo de organizacin se necesitan conocer los siguientes datos:


Numero de lneas de direccin
Capacidad ( Numero de celdas de memoria)
Numero de palabras( Numero de unidades direccionables)
Longitud de la palabra (Numero de bits por palabra)
Estos datos se relacionan de la siguiente manera.
(numero de lneas de direccin)

Numero de palabras = 2
Capacidad = (numero de palabras) x (longitud de palabra)

GUIA

25

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

Si tenemos una memoria organizada en 2D con 32k palabras de 8 bits cada una:
Capacidad = 32k x 8 bits = 256 kbits = 1024 x 256 = 262.144 bits
Palabras = 32 x 1024 = 32.768
15
Lneas de direccin = 15 (2 = 32.768) (lneas de entradas al decodificador)
Lneas de datos = 8 (longitud de la palabra)

ORGANIZACIN 2D
Los bits de una palabra estn repartidos en mas de un chip. La organizacin ms comn es la que
permite almacenar 1 bit de una palabra en un chip. El chip contiene un arreglo de bits tpicamente
cuadrado. Para escoger un bit de una palabra en particular, la direccin se divide en 2. Se utilizan 2
decodificadores con n/2 entradas. Uno de ellos realiza la seleccin sobre el eje X y el otro sobre el eje Y.
Para obtener el resto de los bits que constituyen la palabra se utilizarn otros chips.

2 n/2

ARREGLO DE
MEMORIA

2 n/2 X 2n/2

n/2
LECTURA/ESCRITURA

2 n/2 bits

DECODIFICADOR
FILAS

n/2
n

LINEAS DE DIRECCION

2 n/2 bits

SELECTOR COLUMNA
ENTRADA/SALIDA
ENTRADA bit

SALIDA bit

En esta organizacin , con la restriccin de que la longitud de la palabra es de 1 bit, si tenemos una
capacidad de 1 Kbit entonces:
Capacidad = 1 Kbit = 1024 bits
Palabras = 1 K = 1024
10
Lneas de direccin = 10 (2 = 1024) (5 para la X y 5 para la Y)
Lneas de datos = 1 (longitud de la palabra)
5
5
La matriz cuadrada de memoria es de 32 x 32 (2 X 2 ) = 1024

Ventajas de 2D sobre 2D

GUIA

El arreglo 2D es un arreglo cuadrado mientras que el 2D puede llegar a ser muy largo y
estrecho
Una organizacin 2D requiere mayor nmero de lneas externas de datos.
Con una organizacin 2D se obtiene mayor capacidad de memoria.

26

ARQUITECTURA DEL COMPUTADOR

UNIMET

Prof. Sandro Costantini

ORGANIZACIN POR MODULOS


Las memorias disponibles se pueden ampliar para incrementar la longitud de palabra (nmeros de bits en
cada direccin) o la capacidad de palabras (numero de direcciones diferentes), o ambas. La expansin
de memoria se consigue aadiendo el nmero apropiado de chips de memoria a los buses de direccin,
datos y control como se explica a continuacin.

Expansin de la longitud de palabra


Para aumentar la longitud de palabra de una memoria, debe aumentarse el nmero de bits del bus de
datos. Por ejemplo supongamos que queremos conseguir un banco de memoria de 16 Kpalabras de 8
bits (memoria de 16K x 8) y se dispone de mdulos de 16 K x 4. Por una parte se deben unir
directamente los pines de direcciones de los dos chips puesto que ambos tiene 16K direcciones. Por otra
parte se formaran palabras de 8 bits a partir de dos bloques de 4 bits, Un chip para los 4 bits de mayor
peso y el otro para los 4 bits de menor peso. La figura muestra la solucin.

A0 A13

A0 A13

A0 A13

CPU AS

CS

R/W

OE

CS
CHIP 2
OE

D0 D7

WE

CHIP 1

D0 D3

D0 D7

WE D0 D3

D4 D7

D0 D3

Expansin de la capacidad de palabras


Supongamos que para implantar la memoria de 16K x 8 del ejemplo anterior disponemos de mdulos de
4K x 8. Como vemos cada modulo ahora ofrece palabras completas, por lo que tendremos que agrupar 4
chips para obtener el espacio de direccionamiento de 16K requerido.
Un modulo contendr las primeras 4 direcciones, otro modulo el segundo cuarto y as sucesivamente. En
este caso cada chip entrega los 8 bits de cada palabra, pero no se tienen que seleccionar todas
simultneamente, sino que solamente tendr que seleccionarse la que contenga la direccin referenciada
por la CPU. En estas situaciones en las que cada uno de los espacios de direccionamiento est repartido
entre mltiples chips , se requiere un decodificador de direcciones para que la CPU active la seal de
Chip Select (CS) del chip que contenga la direccion referenciada.
DECODIFICADOR

A0 A11

A0 A11

CPU AS

CS

R/W

OE

D0 D7

WE

D0 D7

A0 A11

A0 A11
CS
OE

A0 A11
CS
OE

WE
D0 D7
D0 D7

A0 A11

WE
D0 D7
D0 7

A0 A11
CS
OE

CHIP 4

A0 A13

A0 A11

CHIP 3

A0 A11

DIRECCIONES ( A0 A13 )

CHIP 2

A12

CHIP 1

A13

WE
D0 D7
D0 D7

D0 D7
D0 D7

DATOS ( D0 D7 )

En el caso que se quiera obtener por ejemplo una memoria de 64K x 8 con chips de 16K x 1 se necesita
expansin de longitud de palabra y de capacidad de palabra. Trate de obtener el circuito.

GUIA

27

UNIMET

ARQUITECTURA DEL COMPUTADOR


Prof. Sandro Costantini

Memoria Cach
La velocidad de ejecucin de las instrucciones es altamente dependiente de la velocidad a la cual se
transfieren los datos hacia o desde la memoria principal. Por ello no debe sorprendernos que el diseo de
la memoria es, y seguir siendo un tpico importante en el desempeo de una computadora.
Uno de los problemas bsicos a considerar en el diseo de memorias es la velocidad. Este problema
surge debido a que por lo general la CPU puede procesar instrucciones y datos ms rpido de lo que
dura su trada desde unidades de memoria principal. Es decir. El tiempo del ciclo de la memoria principal
es el cuello de botella.
En todos los ciclos de instruccin, la CPU accesa a la memoria por lo menos una vez, para buscar la
instruccin, y generalmente una o ms veces para buscar los operandos o almacenar los resultados. El
rango en el cual la CPU puede ejecutar instrucciones est claramente delimitado por el ciclo de memoria
de la computadora.
La velocidad de la memoria es mucho menor que la velocidad del CPU. En forma idnea, la memoria
principal debera construirse con la misma tecnologa que los registros de la CPU, obteniendo ciclos de
memoria comparables con los ciclos de este. Sin embargo, sta es una estrategia muy costosa.
La solucin se encuentra en explotar el principio de localidad para proveer una pequea y rpida
memoria entre la CPU y la memoria principal denominada memoria cach. Esta memoria se utiliza para
agilizar el movimiento de los datos entre la memoria principal y la CPU mejorando as el desempeo de la
computadora.
Desde hace aos se sabe que los programadores no acceden la memoria en forma completamente
aleatoria. Si una referencia a memoria es la direccin A, es comn que la siguiente referencia se realice a
los alrededores de A. Un ejemplo es un programa en s, con excepcin de los saltos y las llamadas a
procedimientos, las instrucciones se extraen de localidades de memoria consecutivas. Es ms, la
mayora del tiempo de ejecucin se emplea en iteraciones, en las que ciertas instrucciones se ejecutan
de manera repetida.
Se le llama principio de localidad a la observacin de que las referencias a memoria realizadas en un
intervalo de tiempo corto, tienden a usar slo una fraccin de la memoria local, y representa la base para
todos los sistemas de memoria cach. La idea general es que, cuando una palabra es referenciada, se le
trae de la memoria grande y lenta a la cach, de modo que la siguiente vez que se utilice, se pueda
accesar rpido.
Si una palabra se lee o escribe k veces en un intervalo de tiempo corto, la computadora necesitar de
una referencia a la memoria lenta y k-1 referencias a la memoria rpida. Entre ms grande es k mejor es
el desempeo general.
La memoria cach contiene una copia de partes de la memoria principal. Cuando la CPU requiere de una
palabra de la memoria, primero verifica si la palabra se encuentra ya en la memoria cach. Si es as, la
palabra se enva a la CPU. De lo contrario un bloque de la memoria principal, formado por un nmero
determinado de palabras, se lee dentro de la cach y se enva posteriormente al CPU.
n
La memoria principal est formada por 2 palabras direccionable. Para propsitos de mapeo, se
considera est formada por un nmero determinado de bloques con k palabras cada uno. Esto significa
n
que tenemos M= 2 /k bloques. La memoria cach consiste en C lneas de k palabras cada uno (C<<M)
En cualquier momento, un subconjunto de los bloques de memoria se encuentra en las lneas de la
cach. Como hay ms bloques que lneas, una lnea puede estar dedicada a un bloque en particular, por
lo tanto, cada una debe tener una etiqueta que identifica qu bloque est siendo almacenado. Esta
etiqueta generalmente est formada por una parte de la direccin de la memoria principal.
Cuando se disea una cach, se deben considerar entre otros los siguientes aspectos: tamao, funcin
de correspondencia, algoritmo de sustitucin, poltica de escritura, tamao de bloque y nmero de
caches.
Tamao: lo ideal es que el tamao sea lo suficiente pequeo para que el costo por bit se aproxime al de
la memoria principal y suficientemente grande sin que pierda su velocidad.
Funcin de correspondencia: debido a que hay menos lneas que bloques, es necesario un
algoritmo para establecer la correspondencia entre estos. Adems de un medio para determinar que
bloque est siendo almacenado en una lnea de la cach. Las tcnicas que se pueden utilizar son directa,
asociativa y asociativa por conjuntos.

GUIA

28

UNIMET

ARQUITECTURA DEL COMPUTADOR


Prof. Sandro Costantini

Algoritmo de sustitucin: cuando se introduce un nuevo bloque a la cach, debe sustituirse por uno de
los bloques existentes. En el caso de correspondencia directa, solo hay una posible lnea para el bloque
particular, mientras que en las tcnicas asociativas existen cuatro algoritmos: usado menos
recientemente(LRU), primero en entrar en salir (FIFO), usado menos frecuentemente, ente (LFU) y
aleatoria.
Poltica de escritura: antes de poder reemplazar un bloque que est en la cach es necesario
considerar si este ha sido modificado en la cach y no en la memoria principal. Si no se ha modificado
entonces se puede reemplazar el bloque, en caso contrario la memoria principal debe actualizarse.
Existen dos problemas que combatir: un modulo de E/S puede esribir/leer directamente de la memoria y
es posible que esta no sea vlida. El problema se vuelve ms complejo cuando carias CPU se conectan
al mismo bus y cada una tiene su propia cach Las tcnicas ms utilizadas son escritura inmediata y
postescritura.
Tamao del bloque: Cuando se recupera y ubica un bloque de datos en la cach, se recupera no solo la
palabra deseada, sino adems algunas palabras adyacentes. A medida que el tamao de bloque
aumenta, la probabilidad de que los datos sean referenciados prximamente se incrementa. Sin embargo
si el tamao es mucho mayor esta probabilidad decrecer
Numero de cachs: originalmente un sistema tena normalmente slo una cach. Recientemente es
habitual utilizar mltiples cach. Los aspectos de diseo relacionados son el nmero de niveles de cach
y el uso de cach unificada frente a cach partida.

GUIA

29

S-ar putea să vă placă și