Download informática seccion 1 - Bienvenidos al Departamento de

Document related concepts
no text concepts found
Transcript
ARQUITECTURA
DE COMPUTADORES II
ICI-223
Ing Civil Informática
Depto de Computación e Informática
1
Preliminares
Ing. Rodrigo Cofré Loyola
Profesor Auxiliar
Departamento de Computación e
Informática
Clases
Lunes 16:50 – 17:55 Hrs – Sala 28
Viernes 10:50 – 12:55 Hrs – Sala 35
Tutorias:
Miércoles 10:50 – 12:50 Hrs
Viernes 14:30 – 16:30 Hrs.
2
Descripción y Objetivo

El curso está orientado a que el
alumno obtenga una visión técnica de la
organización y arquitectura de los
computadores modernos mediante el
análisis, diseño y evaluación de los
niveles de abstracción en la cual están
organizados
los
sistemas
computacionales modernos.
3
Descripción y Objetivo
Se diseñan y simulan en computador
arquitecturas básicas dedicadas y
generalizadas,
y
se
resuelven
problemas de programación utilizando
lenguajes de bajo nivel de las
arquitecturas estudiadas.
 En conjunto con las clases expositivas,
se realizarán clases de ejercitación
Laboratorios y resolución de tareas
grupales.

4
Temario Inicial
1 Introducción
 2 Organización del Computador
 3 Sistemas de Memoria
 4 Interfaces y Comunicaciones
 5 Organización Funcional
 6 Multiprocesadores y Arquitecturas
Alternativas
 7 Aumento de Desempeño
 8 Arquitecturas Contemporáneas

5
Metodología
Autoaprendizaje - Lecturas
 Clases Expositivas – Trabajos grupales
 Laboratorios:

Ensamblador (6-7) + Circuitos Digitales
(Proyecto-Etapas).
 Hardware y configuración PC ()
 Trabajo Grupal de Investigación (grupos
semestrales)

Página WEB: http://www.eici.ucm.cl/
 [email protected]

6
Controles

Prueba 1: 10 Octubre 2008

Prueba 2: 21 Noviembre 2008

Prueba Acumulativa: 12 Diciembre 2008
7
Ayudantías: Ensamblador
Cupos 25 Alumnos por Sección
2 Secciones
Inscripciones con Profesor
Horarios:
Sección 1: Miércoles 15:30 – 16:30
Sección 2: Miércoles 16:55 – 17:50
8
Laboratorio Ensamblador+Proyecto
27 Octubre al 07 Noviembre 2008
Lab: 27/10 - 29/10 – 31/10 - 03/11 -05/11
+ Consultas 07/11
Horario 15:35 Hrs – 17:50 Hrs
Cupo 3 Grupos Por Laboratorio
Máximo 4 alumnos por Grupo
Inscribirse con el Profesor
9
Observaciones
La inasistencia a un test será
evaluada con un 1 y no se
recuperará. Los tests pueden o no
ser avisados con anticipación.
 Se exige el 80% de asistencia a
clases, y el 100% a los laboratorios,
en caso contrario reprobará la
asignatura con la nota mínima.

10
Bibliografía Mínima
[Morris1991] Morris M, “Ingeniería
Computacional: Diseño del Hardware”,
prentice Hall, 1991.
 [Stalling2006]
Stalling
Williams,
“organización
y
arquitectura
de
Computadoras”, 7ª Edición, Pearson
Educación, 2006.(7 Ejemplares)
 [Paterson1995]
Paterson
D,
“organización y diseño de computadores:
La interfaz Hardware/Software”, Mc
Graw-Hill, 1995.

11
Bibliografía Mínima
[Tanenbaum2000] Tanenbaum A,
“Organización de Computadores: Un
enfoque Estructurado”, 4ta Edición,
Prentice-Hall, 2000. (10 Ejemplares)
 [Martínez2000] Martínez J, “Organización
y Arquitectura de Computadores”,
Prentice-Hall, 2000.
 [Ujaldon2003] Ujaldon Martínez Manuel,
“Arquitectura del PC”, Volumen I a IV,
Editorial Ciencia-3, Madrid, 2003.

12
Bibliografía Mínima

[Hennessy2002] Patterson, “Computer
Architecture: A Quantitative Approach”,
3era Edition, Morgan-Kaufmann, 2002.
13
Bibliografía Complementaria

[Ujaldon2005] Ujaldon Martínez Manuel,
“Procesadores Gráficos para PC”, Editorial
Ciencia-3, Madrid, 2005.

[Ujaldon2007] Ujaldon Martínez Manuel,
“Arquitectura del PC: 1400 cuestiones y
problemas resueltos”, Editorial Ciencia-3,
Madrid, 2007.
14
Metodología



Desarrollo de clases expositivas de parte del
profesor.
Desarrollo de laboratorios (asistencia
obligatoria).
Los alumnos deberán participar activamente
en clases mediante la proposición de
soluciones a problemas planteados por el
profesor u otros alumnos.Se propiciará el
trabajo en grupo, de manera que los
alumnos colaboren entre sí, tanto en clases
teóricas como prácticas.
15
[ Introducción ]¿Qué es un computador?
DEFINICIÓN DE LA RAE:
Máquina electrónica, analógica o digital,
dotada de una memoria de gran capacidad
y de métodos de tratamiento de
información, capaz de resolver problemas
matemáticos y lógicos mediante la
utilización automática de programas
informáticos.
Se acepta computador o computadora.
16
Präsentat
ion
[ Introducción ]¿Qué es un computador?
DEFINICIÓN DE Stallings:
Máquina digital electrónica programable
para el tratamiento automático de la
información, capaz de recibirla, operar
sobre
ella
mediante
procesos
determinados y suministrar los resultados
de tales operaciones.
17
Präsentat
ion
Introducción
“Distinguir entre Arquitectura y organización”
 Arquitectura se refiere a los atributos de un
sistema que son visibles para un
programador – Impacto Directo en la
ejecución lógica de un programa: Conjunto
de instrucciones, número de bits usados en
la representación de Datos (números,
caracteres, etc), los mecanismos de
entrada Salida, y las técnicas para
direccionamiento de memoria.
18
Introducción

La organización de Computadores se
refiere a las unidades funcionales y sus
interconexiones que dan lugar a
especificaciones arquitectónicas.

Detalles Hardware transparentes al
programador tales como señales de
control, interfaces entre el computador y
los periféricos y la tecnología de Memoria
usada.
19
Funcionamiento
[ Introducción ]
Transferencia
de datos
Control
Almacenamiento
de datos
Procesamiento
de datos
20
Präsentat
ion
Funcionamiento
[ Introducción ]
TRANSFERENCIA
Transferencia
de datos
Control
Almacenamiento
de datos
Procesamiento
de datos
21
Präsentat
ion
Funcionamiento
[ Introducción ]
ALMACENAMIENTO
Transferencia
de datos
Control
Almacenamiento
de datos
Procesamiento
de datos
22
Präsentat
ion
Funcionamiento
[ Introducción ]
PROCESAMIENTO
CON USO DE
MEMORIA
Transferencia
de datos
Control
Almacenamiento
de datos
Procesamiento
de datos
23
Präsentat
ion
Funcionamiento
[ Introducción ]
PROCESAMIENTO
CON USO DE
MEMORIA Y
TRANSFERENCIA
Transferencia
de datos
Control
Almacenamiento
de datos
Procesamiento
de datos
24
24
Arquitectura de Computadores
Präsentat
ion
Estructura
[ Introducción ]
Computer
Peripherals
Central
Processing
Unit
Computer
Main
Memory
Systems
Interconnection
Input
Output
Communication
lines
25
25
Arquitectura de Computadores
Präsentat
ion
Estructura
[ Introducción ]
CPU
Computer
Arithmetic
and
Login Unit
Registers
I/O
System
Bus
CPU
Internal CPU
Interconnection
Memory
Control
Unit
26
26
Arquitectura de Computadores
Präsentat
ion
Estructura
[ Introducción ]
Control Unit
CPU
Lógica
Secuencia
ALU
Internal
Bus
Control
Unit
Registros y
Decodificadores
De la Unidad de
Control
Registers
Memoria
De Control
27
27
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Generación
Años
0
hasta 1945
Características
Sistemas mecánicos y electro-mecánicos
1
1945 – 1955 Tubos al vacío, tableros
2
1955 – 1965 Transistores y sistemas por lotes
3
1965 – 1980 Circuitos integrados y multiprogramación
4
desde 1980
Computadores personales
28
28
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
La generación 0 (hasta 1945)
• Ábacos
• Calculadoras mecánicas.
• Sistemas basados en relés.
29
29
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Primera Computadora Digital (mecánica)
Usada para calcular tablas numéricas,
calculaba cualquier función
algebraica y almacenaba números. Se
programaba con tarjetas.
Charles Babbage y Ada Lovelace.
Difference Engine (1822)
30
30
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Usada para computar tablas
matemáticas y de
navegación.
Harvard Mark I (1930)
31
31
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
La primera generación (1940-1955)
• Luego se utilizan tubos al vacío
• Eran enormes (20.000 tubos) y lentas (un ciclo  1 seg.)
• Un solo grupo diseñaba, construía, programaba, operaba
y mantenía cada máquina.
• Toda la programación se hacía en lenguaje máquina
(alambrando tableros por ejemplo).
• No existían los sistemas operativos.
• En 1950 se introducen las tarjetas perforadas.
32
32
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
Usada en la Segunda Guerra
Mundial para decifrar los
mensajes de los alemanes.
Colossus (1945)
33
33
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
ENIAC (1946)
34
34
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
UNIVAC (1946)
35
35
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Primera máquina que
funcionó con un
programa almacenado.
John von Neumann,
Princeton
Manchester Mark I (1948)
36
36
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
La segunda generación (1955-1965)
• Se introducen los transistores.
• Distinción
entre
diseñadores,
constructores,
programadores, operadores y personal de mantenimiento.
• Mainframes en salas acondicionadas.
• Se escribían los programas en papel, luego se perforaban
las tarjetas, cuarto de entrada, café, esperar la salida.
• Los operadores toman las tarjetas del programa y
colocan también los del compilador.
• Se crea el proceso por lotes que agrupa trabajos.
37
37
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Transistor (1947)
38
38
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Máquina que funcionaba
con tarjetas.
JOHNNIAC (1954)
39
39
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Tarjeta sin perforar
40
40
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Línea de programa
A = 1 5 6
Tarjeta perforada
41
41
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Primera máquina
comercial con hardware
de punto flotante
(5kFLOPS).
IBM 704 (1955)
42
42
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Primer compilador
FORTRAN para IBM 704
(Formula Translator)
FORTRAN (1957)
43
43
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
4KB de memoria expandible
a 16KB.
Buena para leer tarjetas,
copiar cintas e imprimir
resultados, pero mala para
cáclulos numéricos.
Se utilizaba con fines
comerciales (bancos, etc.)
IBM 1401(1959)
44
44
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
IBM 1401: Centro de Cómputo
45
45
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Buena para hacer cómputos,
se utilizaba con fines
científicos.
IBM 7094
46
46
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
a)
b)
c)
d)
e)
f)
IBM 1401 – IBM 7094:
los programadores llevan tarjetas
La 1401 lee un lote de tarjetas y los graba en la cinta
Un operador lleva la cinta a la 7094
La 7094 realiza los cómputos
Un operador lleva la cinta a una 1401
La 1401 imprime las salidas
47
47
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Fortran Monitor System
Trabajo en FORTRAN
48
48
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
ERMA, General Electric (1959)
49
49
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
Primer video-juego.
Estudiantes de MIT (1962)
50
50
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
Invención del mouse (1964).
51
51
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
La tercera generación (1965-1980)
• Se introducen los circuitos integrados, lo
cual es una gran ventaja en el precio y
desempeño del computador.
• Se introduce el sistema IBM 360 altamente
compatible.
• Se introduce la multiprogramación
• Se introducen los discos duros.
• Se introduce el tiempo compartido entre
usuarios.
52
52
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Software compatible
con IBM 7094, 1401
entre otros.
IBM 360 (1964)
53
53
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Circuitos integrados
54
54
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
IBM 360
55
55
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
GE 625 (1965)
56
56
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
4K de palabras de 18
bits.
US$ 120.000 < 5% del
precio de la IBM 7094
DEC PDP-1 (1961)
57
57
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
Fundación de Intel (1968)
58
58
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
#include
main()
{
for(;;)
printf("Hello world..."\n);
}
Laboratorio Bell desarrolla el lenguaje C
(1972)
59
59
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
MULTICS (1976)
60
60
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
PDP-11/70 (1974)
61
61
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
De MULTICS nace UNICS (UNiplexed Information and
Computing Service) luego se cambió a UNIX.
Era un sistema abierto lo que generó un caos.
IEEE generó un estándar llamado POSIX.
62
62
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
Primer microprocesador en un chip
Intel 4004 (1971)
63
Präsentat
ion
[ Introducción ]
Historia
Intel 4004 (1971)
64
Präsentat
ion
Historia
[ Introducción ]
Steve Jobs & Steve Wosniak
Appel I (1976)
65
65
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
ALTAIR 8800 (1975)
66
66
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Apple II (1978) US$ 1930
67
67
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Microsoft (1978)
68
68
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
La cuarta generación (desde 1980)
• Usan LSI (large scale integration).
• Intel 8080 (8 bits) -> IBM PC (1980) con DOS.
• Intel 80286 (1983), 80386 (1985) y 80486 (1989).
• GUI (graphical User Interface) -> Macintosh
• Microsoft adopta GUI y desarrolla Windows (sobre DOS)
• Microsoft saca Windows 95 como sistema operativo,
luego Windows 98 (basado en 16 bits), Windows NT (32
bits) con ideas de VAX VMS.
• Windows NT 5.0 se transformó en Windows 2000
• Windows 98 se transformó en Windows Me.
• Windows XP
69
69
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
La cuarta generación (desde 1980)
• UNIX se mantiene más fuerte en computadores potentes
• Se basa en chips RISC de alto desempeño.
• Pentium Liunx es una alternativa a Windows
• Unix saca X Windows basado en GUI
• Se introducen sistemas operativos en red (varios
computadores conectados) y sistemas operativos
distribuidos (múltiples procesadores).
• continuará…
70
70
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
IBM PC (1981)
71
71
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Commodore 64 (1982)
72
72
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Disco Duro Memorex 10MB (1983)
73
73
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
#include
main()
{
char *s1, *s2;
par{
s1 = "Hello";
s2 = "world\n";
}
cout << s1 << s2 << endl;
return(0);
}
AT&T y Laboratorio Bell desarrollan C++
(1983)
74
74
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
IBM PC/AT (1983)
75
75
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Sony introduce el CD (1984)
76
76
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Commodore Amiga (1985)
77
77
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Macintosh (1984)
78
78
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
X Windows para UNIX (1984)
79
79
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Sparcstation (1989)
80
80
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
“Estoy construyendo un sistema
operativo gratuito (no es más que un
hobby, no será una cosa grande y
profesional como GNU) para clónicos
AT (con un 386 o 346).”
Linus Torvalds, Helsinki, Oct. 91
Nace LINUX
81
81
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Intel Pentium (1993)
82
82
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Appel Newton (1993)
83
83
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Windows 95 (1995)
84
84
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Power Macintosh (1994)
85
85
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
86
86
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
LENGUAJES, NIVELES Y MÁQUINAS
VIRTUALES.
Modelo Básico y necesidad de
Modelo Jerárquico [Tanenbaum2000]
87
LENGUAJES, NIVELES Y
MÁQUINAS VIRTUALES
Controlador de disco flexible. 16
comandos,
c/u
se
especifica
cargando entre 1 y 9 bytes en un
registro del dispositivo. Comandos
de lectura, escritura, movimiento
del brazo, formateo de pistas.
Inicialización,
detección,
reestablecimiento, recalibración del
controlador y las unidades de disco.
88
LENGUAJES, NIVELES Y
MÁQUINAS VIRTUALES
Comandos básicos son READ y
WRITE:
requieren
13
parámetros
empacados en 9 bytes. Los parámetros
especifican: Dirección del bloque de
disco, número de sectores por pista,
modo de grabación empleado, etc.
(Evitar la programación del HW, a
través de máquinas virtuales con
lenguajes
de
programación
más
cercanos a las personas.)
89
MÁQUINAS MULTINIVELES
ACTUALES
 Nivel
0: N. de lógica digital.
 Nivel 1: N. de microprogramación o
microarquitectura.
 Nivel 2: N. de máquina convencional,
de arquitectura del set de
instrucciones.
 Nivel 3: N. de sistema operativo.
 Nivel 4: N. de lenguaje ensamblador.
 Nivel 5: N. de lenguajes orientados a
problemas
90
91
92
Interpretes / Traductor
(Tanenbaum2000)
Interpete:
 Traductor:

93
Nivel 0: Nivel de lógica digital.

Corresponde al HW de la máquina.
Está conformado por memorias RAM,
memorias ROM, registros, unidades
aritmético lógicas, unidad de control,
buses de datos, buses de direcciones,
bus de control, compuertas lógicas,
fuentes de poder, etc.
94
Nivel 0: Nivel de lógica digital.
Bajo este nivel existe un nivel
denominado nivel de dispositivo,
conformado por los elementos básicos
con los cuales están construidos las
compuertas lógicas, a saber, los
transistores. El funcionamiento de los
transistores, o de los semiconductores
en general cae en el campo de la física
de estado sólido.
95
Nivel 1: Nivel de microarquitectura
(ó microprogramación).
El nivel de microarquitectura está
conformado por una máquina virtual
denominada
microprograma.
El
microprograma
es
un
programa
interprete de las instrucciones de
salida
del
nivel
de
máquina
convencional, que generalmente se
implementa en firmware.
96
Nivel 1: Nivel de microarquitectura
(ó microprogramación).
La función del microprograma es
generar los valores lógicos (0 y 1) de las
líneas de control del HW de la máquina,
que junto con un secuenciamiento
adecuado ejecutan sobre el Hardware
(Hw) las instrucciones del nivel
anterior.
97
Nivel 2: Nivel de máquina
convencional.

Este nivel se denomina también nivel
de
arquitectura
del
set
de
instrucciones.
En este nivel se definen cuestiones
como el set de instrucciones de
lenguaje de máquina, el formato de las
instrucciones,
las
formas
de
direccionamiento,
el
largo
y
funcionalidad de los registros (de
propósito general y específico), etc.
98
Nivel 2: Nivel de máquina
convencional.

Los manuales de referencia de
lenguaje de máquina de los fabricantes
de un computador, tratan de la
máquina virtual de nivel 2. El set de
instrucciones de lenguaje de máquina
describe las instrucciones que el
microprograma lleva a cabo sobre el
Hw.
99
Nivel 3: Nivel de sistema
operativo.

El nivel de SO está conformado por un
programa denominado sistema operativo.

El sistema operativo puede visualizarse
de dos formas:

SO como máquina extendida: Presenta al
programador una máquina extendida o
máquina virtual, con un conjunto de
instrucciones de alto nivel, con lo cual se
configura una abstracción sencilla de los
elementos de una computadora.
100
Nivel 3: Nivel de sistema
operativo.

SO como administrador de recursos: Los
recursos de una computadora son:
Procesadores, memoria, dispositivos de
E/S. El SO asegura el correcto uso de los
recursos de la computadora entre
programas que piden el acceso a estos
recursos que son compartidos.
101
Nivel 3: Nivel de sistema
operativo.
 Ejemplo:
Un SO de red, ordena el
uso de un recurso compartido como
una impresora por los diferentes
usuarios. El nivel de sistema
operativo es un nivel híbrido. La
mayoría de las instrucciones de este
nivel están presente en el nivel 2,
por
lo
que
son
ejecutadas
directamente por el microprograma.
102
Nivel 3: Nivel de sistema
operativo.

Además existen otras instrucciones
que tiene que ver con cuestiones
como
la creación, ejecución y
comunicación
de
procesos
(programa en ejecución).
103
Nivel 3: Nivel de sistema
operativo.
Las
funciones
del
sistema
operativo son básicamente 4:
 Administración
de procesos,
 Sistema de archivos,
 Administración de memoria,
 Administración de los dispositivos
de E/S.
104
Nivel 4: Nivel de lenguaje
ensamblador.
Este
nivel está conformado por un
programa
traductor
denominado
ensamblador. El lenguaje ensamblador
es una forma simbólica de los lenguajes
subyacentes.
En general corresponde a una forma
simbólica del lenguaje de máquina
convencional o lenguaje de máquina que
es un lenguaje binario.
105
Nivel 4: Nivel de lenguaje
ensamblador.
Los
símbolos
del
lenguaje
ensamblador son típicamente ADD,
SUB, MUL, DIV, que representan
operaciones como sumar, restar,
multiplicar y dividir.
La
tarea del ensamblador en una
primera instancia es traducir el
lenguaje simbólico a lenguaje de
máquina.
106
Nivel 4: Nivel de lenguaje
ensamblador.
El
programa
ensamblador
como
traductor toma el programa fuente
(programa
con
instrucciones
en
símbolos) y lo convierte a un programa
objeto, que es el programa que
realmente se ejecuta.
107
Nivel 4: Nivel de lenguaje
ensamblador.
Cuando
se ejecuta el programa objeto
hay tres niveles presentes:
El
nivel de microprogramación,
el nivel de máquina convencional y
el nivel de sistema operativo.
108
Nivel 4: Nivel de lenguaje
ensamblador.
En
tiempo de ejecución hay 3 programas
presentes en memoria:
El
programa objeto del usuario,
el sistema operativo y
el microprograma.
109
Nivel 5 y 6
Nivel 5: Nivel de lenguajes orientados a
problemas.
 Este
nivel está constituido por
programas traductores denominados
compiladores.
 Los
lenguajes de nivel 5 son
denominados de alto nivel dado que
son muy cercanos a las personas.
Ejemplos de estos lenguajes son el
Pascal, el Fortran, C, Cobol, entre
otros.
110
Nivel 5 y 6
Nivel 6 y superiores: Aplicaciones.

Este nivel provee de máquinas
virtuales orientadas a aplicaciones
específicas.
Entre
las
máquinas
virtuales presentes en este nivel están
las planillas de cálculo, procesadores
de texto, etc.
111
Otras Clasificaciones


La arquitectura Von Newman sigue el ciclo de
ejecución secuencial de instrucciones (una a
una) que opera sobre datos escalares. No
obstante hay otros modelos de arquitectura.
La clasificación más aceptada desde el punto de
vista de la estructura del Computador, es la de
“Flynn”, la cual se realiza según el número de
Instrucciones o datos implicados en cada ciclo
de reloj
112
Clasificaciones Arquitecturas
SISD (Single Instruction – Single Data)
construccion de procesadores
Superescalares, que arrancan varias
instrucciones simultaneamente, aunque se
siguen considerando SISD, como los
PowerPC y los Intel. (Von Newman)
 SIMD (Single Instruction – Multiple Data):
Computadores vectoriales

113
114
Taxonomía de Flynn
MIMD (Multiple Instruction – Multiple
Data): Multiprocesadores con Memorias
Compartidas y los Multicomputadores con
Memoria Independiente. Procesadores
Multinucleo, que son Chip con múltiples
procesadores en su interior.
Máquinas MIMD son Core Duo (dos
procesadores) y los Core Quad (cuatro
procesadores), también de Intel, donde
cada
procesador
es
a
su
vez
superescalar.

115
Taxonomía de Flynn
SISD (Single Instruction – Single Data)
construccion de procesadores
Superescalares, que arrancan varias
instrucciones simultaneamente, aunque se
siguen considerando SISD, como los
PowerPC y los Intel.
 MISD (Multiple Instruction – Simple Data):
Diversas instrucciones operan sobre un
único Dato. Son las más alejadas de las
arquitecturas convencionales.

116