Apuntes

Anuncio
I. 1.- INTRODUCCION A LA INFORMATICA.
- Origen: francés.Unión de dos vocablos
INFORMATICA = INFORmación + autoMATICA
- Definición:
Conjunto de conocimientos científicos y técnicas que hacen posible el
tratamiento automático de la información por medio de computadoras
electrónicas.Trata la adquisición, representación, tratamiento y
transmisión de la información.
-Información:yuxtaposición de simbolos con los cuales se pueden
representar hechos, objetos o ideas.Por ejemplo, la matricula de un
coche es información.
- Informática como ciencia y como técnica.
La informática debe de ocuparse de dos labores fundamentales:
labor técnica:fin primordial es el diseño de ordenadores que admitan
el mayor número posible de datos y procesarlos a la mayor velocidad.
Labor científica:estudio de la información y su descomposoción en
elementos procesables por el ordenador.
I.1.1.- Informática. Ambito de aplicación.
- Area fabril.Automatización de los procesos de producción
"Robótica"
"Cibernética"
CAM (Computer Aided Manufacturing)
CIM (Computer Integrated Manufacturing)
- Medicina.
"Informática médica".Equipos para la obtención de datos(scanners,
ecógrafos, resonancia magnética,etc), e incluso ayuda al diagnóstico.
Tambien se pueden informatizar todos los aspectos relacionados con la
gestión de entidades sanitarias.
Tema I. Introducción y conceptos básicos
1
- Agricultura y ganadería.
"Agrónica"(electrónica e informática aplicada a la agricultura y a la
ganadería).
- Enseñanza.
CAI (Computer Aided Instruction).Ayudas al instructor.
- Diseño (industrial y artístico).
CAD (Computer Aided Design)
- Campos científicos y técnicos.
Navegación
Meteorología
Astronomía
"Simulación por ordenador"
- Ingeniería.
CAE (Computer Aided Engineering)
- Telecomunicaciones.
"Teleinformática" o "Telemática"
- "Informática de gestión".
- "Ofimática".
- .....
Tema I. Introducción y conceptos básicos
2
I.1.2.- Evolución histórica.
- Prehistoria.
- Abaco (siglo XI A. C.).Varillas sobre las que se deslizan unas bolas,
las cuales tienen unos valores asignados(calculus).
-Notación numérica: permite el manejo más preciso de los datos. Este
es el sistema de numeración Hindú.
- Calculadores mecánicos.
-Base: Aparición de los Logaritmos de Napier y de la regla de cálculo de
Patridge.
- Blaise Pascal: primera calculadora mecánica (sumar y restar)
(1642).Consiste en una serie de ruedas dentadas y engranajes.(parecido a
los contadores de agua).
-Von Leibnitz (1.646). Máquina de multiplicar con sumas progresivas.
Maquina con dos contadores, uno para las sumas y otro para detener la
suma.
- Procesadores mecánicos.
-El trabajo se concentra más que en el cálculo, en el proceso de
grandes cantidades de información.
- Tarjetas perforadas de Jacquard (1802).Mediante agujeros en unas
tablillas, se rrgistran los datos codificados.
- Charles Babbage: "Máquina Analítica" (1837). Primer ordenador
moderno. Maquina capaz de ejecutar distintos programas. Cada
vez que se quería ejecutar un programa, habría que introducirlo a la
máquina.
- Augusta Ada Byron (1842). Se considera la precursora de la
programación, pues realizó algunos programas para la máquina
analítica.
- Tabuladores mecánicos.
- Herman Hollerith: Diseña la Máquina Tabuladora (1890). Basada en
las tarjetas perforadas de Jaquard. Funda la "Hollerith Tabulating
Tema I. Introducción y conceptos básicos
3
Machine Company" en 1897, primera empresa de ordenadores del
mundo que dio lugar en 1911 a la "International Business Machines"
(IBM).
- Howard Aiken: Calculador automático electromecánico ASCC
(1937).Tardaba 4 segundos en realizar una multiplicación de dos
números de 6 cifras.
- Válvulas electrónicas. Primera Generación de Ordenadores.
- Primera mitad del siglo XX. Gran avance en electrónica.Esto dá pie a
la construcción de máquinas más rápidas, pequeñas y silenciosas que las
electromecanicas
-Se desarollan dispositivos magnéticos para almacenar más cantidad de
información.(cinta y tambor magnético por Poulsen).
- La invención más importante es la válvula de vacío por Lee Forest
(1906).
-Se construye el COLOSSUS(1.500 válvulas de vacío). Para descifrar
mensajes alemanes de la segunda guerra mundial cifrados mediante un
código denominado ENIGMA.
- Primera máquina calculadora totalmente electrónica: ENIAC por
Eckert y Mauchly (1946). Programación cableada.18.000 válvulas de
vacío, 30 toneladas.Suma dos números en 200 microsegundos.
- Destaca Alan Turing con su "Máquina de estados" o "Máquina de
Turing" (1936).Maquina abstracta.
- Arquitectura de Von Neumann (1946).Plantea la construcción de una
máquina con programa almacenado. Es decir, laa memoria se usaba
además de para contener datos, para contener los programas que pueden
ser ejecutados.
La idea de Neumann consistía en una serie de principios:
??mantener conectadas permanentemente determinadas unidades de la
computadora, colocándolas bajo una unidad central..
??Las instrucciones del programa se almacenan y se tratan igual que los
datos. El programa debe de ser una secuencia de decisiones lógicas.
??La máquina consta de 5 unidades básicas:Entrada, salida, memoria,
unidad aritmético-lógica y unidad de control.
- Ejemplos de máquinas: Mark Y(1.2 milisegundos por instrucción),
EDSAC, EDVAC, ACE, ...
Tema I. Introducción y conceptos básicos
4
- Los transistores. Segunda Generación.
- Se investiga en lograr máquinas más pequeñas y rápidas.
- Esta generación nace con la invención del Transistor (1958) que
sustituye a las Válvulas de Vacío, más grandes y costosas.
- Aparece la construcción de las Memorias de Ferritas(toritos de
material magnetizable).
- Se desarrollan almacenamientos secundarios más potentes y con
grandes capacidades.Disco magnético rígido (Winchester) (1959-65).
- Ejemplos de máquinas: TXO del MIT, IBM-7000, Atlas,...
- Gran avance en el Software: primeros lenguajes de alto nivel:
FORTRAN, ALGOL, COBOL,...PL1(I.B.M., orientado a la
programación estructurada), pues antes los programas se introducían
en
código binario.
-Estos ordenadores tienen una gran demanda de mercado, pero por
poco tiempo, ya que muy pronto se ven desbancados por la
aparición de la tercera generación.
- Circuitos integrados. Tercera Generación.
- Los circuitos integrados contienen sobre un mismo soporte de silicio,
cientos o miles de transistores. Disminuye el tamaño y aumenta la
rapidez de las máquinas(se mide el tiempo en nanosagundos).Fueron
construídos por dos ingenieros de I.B.M.,Noyce y Moore)
- Ejemplos de máquinas: IBM-360, 370, PDP-8, CDC-6000, ...
-Además de la invención del circuíto integrado, se produce un gran
avance en el campo de los elementos periféricos. Aparecen los
terminales de video y la posibilidad de instalar terminales a distancia lo
que se denominan terminales remotas.
- De forma paralela al diseño del circuíto integrado, se empiezan a
diseñar amplios sistemas software(Sistemas Operativos).
- Sistema Operativo UNIX(Bell). Compartición del ordenador por varias
personas.Sistema Operativo V.M.S.(Digital).O.S./360 de I.B.M.
- Lenguajes PASCAL(Wirth), C(Laboratoios Bell) orientado al diseño
de sistemas informáticos, LOGO(capacidad de aprender), etc, ...
Tema I. Introducción y conceptos básicos
5
- Microprocesadores. Cuarta Generación.
- Invención del Microprocesador (1972) (4004 INTEL).
- Aparecen los circuítos de gran escala de integración (LSI). Superficies
de silicio donde en 1 cm2 puede haber 500.000 transistores.
- Se abarata el Hardware de los ordenadores y se popularizan estos.
- Ordenadores personales. En 1.977 Wozniak y Jobs desarrollanen casa
de uno de ellos y basado en el procesador 6502 de Rockwell, el popular
Apple1, lo que da lugar posteriormente a la fundación de la compañia
con el mismo nombre, y cuyo producto más representativo es el
popularísimo MACINTOSH.
-Aparecen nuevos fabricantes debido al auge del mercado.(Sinclair,
Commodore, Atari,Amstrad).
- Gran auge de las Telecomunicaciones. "Teleinformática".Aparecen las
redes de ordenadores, los sistemas distribuídos.
- Sistemas Operativos para esos ordenadores personales: CP/M, MSDOS, ...
- Lenguajes de programación buscando nuevas formas de representar la
información (Objetos Abstractos):El precursor de estos lenguajes fué el
SIMULA desarrollado por Dahl.Aparece en 1.982 el MODULA-2,
diseñado por Wirth, que pretendía corregir las deficiencias del
Pascal.Aparece también el ADA, ...
- Inteligencia Artificial. Quinta Generación.
- Se puede decir que es en la que estamos situados actualmente.
- Se abandona el esquema de Von Neumann, pues se vé que para la
cantidad tan ingente de datos que hay que manejar y la velocidad
necesaria para los procesos, no es la arquitectura más adecuada.
- Las investigaciones se dirigen a ordenadores con procesamiento
paralelo.(Havard).Ordenador Facom de Fujitsu.
-Se investiga sobre el mejor procesador de datos conocido, el cerebro, y
se intenta reproducir su funcionamiento, mediante técnicas conocidas
como Redes Neuronales.
- El desarrollo del Software se encamina al tratamiento de la
información como conocimiento y no como datos.
- Lenguajes no procedurales: LISP, PROLOG, SMALLTALK...
- Se desarrollan sistemas capàces de aprender por si solos. Sistemas
expertos, sistemas inteligentes.
Tema I. Introducción y conceptos básicos
6
I.2.- LA COMPUTADORA. HERRAMIENTAS BASICAS DE UN SISTEMA.
Computadora. Datos. Programa. Instrucción.
Lenguaje de programación. Hardware. Software.
datos de entrada
e instrucciones
datos de salida
o resultados
Computadora
-Computadora u Ordenador:Máquina capaz de aceptar unos datos de entrada,
efectuar con ellos operaciones aritméticas y lógicas y proporcionar la información a
través de un medio de salida. Todo ello bajo el control de un programa de
instrucciones previamente almacenado en la computadora.
-Operaciones lógicas:comparar, seleccionar o copiar símbolos.
-Operaciones aritméticas: las de la aritmética clásica.
-Datos: son conjuntos de símbolos utilizados para expresar o representar un valor
numérico, un hecho, un objeto, o una idea, en la forma adecuada para su tratamiento.
Esto implica que es un concepto más amplio que en Matemáticas o Física.
- Datos captados directamente frente a datos captados por medio de caracteres.
- BIT: unidad más elemental de información.Es un valor binario que puede tomar dos
posibles valores, ó 1 ó 0 Es la capacidad mínima de información que puede
almacenar la computadora. Por lo tanto, la capacidad de esta se puede madir en bits.
- BYTE: La información se representa por medio de caracteres usualmente, y se
codifica a un alfabeto binario a la hora de tener que representarla en la computadora,
es decir, se debe de hacer una conversión a bits. Un BYTE es el número de bits para
almacenar un caracter.Este número depende de la computadora, sien lo más normal 8
bits, de ahí que también se le llame OCTETO.
Tema I. Introducción y conceptos básicos
7
- KILOBYTES (KB)=210bytes, MEGABYTES (MB)=210 KB, GIGABYTES
(GB)=210MB, TERABYTES (TB)=210 GB: para medir capacidad de
almacenamiento.
I.2.1.- Sistemas de numeración usuales en Informática. Códigos de E/S.
-La información se le dá a la computadora de forma escrita mediante
caracteres, usando para ello un alfabeto o conjunto de simbolos. Los caracteres que
constituyen el alfabeto suelen agruparse en 4 categorias, aparte de los caracteres
gráficos:alfabéticos(letras minusculas y mayusculas), numéricos(diez cifras
decimales), especiales(imprimibles que no son de los grupos anteriores) y caracteres
de control.
-La información se representa en el interior de la computadora por medio de
bits, por lo que habrá que realizar una transformación sobre la información legible
por el humano a una información representable en la máquina.
- Codificación es la tarea de representar los elementos de un conjunto
mediante los de otro conjunto, de forma tal que a cada elemento del primer conjunto
le corresponda un elemento distinto del segundo conjunto.Por ejemplo, el código que
hace corresponder a cada coche matriculado una única matrícula.
- Código binario. Código mediante el cual se representa la información en el
interior de la computadora. Este código está formado sólo por dos posibles
elementos, el 1 y el 0. Se debe de establecer una correspondencia entre el conjunto de
todos los caracteres legibles y el conjunto binario.
-Esta codificación se realiza automaticamente en la E/S, de ahí que se le
llamen también Códigos de entrada salida.(o tb. códigos externos).
Representación posicional de los números.
- Un sistema de numeración en base "b" utiliza para representar los números un
alfabeto compuesto por b símbolos o cifras. Así, todo número se expresa medinate un
conjunto de cifras correspondientes a esa base. Cada cifra que compone un número
contribuye con un valor que depende de:
a) La cifra en sí
b) La posición dentro del número.
- Ejemplo: En el sistema decimal (b=10)
Tema I. Introducción y conceptos básicos
8
{0,1,2,3,4,5,6,7,8,9}
(cifras decimales)
El número 3278.52 puede obtenerse como:
3278.52 = 3 103 + 2 102 + 7 101 + 8 100 + 5 10-1 + 2 10-2
Cada posición tiene un peso y un nombre específicos:
posición 0 peso b 0 --unidades (8)
posición 1 peso b 1 --decenas (7)
posición 2 peso b 2 --centenas (2)....
- Generalizando, dado el número ... n4 n3 n2 n1 n0. n-1 n-2 ..., representado en un
sistema de numeración en base b, su valor es:
N = ...+ n4 b4 + n3 b3 + n2 b2 + n1 b1 + n0 b0 + n-1 b-1 + n-2 b-2 +...
(Expresión I.1).A esta expresión también se le llama expresión polinómica)
Sistema de numeración en base 2 o binario.
- Aquí b = 2 y sólo se necesitan dos símbolos para representar cualquier
número: {0,1}
-Los elementos de este alfabeto(o cjto. de símbolos) se llaman cifras binarias o
bits. Según la expresión polinómica, la representación de los dígitos decimales desde
el 0 al 7 sería la que muesta la siguiente tabla.
Tema I. Introducción y conceptos básicos
9
Binario
Decimal
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
Tabla I.1
- Conversión de binario a decimal.
- Aplicar la expresión I.1 para b = 2.
- Ejemplos:
110100)2
10100.001 )2
=
52)10
=
20.125 )10
- En realidad basta con sumar los pesos (2i) de las posiciones (i) en las
que hay un 1.
1 0 0 1 . 0 0 1(2 =8 +1+1/8= 9.125(10
pesos 8 4 2 1 ½ ¼ 1/8
- Conversión de decimal a binario.
- Aplicar el método de las "divisiones y multiplicaciones".
- Ejemplo:
26.1875)10 =
11010.0011)2
Para la parte entera:
26 | 2
Tema I. Introducción y conceptos básicos
10
0 13 | 2
1 6|2
0 3 |2
1 1
Para la parte fraccionaria:
0.1875
x2
0.3750
0.3750
0.7500
0.5000
x2
x2
x2
0.7500
1.5000
1.0000
-Otro ejemplo: 74.423(10 . Solo la parte decimal.
0.423
x2
0.846
x2
0.846
1.692
0.692 0.384
x2
x2
1.384
0.768
0.768
x2
1.536........
74.423(10=1001010.01101.....(2.
-Un número decimal con cifras decimales puede dar lugar a un número binario
con muchas más cifras decimales o incluso infinita. Problema: número de bits para
representar los números limitado(error de truncamiento).
Sistema de numeración en base 8 u octal.
- En este sistema de numeración intermedio b = 8 y el conjunto de símbolos
necesarios es: {0,1,2,3,4,5,6,7}
- Conversión de octal a decimal.
- Aplicar la expresión I.1(polinómica) para b = 8.
- Conversión de decimal a octal.
- Aplicar el método de las "divisiones y multiplicaciones" con divisor y
multiplicador 8.
- Conversión “rápida” de binario a octal.
Tema I. Introducción y conceptos básicos
11
- Agrupar cifras binarias de 3 en 3 a partir del punto decimal hacia la
izquierda y hacia la derecha y transformar mediante la Tabla Y.1 cada grupo
construído.
- Ejemplo:
10 001 101 100 .110 10 )2
=
2154.64)8
En el caso en el que nos falte en alguno de los extremos alguna cifra, siempre
se añadirá un cero a la izquierda del grupo en el que falte la cifra (o cifras, pues
pueden faltar dos). Ocurre en el caso del ejemplo.
- Conversión “rápida” de octal a binario.
- Convertir cada cifra octal mediante la tabla I.1, manteniendo el orden
del número.
- Ejemplo:
537.24 )8
=
101011111.010100)2
Sistema de numeración en base 16 o hexadecimal.
- En este sistema de numeración intermedio b = 16 y el conjunto de símbolos
necesarios es {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
- Conversión de hexadecimal a decimal.
- Aplicar la expresión I.1 para b = 16.
- Conversión de decimal a hexadecimal.
- Aplicar el método de las "divisiones y multiplicaciones" con divisor y
multiplicador 16.
Tema I. Introducción y conceptos básicos
12
Binario
Decimal
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
1000
1001
1010
1011
1100
1101
1110
1111
8
9
10
11
12
13
14
15
8
9
A
B
C
D
E
F
Tabla I.2.
- Conversión “rápida” de binario a hexadecimal.
- Agrupar cifras binarias de 4 en 4 y transformar mediante la Tabla I.2.
- Ejemplo:
010010111011111.1011101)2 =
25DF.BA)H
- Conversión “rápida” de hexadecimal a binario.
- Convertir cada cifra hexadecimal mediante la tabla I.2.
- Ejemplo:
1ABC.C4)H =
0001101010111100.11000100)2
Tema I. Introducción y conceptos básicos
13
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
- Al igual que manualmente es muy fácil convertir de octal a binario y de
hexadecimal a binario y viceversa, también resulta sencillo efectuar esta operación
electrónicamente o por programa, por lo que a veces la computadora utiliza este tipo
de sistemas intermedios.
Operaciones aritméticas y booleanas con variables binarias:
-El sistema de numeración en base dos se compone de un alfabeto de dos
cifras. Al igual que con cualquier sistema de numeración, se pueden realizar
operaciones aritméticas con valores de este sistema.
-Las operaciones aritméticas más importantes son:suma, resta, multiplicación y
división. Sólo de interés la suma y la resta.
Suma con variables binarias
0+0=0
0+1=1
1+0=1
1+1=1 y me llevo 1
Resta con vbles. binarias.
0-0=0
0-1=1 y debo 1
1-0=1
1-1=0
Tema I. Introducción y conceptos básicos
14
-También se pueden realizar operaciones de otro tipo, llamadas operaciones
booleanas u operaciones lógicas.Son operaciones equivalentes a las operaciones del a
Algebra de Conmutación.
-Las más importantes:Suma Lógica(OR), Producto Lógico(AND),
Complementación o inversión(NOT).
Suma Lógica(OR) Producto Lógico(AND)
0+0=0
0.0=0
0+1=1
0.1=0
1+0=1
1.0=0
1+1=1
1.1=1
Complem.(NOT)
0=1
1=0
Números negativos en binario.
-Disponemos de n bits para la representación de los números en la
máquina.Cada máquina usará un “n” propio. Con “n” bits se pueden representar 2n
combinaciones distintas.
- Coma fija sin signo o binario puro.
- Permite representar números enteros positivos.
0 <--> 2n - 1
- Rango:
000...n...0 <--> 111...n...1
(en binario puro)
- Dificultades:
- Desbordamiento al realizar una suma.Al sumar con n=2, 2+3=5,
10
+11
---10 1. Se desprecia la primera cifra.
- Al no poder representarse los negativos, antes de realizar A-B,
se ha de comprobar que A >= B.
- Coma fija signo-magnitud.
Tema I. Introducción y conceptos básicos
15
- Se reserva un bit para indicar el signo.El bit de signo se representa en el
dígito situado más a la izquierda de la representación del número.
- Rango:si tenemos un bit para el signo, nos quedan n-1 para el número
- (2n-1 - 1) <--> (2n-1 - 1)
000...n...0 <--> 011...n...1
para positivos
100...n...0 <--> 111...n...1
para negativos
-primer bit para signo y el resto en binario puro.
- Dificultades:
- El cero tiene dos representaciones. Comprobaciones con el
número 0.
- La operación a realizar (suma o resta) depende de los
operandos.Si el segundo operando es negativo, es una resta.
(3+(-2) es una resta).
-Perdemos un bit en la representación.
- Complemento a la base(en este caso a dos).
- El bit más a la izquierda indica el signo, pero no está separado de la
magnitud.
- Rango:
- 2n-1 <--> (2n-1 - 1)
000...n...0 <--> 011...n...1
para positivos
(en binario puro)
100...n...0 <--> 111...n...1
para negativos
(en complemento a dos)
- Objetivo: poder restar dos números sumando al minuendo el
complemento a la base del sustraendo y en el caso de acarreo final
Tema I. Introducción y conceptos básicos
16
eliminarlo. De esta forma, sólo se necesitan circuítos sumadores en la
parte de la máquina que realiza las operaciones.
-Para obtener el C-a la base de un número negativo, se resta dicho
número sin el signo de la base elevada al número de digitos para
representar los números.
-Ejemplo:
Sup. la base=10 , n=1 Rango=(- bn/2, b n/2 - 1)= (-5,4)
(0,bn/2 - 1) para positivos
(b n/2,bn-1)para negativos
0-->0
1-->1
2-->2
3-->3
4-->4
5-->-5
6-->-4
7-->-3
8-->-2
9-->-1
Por ejemplo, la operación
2+3=5
-5+1=
c-10(-5)=10-5=5 5+1=6, que representa al -4.
3-4=
c-10(-4)=10-4=6 3+6=9, que representa al -1.
-1-3=
c-10(-1)=9 c-10(-3)=7 9+7=16 ¡¡Error¡¡¡.
-Ejemplo: Sup. b=2 y n=3 Rango=(- 23 / 2 , 23 / 2 - 1)
000-->0
( -4 , 3
)
3
001-->1
(0,2 / 2 - 1) para positivos.
010-->2
( 4 , 7) para negativos.
100-->-4
101-->-3
110-->-2
111-->-1
011-->3
Asi, la operación:
Tema I. Introducción y conceptos básicos
17
3-4
011
1000
100
100
----------111 que es el -1
0100
-1-3
c-2(-1)= 1000-001=0111
c-2(-3)= 1000-011=0101 111+101=1100. expresión de -4.
-4-3
c-2(-4)=1000-100=0100
c-2(-3)=1000-011=0101 100+101=1001. Es un positivo.¡¡
2+3=010+011=101=-3, negativo¡¡¡.
-3-1
c-2(-3)=1000-011=0101
c-2(-1)=1000-001=0111
111+101=1100, es el -4.
-Otra método más directo para calcular el complemento a dos :
c-2(-7)
-32 16 8 4 2 1
1
1 1 0 0 1=-32+16++8+1=-7
-Una sola representación para el 0, luego ganamos una combinación
para representar un número negativo más.
-No es trivial encntrar el complemento a la base de un número
negativo.
- Complemento a la base menos 1 (uno).
- Al igual que en complemento a dos, el bit más a la izquierda indica el
signo, pero no está separado de la magnitud.
- Rango:
- (2n-1 - 1) <--> (2n-1 - 1)
000...n...0 <--> 011...n...1
para positivos
(en binario puro)
100...n...0 <--> 111...n...1 para negativos
(en complemento a uno)
Tema I. Introducción y conceptos básicos
18
-Esta representación si es simétrica, pues tiene la misma cantidad de
positivos que de negativos.
- El cero tiene dos representaciones.
-Calculo del complemento a 1:restamos de la representación de la
base elevada al número de digitos menos 1( con el número de dígitos
necesarios) el número a complementar.
Por ejemplo,
b=10 , con 1 dígito ,el c-9 de 8 es 9-8=1
b=10, con 3 dígitos, el c-9 de 999=999-999=0
b=2 , con 5 dígitos, el c-1 de 5 es 11111-00101=11010.
- Las sumas y restas también se reducen a sumas, pero hay que tener en
cuenta el acarreo final, sumándolo al resultado.
-Ejemplo:n=3, b=10 , c-9(296)=(103-1)-296=999-296=703.
c-9(127)=872
(-127)-296=872+703=(1)575=575+1=576, que es el c-9 de 423.
n=3, b=2 Rango (-2n-1-1,2n-1-1) (-3,+3)
000-->0
001-->1
010-->2
011-->3
100-->-3
101-->-2
110-->-1
111-->-0
-3+2= 100+010=110=-1
c-1(-3)= 111-011=100
-3-3=100-100=(1)000=000+1=001=1 positivo¡¡¡¡.
Tema I. Introducción y conceptos básicos
19
- Ventaja:Observamos que b n-1 es un número de n dígitos, los cuales son
todos iguales a b-1 en el sistema de numeración usado(103-1 es 999).
Dado cualquier número x en base b, sus dígitos serán siempre inferiores
o a lo sumo iguales al dígito que representa b-1. Así, el cálculo se
simplifica bastante, pues en ninguna de las fases de la resta nos vamos a
llevar nada hacia la fase posterior.(ceros por unos y unos por ceros).
-Inconveniente:dos representaciones para el cero.
-Ventaja:muy fácil calcularlo, pues sólo se han de invertir todos los
dígitos del número(en caso de c-1, se cambian los ceros por unos y los
unos por ceros).
-Paso entre complementos:
Sup. un número a= - x , para b=2 y un “n” dado, este número se representa en
c-2 como 2n-x y en c-1 como (2n-1)-x.
(2n-1)-x+1=2n-x, es decir, para pasar el número a c-2, invierto los bits y sumo 1
al resultado.
I.2.2.- Estructura funcional de las computadoras.
Señales de control
Memoria
Masiva
Datos
e instrucciones
Datos e instrucciones
Memoria Principal
datos e instrucciones
Instrucciones
ENTRADA
Unidad
de Control
Datos
Datos
SALIDA
Unidad
AritméticoLógica (ALU)
Procesador Central (CPU)
Tema I. Introducción y conceptos básicos
20
Unidades funcionales:
Unidad de Entrada: dispositivo por donde se introducen datos e
instrucciones.Se realiza una conversión a señales binarias de naturaleza
electrica.
Unidad de Salida: para obtener los resultados de los programas ejecutados. Se
hace una conversión inversa a la anterior.
Memoria:Dispositivos en los que se almacena tanto los datos como las
instrucciones. Distintos tipos, que se diferencian por su velocidad
(ROM,RAM,secundaria).
A.L.U.:En ella se realizan operaciones de tipo aritmético y lógico.
Unidad de Control(U.C.): es el dispositivo que gobierna el funcionamiento
interno de la máquina. Trabaja con señales de estado que le envían las
distintas unidades, y devuelve otras señales dependiendo de la instrucción a
ejecutar y de las señales recibidas.
Periféricos:son el conjunto de las unidades de E/S y de dispositivos de
memoria secundaria.
-Al conjunto de la U.C. y de A.L.U. se le llama tambien Unidad Central de
Proceso(C.P.U.).
- Buses:son el sistema físico par interconectar todas las unidades de la
computadora. Se componen de una serie de cables con una determinada
tecnología.
- Reloj: la unidad de control tiene un reloj para sincronizar todas las
operaciones de la computadora. Este reloj emite una serie de pulsos .En cada
uno de los pulsos la computadora realiza una operación elemental. Al periodo
de esta señal se le llama Tiempo de ciclo. La frecuencia del reloj se suele dar
en millones de ciclos por segundo, o lo que es lo mismo, en Mhz.
- Palabra de CPU:número de bits máximo de los datos con los que puede
operar la A.L.U.
- Palabra de Memoria: la memoria está dividida en una serie de casillas con
un número determinado de bits. A esta cantidad de bits se le llama palabra de
memoria. En definitiva, es la cantidad de bits que se pueden leer o escribir en
la memoria simultaneamente
Tema I. Introducción y conceptos básicos
21
- Potencia: Tiempo de ciclo, Longitud de palabra, capacidad de Memoria.
I.2.3.- Clasificación de las computadoras.
- En los procesos de tratamiento de la información, ésta se representa
mediante magnitudes físicas (tensión, intensidad, ...).
- Sistema analógico: aquel en el que las magnitudes físicas que se
utilizan para representar la información pueden tomar un valor
cualquiera dentro de un rango prefijado.Por ej. la velocidad de un
vehículo se mide generando una tensión proporcional a la velocidad.
- Sistema digital: las magnitudes físicas sólo toman valores discretos.Por
ej., si se usan señales de tensión que sólo pueden tomar tres valores, +5
V, 0 V, -5 V.Sistema binario:restringido a sólo dos valores.
- Un criterio para clasificar las computadoras es teniendo en cuenta cómo se
representa la información.
- Computadoras analógicas.
-Datos representados por magnitudes físicas.
-Son usados para resolver sistemas matemáticos complicados.
-Los módulos se conectan manualmente.
- Computadoras digitales.
-Datos representados por magnitudes discretas que sólo puede
tomar dos valores.
-Uso mucho más amplio.
- Computadoras híbridas.
-Tienen elementos de los dos tipos anteriores.
- Otro criterio está basado en su construcción:
- Computadoras de Lógica Cableada. El algoritmo está implantado en el
cableado de los circuitos.
Tema I. Introducción y conceptos básicos
22
Calculadoras.
Computadores Analógicos
- Computadoras de Lógica Programada. Algoritmo almacenado en
memoria
- Otra forma de clasificar las computadoras hace referencia al uso o propósito
para el que fueron diseñadas:
- Computadora de uso general.(todo tipo de aplicaciones).
- Computadora de uso específico.(solo para aplicaciones concretas).
- Por último, atendiendo a la potencia:
-Supercomputadoras.rápidas.50MIPS.Cray1,Cyber250.VariasCPU.
- Macrocomputadoras ("Mainframes").Se pueden usar por varios
usuarios.Longitud de palabra de 32 bits. Memoria de 16 a 64
MGB.
- Superminicomputadoras.Ap. 16 puestos. Palabras de 32 bits.
- Estaciones de trabajo ("Workstations").Memoria de 2 a 32 MGB”
MIPS.Aplicaciones científicas y de diseño gráfico.
- Computadoras Profesionales/Personales (PS/PC).16 a 32 bits.
Memoria de 1 MGB 32 MGB. Frecuencias de reloj de 33 a 100
Mhz.Gran cantidad de software disponible para ellas.
- Nanocomputadoras ("doméstica" o "familiar").En desuso total.
Longitud de 8 bits y memoria de varios KB.
Esta clasificación es muy difusa debido a los avances y desarrollo de la
microelectrónica.
Tema I. Introducción y conceptos básicos
23
I.2.4.- Programas e instrucciones. Lenguajes. Hardware y Software.
-Instrucción:conjunto de símbolos que representan una orden de operación para la
computadora. Suelen realizarse con o sobre los datos.
-Programa: conjunto ordenado de instrucciones que se da a la computadora
indicándole las operaciones o tareas que se desea que se realicen.
-Lenguaje de programación:Lenguaje con determinadas reglas para la construcción
de sus frases, que se va a usar para representar las instrucciones del programa que se
desea ejecute la computadora.
-Hardware y Software:
.Hard:soporte físico de la computadora. Es la computadora en sí, con todos
sus circuítos, cables armarios, monitores, teclados, etc.
.Soft:soporte lógico o lógical de la computadora. Es el conjunto de programas
ejecutables por la computadora.
La computadora por sí sola no funciona; debe de procesar instrucciones que rigen su
comportamiento. Estas instrucciones son el Software.
- Lenguaje máquina. Es el único lenguaje que entienden los circuítos de la
computadora. Las instrucciones de este lenguaje están formadas por ceros y
unos(bits), agrupados en al menos dos campos, el codigo de operación y la dirección
del operando.
Inconvenientes: -depende de la computadora.
-repertorio de instrucciones reducido.
-laborioso de programar.
-conduce a muchos errores.
- Lenguajes de alto nivel.Evitar los problemas del código máquina.Son generales
para todas las máquinas.
Un programa en este lenguaje, debe de ser traducido a código máquina para que sea
entendible por el computador.
- Traductores.Son programas ejecutables en la computadora que reciben como datos
de entrada programs escritos en determinado lenguaje de programación y dan como
salida programas en lenguaje máquina directamente ejecutables por la
máquina.Existen dos tipos de traductores:
Compiladores. Traducen el programa inicial(programa fuente)globalmente y
generan un programa (objeto) traducido a código máquina.
Intérpretes.No consideran el programa como un todo, sino que va traduciendo y a
la vez ejecutando las instrucciones una a una. No generan código objeto.
Tema I. Introducción y conceptos básicos
24
- Sistema Operativo. Conjunto de programas necesarios para el control y para la
utilización eficiente de la computadora. Copias, edición, borrados, diagnóstico, etc.
Se utiliza con un lenguaje específico llamado lenguaje de control. Las instrucciones
de este lenguaje se llaman órdenes o comandos.MS-DOS,Unix, OS/2, Windows95.
I.2.5.- Funcionamiento de las computadoras.
- Para ejecutar un programa escrito en lenguaje máquina, lo primero que hay
que hacer es introducirlo en la memoria principal.
- El "cargador" se encarga de introducir el programa en posiciones
consecutivas de memoria a partir de una dada "i".
- Una vez cargado, se le da paso a la UC (unidad de control), poniendo el
registro CP (contador de programa) a "i", para que empiece a ejecutar el programa.
- La UC repite sucesivamente las siguientes fases:
a) Fase de captación de la instrucción.
Mem(CP) --- (instrucción) ---> UC
Incremento de CP
b) Fase de ejecución de la instrucción, se interpreta el código de la
operación y se mandan las señales de estado adecuadas, y vuelta a la
fase a).
- Si la ejecución de una instrucción implica saltar a una instrucción distinta a
la siguiente, pondrá el CP al valor de la posición de dicha instrucción, con lo
que se cogerá en la siguiente fase a).
- Ejemplo:
Supongamos que se dispone de una computadora con el siguiente
repertorio de instrucciones máquina:
Tema I. Introducción y conceptos básicos
25
- ENT M(m). Lee desde teclado un valor y lo almacena en la posición m
de Memoria.
- SAL M(m). Escribe por impresora el contenido de la posición m de
Memoria.
- CAR M(m). Carga en la ALU un dato procedente de la posición m de
Memoria.
- MEM M(m). Almacena en la posición m de Memoria el contenido de
la ALU.
- SUM M(m). Suma el contenido de la ALU con el de la posición m de
Memoria, y el resultado queda en la ALU.
Se desea efectuar un programa que sume dos números dados por teclado
y muestre el resultado por la impresora.
El programador, en lenguaje máquina, ha de determinar las posiciones
de memoria que va a utilizar. Por ejemplo:
Primer sumando, en posición 16
Segundo sumando, en posición 17
Suma, en posición 18.
Trabajando en lenguaje de alto nivel, sería el programa traductor el que
determinaría esas posiciones.
Tema I. Introducción y conceptos básicos
26
(7)
(8) ENT M(16)
(9) ENT M(17)
(10) CAR M(16)
(11) SUM M(17)
(12) MEM M(18)
(13) SAL M(18)
(14)
(15)
(16) 50
(17) 16
(18) 66
(19)
50 , 16
Teclado
instrucciones
66
Impresora
Memoria
50
66
UC
ALU
I.2.6.- Visión general de un sistema informático.
GENERADORES DE PROGRAMAS.
PROGRAMAS
DE APLICACION
COMPILADORES E INTERPRETES
GESTORES DE BASES DE DATOS
ENSAMBLADORES Y EDITORES
SISTEMAS OPERATIVOS
RUTINAS DE ENTRADA / SALIDA
HARDWARE
Tema I. Introducción y conceptos básicos
27
Descargar