1. UNIVERSIDAD NACIONAL DE SANTIAGO DEL ESTERO
Facultad de Ciencias Exactas y Tecnologías
Departamento de Informática
ASIGNATURA
Organización
del
Computador
#QuedateEnCasa#Estudia#NoSonVacaciones
2. Arquitectura y Organización de un
computador tipo Von Newmann
John von Neumann
28/12/190328/12/1903, Budape
st
8/02/1957, Estados Unidos
4. Arquitectura - Organización
del Computador
Organización
Cómo son implementados Señales de Control,
Interfases, Tecnología de Memoria.
Ej. ¿Existe una unidad de multiplicación del
hardware o se realiza por sumas repetidas?
5. ORGANIZACIÓN DE UN COMPUTADOR
MEMORIA
CPU
SUBSISTEMA
E/S
Bus
Procesamiento de datos, Almacenamiento de datos
Movimiento de datos y Control
7. Ciclo de Instrucción
(flujo de la información)
EXECUTE
(1) UC obtiene mediante el registro
PC la próxima instrucción de memoria
FETCH
(3) La UC decodifica la instrucción
DECODE
(4) La UC ejecuta la instrucción
(puede usar o no la ALU)
(2) Se incrementa el PC
UC:Unidad de Ctrol, PC: Contador de Programa, UAL: Unidad Aritmética - Lógica
8. Arquitectura y Organización del
computador
Arquitectura son aquellos atributos visibles
al programador.
! Tipo de Datos: Como se almacenan?, Como se acceden?
Cuantos bits se usan para representar los datos?
Mecanismos de E/S, Técnicas de direccionamiento.
! Como se codifican las operaciones? Cual es el conjunto de
instrucciones
Instruction Set Architectura (ISA)
Ej. ¿Existe la instrucción de multiplicación?
10. B
(0) LÓGICA DIGITAL
(1) MICROARQUITECTURA
(2) CONJUNTO DE INSTRUCCIONES
(3) SISTEMA OPERATIVO
(4) LENGUAJE ENSAMBLADOR
(5) LENGUAJES
ORIENTADOS A PROBLEMAS
C
i
r
c
u
i
t
o
s
d
i
g
i
t
a
l
e
s
H
a
r
d
w
a
r
e
-
m
i
c
r
o
c
ó
d
i
g
o
I
S
A
C
ó
d
i
g
o
L
i
b
r
e
r
í
a
C
ó
d
i
g
o
a
s
e
m
b
l
e
r
J
a
v
a
,
C
+
+
,
F
o
r
t
r
a
n
11. ◆ Un computador digital es una máquina que puede
resolver problemas ejecutando ciertas instrucciones.
◆ Un programa es una secuencia de instrucciones.
◆ Los circuitos electrónicos de cada computadora
reconocen un conjunto limitado de instrucciones muy
simples.
ENFOQUE MULTINIVEL (1)
12. ENFOQUE MULTINIVEL (2)
Lenguaje de máquina es el conjunto de instrucciones
básicas de una computadora.
Instrucciones primitivas:
•Sumar dos numeros
•Verificar si un nro. Es igual, menor ... que otro.
•Copiar dato.
Lenguaje simples en congruencia con el uso y
desempeño del computador (reducir complejidad y
costo circuitos).
13. ◆ Estructurar el computador con conjunto de
abstracciones.
PROBLEMA
◆ Utilizar lenguaje máquina es difícil y
tedioso.
ORGANIZACIÓN
ESTRUCTURADA DE
COMPUTADORES
ENFOQUE
REDUCIR LA
COMPLEJIDAD Y
DISEÑO
SISTEMÁTICO Y
ORGANIZADO
14. ◆ Solución 1:
◆ Si Lo el lenguaje máquina
◆ Crear L1 un lenguaje más fácil de utilizar
SOLUCIÓN
Programa en L1
Programa en Lo
C/ Instrucción L1
[Inst.1 Lo + Inst.1 Lo + . . . + Inst.n Lo ]
Traducción
Ejecuta Programa en Lo
15. ◆ Solución 2:
◆ Si Lo el lenguaje máquina
◆ Crear L1 un lenguaje más fácil de utilizar
SOLUCIÓN
Programa en L1
Programa en Lo
C/ Instrucción L1
[Inst.1 Lo + Inst.1 Lo + . . . + Inst.n Lo ]
Interpretación
• Lee
• Examina
• Ejecuta
16. ◆ Se puede imaginar la
existencia de una
máquina virtual cuyo
lenguaje de máquina es
L1
.
◆ Se pueden crear L2
, L3
...
cada uno más fácil de
utilizar.
Máquina Virtual
nivel n
nivel 2
nivel 1
nivel 0
Mn
con Ln
M2
con L2
M1
con L1
M0
con L0
. . .
17. ◆ Relación entre máquina
virtual y lenguaje
◆ Una máquina define un
lenguaje (instrucciones
que puede ejecutar).
◆ Computadora con n
niveles puede verse
como n máquinas
virtuales.
Máquina Virtual
nivel n
nivel 2
nivel 1
nivel 0
Mn
con Ln
M2
con L2
M1
con L1
M0
con L0
. . .
18. Nivel 0
NIVEL DE LENGUAJES
ORIENTADOS A PROBLEMAS
Nivel 5
TRADUCCIÓN
(compilador)
TRADUCCIÓN
(ensamblador)
INTERPRETACIÓN
PARCIAL
(sistema operativo)
INTERPRETACIÓN
(microprograma)
EJECUCIÓN
Los microprogramas son
ejecutados directamente
por el hardware
MAQUINA MULTINIVEL ACTUAL
NIVEL DE LÓGICA DIGITAL
Nivel 1
NIVEL DE
MICROARQUITECTURA
Nivel 2
NIVEL DE CONJUNTO DE
INSTRUCCIONES
Nivel 3
NIVEL DE MÁQUINA DEL
SISTEMA OPERATIVO
Nivel 4
NIVEL DE LENGUAJE
ENSAMBLADOR
19. Nivel 0: nivel de lógica digital
◆ Es el hardware de la máquina.
◆ En este nivel:
◆ Puertas lógicas
◆ Circuitos integrados
◆ Circuitos combinacionales
◆ Circuitos aritméticos
◆ Relojes
◆ Memorias
◆ Microprocesadores
◆ Buses
• El nivel inferior sería el nivel de dispositivo.
20. Nivel 1: nivel de microarquitectura
◆ Existe un programa llamado microprograma.
◆ La función del microprograma es interpretar
las instrucciones del nivel 2.
◆ En algunas máquinas no existe el nivel de
microprogramación. (la ejecución se hace
directamente por hard)
21. Nivel 2: nivel de arquitectura
conjunto de instrucciones (ISA)
◆ El fabricante de computadores publica el
“Manual de referencia del lenguaje
máquina”.
◆ Las instrucciones del nivel 2 las interpreta el
microprograma.
◆ En las máquinas en las que no existe el nivel
de microprogramación, las instrucciones del
nivel de máquina son realizadas
directamente por los circuitos electrónicos.
22. Nivel 3: nivel del sistema operativo
◆ La mayoría de las instrucciones de este nivel
están también en el nivel 2 pero además tiene
un nuevo conjunto de instrucciones, (ej. una
organización diferente de la memoria,
posibilidad de ejecutar 2 o más programas ...
◆ Las nuevas instrucciones las interpreta el
sistema operativo.
◆ Las que son idénticas a las del nivel 2 las lleva
a cabo el microprograma.
23. Nivel 4: nivel del lenguaje
ensamblador
◆ Los niveles 4 y superiores son utilizados por los
programadores de aplicaciones.
◆ Los niveles inferiores están diseñados para ejecutar
los intérpretes y traductores de los niveles
superiores y son escritos por los programadores de
sistemas.
◆ El ensamblador es el programa que lleva a cabo la
traducción de un programa del nivel 4.
24. Nivel 5: nivel de lenguajes de
alto nivel
◆ Los lenguajes de alto nivel son más fáciles de
utilizar que los lenguajes de niveles inferiores.
◆ Son utilizados por los programadores de
aplicaciones.
◆ Los traductores de programas en lenguaje de
alto nivel pueden ser compiladores o
intérpretes.
25. MAQUINA MULTINIVEL ACTUAL
INTERPRETACIÓN PARCIAL (sistema
operativo)
TRADUCCIÓN
(compilador)
TRADUCCIÓN
(ensamblador)
INTERPRETACIÓN
(microprograma)
EJECUCIÓN
(hardware)
Nivel 0
NIVEL DE LENGUAJES
ORIENTADOS A PROBLEMAS
Nivel 5
NIVEL DE LÓGICA DIGITAL
Nivel 1
NIVEL DE
MICROPROGRAMACIÓN
Nivel 2
NIVEL DE CONJUNTO DE
INSTRUCCIONES
Nivel 3
NIVEL DE MÁQUINA DEL
SISTEMA OPERATIVO
Nivel 4
NIVEL DE LENGUAJE
ENSAMBLADOR
Lenguajes mas
Sofisticados
Sencillos para
la persona
Formado por
palabras,
abreviaturas
Lenguajes mas
sencillos
Simples para
el computador
Numérico
Programador
de
aplicaciones
Programador
de
sistemas
26. Evolución de los niveles
◆ Los primeros computadores digitales (años 40) sólo tenían
niveles (convencional y lógica digital).
◆ Los circuitos digitales eran voluminosos, poco confiables y
difíciles de construir.
◆ El nivel de microprogramación se añadió para:
◆ simplificar la electrónica
◆ facilitar la escritura de compiladores
◆ ejecutar los programas más rápidamente (ROM más
rápida que la RAM)
◆ en los 70 estaba plenamente difundido
◆ En los 50 aparecieron los ensambladores y compiladores.
◆ En los 60 aparece el sistema operativo.
27. Evolución de los niveles
◆ Cuanto más complicado el lenguaje máquina,
más grande, complicado y lento el
microprograma (ya que necesitan
procedimientos).
◆ La velocidad de la memoria RAM se aumentó con
el avance de la tecnología (memorias de
semiconductores).
◆ Es difícil escribir, depurar y mantener el
microcódigo.
◆ A principios de los 80 se elimina el nivel de
microprogramación para dar paso a las
máquinas RISC.