Aci 2024-C05 Cpu
Aci 2024-C05 Cpu
Aci 2024-C05 Cpu
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
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)
• 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
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
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
0 1 15
S Magnitude
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)
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