Title: Qué es la Informática
Body: Informática (Del fr. informatique). 1. f. Conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de ordenadores.
(Extraído del Diccionario de la RAE, 2001)
Un poco de historia…
Ábaco – 2000 a.c.
El sumador de Pascal – mediados s. XVII
La calculadora de G.W. von Leibniz – finales s. XVII
La máquina de diferencias de Babbage – s. XIX
Concepto de programa externo
1945: Comienzo de la era de la Informática
Modelo J. von Neumann: estructura de la computadora tal y como la conocemos hoy; concepto de programa interno
Coincide con el desarrollo de la electrónica
Qué es la Informática
Computadora electrónica 1. f. Máquina electrónica digital, dotada de una memoria de gran capacidad y de métodos de tratamiento de la información, capaz de resolver problemas matemáticos y lógicos mediante la utilización automática de programas informáticos.
(Extraído del Diccionario de la RAE, 2001)
Fundamentos de computadores Introducción a la programación
Qué es una computadora
Hardware (Voz ingl.).1. m. Inform. Conjunto de los componentes que integran la parte material de una computadora.
Software (Voz ingl.).1. m. Conjunto de programas, instrucciones y reglas informáticas para ejecutar ciertas tareas en una computadora.
Un poco de hardware
Memoria
Dispositivo de salida
Dispositivos de entrada
Memoria secundaria
Ratón
Teclado
Unidad Central
de Procesamiento
Carcasa (tipo torre)
Unidad
de disquetes
Unidad
de CD-ROM
Memoria principal
y Unidad de Disco Duro
(ambos dentro)
Monitor
Un poco de hardware: el Modelo Von Neumann
Unidad de Control
Unidad Aritmético-Lógica
Unidad Central de Procesamiento (CPU)
Unidad de Memoria
Ideas importantes:
Un programa es una cadena secuencial de instrucciones
Las instrucciones ordenan al ordenador realizar una operación sobre unos datos
Las instrucciones se ejecutan una tras otra, aunque puede haber bifurcaciones condicionales (usar un dato para decidir entre dos instrucciones diferentes por donde continuar)
El computador procesa tanto instrucciones como sus datos
Las instrucciones y los datos se almacenan juntos en memoria
Un poco de hardware: la Unidad de Memoria (UM)
Almacena las instrucciones y los datos del programas
El almacén está formado por celdas
Identificadas unívocamente por su dirección
Siempre contienen información
Se puede leer o escribir información en ellas
(Gp:) Selector
(Gp:)
…
(Gp:) UM
(Gp:) Registro de Dirección (RD)
(Gp:) Celdas
(Gp:) Registro de Intercambiode Datos (RID)
Un poco de hardware: la Unidad Aritmético-Lógica (UAL)
Realiza las operaciones elementales aritméticas (suma, resta, multiplicación, división, etc.) y lógicas (comparaciones de igualdad, mayor, menor, etc.)
(Gp:)
(Gp:) Banco de Registros Temporales (BRT)
(Gp:) Operador
(Gp:) UAL
(Gp:) Acumulador
Un poco de hardware: la Unidad de Control (UC)
Obtiene y almacena los datos en la UM, obtiene e identifica las instrucciones del programa de la UM y manda ejecutar las operaciones a la UAL
(Gp:) Registro de Instrucción (RI)
(Gp:) Decodificador
(Gp:) UC
(Gp:) Secuenciador
(Gp:) Contador de Programa (CP)
(Gp:) Operación Direcciones de 3 operandos
Ejecución de una instrucción
Los pasos del ciclo de instrucción según Von Neumann
LEER
INSTRUCCIÓN
DECODIFICAR
INSTRUCCIÓN
CAPTURAR
DATOS
REALIZAROPERACIÓN
ALMACENAR
RESULTADOS
CALCULAR
INSTRUCCIÓN
SIGUIENTE
El CP indica la dirección de la celda donde está la instrucción que se debe copiar al RI
El operando del RI (que puede ser un dato o la dirección de la celda de un dato) se copia en el BRT
(Esto se repite para todos los operandos de entrada)
La dirección de celda de la siguiente instrucción se copia al CP
El resultado del Acumulador se copia en la dirección de la celda del resultado, generalmente indicada en el último operando de la instrucción(Esto se repite para todos los resultados)
Ejecución de una instrucción (cont.)
Operación: SUMA-CELDAS Operando 1: X Operando 2: Y Operando 3: ZSUMA-CELDAS suma el dato de la primera dirección al de la segunda y lo guarda en la tercera
La computadora manipula únicamente información digital:Datos e instrucciones se codifican como dígitos binarios (0’s y 1’s)
¿Por qué no se usa una representación de otro tipo?
Problema tecnológico (es más fácil representar ceros y unos)
¿A qué nos conduce la solución adoptada para evitar el problema tecnológico?
La máquina sólo puede trabajar con cadenas de ceros y unos
¿Qué entiende la computadora?
a = (b + c)/(d + e)
Pasos
sumar b y c, y guardar el resultado en una dirección de memoria temporal X
sumar d y e, y guardar el resultado en una dirección de memoria temporal Y
dividir el contenido de X por el de Y y guardar el resultado en la dirección de memoria de a
Ejemplo de código máquina
codigoOp direccOp1 direccOp2 direccRes
0000 00001000 00001100 00001110
0000 00011000 00011100 00011110
0101 00011110 00001110 00000100
Código de la división
Direcc. Temporal X
Direcc. Temporal Y
Código de la suma
Lenguaje máquina
(Gp:) x
(Gp:) y
Lenguaje máquina (cont.)
Inconvenientes
Grandes posibilidades de error
Portabilidad: máquina-dependiente
No se puede llevar el programa a otra máquina porque, entre otras cosas, el repertorio de instrucciones es distinto
Tedioso
Nula capacidad de abstracción
Es muy complicado formular una solución a problemas del mundo real con ese lenguaje tan específico
Lenguaje ensamblador
Lenguaje simbólico con una mínima capacidad de abstracción
Nombres nemotécnicos para los códigos de operación
Nombres simbólicos para las direcciones de memoria
Ejemplo de instrucción de código ensamblador
codigoSimbOp direccSimbOp1, direccSimbOp2, direccSimbRes
Códigos simbólicos de las operaciones
SUM = La suma
DIV = La división
a = (b + c)/(d + e)
SUM B, C, X
SUM D, E, Y
DIV X, Y, A
Cuestiones
¿Cómo entiende la máquina el lenguaje ensamblador?
Si las direcciones de memoria son simbólicas ¿en qué direcciones de memoria se colocan los datos?
Programa ensamblador
Traducción a código binario de códigos simbólicos de operación
Traducción de las direcciones simbólicas a direcciones reales de memoria
Inconveniente: sigue siendo dependiente de la máquina
Lenguaje ensamblador (cont.)
Código fuente(lenguaje ensamblador)
Programa ensamblador
Código objeto(lenguaje máquina)
Página siguiente |