You are on page 1of 7

1. Esquema bsico de un ordenador.

Segn la arquitectura clsica de Von Neumann, en un ordenador distinguimos varios


tipos de componentes:
Unidad central de proceso (CPU)
Unidad de control
Unidad aritmtico-lgica
Sistema de memoria
Perifricos de entrada/salida (y almacenamiento)
Buses
Figura 1: Esquema bsico del Hardware, segn Von Neumann

Las distintas unidades utilizan los registros para almacenar temporalmente un dato o
una instruccin. Un registro es un circuito electrnico que almacena un dato de n bits
de longitud.
Existen registros de direccin, registros de datos y registros de condicin (flags),
dependiendo del tipo de informacin que almacenan.
La informacin entre las distintas unidades se realiza a travs de los buses. Un bus son
un conjunto de cables que transmiten informacin en paralelo. Se representa de las
siguientes formas

Para comunicarse con los perifricos usamos los puertos. Un puerto es un registro a
travs del cual la CPU o la memoria intercambian informacin con un perifrico. Tienen
una direccin que los identifica, y se utilizan seales de control que indican si la
operacin es de lectura y escritura.
La sincronizacin de los distintos elementos se realiza gracias a un reloj. La frecuencia
de reloj se mide en ciclos por segundo (Hz) y sus mltiplos (kHz, MHz, GHz..)

Unidad central de proceso.


Es la encargada de controlar y dirigir todas las tareas del sistema informtico, as como
de realizar todos los clculos que se requieran. Es tambin conocida como CPU o
procesador. Se encarga de todo: controla los perifricos, la memoria, la informacin a
procesar, etc.
En abstracto, consta de dos partes fundamentales:
La unidad de control (UC)
La unidad aritmtico-lgica (ALU)

Unidad de control.
Capta e interpreta las instrucciones mquina almacenadas en la memoria principal y
genera las seales de control necesarias para ejecutarlas.
La ejecucin de cada instruccin supone la realizacin de un conjunto de operaciones
elementales consumiendo un nmero predeterminado de ciclos de reloj.
Elementos de la unidad de control:
1. Registro de instrucciones (IR):
registro que almacena la instruccin que
se est ejecutando.
2.
Decodificador:
interpreta
la
instruccin, extrae el cdigo de
operacin de la instruccin.
3.
Secuenciador:
genera
las
micrordenes necesarias para ejecutar la
instruccin.
4. Contador de programa (PC):
registro que almacena la direccin de
memoria de la siguiente instruccin a
ejecutar.
5. Reloj: proporciona una sucesin de
impulsos elctricos a intervalos constantes.

Unidad de ejecucin.
Tambin llamada camino de datos, unidad de procesamiento o ALU. Contiene los
circuitos electrnicos con los que se hacen las operaciones de tipo aritmtico (sumas,
restas, etc.) y de tipo lgico (comparar dos nmeros, lgica binaria, desplazar, rotar,
etc.), as como los elementos auxiliares para almacenar los resultados intermedios, etc.
ALU: Unidad Aritmtico Lgica, que se encarga de realizar las operaciones.
Banco de Registros generales: Contienen informacin intermedia. Se usan para
almacenar datos o direcciones de memoria intermedios antes de terminar un clculo.
Registro acumulador (ACUM): Registro que en ocasiones se distingue para almacenar
en l por defecto los resultados de las operaciones.
Registros de operandos (R.OP1, R.OP2): En los que se almacenan los datos con los
que vamos a operar.

Registro de estado (Flags): es un registro en el que cada bit tiene un significado:


resultado de la ltima comparacin lgica, si ha habido desbordamiento en la operacin
aritmtica, etc. Registra las condiciones de ltima operacin realizada. Por ejemplo son
habituales:
C: Acarreo (nos llevamos una al realizar una operacin)
S: Signo (se pondr a 1 si el resultado de la ltima operacin es negativo)
Z: Cero (indicador de que el resultado de la ltima operacin es 0)
O: Desbordamiento u Overflow (el resultado no cabe en el registro acumulador)

BANCO DE REGISTROS

R.OP1

R.OP2

ALU

ESTADO

ACUM

Memoria principal.
Es la unidad donde se almacenan tanto los datos como las instrucciones, durante la
ejecucin de los programas. Acta con una gran velocidad y est ligada directamente a
las unidades principales y ms rpidas del ordenador. Para que un programa se ejecute
debe estar almacenado (cargado) en memoria.
Est dividida en palabras (posiciones o celdas) de memoria de un determinado nmero
de bits n, que se llama longitud de palabra. A una posicin de memoria se accede
mediante su direccin (nmero de orden).
1. Registro de Direccin (AR):
Almacena una direccin de
memoria, donde se encuentra un
operando o donde se desea
escribir.
2. Registro de Datos (DR):
Almacena el dato a escribir en la
memoria o la informacin leda
de la memoria.
3. Selector de memoria: Se
activa cada vez que hay que leer
o escribir y conecta la celda de
memoria con el registro de datos.
4. Seal de control: Indica si
una operacin es de lectura o de
escritura (R/W)
Aunque la memoria principal es muy rpida es del orden de 50 veces ms lenta que el
procesador. Para paliar este problema se utiliza una memoria de tecnologa ms rpida
3

intermedia entre la memoria principal y las unidades de control y tratamiento (cach).


Junto con la memoria secundaria forman la jerarqua de memoria.
Si el tamao de una direccin de memoria es de m bits y el de los datos (longitud de
palabra) es de n bytes, la capacidad de almacenamiento de la memoria sera:
C M = n de posiciones * longitud de palabra = 2m * n bytes
Ej. Un ordenador con palabras de 16 bits y direcciones de 24 bits.
n = 16 bits (longitud de palabra) = 2 bytes
m = 24 bits (ancho de bus o del registro de direcciones)
n de posiciones = 224
C M = 224 * 2 = 225 Bytes = 2 15 kiB = 2 5 MiB = 32 MiB

Buses de comunicacin
Son lneas de comunicacin que interconectan las distintas unidades que forman el
computador.
La anchura de un bus es el nmero de bits que se transfieren simultneamente.
La frecuencia de un bus se mide en Hz, kHz, MHz, GHz..
La velocidad de transferencia de un bus es v t = frecuencia * anchura
Se mide en bit/s (o bps), kbit/s, Mbit/s, Gbit/s, etc. Tambin en B/s, kB/s, MB/s, GB/s
En este caso 1kB/s son 1000 Bytes por segundo.
Segn el tipo de informacin que viaja, pueden ser: buses de datos, buses de
direcciones o buses de control.

Perifricos.
Son una serie de dispositivos que permiten al ordenador comunicarse con el exterior,
bien sea para almacenar, de forma permanente, grandes cantidades de informacin, o
bien para introducir datos o representar los resultados.
Los perifricos disponen de puertos de e/s, registros a travs del cual el procesador o la
memoria central intercambian informacin con el perifrico. Cada puerto tiene asociada
una direccin, de forma similar a las posiciones de memoria.
Unidades de entrada.
Dispositivos por donde se introducen en la computadora los datos e instrucciones. En
estas unidades se suelen transformar las informaciones de entrada en seales binarias de
naturaleza elctrica. Ej. teclado, ratn, etc.
Unidades de salida.
Dispositivos por donde se obtienen los resultados de los programas ejecutados en la
computadora. La mayor parte de estas unidades transforman las seales elctricas
binarias en informacin perceptible por el usuario. Ej. pantalla, impresora o altavoz.
Memoria masiva o auxiliar.
La memoria principal no tiene capacidad para almacenar gran cantidad de informacin,
y es en su mayor parte voltil (desaparece la informacin al eliminar la alimentacin del
equipo). Para guardar masivamente informacin se utilizan otros tipos de memoria, tales
como discos magnticos, discos pticos, etc. ms lentos pero de mayor capacidad.

2. Esquema bsico de funcionamiento.


El funcionamiento de un ordenador se basa en la ejecucin de instrucciones en
cdigo mquina. En realidad todo el funcionamiento esta basado en la comunicacin
desde la Unidad de Control a la Unidad de Ejecucin, la Memoria Principal, y a los
Perifricos y de estos ltimos hacia la Unidad de Control.
Supongamos que tenemos un programa escrito en lenguaje mquina, porque lo
hemos hecho directamente as o porque previamente ha sido traducido de un lenguaje de
alto nivel por un compilador.
Para ejecutarlo, un programa del sistema operativo (cargador) introduce el
programa en posiciones consecutivas de memoria, a partir de una dada. Posteriormente
se carga en el PC la direccin de la primera instruccin del programa. A partir de este
momento la unidad de control repite dos fases:
Fase de INSTRUCCIN
Lleva de la memoria principal a un registro de la unidad de control (IR, registro de
instruccin) la instruccin que est en la posicin que dice el PC (registro contador de
programa). Para ello:
AR<-PC

Enva la direccin que contiene el PC al Registro de Direcciones.


Pide a la memoria que realice una operacin de lectura.

DR<-M(AR) La memoria almacena en el Registro de Datos la instruccin.


IR<- DR

Se almacena la instruccin en el Registro de Instruccin.

Fase de EJECUCIN
La unidad de control interpreta el cdigo de operacin de la instruccin, y segn
sea ste y las seales de estado, enva seales de control o microinstrucciones a las
unidades y circuitos que deben intervenir para ejecutar la instruccin.

El Decodificador interpreta el cdigo de operacin y, segn el formato y


tipo de la instruccin, los datos que intervienen.

El Secuenciador, dependiendo de las seales de estado y de la


instruccin, enva seales de control o microinstruccioes a las unidades y
circuitos que deben intervenir para ejecutar la instruccin.

Finalmente aumenta el valor del contador de programa en uno.

El nmero de ciclos mquina invertidos durante la ejecucin es variable y


depende del tipo de instruccin. Algunas son ms largas que otras.
Si la ejecucin de la instruccin implica saltar a otra instruccin, en la posicin m
(alterndose el orden secuencial) la unidad de control, en la fase de ejecucin, hace que
cambie el contenido que hubiese en PC por el valor m, de manera que en la siguiente
fase ya se capta la instruccin correcta.
EJEMPLO:
Ordenador CODE-2 con el repertorio de instrucciones siguiente:
Instruccin

Qu hace

Codop

LLI rx, n

Almacena en la parte baja del registro rx el


dato n. P.e. LLI R3, 05

0010

ADDS rd,rs,ra

Sumar en Unidad Ejecucin rs + ra y


almacenar en el registro rd

0110

HALT

Finalizar programa

1111

La instruccin mquina se forma con 16 bits, 4 para el cdigo de operacin y el


resto para los operandos.
Los registros se identifican con 4 bits, y los dispositivos con 8 bits.
El siguiente programa almacena un 3 en el registro 1, luego un 7 en el registro 2 y
suma ambos registros dejando el resultado en el registro 3.
PROGRAMA EN ENSAMBLADOR

PROGRAMA EN CDIGO MQUINA

LLI R1, 3

0010 0001 0000 0011

2103

LLI R2, 7

0010 0010 0000 0111

2207

ADDS R3, R2, R1

0110 0011 0010 0001

6321

HALT

1111 0000 0000 0000

F000

El cargador (o el sistema operativo) almacena el programa en la


memoria y deja en el contador de programa la direccin de inicio.
Suponemos que se carga en la posicin de memoria 0.

2103

2207

Empezamos por tanto el programa con PC=0.

6321

F000

CONTROL UNIDAD DE EJECUCIN


PC

IR

R1

R2

R3

ACU

MEMORIA
ESTADO

AR

EJ. 3

BSQUEDA 3

EJECUCIN 2

BSQUEDA 2

EJEC. 1

BSQUEDA 1

EJEC. 0

BSQUEDA 0

0
0

2103

2103

2103

2103

2103

0
1
1

2103 0003
2103 0003
2103 0003

0
0
0

2103
2103
2103

2103 0003

2103

2103 0003

2207

2207 0003

2207

2207 0003

2207

1
2
2

2207 0003 0007


2207 0003 0007
2207 0003 0007

1
1
1

2207
2207
2207

2207 0003 0007

2207

2207 0003 0007

6321

6321 0003 0007

6321

6321 0003 0007

6321

6321 0003 0007

000A 0000

6321

2
3
3

6321 0003 0007 000A 000A 0000


6321 0003 0007 000A 000A 0000
6321 0003 0007 000A 000A 0000

2
2
2

6321
6321
6321

6321 0003 0007 000A 000A 0000

6321

6321 0003 0007 000A 000A 0000

3 F000

3 F000 0003 0007 000A 000A 0000

3 F000

3 F000 0003 0007 000A 000A 0000


4

3 F000

Comentario

DR

Direccin de la primera instruccin en el


contador de programa.
Se enva la direccin al Registro de
Direcciones (AR)
La memoria devuelve la instruccin en el Reg.
Datos (DR)
Se transfiere de la memoria al IR o Registro
de Instruccin en la UC.
Se DECODIFICA la instruccin 2103
2 (CARGAR) 1 (R1) 03 (Dato a cargar)
El SECUENCIADOR enva 03 al R1
Se suma 1 al PC (PC PC + 1)
Direccin de la segunda instruccin en el
contador de programa.
Se enva la direccin al Registro de
Direcciones (AR)
La memoria devuelve la instruccin en el Reg.
Datos (DR)
Se transfiere de la memoria al IR o Registro
de Instruccin en la UC.
Se DECODIFICA la instruccin 2207
2 (CARGAR) 2 (R2) 07 (Dato a cargar)
El SECUENCIADOR enva 07 al R2
Se suma 1 al PC (PC PC + 1)
Direccin de la tercera instruccin en el
contador de programa.
Se enva la direccin al Registro de
Direcciones (AR)
La memoria devuelve la instruccin en el Reg.
Datos (DR)
Se transfiere de la memoria al IR o Registro
de Instruccin en la UC.
Se DECODIFICA la instruccin 6321
6 SUMAR (ADDS) 3 (Destino R3)
2 (Operando1 R2) 1 (Operando2 R1)
El SECUENCIADOR:
Enva 0007 (R2) a Registro Op1
Enva 0003 (R1) a Registro Op2
Enva la seal a la ALU para SUMAR
El resultado sale al ACUMULADOR
El reg. ESTADO nos informara si hubiera
alguna condicin especial.
Se enva el resultado a R3
Se suma 1 al PC (PC PC + 1)
Direccin de la tercera instruccin en el
contador de programa.
Se enva la direccin al Registro de
Direcciones (AR)
La memoria devuelve la instruccin en el Reg.
Datos (DR)
Se transfiere de la memoria al IR o Registro
de Instruccin en la UC.
DECODIFICADOR: F = PARAR
SECUENCIADOR
Enva seales para detener la ejecucin.
Se suma 1 al PC (PC PC + 1)

You might also like