Download informática seccion 1 - Página Jimdo de maslogicamente

Document related concepts
no text concepts found
Transcript
¿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.
1
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.
2
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.
3
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.
4
Funcionamiento
[ Introducción ]
Transferencia
de datos
Control
Almacenamiento
de datos
Procesamiento
de datos
5
Präsentat
ion
Funcionamiento
[ Introducción ]
TRANSFERENCIA
Transferencia
de datos
Control
Almacenamiento
de datos
Procesamiento
de datos
6
Präsentat
ion
Funcionamiento
[ Introducción ]
ALMACENAMIENTO
Transferencia
de datos
Control
Almacenamiento
de datos
Procesamiento
de datos
7
Präsentat
ion
Funcionamiento
[ Introducción ]
PROCESAMIENTO
CON USO DE
MEMORIA
Transferencia
de datos
Control
Almacenamiento
de datos
Procesamiento
de datos
8
Präsentat
ion
Funcionamiento
[ Introducción ]
PROCESAMIENTO
CON USO DE
MEMORIA Y
TRANSFERENCIA
Transferencia
de datos
Control
Almacenamiento
de datos
Procesamiento
de datos
9
9
Arquitectura de Computadores
Präsentat
ion
Estructura
[ Introducción ]
Computer
Peripherals
Central
Processing
Unit
Computer
Main
Memory
Systems
Interconnection
Input
Output
Communication
lines
10
10
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
11
11
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
12
12
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
13
13
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
La generación 0 (hasta 1945)
• Ábacos
• Calculadoras mecánicas.
• Sistemas basados en relés.
14
14
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)
15
15
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Usada para computar tablas
matemáticas y de
navegación.
Harvard Mark I (1930)
16
16
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.
17
17
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
Usada en la Segunda Guerra
Mundial para decifrar los
mensajes de los alemanes.
Colossus (1945)
18
18
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
ENIAC (1946)
19
19
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
UNIVAC (1946)
20
20
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)
21
21
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.
22
22
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Transistor (1947)
23
23
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Máquina que funcionaba
con tarjetas.
JOHNNIAC (1954)
24
24
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Tarjeta sin perforar
25
25
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Línea de programa
A = 1 5 6
Tarjeta perforada
26
26
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Primera máquina
comercial con hardware
de punto flotante
(5kFLOPS).
IBM 704 (1955)
27
27
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Primer compilador
FORTRAN para IBM 704
(Formula Translator)
FORTRAN (1957)
28
28
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)
29
29
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
IBM 1401: Centro de Cómputo
30
30
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Buena para hacer cómputos,
se utilizaba con fines
científicos.
IBM 7094
31
31
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
32
32
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Fortran Monitor System
Trabajo en FORTRAN
33
33
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
ERMA, General Electric (1959)
34
34
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
Primer video-juego.
Estudiantes de MIT (1962)
35
35
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
Invención del mouse (1964).
36
36
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.
37
37
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Software compatible
con IBM 7094, 1401
entre otros.
IBM 360 (1964)
38
38
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Circuitos integrados
39
39
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
IBM 360
40
40
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
GE 625 (1965)
41
41
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)
42
42
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
Fundación de Intel (1968)
43
43
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
#include
main()
{
for(;;)
printf("Hello world..."\n);
}
Laboratorio Bell desarrolla el lenguaje C
(1972)
44
44
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
MULTICS (1976)
45
45
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
PDP-11/70 (1974)
46
46
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.
47
47
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
Primer microprocesador en un chip
Intel 4004 (1971)
48
Präsentat
ion
[ Introducción ]
Historia
Intel 4004 (1971)
49
Präsentat
ion
Historia
[ Introducción ]
Steve Jobs & Steve Wosniak
Appel I (1976)
50
50
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
ALTAIR 8800 (1975)
51
51
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Apple II (1978) US$ 1930
52
52
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Microsoft (1978)
53
53
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
54
54
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á…
55
55
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
IBM PC (1981)
56
56
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Commodore 64 (1982)
57
57
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Disco Duro Memorex 10MB (1983)
58
58
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)
59
59
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
IBM PC/AT (1983)
60
60
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Sony introduce el CD (1984)
61
61
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Commodore Amiga (1985)
62
62
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Macintosh (1984)
63
63
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
X Windows para UNIX (1984)
64
64
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Sparcstation (1989)
65
65
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
66
66
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Intel Pentium (1993)
67
67
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Appel Newton (1993)
68
68
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Windows 95 (1995)
69
69
Arquitectura de Computadores
Präsentat
ion
Historia
[ Introducción ]
Power Macintosh (1994)
70
70
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
Historia
71
71
Arquitectura de Computadores
Präsentat
ion
[ Introducción ]
LENGUAJES, NIVELES Y MÁQUINAS
VIRTUALES.
Modelo Básico y necesidad de
Modelo Jerárquico [Tanenbaum2000]
72
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.
73
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.)
74
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
75
76
77
Interpretes / Traductor
(Tanenbaum2000)
Interpete:
 Traductor:

78
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.
79
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.
80
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.
81
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.
82
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.
83
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.
84
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.
85
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.
86
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.
87
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).
88
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.
89
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.
90
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.
91
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.
92
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.
93
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.
94
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.
95
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.
96
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
97
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

98
99
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.

100
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.

101