Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Aci 2024-C05 Cpu

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 36

ACI

Arquitectura de Computadoras I
Curso 2023-24
CPU I
Arquitectura Von Neumann
Características principales
• 3 componentes principales:
– CPU:
• Unidad de Control, Unidad aritmético lógica (ALU), Registros
– Memoria principal:
• Almacena programas y datos
– Sistema de Entrada/Salida
• Procesamiento secuencial de instrucciones
• Datos binarios en memoria
• Un sistema de interconexión
– Conecta la memoria y la CPU
Estructura (CPU)
CPU

Computer Unidad
Registros Aritmética y
I/O
Lógica
System CPU
Bus Interconexión
Memory
Interna de la CPU

Unidad
de
Control
Estructura interna de la CPU
Arquitectura Von Neumann
Registros CPU
• Almacenan datos binarios, acceso
rápido
• De tamaño fijo
• De propósito general (programas) o
específicos (acumulador, program
counter, puntero a memoria, etc.)

DataPath
• Red de elementos como registros y ALU conectados por buses internos
controlados por un reloj cuyo objetivo es la ejecución de las instrucciones
de máquina.
• Controlada por la unidad de control
• Es única para cada CPU y está diseñada para conseguir el mejor
desempeño de su ISA (Instruction Set Architecture).
• Es parte de la microarquitectura
Registros específicos de la CPU

Memory Address Register (MAR) Instruccion Register (IR)


Conectado al bus de direcciones Contiene la última instrucción cargada
Especifica direcciones para operaciones de lectura o
escritura Palabra de estado (PSW)
Almacena el estado de la operación realizada en la ALU
Memory Buffer Registry (MBR)
Conectado al bus de datos Acumulador (A)
Contiene datos a escribir o leídos Se utiliza para guardar el ultimo resultado de la ALU

Program Counter (PC) Puntero de Pila (SP)


Contiene la dirección de la próxima instrucción Almacenamiento temporal utilizado principalmente para
variables y parámetros de funciones

8
CPU
Unidad de Control (UC)
• Controla todos los componentes
• Interpreta instrucciones
– Decodifica y Ejecuta instrucciones.
Transforma instrucciones en órdenes a
otros componentes
– Puede ser programada por hardware
(cableada) y “microprogramada” (varias
microinstrucciones por instrucción)

Unidad Aritmético Lógica (ALU)


• Realiza operaciones matemáticas y
lógicas
– Sumas, restas, multiplicaciones
– And, Or, Xor
– Corrimientos
Componentes: CPU
• Unidad aritmética y lógica:
– Realiza las operaciones aritméticas (entera y punto
flotante) y lógicas
– Circuito combinacional:
• La SALIDA es función de la ENTRADA
Tipos de Instrucciones

• Procesador-memoria
– Transferencia de datos entre la CPU y la memoria
• Procesador-E/S
– Transferencia de datos entre la CPU y un modulo de
E/S
• Procesamiento de datos
– Alguna operación aritmética o lógica sobre los datos
• Control
– Alteración de la secuencia de operaciones
– Ej.: jump
Componentes: CPU
• Unidad de control
– Organiza los accesos a memoria, para leer
instrucciones y datos
– Decodifica las instrucciones
• Formato de instrucción y modos de direccionamiento
– Organiza las transferencias de información entre los
distintos componentes del ordenador
• Memoria, registros, controladores de los periféricos (disco
duro, CD-ROM, pantalla, teclado,…) a través de los puertos
15 14 13 . ...... . 0
CO1 CO0 INSTRUCCIÓN
0 0 ADD
0 1 CMP
1 0 MOV
1 1 BEQ
Formato de una instrucción sencilla
• Dentro del ordenador cada instrucción se representa por
una secuencia de bits

• La instrucción se divide en campos, que corresponden a


los elementos que constituyen la instrucción
Representación de instrucciones
• Los Opcodes están representados por abreviaturas llamadas
neumónicos
• Algunos ejemplos son::
– ADD Add
– SUB Subtract
– MUL Multiply
– DIV Divide
– LOAD Load data from memory
– STOR Store data to memory
– Los operandos también se representan simbólicamente
– Cada opcode simbólico tiene una representación binaria fija
– El programador especifica la ubicación de cada operando simbólico
© 2016 Pearson Education, Inc., Hoboken,
NJ. All rights reserved.
Elementos de una Instrucción de Máquina

Código de operación Referencia a


(opcode) operando Fuente
• Especifica la operación a • La operación puede
realizar. La operación se implicar uno o más
especifica por un código operandos de origen, es
binario (opcode) decir, operandos que son
entradas para la operación

Referencia a Referencia a Próxima


operando Resultado instrucción
• La operación puede • Esto le dice al procesador
producir un resultado dónde obtener la siguiente
instrucción después de que
se complete la ejecución de
esta instrucción.

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


Ciclo de instrucción
1. Recuperar la siguiente
instrucción desde 2. Decodificar el patrón
memoria (apuntada por de bits en el registro
el program counter) y de instrucción IR
luego incrementar el
program counter.

3. Ejecutar la instrucción
indicada en el registro de
instrucción IR
Modelo de ejecución de Von Neumann
Busca de Obtiene la instrucción de la memoria de programa
Instrucción

Decodificación Determina las acciones requeridas y el tamaño de


la instrución
de Instrucción

Busca de Localiza y obtiene los datos de los operandos


Operandos

Ejecución Calcula el valor de los resultados o estatus

Almacena
Deposita los resultados en memoria para uso
resultados posterior

Próxima
Determina la próxima instruction
Instrucción
Pasos de la Arquitectura Von Neumann
Un ordenador con arquitectura Von Neumann realiza o emula los
siguientes pasos secuencialmente:
• Obtiene la siguiente instrucción desde la memoria en la dirección
indicada por el contador de programa y la guarda en el registro de
instrucción.
• Aumenta el contador de programa en la longitud de la instrucción para
apuntar a la siguiente.
• Descodifica la instrucción mediante la unidad de control. Esta se
encarga de coordinar el resto de componentes del ordenador para
realizar una función determinada.
• Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del
programa, permitiendo así operaciones repetitivas. El contador puede
cambiar también cuando se cumpla una cierta condición aritmética,
haciendo que el ordenador pueda 'tomar decisiones', que pueden
alcanzar cualquier grado de complejidad, mediante la aritmética y
lógica anteriores.
• Vuelve al primer paso.
Diagrama de estados del ciclo de instrucción
Ciclo de Instrucción
1. UC obtiene la próxima instrucción de
memoria (usando el registro PC)
2. Se incrementa el PC
3. La instrucción es decodificada a un
lenguaje que entiende la ALU
4. Obtiene de memoria los operandos
requeridos por la operación
5. La ALU ejecuta y deja los resultados
en registros o en memoria
6. Repetir paso 1
Ciclo de instrucción
• La unidad de control indica la próxima de memoria
usando el “contador de programa” (o PC) que dice en
que dirección esta la próxima instrucción.
Ciclo de instrucción
• La instrucción es decodificada a un lenguaje que
entiende la ALU (unidad aritmética lógica).
Ciclo de instrucción
• Cada operando requerido para ejecutar se lee de la
memoria principal y se ubica en registros dentro de la
CPU.
Ciclo de instrucción
• La ALU ejecuta la instrucción y coloca los resultados en
registros o en memoria.
Ciclo de Fetch
◼ Obtiene una instrucción de memoria.
◼ Microoperaciones:
t1: MAR <-- PC
t2: MBR <-- memoria

PC <-- PC+1
t3: IR <-- MBR

25
Ciclo de Ejecución
◼ Puede ser muy variable
◼ Depende de la instrucción a ejecutar
◼ Puede incluir
Lectura/escritura de memoria
Entrada/Salida
Transferencia entre registros
Operaciones de la ALU

Ejemplo 1
◼ Instrucción: add R1, X
◼ Microinstrucciones
t1: MAR <-- IR(direccion)
t2: MBR <-- memoria
t3: R1 <-- R1 + MBR
26

Ejemplo 2
◼ Instrucción: ISZ X (Incrementar y saltar si es cero)
◼ Microinstrucciones
t1: MAR <-- IR(direccion)
t2: MBR <-- memoria
t3: MBR <-- MBR + 1
t4: Si MBR = 0 entonces PC <-- PC + 1
Formato de instrucción de longitud fija

Un ejemplo de formato de instrucción de longitud fija – serie MIPS Rxxxx


0 3 4 15
Opcode Address

(a) Instruction format

0 1 15
S Magnitude

(b) Integer format

Program Counter (PC) = Address of instruction


Instruction Register (IR) = Instruction being executed
Accumulator (AC) = Temporary storage

(c) Internal CPU registers

0001 = Load AC from Memory


0010 = Store AC to Memory
0101 = Add to AC from Memory

(d) Partial list of opcodes

Figure 3.4 Characteristics of a Hypothetical M achine

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


Ejemplo de ejecución de un programa
Y <- X + Y

LDA 940
ADD 941
STA 941
Ciclo de Instrucción con indirección

30
Ciclo Indirecto
◼ Direccionamiento directo: un acceso a memoria por operando
◼ Direccionamiento Indirecto requiere más accesos a memoria
◼ Se puede tomar como un subciclo de instrucción adicional

Instrucción: LDI X
◼ Microoperaciones:
t1: MAR <-- IR(direccion)
t2: MBR <-- memory
t3: MAR <-- MBR
t4: MBR <-- memory

31
MS.- Ventá de Esquema da MS
E
S
T
R
U
C
T
U
R
A

T
E
C
N
O
L
O
X
Í
A

D
E

C
O
M
P
U
T
A
D
O
R
A
S
2.6.- A MÁQUINA BASEADA NO 8085 (M8085) (cont)
E
S
T
R
U
C
T
U
R
A

T
E
C
N
O
L
O
X
I
A

D
E

C
O
M
P
U
T
A
D
O
R
A
S
Organización Simplificada ARM
External memory (cache, main memory)

M emory address register M emory buffer register

I ncrementer Sign
R15 (PC) extend

Rd
User Register File (R0 - R15)

Rn Rm Acc

I nstruction register

Barrel
shifter
I nstruction
decoder

M ultiply/
ALU
accumulate
Control
unit
CPSR
El procesador ARM
ARM es esencialmente un sistema RISC con los
siguientes atributos:
• Conjunto moderado de registros uniformes.
• Un modelo de carga/almacenamiento de procesamiento de datos en el que las operaciones solo se
realizan en operandos en registros y no directamente en la memoria.
• Una instrucción uniforme de longitud fija de 32 bits para el conjunto estándar y 16 bits para el
conjunto de instrucciones Thumb
• Unidad aritmética lógica (ALU) y unidades de desplazamiento (shift) separadas
• Un número pequeño de modos de direccionamiento con todas las direcciones de
carga/almacenamiento determinadas a partir de registros y campos de instrucciones.
• Los modos de direccionamiento de incremento y decremento automático se utilizan para mejorar
el funcionamiento de los bucles de programa.
• La ejecución condicional de instrucciones minimiza la necesidad de instrucciones de bifurcación
condicionales
Bibliografia
Libro:
Organización y arquitectura de computadores
William Stallings -7ª edición

Capítulo 3
• 3.1 Componentes del computador
• 3.2 Funcionamento del computador

Capítulo 10
• 10.1 Características de las instrucciones máquina

Capítulo 12
• 12.1 Organización del procesador
• 12.2 Organización de los registros
• 12.3 Ciclo de instrucción

MOOVI: Documentos y enlaces -> Apuntes de teoría


• Cap04-Unidad_de_proceso.pdf

También podría gustarte