1) El documento describe la arquitectura básica de una computadora, incluyendo los inicios teóricos con Turing y Church, el modelo de Von Neumann, y los componentes clave como la CPU, memoria y E/S.
2) Explica el ciclo de instrucción y ejecución de Von Neumann, así como los tipos básicos de operaciones como procesador-memoria y procesamiento de datos.
3) Detalla la estructura pionera de la computadora IAS de 1952, incluyendo sus registros y ciclo de instrucción.
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
1. Facultad de Ingeniería de
Sistemas e Informática
PRIMERA UNIDAD
ARQUITECTURA BASICA DE LA
COMPUTADORA
Asignatura: Electrónica Digital
Docente: Alejandro Reategui Pezo
Semestre 2021 - II
2.
3. I. Inicios de la Computadora
Turing y Church sientan las bases teóricas
de la computación
• Máquina de Turing
– Máquina teórica compuesta por una cinta y
una cabeza que puede leer y grabar símbolos
en ella.
– Un conjunto finito de estados
– Un programa “cableado” del tipo (condición,
acción)
Church: Lambda calculo
– Resultado equivalente para probar
computabilidad
– Base de los lenguajes funcionales
•
4. e la
a
lla.
Inicios de la computación
Turing y Church sientan las bases teóricas d
computación
• Maquina de Turing
– Máquina teórica compuesta por una cinta y un
cabeza que puede leer y grabar símbolos en e
Un conjunto finito de estados
Un programa “cableado” del tipo (condición, acción)
–
–
• Máquina universal de Turing
– Máquina (teórica) capaz de simular el
comportamiento de cualquier maquina (de
Turing) a partir de un programa ingresado en
la cinta
5. 1.1. El Modelo de Von Neumann
Antes: Programar era
conectar cables…
Hacer programas era mas
una cuestión ingeniería
electrónica.
Cada vez que había que
calcular algo distinto había
que reconectar todo.
Imaginen eso !
6. John
1903 – 1957
Matemático
Von Neumann
•
•
• Publicó y publicitó la idea de
programa almacenado en
memoria
1945: “Primer Borrador de un
Reporte sobre la EDVAC”
•
7. von Neumann
• Los datos y programas se almacenan
misma memoria de lectura-escritura
Los contenidos de esta memoria se
direccionan indicando su posición sin
importar su tipo
Ejecución en secuencia (salvo que se
lo contrario)
Representación Binaria
en una
•
• indique
•
8. 1.2. ESTRUCTURA BASICA DE UNA COMPUTADORA
• Tres Componentes Principales
1) La Unidad de Proceso Central (CPU): Unidad de Control, Unidad aritmético
lógica (ALU), Registros
2) La Unidad de Memoria (UM): Almacena programas y datos
3) La Unidad de Entrada/Salida (UE/S)
• Dos Componentes Secundarios:
• 4) La Unidad de Buses (UB): Es un sistema de interconexión:
- Conecta la memoria y unidad de control
- Fuerza la alternación entre ciclos de lectura y ejecución
5) El Programa Almacenado en UM
- Es común referenciar a los primeros cuatro elementos como HARDWARE y
al quinto como SOFTWARE.
9. Estructura (computadora) Nivel Superior
interconexión
periféricos Computador
Unidad
Central de Memoria
Proceso Principal
CPU
Computador Sistema de
Entrada
Salida
Líneas de
comunicación
10. Estructura - La CPU
Computer Arithmetic
and
Login Unit
Control
Unit
Internal CPU
Interconnection
Registers
CPU
I/O
Memory
System
Bus
CPU
11. Estructura – La Unidad de Control
CPU
Control
Memory
Control Unit
Registers and
Decoders
Sequencing
Login
Control
Unit
ALU
Registers
Internal
Bus
Control Unit
12. 1.2.1 Estructura de la CPU
I/O
Lógica
CPU
Computer Unidad
Registros Aritmética y
System CPU
Bus Interconexión
Memory Interna de la CPU
Unidad
de
Control
13. 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
14. CPU
Registros
• 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 interna que comunica la UC con
las otras unidades y registros
Mueve datos entre los diferentes
componentes
Controlada por un reloj.
•
•
16. 1.3.1. Ciclo de Instrucción
3. Ejecutar la instrucción
indicada en el registro de
instrucción IR
2. Decodificar el patrón de
bits en el registro de
instrucción IR
1. Recuperar la siguiente
instrucción desde
memoria (apuntada por
el program counter) y
luego incrementar el
program counter.
17. de
n
s
os
1.3.2. Ciclo de Ejecución
1. UC obtiene la próxima instrucción
memoria (usando el registro PC)
Se incrementa el PC
La instrucción es decodificada a u
lenguaje que entiende la ALU
Obtiene de memoria los operando
requeridos por la operación
La ALU ejecuta y deja los resultad
en registros o en memoria
Repetir paso 1
2.
3.
4.
5.
6.
18. Ciclo de ejecución
• La unidad de control obtiene la próxima instrucción
de memoria usando el “contador de programa” (o RPI)
que dice en que dirección esta la próxima instrucción.
19. Ciclo de ejecución
• La instrucción es decodificada a un lenguaje que
entiende la ALU (unidad aritmética lógica).
20. Ciclo de ejecución
• Cada operando requerido para ejecutar es obtenido de
la memoria principal y ubicado en registros dentro de la
CPU.
21. Ciclo de ejecución
• La ALU ejecuta la instrucción y coloca los resultados en
registros o en memoria.
22. 1.3.3. Tipos de Operaciones
• 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
•
•
•
23. 1.3.4. Computadora de Von Neumann/Turing:
EL IAS
• Concepto de Programa Almacenado
• La memoria principal almacena los datos y los
programas
• El ALU opera con datos binarios
• La unidad de control interpreta instrucciones desde
la memoria y los ejecuta
• El equipamiento de entrada y salida opera mediante
la unidad de control
• Princeton Institute for Advanced Studies
• IAS
• Completado 1952
25. 1.3.4.2. El IAS: Detalles del Formato de Instrucciones
• 1000 x 40 bits por palabra
• Número binario
• 2 x 20 bits de instrucciones
0 1 39
0 8 19 20 28 39
Instrucción de Izquierda Instrucción de Derecha
Codop Codop
Dirección Dirección
26. 1.3.4.3. El IAS: Detalles de los Registros
• Juego de registros (almacena en CPU)
- Registro de Memoria Buffer MBR
- Registro de Dirección de Memoria MAR
- Registro de Instrucciones IR
- Registro de Instrucción Buffer IBR
- Contador de Programa PC
- Acumulador AC
- Multiplicador Cociente MQ
28. 1.3.4.5. El IAS: Detalles del Ciclo de Instrucción
• El IAS opera ejecutando repetidamente un Ciclo de Instrucción, como
se puede ver en la siguiente figura, cada ciclo de instrucción consta de
dos subciclos.
• Durante el ciclo de captación, el Codop de la siguiente instrucción es
cargado en el IR, y la parte que contiene la dirección es almacenada
en el MAR, esta instrucción puede ser captada desde el IBR, o puede
ser obtenida de la memoria cargando una palabra en el MBR, y luego
en IBR, IR y MAR.
• Una vez que el Codop esta en el IR, se lleva a cabo el ciclo de
ejecución. Los circuitos de control interpretan el Codop y ejecutan la
instrucción, enviando las señales de control adecuadas para provocar
que los datos se transfieran o que la ALU realice una operación
34. ructura
AC y MQ:
Accumulator y Multiplier
Quotient
Se emplean para almacenar
operandos y resultados de operaciones de
la ALU temporalmente. Por ejemplo, el
resultado de multiplicar dos números de 40
bits es un número de 80 bits; los 40 bits
más significativos se almacenan en AC y los
menos significativos se almacenan en MQ.
39. 1.4. Buses
• Una vía comunicación que conecta 2
más dispositivos
En general “broadcast” (todos lo ven)
En general agrupados
– Varios canales en un grupo
o
•
•
– Ej: Data bus de 32 bits, son 32 canales de
bit
1
40. 1.4.1. Bus de Datos
• Transfieren información
• Su tamaño es un punto clave
performance del sistema
– 8, 16, 32, 64 bits
en la
41. 1.4.2. Bus de Direcciones
•
•
Identifican la fuente o destino de un dato
Ej: la CPU necesita leer una instrucción
(dato) de una locación en memoria
• Su tamaño
máxima de
– Ej: el Intel
determina la capacidad
memoria del sistema
8080 tiene 16 bit => 64k de espacio
direccionable
42. 1.4.3.- Bus de Control
• Control y sincronización
– Señal de lectura escritura a memoria
– Señales del reloj
– Solicitud de interrupción
43. 1.5. Modelos no Von Neumann
• Cuello de von Neumann
– El procesador ejecuta una instrucción por vez…
– Comunicación con Memoria y E/S empeoran la cosas..
• Mejoras:
– Buses especializados
– Interrupciones
– Unidades de punto flotante
– Caches,
– Pipelines
• Otro enfoque: apartarse de la arquitectura clásica de von
Neumann.
• Agregar procesadores es una posibilidad…
44. Modelos no von Neumann
• A finales de los 60’ los sistemas de computo
“high-performance” fueron equipados con
procesadores duales para mejorar su
desempeño.
• En los 70’ supercomputadoras con 32
procesadores.
• En los 80’ con 1000 procesadores
• En 1999, IBM anuncio su sistema “Blue
Gene” que contiene aprox. 1 millón de
procesadores.
45. Modelos no Von Neumann
• El procesamiento paralelo es una de las
formas de mejorar el poder de cómputo.
• Otras ideas más radicales:
– Computadoras genéticas
– Computadoras cuánticas
– Sistemas Dataflow.
46. 1.6. La jerarquía de niveles de una computadora
• Una computadora es mucho más que
chips.
• Para que la computadora haga “algo”
necesita software
• Para escribir programas complejos se
suele dividir el problema en módulos
que resuelven problemas mas simples
• En las computadoras
– Varios niveles de máquinas “virtuales”
47. Jerarquía de niveles
virtual que abstrae a las
“interpretan” sus
inferior para implementarlas.
circuitos terminan haciendo el
• Cada capa es una máquina
maquina del nivel inferior.
• Las máquinas, en su nivel,
instrucciones particulares,
utilizando servicios de su capa
• En última instancia los
trabajo…
48. Jerarquía de niveles
• Level 6: Nivel Usuario
– Ejecución de programas e interfaces de usuario.
– Pensamos en terminos de la aplicación que se
ejecuta
• Level 5: Lenguajes de alto nivel
– El nivel donde interactuamos cuando escribimos
programas en Haskell, C, Java, etc.
– Pensamos el algoritmos, TADs, etc.
49. Jerarquía de niveles
• Level 4: Nivel de Lenguaje Ensamblador
– Lenguaje ensamblador, en general producido por
compiladores, o escrito directamente por programadores.
– Muy cercano a la arquitectura de la computadora.
• Level 3: Nivel del software del Sistema
– Controla la ejecución de los procesos del sistema.
– Protege los recursos.
– Brinda servicios para acceder a dispositivos de E/S
– Muchas instrucciones en Assembler pasan este nivel sin
modificación.
50. Jerarquía de niveles
• Level 2: Nivel del Lenguaje de máquina
– T
ambién conocido como nivel ISA
(Instruction Set Architecture).
– Consiste en las instrucciones particulares
para la arquitectura de la maquina.
– Los programas escritos en lenguaje de
maquina no necesitan compilación ni
ensamblado.
51. Jerarquía de niveles
• Level 1: Nivel de Control
– La unidad de control (UC) decodifica y ejecuta
instrucciones y mueve datos a traves del
sistema.
– Puede ser microprogramada o “cableada”.
• Un microprograma es un programa escrito en un
lenguaje de bajo nivel que puede ser
implementado enl hardware.
• Las UC “cableadas” tienen hardware que ejecuta
directamente las instrucciones en codigo de
maquina
53. Jerarquía de niveles
• Level 0: Nivel de Lógica Digital
– Aquí encontramos los circuitos digitales
(chips).
– Son básicamente compuertas y cables.
– Implementan la lógica matemática de los
niveles superiores.
54. 1.7. Arquitectura Harvard
• La arquitectura Harvard se caracteriza porque existen, a diferencia de
la von Neumann, dos unidades de memoria separadas: una para los
datos y otra para las instrucciones
55. • Muchas veces se presenta la arquitectura Harvard como algo diferente
de la arquitectura von Neumann. Sin embargo en el fondo no cambia la
esencia de la von Neumann: siguen existiendo “programas” formados
por una secuencia lógica de “instrucciones” las que son ejecutadas por
una “CPU”.
• Actualmente muchos procesadores implementan una arquitectura
Harvard modificada, que consiste en mantener ciertos caminos
separados y paralelos para acceder a las instrucciones en forma
simultánea con los datos, pero permitiendo que los datos y las
instrucciones están almacenados en una memoria común. Los detalles
de estas implementaciones se verán más adelante en el curso.
56. Arquitecturas (a) Von Neumann
y (b) Harvard. La arquitectura
von Neuman utiliza una
memoria única que se conecta a
la CPU mediante los buses de
direcciones (BDIR), datos (BDAT)
y control (BCON), La
Arquitectura Harvard utiliza
memorias separadas para
instrucciones y datos, las cuales
se conectan a la CPU mediante
los buses de direcciones de
instrucciones (BDIR-I) y de
direcciones de datos (BDIR-D),
los buses de instrucciones
(BINST) y de datos (BDAT) y los
buses de control de
instrucciones (BCON-I) y de
datos (BCON-D).