Академический Документы
Профессиональный Документы
Культура Документы
Revisin 1.0
Luis Germn Garca M.
Arquitectura de Ordenadores
Introduccin
La forma en que estos elementos estn conectados vienen definidos por las denominadas
arquitecturas Von Neumann y Harvard
Un ordenador con arquitectura Von Neumann realiza o emula los siguientes pasos
secuencialmente:
Arquitectura Harvard
Se puede fabricar memoria mucho ms rpida, pero a costa de un precio muy alto. La
solucin, por tanto, es proporcionar una pequea cantidad de memoria muy rpida conocida
con el nombre de cach. Mientras los datos que necesita el procesador estn en la cach, el
rendimiento ser mucho mayor que si la cach tiene que obtener primero los datos de la
memoria principal. La optimizacin de la cach es un tema muy importante de cara al
diseo de computadoras.
La arquitectura Harvard ofrece una solucin particular a este problema. Las instrucciones y
los datos se almacenan en cachs separadas para mejorar el rendimiento. Por otro lado,
tiene el inconveniente de tener que dividir la cantidad de cach entre los dos, por lo que
funciona mejor slo cuando la frecuencia de lectura de instrucciones y de datos es
aproximadamente la misma. Esta arquitectura suele utilizarse en DSPs, o procesador de
seal digital, usados habitualmente en productos para procesamiento de audio y video.
Microprocesador
Existen una serie de fabricantes de microprocesadores, como IBM, Intel, Zilog, Motorola,
Cyrix, AMD. A lo largo de la historia y desde su desarrollo inicial, los microprocesadores
han mejorado enormemente su capacidad, de.sde los viejos Intel 8080, Zilog Z80 o
Motorola 6809, hasta los recientes Intel Itanium, Transmeta Efficeon o Cell. Actualmente
los nuevos micros pueden tratar instrucciones de hasta 256 bits, habiendo pasado por los de
128, 64, 32, 16, 8 y 4.
Hay diferentes tipos de UAL: especializadas en operaciones con nmeros enteros, con
nmeros en coma flotante, etc. Hace algunos aos, exista el denominado coprocesador
matemtico, una UAL especializada en clculos con nmeros reales que estaba en un
microchip diferente al de la CPU
Registros
Tipos de registros
Los registros de datos son usados para guardar nmeros enteros. En algunas
computadoras antiguas, exista un nico registro donde se guardaba toda la
informacin, llamado acumulador.
Los registros de memoria son usados para guardar exclusivamente direcciones de
memoria. Eran muy usados en la arquitectura Harvard, ya que muchas veces las
direcciones tenan un tamao de palabra distinto que los datos.
Los registros de propsito general (GPRs o General Purpose Registers) pueden guardar
tanto datos como direcciones. Son fundamentales en la arquitectura Von Neumann. La
mayor parte de las computadoras modernas usa GPRs.
Los registros de punto flotante son usados para guardar datos en formato de punto
flotante
Los registros constantes tienen valores creados por hardware de solo lectura. Por
ejemplo, en MIPS el registro $zero siempre vale 0.
Los registros de propsito especfico guardan informacin especfica del estado del
sistema, como el puntero de pila, o el registro de estado.
Unidad de Control
Unidad de Ejecucin
Es una pieza de la CPU que realiza las operaciones y los clculos invocados por los
programas. Tiene a menudo su propia unidad de control, registros y otros componentes
elctricos, tales como una unidad aritmtico-lgica, unidad de punto flotante o cierto
componente especifico ms pequeo.
Es comn que las CPUs modernas tengan mltiples unidades de ejecucin, referidos a un
diseo escalar o superescalar. El arreglo ms simple es utilizar uno para manejar la
interfase de memoria (el administrador del bus) y otros para realizar los clculos. En
adicin, las unidades de ejecucin de CPU modernas son por lo general canalizadas.
Memoria Cach
Memoria cach es un tipo especial de memoria que poseen los ordenadores. Esta memoria
se sita entre el procesador y la memoria RAM y se utiliza para almacenar datos que se
utilizan frecuentemente. Permite agilizar la transmisin de datos entre el microprocesador y
la memoria principal. Es de acceso aleatorio (tambin conocida como acceso directo) y
funciona de una manera similar a como lo hace la memoria principal (RAM), siendo la
memoria cach mucho ms rpida que la RAM. Por otro lado el trmino cach puede
utilizarse tambin para una zona de memoria de disco denominado cach de disco (Disk
cache o Cache buffer en ingls).
RAM
La memoria RAM tiene dos divisiones: estticas y dinmicas. Una memoria RAM esttica
mantiene su contenido inalterado mientras est alimentada. La informacin contenida en
una memoria RAM dinmica se degrada con el tiempo, llegando sta a desaparecer, a pesar
de estar alimentada. Para evitarlo hay que restaurar la informacin contenida en sus celdas
a intervalos regulares, operacin denominada refresco.
Memoria RAM Esttica SRAM
La palabra Esttica indica que la memoria retiene el contenido de informacin mientras se
encuentre alimentada. No se debe confundir con memoria de solo lectura como la ROM,
Flash, etc. Se puede leer/escribir en cualquier posicin.
Estas memorias son mucho ms rpidas que la memoria DRAM pero tambin son mucho
ms costosas.
ROM
Hbridas
Hay tres clases de buses: Bus de Datos, Bus de Direcciones y Bus de Control. El primero
mueve los datos entre los dispositivos del hardware: de Entrada como el Teclado, el
Escner, el Ratn, etc.; de salida como la Impresora, el Monitor o la tarjeta de Sonido; y de
Almacenamiento como el Disco Duro, el Diskette o la Memoria-Flash.
Estas transferencias que se dan a travs del Bus de Datos son gobernadas por varios
dispositivos y mtodos. El trabajo equivale, simplificando bastante, a una central de
semforos para el trfico en las calles de una ciudad.
El Bus de Direcciones, por otra parte, est vinculado al bloque de Control de la CPU para
tomar y colocar datos en el Sub-sistema de Memoria durante la ejecucin de los procesos
de cmputo. El Bus de Control transporta seales de estado de las operaciones efectuadas
por el CPU con las dems unidades.
El nmero de pistas dedicado a cada uno de los buses est relacionado con el ancho de
canal. Ancho de canal se refiere a la cantidad de bits que pueden ser transferidos al mismo
tiempo, es decir, al nmero de lneas disponibles para mover datos, controlar dispositivos o
direccionar memoria. Una CPU como el MC68000 usa 24 lneas (24 bits) para direccionar
la memoria y 16 lneas (16 bits) para mover datos entre la CPU y la memoria. Es decir, se
tiene un ancho de canal de direcciones de 24 bits y un ancho de canal de datos de 16 bits.
Un bus de datos con n bits, implica que n bits pueden ser transferidos al mismo tiempo, es
decir, en paralelo. Con lo anterior, el procesador MC68000 podr mover 16 bits a la vez
(equivalente a 2 bytes 1 word)
El ancho de canal establece tambin el valor mnimo y mximo que se puede enviar o
transferir al tiempo. Si se tienen n bits, representando valores normalmente, es decir, sin
signo el rango ser:
0 Valor_Transferido < 2n
Arquitectura de la CPU
Referida propiamente al diseo de la CPU. Normalmente este diseo se basa en la filosofa
CISC (Complex Instruction Set Computer) o RISC (Reduce Instruction Set Computer).
Antes de entrar en detalle de estas filosofas de diseo, conviene ver algunas definiciones
previas.
Formato de Instrucciones
Cada procesador puede realizar muchas operaciones con datos que se encuentran en la
memoria. Ellos tienen un conjunto de instrucciones (ISA), las cuales sirven para indicarle la
realizacin de una determinada operacin. El procesador toma de la mememoria, un cdigo
que le indica tal operacin a realizar, adems de tomar de all otros cdigos que le indican
de donde tomar los operandos y ms. A este conjunto de cdigos se le denomina formato de
instruccin.
Conjunto de Instrucciones
Modos de direccionamiento
Los operandos y el resultado de una instruccin son accedidos a travs de los modos de
Direccionamiento que la CPU posee. Cada campo de operando o resultado en una
instruccin contiene informacin acerca del modo de direccionamiento empleado para
acceder a l. Varios modos de direccionamiento son manejados en las diferentes
arquitecturas de ordenadoras, algunos son:
Inmediato: En este caso la instruccin contiene el objeto, dato u operando.
Normalmente se usa cuando el dato es un valor constante. El tamao o cantidad de bits
para este operando depende de la cantidad reservada en el formato de instruccin.
Directo: El operando se encuentra en algunos de los registros internos de la CPU, puede
ser en un registro de datos, en uno de direcciones o en alguno de propsito general.
Indirecto: El operando se encuentra en la memoria del sistema, es decir, por fuera de la
CPU. La direccin de memoria de este operando estar almacenada en alguno de los
registros de direcciones que la CPU tenga o en una posicin intermedia de la memoria.
En algunos procesadores, se soportan varias operaciones adicionales como
postincremento, postdecremento, preincremento, predecremento.
Relativo: En este caso el operando est en memoria del sistema, es decir, por fuera de la
CPU. La direccin del operando ha de ser calculada como la suma del contenido de
cierto registro con un valor de desplazamiento. Normalmente el registro acta como
apuntador. El valor del desplazamiento va en el formato de instruccin.
Indexado: Permite tomar un registro interno que le ser sumado al registro base para
calcular la direccin de memoria donde se encuentra el operando. Algunas CPUs
permiten tener un valor de desplazamiento, el cual est almacenado en el formato de
instruccin.
Absoluto: El operando se encuentra en la memoria, es decir, por fuera de la CPU. El
formato de instruccin contiene la direccin de memoria.
CISC
Hay que hacer notar, sin embargo que la utilizacin del trmino CISC comenz tras la
aparicin de los procesadores RISC como nomenclatura despectiva por parte de los
defensores/creadores de stos ltimos.
RISC
RISC es una filosofa de diseo de CPU para computadora que esta a favor de conjuntos de
instrucciones pequeos y simples que toman menor tiempo para ejecutarse. El tipo de
procesador ms comnmente utilizado en equipos de escritorio, el x86, est basado en
CISC en lugar de RISC, aunque las versiones ms nuevas traducen instrucciones basadas en
CISC x86 a instrucciones ms simples basadas en RISC para uso interno antes de su
ejecucin.
La idea fue inspirada por el hecho de que muchas de las caractersticas que eran incluidas
en los diseos tradicionales de CPU para aumentar la velocidad estaban siendo ignoradas
por los programas que eran ejecutados en ellas. Adems, la velocidad del procesador en
relacin con la memoria de la computadora que acceda era cada vez ms alta. Esto
conllev a la aparicin de numerosas tcnicas para reducir el procesamiento dentro del
CPU, as como de reducir el nmero total de accesos a memoria.