Tema 1. Introducción - escuela de informática UTEM

Anuncio
Tema 1. Introducción
Contenido del tema:
Conceptos básicos
Sistemas de numeración posicionales
Historia de la computación
Componentes de un computador
Francisco J. Veredas
Dpto. Lenguajes y Ciencias de la Computación
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
1
Conceptos básicos
INFORMATICA = INFOR
INFORmación + autoMÁTICA
MÁTICA
– Información:
Información conjunto de símbolos usados para
representar magnitudes, hechos, objetos o ideas.
– Ordenador
Ordenador: máquina para procesar información.
Computación
Ordenador
Información de
entrada e
instrucciones
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
Información de
salida o
resultados
23-sep-04
2
1
Codificación de datos
• DATO:
DATO característica de una información
expresada en forma adecuada para su
tratamiento.
• Representación de los datos (valores):
– Valores analógicos.
– Valores discretos o digitales.
• Necesidad de convertir los valores analógicos a
discretos.
– Sistema digital:
digital sistema de n estados estables.
– Dígito
Dígito: variable capaz de asumir un estado.
• Los dígitos se agrupan para representar más estados.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
3
Códigos y código binario
• Código:
Código correspondencia entre valores de
información y combinaciones de dígitos de un
sistema digital.
– Codificación
Codificación: Información → Código
azul ---->
verde ---->
rojo ---->
0
1
2
ó
azul ---->
verde ---->
rojo ---->
100
101
111
– Descodificación
Descodificación: Código → Información
azul <---verde <---rojo <----
0
1
2
ó
azul <---verde <---rojo <----
100
101
111
• Código binario: el sistema digital utilizado tiene
sólo 2 estados (0 y 1).
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
4
2
Bits, bytes y otras agrupaciones de bits
• BIT (BI
BInary digiT
T ): unidad elemental de
información.
Variable lógica que sólo admite dos valores.
• Agrupaciones de bits:
– Para n valores hacen falta x bits, tal que 2x - 1 < n <= 2x
– BYTE u OCTETO
OCTETO: agrupación de bits necesaria para
representar y almacenar un símbolo de escritura (8).
– Medidas de la capacidad de almacenamiento:
KILOBYTE (KB): 210 bytes, MEGABYTE (MB): 210 KB,
GIGABYTE (GB): 210 MB, TERABYTE (TB): 210 GB.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
5
Sistemas de numeración
• Sistema de numeración:
– Sistema de símbolos (cifras) para representar
cantidades y realizar operaciones aritméticas con ellas.
• Número:
Ejemplos:
Arábico: posicional
Romano: no posicional
– Concatenación de símbolos para representar una
cantidad.
• Sistemas de numeración posicional:
– El valor representado depende del conjunto de cifras
utilizado y de sus posiciones en el número
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
6
3
Sistemas de numeración posicionales
• Sistema de numeración posicional en base b:
– Utiliza un alfabeto compuesto por b símbolos o cifras. El
valor de cada cifra del número depende de:
• La cifra en sí.
• La posición dentro del número.
• Ejemplo: El sistema decimal (b=10)
– Alfabeto:
{0,1,2,3,4,5,6,7,8,9}
– 3278,52 (10
=
3·103 + 2·102 + 7·101 + 8·100 + 5·10-1 + 2·10-2
• Generalizando, para ...n2n1n0,n-1n-2...(b
N =... +n2·b2 +n1·b1 +n0·b0 + n-1·b-1 + n-2·b-2 +...
Expresión I.1
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
7
Sistema de numeración binario
• Base 2 (b = 2)
• Alfabeto: {0, 1}
Binario
Decimal
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
Tabla 1
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
8
4
Conversión de decimal a binario
• Método de las divisiones y multiplicaciones
sucesivas por la base con divisor y
multiplicador b = 2.
Ejemplo:
26,1875(10 =
Para la parte entera:
11010.0011(2
26 | 2
0 13 | 2
1
6 | 2
0
3 | 2
1
1
Para la parte fraccionaria:
0.1875
0.3750
x 2
x 2
0.3750
0.7500
0.7500
x 2
1.5000
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
0.5000
x 2
1.0000
23-sep-04
9
Conversión de binario a decimal
• Se desarrolla la representación binaria (con b=2) y
se opera el polinomio en decimal.
Ejemplos:
110100(2 = 1·25 + 1·24 + 0·23 + 1·22 + 0·21 +
0·20 = 52(10
10100.001(2 = 1·24 + 0·23 + 1·22 + 0·21 + 0·20
+ 0·2- 1 +0·2- 2 + 1·2-3 = 20.125 (10
Realmente, basta con sumar los pesos (2i)
de las posiciones (i) en las que hay un 1.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
10
5
Sistema de numeración octal
• Base 8. Alfabeto: {0,1,2,3,4,5,6,7}
– Conversión de octal a decimal
decimal. Se desarrolla el polinomio con
b=8 y se opera en decimal.
– Conversión de decimal a octal
octal. Aplicar el método de “divisiones y
productos” con divisor y multiplicador 8.
– Conversión “rápida” de binario a octal
octal. Agrupar cifras binarias de
3 en 3 a partir de la coma decimal y transformar con la tabla 1.
Ejemplo: 10001101100,11010(2 = 2154,64(8
– Conversión “rápida” de octal a binario
binario. Aplicar tabla 1.
Ejemplo: 537,24(8 = 101011111.010100(2
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
11
Sistema de numeración hexadecimal
Binario
• Base 16 (b=16)
• Alfabeto:
{0,1,2,3,4,5,6,7,8,9,
A,B,C,D,E,F}
Decimal Octal
Hexadecimal
0000
0001
0010
0011
0100
0101
0110
0111
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
1000
1001
1010
1011
1100
1101
1110
1111
8
9
10
11
12
13
14
15
10
11
12
13
14
15
16
17
8
9
A
B
C
D
E
F
Tabla 2.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
12
6
Conversiones de hexadecimal
• Conversión de hexadecimal a decimal
decimal. Se desarrolla el
polinomio con b=16 y se opera en decimal.
• Conversión de decimal a hexadecimal
hexadecimal. Aplicar el método
de “divisiones y productos” con divisor y multiplicador 16.
• Conversión “rápida” de binario a hexadecimal
hexadecimal. Agrupar
cifras binarias de 4 en 4 y transformar con la tabla 2.
– Ejemplo:
010010111011111,10111010(2 = 25DF,BA (16
• Conversión “rápida” de hexadecimal a binario
binario.
Convertir cada cifra hexadecimal mediante la tabla 2.
– Ejemplo:
1ABC,C4(16 = 0001101010111100,11000100(2
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
13
23-sep-04
14
Esquema de cambios de base
ex. I.1
Decimal
Binario
"d y m"
ex. I.1
Binario
grupos
3 bits
Decimal
Octal
"d y m"
"d y m"
ex. I.1
ex. I.1
Binario
grupos
4 bits
Decimal
Hexadecimal
"d y m"
"d y m"
ex. I.1
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
7
Códigos de entrada/salida
• Asocian a cada símbolo de la escritura una determinada
combinación de bits.
– Caracteres gráficos. Representan símbolos.
– Caracteres de control. Son órdenes para controlar los dispositivos
de E/S. (p.ej. cambio de línea, pitido, etc.)
• Para codificar m símbolos distintos se necesitan n bits,
siendo n >= log2 m, donde n ∈ ℵ.
ℵ
– Código E/S : correspondencia de a → b
a =
{0,1,2,...,8,9,A,B,...,Y,Z,a,b,...,y,z,*,"
,/,...}
b = {0,1}n
• Existen muchos códigos normalizados.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
15
Código ASCII (ISO 646)
CARACTERES DE CONTROL
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
(nulo)
(comienzo de cabecera)
(comienzo de texto)
(fin de texto)
(fin de transmisión)
(pregunta)
(acuse de recibo)
(campana sonora)
(retroceso de un espacio)
(tabulación horizontal)
(cambio de renglón)
(tabulación vertical)
(página siguiente)
(retroceso del carro)
(fuera de código)
(en código)
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
DEL
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
(escape de enlace de datos)
(control de dispositivo 1)
(control de dispositivo 2)
(control de dispositivo 3)
(control de dispositivo 4)
(acuse de recibo negativo)
(sincronización)
(fin de bloque transmisión)
(anulación)
(fin de medio físico)
(carácter de sustitución)
(escape)
(separador de ficheros)
(separador de grupos)
(separador de registros)
(separador de unidades)
23-sep-04
16
8
Código ASCII (ISO 646)
CARACTERES GRAFICOS
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
SP
!
"
#
$
%
&
'
(
)
*
+
,
.
/
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL
23-sep-04
17
23-sep-04
18
Otros códigos normalizados
• ASCII extendido de 8 bits (256 caracteres)
• Latino 1 (ISO 8859-1)
– 8 bits: 256 caracteres.
– Europa occidental.
– Los 128 primeros caracteres coinciden con el ASCII.
• Latino 9 (ISO 8859-1)
– Es Latino 1 ligeramente modificado: incluye el símbolo €.
• Unicode (ISO 10646):
–
–
–
–
16 bits: 65.536 caracteres.
Incluye alfabetos orientales muy extensos.
Los 256 primeros caracteres coinciden con Latino 1.
Se utiliza, sobre todo, para Internet.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
9
Componentes de un ordenador
• Componente física o hardware
– Elementos “tangibles” del ordenador:
•
•
•
•
Unidad central de proceso (CPU).
Buses.
Memoria.
Subsistema de entrada/salida: teclado, ratón, monitor, etc.
• Componente lógica o software
– Programas que ejecuta el ordenador.
• Software de sistema: sistema operativo, compiladores,
programas de comunicaciones, bibliotecas estándares.
• Software de aplicaciones: bases de datos, navegadores, hojas
de cálculo, procesadores de texto, juegos, etc.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
19
Componente física
• Arquitectura von Neumann
(1) Programa almacenado
(2) Lógica binaria (George Boole)
(3) División en UCP, memoria y E/S (Charles Babbage)
Buses
Unidad de
procesamiento
Memoria
(datos+instrucciones
)
Subsistema de E/S
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
20
10
Unidad de procesamiento
Almacén
temporal
(muy
rápido)
Unidad de
control
Registros
Bus sistema
control
reloj
Señales del control
al resto del sistema
Procesamiento
aritméticológico
U.A.L.
estado
AC
U.C.P.
Parámetros:
• Velocidad (MIPS o MFLOPS)
• Longitud de palabra
• Número de registros
• Nivel de paralelismo
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
21
Unidad de control
• La Unidad de Control (UC)
Unidad de
control
reloj
.
.
.
–
–
–
–
Emisión de señales de sincronización.
Decodificación de la instrucción.
Ejecución secuencial.
Repertorio de instrucciones simples:
(1) de tratamiento aritmético-lógico.
(2) de transferencia de datos.
UCP
MP
(3) saltos de control del flujo.
(4) otras (parada, paso-a-paso...) ES
MP
CLK
ES
UCP
UCP
UCP
MP
ES
ciclo reloj
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
22
11
El ciclo máquina
ciclo máq uina
Memoria
instrucción
(fetching)
Unidad
de
control
reloj
opcional
Almacenamiento
de resultados
Fetching
.
.
.
Actualización
del C.P.
Ejecución
Búsqueda de operandos
Decodificación
opcional
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
23
Unidad aritmético-lógica
Ejecuta las
instrucciones
de tratamiento
aritméticológico.
Memoria
Registros
U.C.
CP
Instrucción actual
a decodificar
RI
Otros registros:
•Propósito general
•Direcciones temp.
•Puntero de pila
(PP)
U.A.L.
AC
Acumulador: Último
resultado
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
Contador de
programa:
PE
Palabra de estado:
CY (carry) Acarreo
O (overflow) Desborde
N (negative) Negativo
Z (zero) Resultado cero
...
Se actualizan tras cada
operación aritméticológica
23-sep-04
24
12
Memoria principal, secundaria y caché
Cache
MP
UCP
Si el dato no está
en la cache se
accede a MP y se
copia un nuevo
trozo.
MP
Cache
MS
Si el dato no está
en la cache se
accede a MS y se
copia un nuevo
trozo.
MS
La memoria almacena datos e instrucciones.
La MP es directamente accesible por la UCP.
La MS necesita un controlador de E/S.
Las memorias caché evitan accesos a MP o MS más lentos.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
25
La memoria principal (RAM)
• La UCP ve lógicamente la
MP como un conjunto de
posiciones o celdas donde
leer y escribir que se llama
mapa de memoria.
direcciones en hex.
BBA0
BBA1
BBA2
BBA3
S.O.
...
Proceso
1
...
• Cada posición del mapa
corresponde a una palabra
y se numera
consecutivamente
mediante una dirección.
R/W
CS
otras
datos
direcciones
control
Proceso
2
...
mapa de memoria
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
26
13
Longitud de palabra y capacidad
• La longitud de palabra, m, de la MP suele coincidir con la
del procesador y con el ancho del bus de datos, y es la
anchura en bits de una palabra.
• La capacidad de la memoria viene determinada por el
número de hilos, n, del bus de direcciones: 2n palabras:
32
bus del
sistema
16
0000
0001
0002
0003
0004
0005
216 palabras
longitud de palabra = 32
FFFE
FFFF
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
27
Subsistema de entrada/salida
UCP
MP
• Permite al procesador
comunicarse con
distintos dispositivos o
periféricos del exterior.
bus de e/s
Contr.
• Cada tipo de
dispositivo debe
conectarse al sistema
a través de un
controlador.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
disco
Contr.
vídeo
Contr.
teclado
23-sep-04
28
14
Puertos de entrada/salida
• La UCP ve lógicamente
todo el subsistema de
E/S como posiciones de
memoria.
datos
direcciones
control
Puertos
disp. 1
Puertos
disp. 6
• Una posición del mapa
de E/S se llama puerto.
I/ O
INT
otras
• Físicamente, los puertos
son posiciones de
memoria dentro de los
controladores.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
Puertos
disp. 8
mapa E/S
23-sep-04
29
Clasificación de ordenadores
• Criterio: magnitudes físicas
– Analógicos: magnitudes continuas
– Digitales: magnitudes discretas
– Híbridos: magnitudes continuas y discretas
• Criterio: propósito
– General: ejecutan cualquier programa (PC)
– Específico: ejecutan siempre el mismo programa (empotrados)
• Criterio: potencia
– Ordenadores personales
– Gamas de estaciones de trabajo (HP®, Sun®, Silicon®, IBM®...)
– Supercomputadores: Cray (Silicon®), Fujitsu®, Convex (HP®)
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
30
15
Componente lógica: clasificación del sw
• De sistemas: fuerte interacción con el hardware,
gestión de recursos. Ejemplos: traductores,
sistemas operativos, bibliotecas estándares,
comunicaciones, etc.
• Empotrado: controla productos de consumo y
sistemas industriales. Ejemplos: integrados en
electrodomésticos, automóviles, etc.
• De tiempo real: interacciona con sucesos del
mundo real conforme ocurren. Ejemplos: control
tráfico aéreo, cadenas industriales, etc.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
31
Clasificación del software (continuación)
• Ingeniería y ciencia: procesamiento intensivo y
basado en muchas matemáticas. Ejemplos:
simuladores, resolución de grandes sistemas de
ecuaciones, CAD, etc.
• De gestión: procesado de información comercial y
administrativa. Ejemplos: bases de datos,
contabilidad, sistemas de reserva, etc.
• De Inteligencia artificial: Uso de técnicas de
resolución de problemas cercanas al
comportamiento humano. Ejemplos:
reconocimiento de voz, planificaciones robots,
juegos, etc.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
32
16
Sistemas operativos
• El SO es el software de sistemas que
hace posible el uso eficiente del
ordenador ocultando en la medida de
lo posible las dificultades de utilización.
• Para el usuario tiene la forma de
lenguaje de comandos o interfaz de
usuario. Para el programador tiene la
forma de biblioteca de subprogramas
o llamadas al sistema.
• Los interfaces de órdenes, intérpretes
de órdenes o shells, pueden ser de
texto o gráficos (GUI).
usuario
programador
interfaz
usuario
llamadas al
sistema
sistema operativo
núcleo (kernel)
hardware
shell = cubierta (del SO)
GUI: Graphical User Interface
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
33
Tipos de sistemas operativos
– Por el número de procesos:
Un proceso es un programa
en ejecución, ya cargado en
MP.
• Monotarea: MS-DOS
• Multitarea: Unix (abierto), VMS (Digital), MVS (IBM), Windows
NT.
– Por el número de usuarios utilizando simultáneamente
el ordenador:
• Monousuario: Windows 3.11 o inferior
• Multiusuario: Unix, VMS, Windows NT
– Por el número de máquinas
controladas:
• Monopuesto: Unix, Windows
• Distribuidos o en red: Novell Netware
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
La carga es el proceso por
el cual un SO convierte a
un programa (en MS) en
un proceso (en MP).
23-sep-04
34
17
Modos de operación de un SO
• Modos de operación:
– Modo usuario: acceso restringido y controlado según
permisos.
– Modo supervisor: acceso sin restricciones. Concede
los permisos.
• La función de un SO es gestionar, de forma eficiente y
segura, los recursos hardware del sistema, tanto a nivel de
usuario como a nivel de proceso. Los recursos a gestionar
son:
•
•
•
•
Tiempo de procesamiento.
Memoria principal.
Memoria secundaria.
Dispositivos de E/S.
En sistemas multitarea,
los programas
compiten por el uso de
la UCP y la MP.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
35
Partes de un sistema operativo
– Gestión del tiempo de procesamiento.
– Gestión de la memoria principal.
– Gestión de la memoria secundaria (ficheros y
directorios).
– Gestión del subsistema de e/s (drivers).
– Seguridad y protección del sistema.
– Interfaz de llamadas al sistema.
– Interfaz de usuario y utilidades del sistema.
Gestión de
procesos
driver = manejador
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
36
18
Lenguaje de programación vs traductor
Lenguaje
Conjunto de símbolos y reglas
para generar cadenas de símbolos
Lenguaje de programación
Conjunto de caracteres y reglas
para construir programas
Lenguaje máquina
Conjunto de instrucciones y
convenios simples para elaborar
programas codificados con bits
directamente ejecutables en
ordenador
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
Especificaciones,
documentos
Implementación,
software
Traductor
Herramienta software para
traducir un programa a
lenguaje máquina
23-sep-04
37
23-sep-04
38
Proceso de compilación
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
19
Bibliografía
• Joyanes, L. Fundamentos de Programación.
Algoritmos y Estructuras de Datos.
3ª Edición, McGraw-Hill, 2003.
• Prieto, A., Lloris, A., Torres, J.C. Introducción a la
Informática.
3ª edición, McGraw-Hill, 2001.
• Brookshear, J.G. Introducción a las Ciencias de la
Computación.
4ª Edicion, Adisson Wesley, 1995.
• Goldschlager, L., Lister, A. Computer Science: A
Modern Introduction.
Prentice Hall. International Series in Computer Science,
1988.
Introducción a los Computadores
ITTSEA, Tema 1. Introducción
23-sep-04
39
20
Descargar