Sunteți pe pagina 1din 10

1.3.

Conceptos de arquitectura y estructura de un computador

Arquitectura: qué hace el computador.

Comportamiento funcional desde el punto de vista de:


- El programador en lenguaje ensamblador (bajo nivel).
- El generador de código del compilador.

Atributos que definen una arquitectura (visibles a un programador


a bajo nivel):
(1) Repertorio y formato de las instrucciones.
(2) Modos direccionamiento.
(3) Tipos y formatos de los operandos.
(4) Registros.
(Última actualización 05/03/07)

2
Modos de direccionamiento de los operandos y tipos de datos:

Estructura: cómo se hace.


Implementación (realización) de la arquitectura con circuitos
digitales.

Los componentes (sumadores, multiplexores, registros,…) y sus


conexiones para ‘soportar’ una determinada arquitectura.

Se especifican:
(1) Los componentes: combinacionales y elementos de memoria.
(2) El flujo de datos entre los componentes.
(3) Las señales de control del funcionamiento de los
componentes.
((1) y (2) Ruta de datos, (3) Control)

Veremos distintas implementaciones de la misma arquitectura de un


repertorio (reducido) de instrucciones del procesador MIPS:
4
(1) Estructura monociclo del procesador MIPS

(2) Estructura multiciclo del procesador MIPS

6
(3) Estructura segmentada del procesador MIPS

1.4. Estructura y funcionamiento de un computador

Un sistema computador se compone de procesador, memoria y


entrada/salida (máquina Von Neumann*):

(1) Procesador: procesa los datos siguiendo las instrucciones.

(2) Memoria: almacena los datos y las instrucciones.

(3) Entrada/salida: para transferir información con el exterior.

El procesador está formado por:


(1) La ruta de datos: realiza la transformación de los datos.
(2) La unidad de control: lee las instrucciones de memoria, las
interpreta y controla todos los componentes para que se
ejecuten.

8
Estructura de un computador: cinco componentes clásicos
9

El camino de datos se compone de:

(1) La unidad aritmético-lógica (ALU): realiza operaciones


aritméticas (sumas,…) y lógicas (and,…) sobre los datos.

(2) Los registros: contienen los operandos y los resultados de


las operaciones ALU.

10
La memoria

Se organiza como un vector de bytes (8 bits).

Cada byte es referenciado por su dirección, su posición dentro de


la memoria.

Las operaciones con memoria son de lectura o de escritura.


11

Sea la memoria:
En decimal En binario En hexadecimal
Dirección Contenido Dirección Contenido

[0] 01011011 [0x00] 0x5B


[1] 10101110 [0x01] 0xAE
[2] 01011100 [0x02] 0x5C
[3] 11100100 [0x03] 0xE4
[4] 01101101 [0x04] 0x6D
… … … …

[254] 10011011 [0xFE] 0x9B


[255] 10111101 [0xFF] 0xBD

Se diría que:
el byte en la dirección 3 es 11100100
ó en hexadecimal:
el byte en la dirección 0x03 es 0xE4
12
Se puede hacer referencia a datos en memoria de distintos
tamaños:

(1) un byte: 8 bits

(2) una palabra: 4 bytes

(3) media palabra: 2 bytes

(4) doble palabra: 8 bytes

Para los datos de varios bytes, habrá que establecer el orden en el


que se almacenan dichos bytes

Suponemos de menos a más significativo (convenio ‘little-endian’).

13

Con el contenido de memoria visto:

El byte en la dirección 0x00 es 0x5B.


La media palabra en la dirección 0x00 es 0xAE5B.
La palabra en la dirección 0x00 es 0xE45CAE5B.
La doble palabra en la dirección 0x00 es 0xXXXXXX6DE45CAE5B.
14
Las operaciones que hace el procesador con la memoria son:

(1) lectura : transferir un dato en memoria al procesador.

(2) escritura : transferir un dato del procesador a memoria.

En ambos casos se tendrá que especificar:

(1) La dirección: posición en la memoria del dato a transferir.

(2) El tamaño (número de bytes) del dato a transferir.

(3) El destino/fuente del dato.

15

Acceso a las instrucciones en memoria

El procesador tiene que acceder a las instrucciones en memoria,


donde están almacenadas, para ejecutarlas.

El procesador tiene dos registros, de uso específico, para leer las


instrucciones de memoria:

(1) El contador de programa (PC): contiene la dirección en


memoria de la instrucción a ejecutar.

Es un registro contador con carga en paralelo.

(2) El registro de instrucción (IR): donde se carga (se transfiere


desde memoria) la instrucción a ejecutar.

Es un registro con carga en paralelo.


16
El funcionamiento básico de un computador

Consiste en ejecutar instrucciones una tras otra según están en


memoria.

Cada instrucción es procesada en dos fases:


(1) Fase de captación: cargar la instrucción en el registro de
instrucción (IR).
(2) Fase de ejecución: llevar a cabo la operación especificada
por la instrucción.

17

(1) Fase de captación de instrucción (común a todas las


instrucciones):

– El registro contador de programa (PC) contiene la dirección de


la instrucción a ejecutar.

– El procesador carga en el registro de instrucción (IR), la


instrucción señalada por el PC.

– El procesador incrementa el contador de programa para que


apunte a la siguiente instrucción (el incremento depende del
tamaño de la instrucción).

18
Contenido de IR y PC después de la fase de captación

19

(2) Fase de ejecución: según el tipo de instrucción (4 tipos)

– Movimiento de datos: transferencia de datos desde la CPU a la


memoria o al revés.

– Procesamiento de datos: la CPU ha de realizar alguna


operación aritmética o lógica con los datos.

– Control de secuencia (saltos): una instrucción puede


especificar que la secuencia de ejecución sea alterada.

20

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