Homa Buenos días como están todos por allá en la universidad hoy va haber información muy valiosa la entorno de informática para el aprendizaje de arquitectura de computadoras
2. Objetivos
Arquitecturas
von Neumann
Otras
Unidad Central de Procesamiento (CPU)
Responsabilidades
Requisitos
Partes de una CPU
ALU
Control & Decode
Registros
Electrónica y buses
Objetivos
M Bracho 2 Arquitectura de Computadores
3. M Bracho 3
Índice
Capítulo 3 : Arquitecturas
3. Arquitecturas
3.1 von Neumann
3.2 Harvard
3.3 Otras (Multiprocesador, Sistemas
distribuidos)
Arquitectura de Computadores
4. M Bracho 4
Introducción
Capítulo 3 : Arquitecturas
Arquitectura de Computadores
Corresponde a la estructura, organización, e
interconexión de las diversas partes de un
computador
Arquitectura de Computadores
Arquitectura de Computadores
Arquitectura del set de instrucciones
Cantidad de instrucciones
Tamaño de las instrucciones
Maneras de acceder a memoria
Organización funcional
Registros
Interconexión entre los componentes
Mecanísmos de Entrada/Salida (I/O)
Jerarquías de memoria
5. M Bracho 5
Introducción
Capítulo 3 : Arquitecturas
¿Qué hace un computador?
Almacenar Datos (leer - escribir).
Almacenar Programas.
Ejecutar operaciones sobre datos.
Ejecutar algoritmos.
Recibir nuevos datos.
Entregar resultados.
Arquitectura de Computadores
6. M Bracho 6
Índice
3.1 von Neumann
3.1 von Neumann
3.2 Harvard
3.3 Otras (Multiprocesador, Sistemas
distribuidos)
Arquitectura de Computadores
Capítulo 3 : Arquitecturas
7. M Bracho 7
Introducción
Capítulo 3 : Arquitecturas –von Neumann
John von Neumann (se pronuncia «fon
noiman»)
(28 de diciembre de 1903 - 8 de febrero de 1957)
Fue un matemático húngaro-
estadounidense, de ascendencia judía.
Fue pionero de la computadora digital
moderna y de la aplicación de la teoría
operadora a la mecánica cuántica.
Participó del Proyecto Manhattan
Arquitectura de Computadores
8. M Bracho 8
Introducción
Trabajó con Eckert y Mauchly en la
Universidad de Pennsylvania, donde
publicó un artículo acerca del
almacenamiento de programas.
El concepto de programa almacenado
permitió la lectura de un programa
directamente desde la memoria del
computador, así como la ejecución de
las instrucciones del mismo sin
necesidad de un medio externo (cinta).
(Tomado de Wikipedia: John von Neumann)
Arquitectura de Computadores
Capítulo 3 : Arquitecturas –von Neumann
9. M Bracho 9
Arquitectura de von Neumann
John von Neumann propuso una manera de
estructurar un computador.
Almacenar Datos (leer - escribir).
Almacenar Programas.
Ejecutar operaciones sobre datos.
Ejecutar algoritmos.
Recibir nuevos datos.
Entregar resultados.
CPU
Memoria
Input/Output
Arquitectura de Computadores
Capítulo 3 : Arquitecturas –von Neumann
10. M Bracho 10
Arquitectura de von Neumann
CPU, Memoria e I/O se comunican a través
de Buses.
I/O
Memoria
Address Bus
Control
CPU
Control
Data Bus
Arquitectura de Computadores
Capítulo 3 : Arquitecturas –von Neumann
11. M Bracho 11
Índice
3.1 von Neumann
3.2 Harvard
3.2 Harvard
3.3 Otras (Multiprocesador, Sistemas
distribuidos)
Arquitectura de Computadores
Capítulo 3 : Arquitecturas
12. M Bracho 12
Arquitectura Harvard
Capítulo 3 : Arquitecturas - Harvard
Utiliza 2 memorias independientes
Datos
Instrucciones
El término proviene de la computadora
Harvard Mark I, que almacenaba las
instrucciones en cintas perforadas y los datos
en interruptores.
Arquitectura de Computadores
13. M Bracho 13
Arquitectura Harvard
Ventajas de la arquitectura Harvard
Instrucciones y datos de distinto largo
Memorias de distinto tamaño
bits de direccionamiento distintos
Memorias con distinta tecnología
Disminuyo el cuello de botella en el acceso a memoria
En controladores embebidos:
RAM para los datos
ROM para las instrucciones
Arquitectura de Computadores
Capítulo 3 : Arquitecturas - Comparación
14. M Bracho 14
Arquitectura de von Neumann
Capítulo 3 : Arquitecturas - Comparación
Ventajas de la arquitectura de von Neumann
Uso mas eficiente de la memoria
Jerarquía de memoria no requiere estar dividida en 2
Más simple arquitectónicamente
Un solo tipo de instrucciones para acceder a memoria
Un solo bus de datos y de direcciones
Una misma forma de acceso a datos e instrucciones
Mayor flexibilidad
Útil para el sistema operativo
Paginación a disco
Código automodificante
CPU con menos operaciones y mas flexible
Arquitectura de Computadores
15. M Bracho 15
Índice
3.1 von Neumann
3.2 Harvard
3.3 Otras (Multiprocesador, Sistemas
3.3 Otras (Multiprocesador, Sistemas
distribuidos)
distribuidos)
Arquitectura de Computadores
Capítulo 3 : Arquitecturas
16. M Bracho 16
Multiprocesador
Capítulo 3 : Arquitecturas
Arquitectura de Computadores
Procesador
Memoria
local *
Procesador
Memoria
local
Procesador
Memoria
local
Procesador
Memoria
local
Memoria Principal I/O
* Memoria Local: mantiene una copia local de una porción de la memoria principal
17. M Bracho 17
Multiprocesador
Capítulo 3 : Arquitecturas
Ventajas
Procesamiento paralelo
Cercanía entre CPUs
permite altas tasas de
transferencia de datos
Desventajas
No todo es paralelizable
Arquitectura de Computadores
Problemas de coherencia de memoria local con
memoria principal
18. M Bracho 18
Sistemas distribuidos
Arquitectura de Computadores
Red de interconexión
Procesador
Memoria
I/O
Procesador
Memoria
I/O
Procesador
Memoria
I/O
Capítulo 3 : Arquitecturas
19. M Bracho 19
Sistemas distribuidos
Arquitectura de Computadores
Red de interconexión
Cada nodo funciona como un computador
independiente
Se comunican por red
Distintas topologías: estrella, anillo, etc.
Capítulo 3 : Arquitecturas
20. M Bracho 20
Sistemas distribuidos
Arquitectura de Computadores
Ventajas
Procesamiento paralelo
Facilidad de incorporar y quitar
nodos del sistema
Desventajas
No todo es paralelizable
Overhead en la transferencia de datos es
considerablemente mayor
Problemas de coherencia de memorias
Capítulo 3 : Arquitecturas
21. M Bracho 21
Índice
Capítulo 4 : Unidad de Procesamiento Central (CPU)
4.Unidad de Central de Procesamiento (CPU)
4.1 Partes de la CPU.
4.2 Ciclo de la Instrucción.
4.3 Conjunto de Instrucciones y tipos de
funcionalidad.
4.4 Diseño de una CPU básica.
4.5 CISC/RISC.
4.6 Modos de direccionamiento.
4.7 Instrucciones en lenguaje de máquina.
4.8 Subrutinas y Manejo de Stack.
4.9 Interrupciones de software y hadware.
Arquitectura de Computadores
22. M Bracho 22
Introducción
Capítulo 4 : Unidad de Procesamiento Central (CPU)
Arquitectura de Computadores
Componente principal de un computador,
encargado del control de flujo, decodificación
y ejecución de instrucciones, y
procesamiento y transferencia de datos.
Cerebro del computador
Unidad Central de Procesamiento
Unidad Central de Procesamiento
(CPU o procesador)
(CPU o procesador)
23. M Bracho 23
Índice
Capítulo 4 : Unidad de Procesamiento Central (CPU)
4.1 Partes de la CPU.
4.2 Ciclo de la Instrucción.
4.3 Conjunto de Instrucciones y tipos de
funcionalidad.
4.4 Diseño de una CPU básica.
4.5 CISC/RISC.
4.6 Modos de direccionamiento.
4.7 Instrucciones en lenguaje de máquina.
4.8 Subrutinas y Manejo de Stack.
4.9 Interrupciones de software y hadware.
Arquitectura de Computadores
24. M Bracho 24
Partes de la CPU
Capítulo 4 : Unidad de Procesamiento Central (CPU)
Responsabilidades
Ejecutar Operaciones y Algoritmos
Controlar Flujo del Programa
Controlar Circuitos Internos
Arquitectura de Computadores
25. M Bracho 25
9
00
01 1100011001
02 1110001010
03 1110000000
04 0110011000
05 0000011000
06 0001111000
07 0000000100
08 1111000000
09 0000000101
0A 0000000000
Partes de la CPU
Requisitos:
Procesar instrucción
Leer datos
Almacenar
Temporalmente los
datos
ALU – FPU
Almacenar
Resultados
Capítulo 4 : Unidad de Procesamiento Central (CPU)
1101110111
Load (7h)
4
5
Arquitectura de Computadores
0000001001
9
ALU
ALU
Memoria
Ejecutar Operaciones y Algoritmos
26. 00
01
02
03
04 0110011000
05 0000011000
06 0001111000
07 0000000100
08 1111000000
09 0000000101
0A 0000000000
1110000000
MOVE(0Ah)
M Bracho 26
1110001010
1100011001
ADD(09h)
Partes de la CPU
Ej. programa anterior.
LOAD (07h)
ADD (09h)
MOVE(0Ah)
GOTO(08h)
Capítulo 4 : Unidad de Procesamiento Central (CPU)
1101110111
LOAD (07h)
4
5
ALU
ALU
9
Requisitos
Instruction Pointer
Mecanismos de Salto
Arquitectura de Computadores
9
GOTO(08h)
0000001001
Control de Flujo
Memoria
27. M Bracho 27
00 LOAD (07h)
01 ADD(09h)
02 MOVE(0Ah)
03 GOTO(08h)
04 0110011000
05 0000011000
06 0001111000
07 0000000100
08 1111000000
09 0000000101
0A 0000000000
Partes de la CPU
Ej. implementación
Capítulo 4 : Unidad de Procesamiento Central (CPU)
memoria
m
u
x
A
L
U
0001111000
registro
Circuitos internos
Requisitos
Buses internos.
Señales de control.
ALU (función)
Mux
Registros (Load,etc)
Contador (Inc,
Load,etc)
00000000
contador
Arquitectura de Computadores
28. M Bracho 28
Partes de la CPU
Control & Decode procesa las instrucciones.
ROM
Espacio de Direccionamiento determina cantidad de
instrucciones
Las salidas son señales de control para ejecutar
una instrucción.
Capítulo 4 : Unidad de Procesamiento Central (CPU)
Control & Decode
Control & Decode
Instrucción
de k bits
n señales de
control para
la instrucción
2k
palabras
n bits por palabra
Arquitectura de Computadores
29. M Bracho 29
Partes de la CPU
Registros de la CPU
Registros de la CPU
Capítulo 4 : Unidad de Procesamiento Central (CPU)
Arquitectura de Computadores
30. M Bracho 30
Registros de la CPU
Un procesador incluye:
registros visibles para el usuario
registros de control/estado.
Capítulo 4 : Unidad de Procesamiento Central (CPU) – Partes de la CPU
Registros Visibles.
Pueden referenciarse en las instrucciones.
Se clasifican en:
Uso general.
Datos.
Direcciones.
Códigos de Condición
Arquitectura de Computadores
31. M Bracho 31
Registros de la CPU
Capítulo 4 : Unidad de Procesamiento Central (CPU) – Partes de la CPU
¿Cuántos registros de propósito general?
Óptimo entre 8 y 32
Pocos registros demasiados accesos a memoria.
Muchos registros no reducen considerablemente las
referencias a memoria
Muchos registros CPU más compleja.
Arquitectura de Computadores
32. M Bracho 32
Registros de la CPU
Capítulo 4 : Unidad de Procesamiento Central (CPU) – Partes de la CPU
¿De cuántos bits deben ser los registros?
Deben ser de un número suficiente tal que se
puedan manejar las direcciones a memoria.
Además deben ser capaces de manejar una
palabra completa.
A veces se combinan dos registros para
conformar uno solo.
Arquitectura de Computadores
33. M Bracho 33
Registros de la CPU
Capítulo 4 : Unidad de Procesamiento Central (CPU) – Partes de la CPU
Registros Control/Estado.
controlar el funcionamiento de la CPU
PC = program counter: contiene la dirección de la
instrucción a captar
IR = instruction register: contiene la última
instrucción captada
MAR = memory address register: contiene la
dirección de una posición de memoria.
MBR = memory buffer register: contiene la palabra
de datos a escribir en memoria, o la palabra leída
más recientemente
Arquitectura de Computadores
34. M Bracho 34
Registros de la CPU
Capítulo 4 : Unidad de Procesamiento Central (CPU) – Partes de la CPU
Registros Control/Estado.
Adicionalmente se cuenta con PSW = program
status word:
Signo: contiene elbit de signo del resultado de última
operación
Cero: puesto a uno cuando el resultado es 0
Acarreo: puesto a uno si en la suma hay acarreo o
en la resta hay un adeudo del bit más significativo
Igual: puesto a uno si el el resultado de una
comparación lógica es la igualdad
Desbordamiento: Usado para indicar
desbordamiento aritmético
Arquitectura de Computadores
35. M Bracho 35
Registros de la CPU
Capítulo 4 : Unidad de Procesamiento Central (CPU) – Partes de la CPU
Registros Control/Estado.
Adicionalmente se cuenta con PSW = program
status word:
(continuación)
Interrupciones: usado para permitir o inhabilitar
interrupciones
Supervisor: indica si la CPU funciona en modo
supervisor o usuario. Únicamente en modo
supervisor se pueden ejecutar ciertas instrucciones
privilegiadas y se puede acceder a ciertas áreas de
memoria
Arquitectura de Computadores
36. M Bracho 36
00 LOAD (07)
01 ADD(09)
02 GOTO(0A)
03 1110000000
04 0110011000
05 0000011000
06 0001111000
07 0000000100
08 1111000000
09 0000000101
0A 0000000000
Partes de la CPU
Ej.
Implementación
modificado
Capítulo 4 : Unidad de Procesamiento Central (CPU)
memoria
m
u
x
A
L
U
0001111000
registro
00000000
contador
IR
IR
Control &
Control &
Decode
Decode
Señales de
Control
Arquitectura de Computadores
37. M Bracho 37
Partes de la CPU
Capítulo 4 : Unidad de Procesamiento Central (CPU)
Partes de la CPU.
Registros
Program Counter
Instruction Register
Uso general
ALU
FPU
Control & Decode
Buses
Circuitería
Arquitectura de Computadores
38. M Bracho 38
Resumen
Distintas arquitecturas
Partes de la CPU y sus funciones
Registros
Visibles
Control/Estado
ALU, FPU
Control & Decode
Decodificación de instrucciones
Señales de control
Buses Internos
Circuitería
Arquitectura de Computadores
Resumen