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

Circuitos Digitales III

Revisin Terica de Varios Conceptos Relacionados con Arquitecturas de


Ordenadores y Microprocesadores de 16/32 Bits

Revisin 1.0
Luis Germn Garca M.

Arquitectura de Ordenadores

Qu es una arquitectura de ordenadores?

El concepto de Arquitectura de ordenadores se define como el funcionamiento, estructura y


diseo de computadores. Dentro de este trmino se engloban aspectos como formato de
instruccin, modos de direccionamiento, conjunto de instrucciones, entre otros. Cabe
resaltar que, dentro de este concepto se enmarcan otros conceptos como Plataforma de
Informacin, Arquitectura de Hardware, Lnea de diseo de la arquitectura de la CPU. El
primero est relacionado directamente con los diferentes ordenadores que existen en el
mercado como el tradicional PC de IBM, Macintosh, entre otros. El segundo hace
referencia a la arquitectura de la CPU y como ste se conecta a los diferentes dispositivos o
perifricos externos. El tercero tiene que ver con la filosofa de diseo de las CPUs. A
continuacin se hace una revisin de diferentes conceptos relacionados con las
arquitecturas de ordenadores y tambin de las CPUs.

Introduccin

Todo ordenador cuenta con:


Una CPU o Unidad Central de Proceso encargada de procesar la informacin
Memoria para el almacenamiento de Instrucciones y Datos que sern procesados por la
CPU
Medios de comunicacin entre la CPU y la memoria (Buses de Direcciones y Datos)
Medios de comunicacin entre la CPU y el mundo exterior (Buses de Direcciones,
Datos y Control)

La forma en que estos elementos estn conectados vienen definidos por las denominadas
arquitecturas Von Neumann y Harvard

Arquitectura Von Neumann

La arquitectura Von Neumann se refiere a las arquitecturas de computadoras que utilizan el


mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos (a
diferencia de la arquitectura Harvard). El trmino se acu en el documento First Draft of a
Report on the EDVAC (1945), escrito por el conocido matemtico John von Neumann, que
propuso el concepto de programa almacenado. Dicho documento fue redactado en vistas a
la construccin del sucesor de la computadora ENIAC, y su contenido fue desarrollado por
Presper Eckert, John Mauchly, Arthur Burks, y otros durante varios meses antes de que
Von Neumann redactara el borrador del informe.
Los ordenadores con arquitectura Von Neumann constan de cinco partes: La unidad
aritmtico-lgica o ALU, la unidad de control, la memoria, un dispositivo de entrada/salida
y el bus de datos que proporciona un medio de transporte de los datos entre las distintas
partes.

Un ordenador con arquitectura Von Neumann realiza o emula los siguientes pasos
secuencialmente:

Enciende el ordenador y Obtiene la siguiente instruccin desde la memoria en la direccin


indicada por el contador de programa y la guarda en el registro de instruccin.
Aumenta el contador de programa en la longitud de la instruccin para apuntar a la
siguiente.
Decodifica la instruccin mediante la unidad de control. sta se encarga de coordinar el
resto de componentes del ordenador para realizar una funcin determinada.
Se ejecuta la instruccin. sta puede cambiar el valor del contador del programa,
permitiendo as operaciones repetitivas. El contador puede cambiar tambin cuando se
cumpla una cierta condicin aritmtica, haciendo que el ordenador pueda 'tomar
decisiones', que pueden alcanzar cualquier grado de complejidad, mediante la aritmtica y
lgica anteriores.
Vuelve al paso 1.
Hoy en da, la mayora de ordenadores estn basados en esta arquitectura, aunque pueden
incluir otros dispositivos adicionales, (por ejemplo, para gestionar las interrupciones de
dispositivos externos como ratn, teclado, etc).

Arquitectura Harvard

El trmino Arquitectura Harvard originalmente se refera a las arquitecturas de


computadoras que utilizaban dispositivos de almacenamiento fsicamente separados para
las instrucciones y para los datos (en oposicin a la Arquitectura von Neumann). El trmino
proviene de la computadora Harvard Mark I, que almacenaba las instrucciones en cintas
perforadas y los datos en interruptores. La idea es tener dos buses, uno que se utiliza para
acceder a la memoria donde estn las instrucciones que el procesador utiliza para procesar
informacin y otro para acceder a los datos u operandos de las instrucciones
Todas las computadoras constan principalmente de dos partes, la CPU que procesa los
datos, y la memoria que guarda los datos. Cuando hablamos de memoria manejamos dos
parmetros, los datos en s, y el lugar donde se encuentran almacenados (o direccin). Los
dos son importantes para la CPU, pues muchas instrucciones frecuentes se traducen a algo
as como "coge los datos de sta direccin y adelos a los datos de sta otra direccin", sin
saber en realidad qu es lo que contienen los datos.

En los ltimos aos la velocidad de las CPUs ha aumentado mucho en comparacin a la de


las memorias con las que trabaja, as que se debe poner mucha atencin en reducir el
nmero de veces que se accede a ella para mantener el rendimiento. Si, por ejemplo, cada
instruccin ejecutada en la CPU requiere un acceso a la memoria, no se gana nada
incrementando la velocidad de la CPU - este problema es conocido como 'limitacin de
memoria'.

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.

Elementos de una Arquitectura de Computador


A continuacin se enuncian algunos de los elementos principales de la arquitectura de un
ordenador

Microprocesador

Un microprocesador es un conjunto de circuitos electrnicos altamente integrado para


clculo y control computacional. El microprocesador es utilizado como Unidad Central de
Proceso en un sistema microordenador y en otros dispositivos electrnicos complejos como
cmaras fotogrficas e impresoras, y como aadido en pequeos aparatos extrables de
otros aparatos ms complejos como por ejemplo equipos musicales de automviles.

El considerado primer microprocesador, el Intel 4004, fue desarrollado en 1971. Los


diseadores jefe fueron Ted Hoff y Federico Faggin de Intel, y Masatoshi Shima de
Busicom (ms tarde de ZiLOG).
Los microprocesadores modernos estn integrados por millones de transistores y otros
componentes empaquetados en una cpsula cuyo tamao vara segn las necesidades de las
aplicaciones a las que van dirigidas, y que van actualmente desde el tamao de un grano de
lenteja hasta el de casi una galleta. Las partes lgicas que componen un microprocesador
son, entre otras: unidad aritmtico-lgica, registros de almacenamiento, unidad de control,
unidad de ejecucin, memoria cach y buses de datos, control y direccin.

Parmetros significativos de un procesador son su ancho de bus (medido en bits), la


frecuencia de reloj a la que trabajan (medida en hertzios), y el tamao de memoria cach
(medido en kilobytes).

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.

A continuacin se ven las diferentes partes de una CPU

Unidad Aritmtico Lgica

Se denomina Unidad Aritmtico-Lgica (UAL) o ALU (Arithmetic and logical unit) a la


unidad incluida en la CPU encargada de realizar operaciones aritmticas y lgicas sobre
operandos que provienen de la memoria principal y que pueden estar almacenados de forma
temporal en algunos registros de la propia unidad.

Fsicamente, la ALU es parte de la altamente integrada lgica-electrnica del


microprocesador principal de cualquier computadora.

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

Es una memoria de alta velocidad de poca capacidad, integrada en el microprocesador, que


permite guardar y acceder a valores muy usados, generalmente en operaciones
matemticas.

Los registros estn en la cumbre de la jerarqua de memorias, y son la manera ms rpida


que tiene el sistema de almacenar datos. Los registros se miden generalmente por el nmero
de bits que almacenan; por ejemplo, un "registro de 8 bits" o un "registro de 32 bits". Los
registros generalmente se implementan en un banco de registros, pero antiguamente se
usaban flip flops individuales, memoria SRAM u formas aun ms primitivas.
El trmino es usado generalmente para referirse al grupo de registros que pueden ser
directamente indexados como operandos de una instruccin, como esta definido en el set de
instrucciones. Sin embargo, los microprocesadores tienen adems muchos otros registros
que son usados con un propsito especifico, como el contador de programa. Por ejemplo,
en la familia x86, el set de instrucciones define 8 registros de 32 bits.

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

La unidad de control es la unidad incluida en la CPU encargada de leer las instrucciones


mquina almacenadas en la memoria principal y de generar las seales de control
necesarias para controlar y coordinar el resto de las unidades funcionales de un ordenador
con el fin de ejecutar las instrucciones ledas. Dentro de esta unidad se encuentra:

Contador de programa: El contador de programa (en ingls Program Counter o PC) es


un registro interno del computador en el que se almacena la direccin de la instruccin
que se est ejecutando. De esta manera el computador puede saber cul es la siguiente
instruccin que debe ejecutar. El PC va incrementndose en una unidad, salvo que la
instruccin ejecutndose en ese instante cambie el flujo del programa, saltando a otra
direccin.
Mucho cuidado se debe tener cuando se dice que el PC se incrementa en una unidad.
Dependiendo de la longitud de una instruccin en la memoria de programa, la unidad
podr referirse a 1, 2, 3, 4 y ms.
Registro de instruccin: Al igual que el registro contador de programa, el registro de
instruccin es parte de la unidad de control y contiene la instruccin que se est
ejecutando en cada momento.
Decodificador: Se encarga de decodificar la instruccin a ejecutar que se encuentra en
el registro de instruccin.
Reloj Interno: Seal de reloj que marca cada ciclo de ejecucin del procesador
Secuenciador: Encargada de generar seales de control para la ejecucin de una
instruccin que se ha decodificado previamente y comparado con las instrucciones
disponibles de la CPU que se encuentran almacenadas en una Memoria ROM de la
misma CPU

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

Memorias voltiles de acceso aleatorio. Se puede acceder a cualquier posicin de memoria


para leer/escribir y no de manera secuencial como otras memorias. El trmino voltil indica
que sus datos permanecen en la memoria mientras sta se encuentra alimentada, es decir,
mientras tiene suministro de energa. Construccin basada en el uso de semiconductores.

En estas memorias se accede a cada celda (generalmente se direcciona a nivel de bytes)


mediante un cableado interno, es decir, cada byte tiene un camino prefijado para entrar y
salir, a diferencia de otros tipos de almacenamiento, en las que hay una cabeza
lectograbadora que tiene que ubicarse en la posicin deseada antes de leer el dato deseado.

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.

El almacenamiento de cada bit se realiza en transistores del tipo bipolar o MOSFET.

Estas memorias son mucho ms rpidas que la memoria DRAM pero tambin son mucho
ms costosas.

Memoria RAM Dinmica DRAM


Esta memoria almacena cada bit en un capacitor independiente. Debido a las prdidas
internas, estos capacitares perdern su carga en algn momento y por lo tanto los datos se
pierden. Se necesita entonces ests realizando un refresco de los datos almacenados para
evitar su prdida. El hecho de tener que refrescarlas peridicamente da a sta memorias el
nombre de DRAM.

Internamente se tiene un arreglo de filas y columnas de capacitores. Cuando se va a leer un


dato, internamente el sistema de control de memoria calcula la fila que se deber leer, la
cual viene expresada en los pines de la memoria. Cuando se tiene el clculo de la fila, se
activa la seal de estado RAS (Row Address Select) para indicarle a la memoria que debe
leer toda la fila, pasando los datos a unos amplificadores internos. Luego, el sistema de
control toma la columna a leer que tambin est indicada en los pines de la memoria y
activa la lnea CAS (Column Address Select) para que la memoria lea tal columna. Despus
de un pequeo tiempo, el dato es puesto en los pines de salida de la memoria.

Los tipos de DRAM que se encuentran actualmente son:


Fast Page Mode DRAM: La idea es tener lecturas/escrituras sucesivas en la misma fila
sin tener que estar haciendo por cada lectura/escritura una apertura o procesamiento de
la fila como se hace con las anteriores memorias DRAM.
Extended Data Out (EDO) DRAM: Es similar a la anterior con una caracterstica
adicional, la cual permite que un nuevo ciclo de acceso pueda ser iniciado mientras se
mantiene el dato en la salida del ciclo anterior. Esto mejora en un 5% la eficiencia de
estas memorias.
Synchronous Dynamic RAM (SDRAM): Las memorias vistas hasta el momento tienen
una interfaz de comunicacin asncrona con los dems perifricos, incluyendo la CPU.
Una memoria sncrona, trabajar con el reloj del bus del sistema, permitiendo tener
mejor eficiencia. Cada que se da un pulso de reloj en el bus, se realiza internamente una
operacin en la memoria. Tenemos ac las famosas memorias PC66, PC100 y PC133,
donde el nmero representa la frecuencia del reloj del bus.
Double Data Rate SDRAM (DDR-SDRAM): La memoria anterior utiliza la seal de
reloj para realizar las diferentes operaciones. Estas operaciones se dan cuando existe
una transicin de bajo a alto en la seal de reloj solamente, es decir, en un flanco de
subida. La idea de DDR es realizar operaciones tanto estimuladas por la transicin bajo
a alto como por la transicin alto a bajo, es decir, en flancos de subida y bajada,
permitiendo que con la misma seal de reloj, se puedan realizar el doble de operaciones.
Se sigue trabajando con frecuencias de bus de 100, 133, 266 y 200, donde la frecuencia
efectiva ser 200, 266, 333, 400 respectivamente, por eso el nombre de DDR200,
DDR266, DDR333 y DDR400. En un computador que tiene un bus de datos de 64bits,
la tasa de transferencia en bits estar dada por 2x(frecuencia_bus)x8 teniendo
velocidades de 1600Mbytes/seg, 2133Mbytes/seg, 2667Mbytes/seg y 3200MBytes/seg
para memorias DDR200, DDR266, DDR333 y DDR400 respectivamente.
Otras memorias son RAMBUS DRAM, Video RAM, SGRAM, PSRAM.

ROM

Memoria de solo lectura que es utilizada como medio de almacenamiento en los


ordenadores. Como no se puede escribir en esta memoria, normalmente es usada para
distribuir firmware (software relacionado directamente con el hardware), el cual no necesita
estarse actualizando frecuentemente.

Estas memorias solo se escriben en el momento de creacin, es decir, sus datos no se


pueden alterar luego. Sin embargo, sus datos se pueden acceder aleatoriamente como la
memoria RAM, de hecho se puede decir que la memoria ROM es una memoria RAM, ya
que sus datos se pueden acceder en cualquier momento y no en secuencia como en otras
memorias. La diferencia est en que es una memoria no voltil, de solo lectura.

Tipos de Memoria ROM


Mask-programmmed ROM: Los datos son escritos en la memoria en el momento en
que se fabrica.
PROM: Memoria de solo lectura programable. Memoria que se puede programar una
vez mediante un dispositivo electrnico. Una vez se programe, los datos no se podrn
alterar.
EPROM: Memoria de solo lectura programable que se puede borrar. Son equivalente a
las memorias PROM pero se puede borrar la informacin contenida en ellas siempre y
cuando se expongan a luz ultravioleta durante determinado tiempo. Exponer la memoria
a luz ultravioleta va daando la memoria lentamente.
EEPROM: Memoria similar a la EPROM pero que puede ser borrada elctricamente, en
lugar de usar luz ultravioleta. Este mtodo permite borrar zonas de memoria flash o
incluso toda la memoria flash.
FLASH: Similar a la EEPROM pero tiene un tiempo de acceso ms corto que las
memorias EEPROM. Tanto estas memorias como las EEPROM tienen un nmero
limitado de escrituras.

Hbridas

Se le denomina as a las memorias que tienen combinacin de RAM y ROM


NVRAM: Non-Volatile RAM: Memoria RAM no volatile, la cual se mantiene
alimentada con una pila para evitar la prdida datos.
EEPROM y Flash. Descritas en el apartado anterior. Son memorias consideradas
hbridas ya que se pueden considerar como ROM por que no son voltiles, adems a eso
sus datos se pueden cambiar elctricamente sin necesidades de dispositivos especiales
de hardware.

Bus de datos, direcciones y control

Encargados de las transferencias internas de datos que se dan en un sistema computacional


en funcionamiento. En el bus todos los nodos reciben los datos aunque no se dirijan a todos
los nodos, los nodos a los que no van dirigidos simplemente lo ignoran.

En una arquitectura de ordenadores, el bus es el conjunto de conductores elctricos en


forma de pistas metlicas impresas sobre una tarjeta, por donde circulan las seales que
corresponden a los datos binarios del lenguaje mquina con que opera el Microprocesador.

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

Usando representacin magnitud/signo, el rango estar dado por


-2n-1 Valor_Transferido < 2n-1
Para el bus de direcciones, el "ancho de canal" explica la cantidad de ubicaciones o
direcciones diferentes que el microprocesador puede alcanzar. Si se tiene una cantidad m de
bits o lneas de direcciones, la cantidad de ubicaciones resulta de elevar 2 a la m potencia.
"2" porque son dos las seales binarias, los bits 1 y 0; y "m potencia" porque las m pistas
del bus de direcciones son, en un instante dado, un conjunto de m bits.

En el MC68000 se puede tener una cantidad de posiciones de memoria de:


224 = 16777216.

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.

Cada formato de instruccin incluye:


Operacin a realizar, contenida en un cdigo denominado OpCode (Cdigo de
Operacin)
Longitud de la instruccin.
Registro o direccin de memoria donde se encuentran los datos. (Modo de
direccionamiento a usar)
Extensiones en el formato de instruccin que sirven para
o Colocar valores de desplazamiento
o Indicar extensiones en el modo de direccionamiento
o Colocar valores inmediatos o direcciones absolutas

Conjunto de Instrucciones

Un conjunto de instrucciones o repertorio de instrucciones o ISA (del ingls instruction set


architecture -arquitectura del conjunto de instrucciones-) es una especificacin que detalla
las instrucciones que una CPU de un ordenador puede entender y ejecutar, o el conjunto de
todos los comandos implementados por un diseo particular de una CPU. El trmino
describe los aspectos del procesador generalmente visibles a un programador, incluyendo
los tipos de datos nativos, las instrucciones, los registros, la arquitectura de memoria y las
interrupciones, entre otros aspectos.
La arquitectura del conjunto de instrucciones (ISA) se emplea a veces para distinguir este
conjunto de caractersticas de la microarquitectura, que son los elementos y tcnicas que se
emplean para implementar el conjunto de instrucciones. Entre estos elementos se
encuentran las microinstrucciones y los sistemas de cach.

Procesadores con diferentes diseos internos pueden compartir un conjunto de


instrucciones; por ejemplo el Intel Pentium y AMD Athlon implementan versiones casi
idnticas del conjunto de instrucciones x86, pero tiene diseos internos completamente
opuestos.

Modos de direccionamiento

Mecanismo que permite conocer la ubicacin de un dato o instruccin. Se definen los


siguientes parmetros dentro del modo de direccionamiento
Objeto: dato o instruccin que se desea direccionar.
Una CPU dispone de varios modos de direccionamiento.
Objetivos de los modos de direccionamiento:
o Reducir el espacio ocupado en memoria por las instrucciones.
o Permitir la reubicacin del cdigo.
o Facilitar el manejo de las estructuras de datos.

Modos de direccionamiento en las instrucciones

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.

Filosofas de diseo de CPUs

CISC

Del ingls Complex Instruction Set Computer. Conjunto de microprocesadores cuyo


conjunto de instrucciones se caracteriza por ser muy amplio y permitir operaciones
complejas entre operandos situados en la memoria o en los registros internos, en
contraposicin a la arquitectura RISC.

Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que, en la


actualidad, la mayora de los sistemas CISC de alto rendimiento implementan un sistema
que convierte dichas instrucciones complejas en varias instrucciones simples del tipo RISC,
llamadas generalmente microinstrucciones.

Los CISC pertenecen a la primera corriente de construccin de procesadores, antes del


desarrollo de los RISC. Ejemplos de ellos son: Motorola 68000, Zilog Z80 y toda la familia
Intel x86 usada en la mayora de ordenadores personales del planeta.

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

En arquitectura computacional, RISC del ingls Reduced Instruction Set Computer


(Computadora con Conjunto de Instrucciones Reducido). Tipo de microprocesadores con
las siguientes caractersticas fundamentales:

Instrucciones de tamao fijo y presentadas en un reducido nmero de formatos.


Slo las instrucciones de carga y almacenamiento acceden a memoria por datos.
Adems estos procesadores suelen disponer de muchos registros de propsito general.

El objetivo de disear mquinas con esta arquitectura es posibilitar la segmentacin y el


paralelismo en la ejecucin de instrucciones y reducir los accesos a memoria.

Las mquinas RISC protagonizan la tendencia actual de construccin de


microprocesadores. PowerPC, DEC Alpha, MIPS, ARM... son ejemplos de algunos de
ellos.

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.

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