Sunteți pe pagina 1din 57

CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

INTRODUCCIÓN A LA INFORMÁTICA Y EL ORDENADOR

Históricamente. (Necesidad del cálculo; Ábaco.)


- Palanca.
- Ruedas dentadas.
- Imprenta (Papel).
- Electricidad. Cableado. Conmutadores.
- Válvula electrónica (Primer ordenador como origen de tal ordenador).
- Electrónica. Transistores (Reduce tamaño).
- Técnicas de integración (Reduce costes).
Circuito integrado "chip". 1 mm2 = 1106 Transistores.

ORDENADOR

-MAQUINA
-TRATA INFORMACIÓN
-AUTOMÁTICAMENTE

Máquina que sirve para tratar automáticamente la información.

INFORMÁTICA
Disciplina que se ocupa del tratamiento automático de la información.

TELEINFORMÁTICA
Telecomunicación a distancia.
Informática a distancia.

INFORMACIÓN

Carácter.
Conjunto de símbolos numéricos, alfabéticos o especiales que empleamos en la escritura y
en el cálculo.
Numéricos. 0,1,2,3,...9
Alfabéticos. A,B,C,...Z
Especiales. .,+()/&

Datos.
Cualquier conjunto de caracteres. Nombre y valor.
Numéricos. 24 2 343
Alfabéticos. PALABRA CASA
Alfanuméricos. 3A+28

Para que un dato aporte información tiene que:

Información.
Conjunto de datos necesarios para plantear un problema tanto de gestión o técnico de
cálculo.

Bit.
Unidad básica de información. 0, 1.
(Lo que se mueve en el ordenador).

 1
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Palabra.
Paquetes de 0 y 1. Con los que trabaja el ordenador.
[01001110] Palabra de 8 bits = BYTE (Octeto).

Problemas de gestión.
Se utiliza gran volumen y densidad de datos. Se realiza con ellos cálculos elementales.
Datos bancarios. Nóminas. Operaciones sencillas (+ , -).

Problemas técnico - científico.


Pocos datos. Muchos cálculos y muy complejos.
Sistemas de ecuaciones (Pocos datos, muchas operaciones).

TRATAMIENTO DE LA INFORMACIÓN

El hecho de pasar de un conjunto de datos iniciales a otro conjunto de datos finales a través
de un proceso que se llama proceso de datos.

OPERACIONES QUE REALIZA UN PROCESO DE DATOS

- Recibir información. LECTURA


- Almacenamiento en memoria. REGISTRO. CLASIFICACIÓN
- Relacionarla con la que tiene en memoria. CALCULO
- Transmitir los resultados del tratamiento. REPRODUCCIÓN. ESCRITURA

TRATAMIENTO AUTOMÁTICO DE LA INFORMACIÓN

Laboriosidad. Gran volumen y diversidad de datos.


Rapidez. En la ejecución de los cálculos necesarios.
Fiabilidad. De los resultados obtenidos.

Todo ello aconseja tratar la información de forma automática.

 2
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

CONCEPTO ELECTRÓNICO DEL ORDENADOR

Máquina.
Dispositivo electrónico que manipula señales eléctricas de tipo digital binario.
Unidades que realizan las siguientes funciones:
FUNCIÓN ENTRADA Lectura de datos necesarios.
FUNCIÓN SALIDA Escritura de resultados.
FUNCIÓN MEMORIA Registro y clasificación de datos de E/S.
FUNCIÓN CALCULO Operaciones.
FUNCIÓN CONTROL Ordena cual es la función que debe intervenir en
cada momento.

Lenguaje distinto al humano.


La información dada al ordenador debe ser codificada, pues trabaja con 0 y 1.
Los datos dados al ordenador deben guardarse en memoria.
Cada dato que se guarda en memoria tiene asignada una dirección.
El humano tiene que detallar paso a paso todo lo que tiene que hacer.
Solo ejecuta ordenes elementales llamadas instrucciones.
Estas deben ser ordenadas minuciosamente.
A este conjunto de instrucciones se le llama programa.

ORDENADOR

Memoria.
Unidad Aritmético - Lógica. U.A.L.
Unidad de control.

Al conjunto de unidad de Control y U.A.L. se le denomina Unidad Central de Proceso.


U.C.P.

MEMORIA.
Almacena instrucciones, datos, resultados intermedios y resultados finales.
Todo flujo de información pasa por memoria.
Recibe información de unidades de entrada.
Suministra información a unidades de salida.
 3
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

UNIDAD DE CONTROL.
Obtiene el programa (instrucciones) de memoria.
Asigna tareas a las demás unidades del ordenador.

UNIDAD DE CALCULO.
Recibe datos de memoria.
Opera con ellos.
Envía resultados a memoria.

El ordenador necesita estar en contacto con el exterior para recibir y enviar información a
través de los dispositivos periféricos de entrada y salida.
La conexión entre las distintas partes del ordenador se realiza por vías donde circula la
información, que se llaman BUS (de entrada/salida y de memoria).

HARDWARE Y SOFTWARE

HARDWARE.
Tecnología del ordenador.

Componentes electrónicos. Transistores, circuitos integrados.


Lógica. Registros, contadores, sumadores, etc..

Están interconectados entre sí (hilos, placas circuito impreso).


Todo esto junto al armazón y los bastidores constituye la arquitectura del ordenador.

SOFTWARE.
Programas (lo no material).
Básico o de soporte (lenguajes de programación).
De aplicación o de usuarios (programas desarrollados para resolver problemas específicos).

EVOLUCIÓN HISTÓRICA
 4
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Primeros mecanismos de cálculo, el ábaco, la regla de cálculo, máquinas de cálculo


mecánicas.
El verdadero desarrollo de los ordenadores, como tales, debemos fijarlo en 1954 en que se
realiza la entrega del primer ordenador comercial.
Con la aparición de la tecnología del silicio se han dado pasos agigantados en cuanto a la
velocidad, volumen y constitución.

1954 1ª Generación Válvulas.


1960 2ª " Semiconductores. Reduce tamaño y aumenta la velocidad.
1965 3ª " Circuitos integrados. 10000 transistores pos mm 2.
1972 4ª " Microprocesadores. Grado de integración: 100000 .
1987 5ª " 1000000 transistores por mm 2 Reconocimiento de voz.
Lectura de texto y dibujo.

EVOLUCIÓN DE LA ARQUITECTURA

 5
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

SISTEMAS INFORMÁTICOS

Conjunto de ordenador más periféricos.

PERIFÉRICOS.
- Comunicación hombre - máquina. E/S.
- Unión máquina con el exterior, entre ordenadores. ordenador con la red, línea telefónica.
- Modulador/Demodulador. MO/DEM.
- Memorias externas.

CLASIFICACIÓN DE LOS SISTEMAS INFORMÁTICOS

POR SUS CARACTERÍSTICAS.

- Velocidad de cálculo (operaciones / seg.).


- Velocidad de transferencia de datos (palabras / seg.).
- Capacidad de memoria que tiene (cantidad de datos a memorizar).
- Cantidad de usuarios que pueden ser atendidos simultáneamente.

MAINFRANE (Gran ordenador).

- Muchos usuarios.
- Estructura compleja.
- Gran cantidad de memoria.
- Gran velocidad.
- Muy caros.
- Grandes empresas (Multinacionales).

MINIORDENADOR.

- Varios usuarios.
- Menor memoria.
- Menor velocidad.
- Más fáciles de manejar.
- Más baratos.

 6
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

MICROORDENADOR.

PC.
- Un usuario.
- Muy fáciles de manejar.
- Memoria limitada.
- Velocidad baja.
- Bajo coste.

POR EL CAMPO DE APLICACIÓN.

GESTIÓN. Administrativo, nóminas, almacenes, bancos.

CIENTÍFICOS INDUSTRIALES. Pequeños ordenadores acoplados a máquinas.


Para trabajo específico de una máquina.
Autómatas. Periféricos especiales.

PROPÓSITO GENERAL. Un poco de todo de los anteriores.

APLICACIONES ESPECIALES. Complicados cálculos matemáticos con gran rapidez.


Artillería, por ejemplo.
No hay periféricos.

ESQUEMA GENERAL DE UN COMPUTADOR

COMPUTADOR.
Máquina electrónica con gran velocidad de cálculo, capaz de aceptar información
digitalizada como entrada que procesa de acuerdo a un programa almacenado en memoria
para producir una información resultante de salida.

Realiza dos tareas principales:


a) Acciones: Suma, desplaza, compara y transporta información.
b) Genera órdenes tendentes a comprobar y controlar en todo momento el estado interno
del sistema.

 7
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Básicamente un computador está formado por cinco bloques principales, funcionalmente


independientes: Memoria, Unidad de entrada, Unidad de salida, Unidad aritmética y lógica y
Unidad de control. Esta descripción corresponde al modelo de Von-Newman que
gráficamente se indica a continuación.

UNIDAD DE ENTRADA.

Se encarga de adquirir información del mundo exterior, codificarla e introducirla al


ordenador, almacenándola en su memoria.

Diversos periféricos pueden actuar como unidad de entrada, de ellos destacamos:

- Teclado.
- Ratón.
- Dispositivos basados en material magnético: casete, cinta magnética digital, "streamer",
discos magnéticos fijos, etc.
- Lector de tarjetas perforadas.
- Intérprete de señales de audio.
- Joystics.
- Lápiz óptico.
- Otros ordenadores conectados mediante líneas de comunicación.
- Digitalizadores o "scanners".

UNIDADES DE SALIDA.

Es el complemento a la unidad de entrada. Su función es devolver los resultados


procesados por el computador al "mundo exterior".

Tipos más comunes:


- Consola o terminal CRT.
- Impresora.
- Los tratados en la unidad de entrada.

 8
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Los términos "unidad de entrada" y "unidad de salida" se engloban en el genérico "unidades


de entrada/salida" dado que la mayoría de los periféricos estándar proporcionan ambas
funciones.

MEMORIA.

Lugar de almacenamiento de la información, esto es, de:

Programas.

Conjunto de instrucciones que realizan una tarea.

Las instrucciones son comandos que explícitamente gobiernan la transferencia de


información dentro del computador, y entre éste y los dispositivos de I/O. Asimismo,
especifican las operaciones aritméticas y lógicas que hay que realizar.

Las instrucciones generalmente son ejecutadas en el orden secuencial en que han sido
almacenadas, aunque en determinados casos puede alterarse por interrupción externa del
operador o de algún dispositivo periférico conectado a la máquina.

Cualquier instrucción responderá a uno de los tipos siguientes:


- suma, desplazamientos de valores numéricos,
- comparación de valores numéricos o alfabéticos,
- almacenamiento y recuperación de información.

Ejemplos de instrucciones típicas:


- lectura de un "ítem" de datos en memoria a través de un dispositivo de entrada,
- sumar el contenido de dos posiciones de memoria y almacenar el resultado en una tercera,
- evaluar el contenido de una posición de memoria y en virtud del resultado procesar la
siguiente instrucción de la secuencia o saltar a otro punto diferente del programa,
- escribir un ítem de datos de memoria a un dispositivo de salida.

Datos.

Números y caracteres codificados usados como operandos por las instrucciones. Pueden
ser externos o generados durante la ejecución de un programa.

Para representarlos en el ordenador se utilizan sistemas de codificación donde cada número


o carácter alfanumérico queda representado por una cadena de dígitos binarios (bits).
Por ejemplo, dos de los sistemas más empleados son el ASCII (American Standard Code
for Information) donde cada carácter queda representado por un código de 7 bits, y el
EBCDIC que emplea un código de 8 bits.

Tipos de memoria:

 Memoria principal o central:

Es el lugar donde están almacenados los programas y datos durante la ejecución. Está
fabricada con material semiconductor y es accesible directamente en un espacio corto de
tiempo.

 9
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

La información almacenada se procesa en grupos de bits (palabras o words). Cada palabra


en memoria lleva asociado un número (dirección). La longitud de palabra depende del
computador y varía de 8 a 32 en equipos pequeños o 64 para ordenadores mayores.
La capacidad de memoria principal es uno de los factores que caracteriza el tamaño del
computador.

Caven varias modalidades de memoria principal:


RAM (Random Access Memories) en las que directamente se puede acceder a cualquier
posición para leer o escribir en ella. Su tiempo de acceso varía de 100 a 500 nanosegundos.
ROM o memorias de solo lectura. Es imposible variar su contenido una vez grabadas por el
fabricante (si lo es en las PROMS).

 Memoria magnética de disco o secundaria:

Se usan para guardar grandes cantidades de datos a los que no se accede con frecuencia.
Son bastante más lentas que las anteriores pero también son más baratas. Tienen la
ventaja adicional de no perder la información cuando les falla el suministro eléctrico.

Las más usadas son:


- Cintas magnéticas (dispositivos de acceso secuencial).
- Discos magnéticos. La información se identifica indicando pista y sector de disco.
- Tambores magnéticos. Son una modalidad de los anteriores. Se trata de un cilindro
magnético al que acceden numerosas cabezas de lectura/escritura.
- Memorias ópticas. Por ejemplo el videodisco.

 Registros acumuladores:

Se trata de elementos de almacenamiento de alta velocidad que forman parte del


procesador. Es frecuente su uso en la ALU para guardar datos intermedios generados
durante alguna operación aritmético - lógica.
Ventaja: El tiempo de acceso es de 5 a 10 veces inferior al de memoria principal, y por
consiguiente se puede realizar operaciones a gran velocidad.
Inconveniente: Capacidad muy reducida al estar implementados dentro del procesador.

Registros de especial interés:


- Registro de instrucciones (IR): Contiene la instrucción que se está procesando.
- Contador de programa (PC): Contiene la dirección de memoria donde se encuentra la
próxima instrucción que se va a ejecutar.
- Otros: MAR, MDR, Registros de propósito general.

UNIDAD DE CONTROL.

Es el órgano coordinador del resto de unidades en el computador. Su función es ejecutar


programas almacenados en memoria central tomando sus instrucciones, examinándolas y
ejecutándolas secuencialmente, activando la circuitería necesaria para que la ALU, la
memoria o algún dispositivo periférico realice las funciones encomendadas.

Muy próxima a la UC existe una pequeña memoria de muy alta velocidad de acceso
(registros), vistos en el punto anterior.

Modo de operación típico:


 10
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

1.- Se inicia la ejecución del programa haciendo que el PC "apunte" a la primera instrucción
de programa.
2.- El contenido de PC se transfiere al MAR enviándose una señal "Read" a memoria.
3.- Transcurrido un tiempo (tiempo de acceso a memoria), la instrucción apuntada por el PC
se almacena en MDR.
4.- Se transfiere el contenido de MDR a IR con lo que la instrucción queda lista para ser
descodificada y ejecutada.
5.- Se actualiza PC pasando a "apuntar" la próxima instrucción.

La Unidad de Control es propia de cada computador.

UNIDAD ARITMÉTICA Y LÓGICA (ALU).

Este módulo, a instancias de la Unidad de Control, realiza operaciones triviales (suma,


resta, compara enteros). No hace funciones como log., exp., raíz, etc.. Para ello existe un
microprograma.

Al conjunto de la Unidad de Control, la ALU y los registros (IR, PC, MAR, MDR, registros de
propósito general) se conoce por Unidad Central de Proceso (CPU).

SISTEMA OPERATIVO. CONCEPTO Y CARACTERÍSTICAS.

Un sistema de cómputo está formado por tres elementos que interactúan entre sí:

- Hardware: Proporciona los recursos; memoria, dispositivos de I/O, etc..


- Sistema operativo: Controla y coordina el uso de los recursos por varios Programas de
Aplicación.
- Programas de Aplicación: Definen la utilización de los recursos necesarios para resolver
los problemas que plantea el usuario.

Conocemos con el término SOFTWARE a todos los programas que se escriben para
ejecutarse en un ordenador (en la clasificación anterior abarcaría al Sistema Operativo y a
los programas de aplicación).

Programas de aplicación o de usuario: Engloban todos aquellos programas escritos para


resolver problemas de índole diversa (científicos, gestión, contabilidad, etc.).

Sistema operativo. Programa o conjunto de programas que actúan de nexo entre el


usuario y el hardware del computador, ó bien, "Conjunto de instrucciones que gobiernan la
forma en que los componentes electrónicos del ordenador interpretan y responden a los
comandos, instrucciones y aplicaciones software".

Su propósito es proporcionar un entorno en el que el/los usuario/s pueda/n ejecutar


programas.

 11
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Servicios que ofrece un sistema operativo al usuario:

- Ejecución de programa.
- Operaciones de I/O.
- Manipulación de ficheros.
- Detención de errores.

Además realiza otro tipo de funciones transparentes al usuario como:


- Reserva de recursos.
- "Accounting".
- Protección de la información.
- ...

Existe un gran número de sistemas operativos, gran parte de ellos propietarios, es decir
desarrollados e implantados en máquinas de una determinada casa comercial por los
técnicos de ésta (ej. VMS por DEC, NOS y NOS/VE por CDC, CP/M por IBM, etc.), otros por
contra han nacido en departamentos universitarios y posteriormente han sido modificados y
adaptados a máquinas de constructores diferentes.

 12
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

LENGUAJE ORIGEN DEL NOMBRE AÑO USOS/COMENTARIOS

ADA Augusta ADA Byron 1979 Derivado de Pascal, utilizado


(Lady Lovelace) principalmente por los militares.

ALGOL ALGOrithmic Language 1960 Primer lenguaje de programación


(Lenguaje ALGOL algorítmico) procedural estructurado, utilizado sobre
todo para resolver problemas matemáticos.
APL A Programming Language 1961 Lenguaje interpretado que utiliza un amplio
(Un lenguaje de programación) conjunto de símbolos especiales y que se
caracteriza por su brevedad. Utilizado
fundamentalmente por los matemáticos.
BASIC Beginners All-Purpose Symbolic 1965 Lenguaje de programación de alto nivel,
Instruction Code(Código de utilizado con frecuencia por programadores
instrucciones simbólicas principiantes.
multipropósito para principiantes)
C Predecesor del lenguaje de 1972 Lenguaje de programación compilado y
programación B, fue desarrollado estructurado, que suele utilizarse en
en Bell Laboratory, en 1972 numerosos lugares de trabajo porque sus
programas pueden transferirse fácilmente
entre distintos tipos de computadoras.
COBOL COmmon Business-Oriented 1959 Lenguaje de programación semejante al
Language (Lenguaje simbólico idioma inglés, que hace hincapié en las
de programación orientado a estructuras de datos. De amplia utilización,
aplicaciones comerciales) principalmente en empresas.
FORTH Lenguaje de cuarta 1970 Lenguaje estructurado e interpretado de
(FOuRTH) generación fácil ampliación. Ofrece una alta
funcionalidad en un espacio reducido.
FORTRAN FORmula TRANslation 1954 Diseñado en un principio para usos
(Traducción de fórmulas) científicos y de ingeniería, se trata de un
lenguaje compilado de alto nivel que hoy se
utiliza en numerosos campos. Precursor de

 13
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

diversos conceptos, como las variables, las


instrucciones condicionales y las subrutinas
compiladas por separado.
LISP LISt Processing 1960 Lenguaje de programación orientado a la
(Procesamiento de listas) generación de listas, utilizado
principalmente para manipular listas de
datos. Lenguaje interpretado que suele
utilizarse en las investigaciones y está
considerado como el lenguaje estándar en
proyectos de inteligencia artificial.
LOGO Derivado del griego logos, 1968 Lenguaje de programación que suele
‘palabra’. utilizarse con niños. Presenta un sencillo
entorno de dibujo y varias prestaciones de
mayor nivel del lenguaje LISP.
Fundamentalmente educativo.
Modula-2 MODUlar LAnguage-2, diseñado 1980 Lenguaje que hace hincapié en la
como fase secundaria de Pascal programación modular. Es un lenguaje de
(diseñados ambos por Niklaus alto nivel basado en Pascal, que se
Wirth) caracteriza por la ausencia de funciones y
procedimientos estandarizados.
Pascal Blaise PASCAL, matemático e 1971 Lenguaje compilado y estructurado basado
inventor del primer dispositivo de en ALGOL. Agrega tipos y estructuras de
computación. datos simplificando la sintaxis. Al igual que
el C, se trata de un lenguaje de
programación estándar para
microcomputadoras.
PILOT Programmed Inquiry, Language 1969 Lenguaje de programación utilizado
Or Teaching fundamentalmente para crear aplicaciones
(Consulta, lenguaje o aprendizaje destinadas a instrucciones asistidas por
de investigación programada) computadora. Se caracteriza por utilizar un
mínimo de sintaxis.
PL/1 Programming Language 1 1964 Diseñado para combinar las principales
(Lenguaje de programación uno) virtudes del FORTRAN, COBOL y ALGOL,
se trata de un lenguaje de programación
complejo. Compilado y estructurado, es
capaz de gestionar errores y de procesar
multitareas, y se emplea en entornos
académicos y de investigación.

1"Lenguajes de programación", Enciclopedia Microsoft® Encarta® 97 © 1993-1996


Microsoft Corporation. Reservados todos los derechos.

 14
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

INGENIERIA DE SOFTWARE

CONTENIDO:
1.- INGENIERIA DE SOFTWARE: DEFINICION. PRECEDENTES, CICLO DE VIDA SOFTWARE.
2.- PROCESO DE DISEÑO DE PROGRAMAS.
3.- TECNICAS DE PROGRAMACION MODULAR: DISEÑO "TOP-DOWN".
4.- PROGRAMACION ESTRUCTURADA.
5.- HERRAMIENTAS DE AYUDA.

INGENIERIA DE SOFTWARE.

DEFINICION:

Establecimiento y uso de principios de ingeniería robustos, orientados a obtener software


económico que sea fiable y funcione eficientemente sobre máquinas reales.
(Frith Bauer - NAU69)

PRECEDENTES:

1.- Década de los 50 y mitad de los 60.


-Período dominado por el hardware, que sufre continuos cambios en su tecnología.
-El software es un valor añadido desarrollado sin planificación.
-La mayor parte del software se dedica a la ejecución de un único programa destinado a una
aplicación específica. Es utilizado por la misma persona que lo escribe, quien a su vez lo
mantiene.
-Documentación escasa o nula.

2.- Década de los 60 a mitad de los 70.


-Aparecen los sistemas multiusuario y la multiprogramación, que introducen conceptos
nuevos de interación hombre-máquina.
-Nacen las "casas de software". Estas realizan desarrollos para una amplia gama de
mercado. Aparece el uso del software como producto.
-Invasión del mercado de gran cantidad de productos dificiles de mantener.
-Los costes del software se convierten en los más fuertes frente al precio final del sistema.
-El esfuerzo en mantener el software comienza a absorber recursos. Surge la CRISIS DEL
SOFTWARE en productos que se hacen imposibles de mantener. Se plantea la necesidad de
una ingeniería de software.

3.- Mediados de los 70 hasta hoy.


-Aparecen los sistemas didtribuidos de computadoras.
-Incremento en la complejidad de los sistemas.
-Uso de criterios de Ingeniería de software (programación modular y estructurada, ...)

CICLO DE VIDA DEL SOFTWARE:

Un estudio de la evolución de un programa muestran ciertos fenómenos repetitivos con los


ciclos de vida naturales: un programa tiene una "vida" y una "historia".

A grandes rasgos, la evolución de un programa pasa por tres etapas:


-Definición.
-Implementación.
 15
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

-Mantenimiento.
en las cuales se abordan las siguientes nueve fases que conforman el proceso normal de
diseño de programas.

PROCESO DE DISEÑO DE PROGRAMAS.

1.- ESTUDIO DE VIABILIDAD.


Su objetivo es la evaluación y comparación de costes y beneficios de una solución software.
Los resultados se recogerán en el "documento de viabilidad" que contiene una
recomendación al cliente en el sentido de proceder o no a la adquisición del ordenador y
software necesario.

2.-ESPECIFICACIONES DEL PROBLEMA O DE LOS REQUERIMIENTOS.


Persigue establecer de forma clara y precisa cual es el problema a resolver.
Las especificaciones deben contener información suficiente como para que el programador
pueda preveer todas las posibilidades, no sólo las esperadas.
Los resultados se recogerán en el "documento deespecificación" que contiene la descripción
exacta del problema a resolver. Dicho documento marca generalmente el final de la
participación del cliente.•

3.-DISEÑO DEL PROGRAMA.


Supone descomponer la definición del problema implicito en el documento de especificación
en un conjunto de módulos más sencillos que junto a las estructuras de datos necesarias
conduzcan a una solución correcta del problema.
Esta técnica se conoce con el nombre de Diseño Top-Down, o desde un punto de vista
formal Diseño Modular.
Los resultados se recogerán en el "documento de diseño de programa" que enumera y
contiene los elementos que forman el programa, al tiempo que expresa las relaciones
estructurales entre ellos.

4.-DISEÑO DE LOS MODULOS.


Comienza por seleccionar el método para resolver el problema así como la representación
interna de los tipos de datos que se han especificado.
Seleccionado un módulo, se elige el algoritmo para resolverlo. Un algoritmo es un método
formal "paso-a-paso" para resolver problemas, o dicho de otro modo, la representación de
un problema como una sentencia de pasos.
El diseño de un módulo individual concluye con la representación del algoritmo en
"pseudocódigo" y con la representación interna de los datos para todos los tipos existentes.

5.-CODIFICACION.
Cubiertas correctamente las fases anteriores, la codificación consiste en la traducción
mecánica del algoritmo correspondiente a un módulo con la sintaxis de un determinado
lenguaje de programación.

Ejemplo:
Algoritmo: Dividir la suma de notas por el número total de notas para determinar la nota
media.

PASCAL: media:= sum/numero


BASIC: LET M=S/N
FORTRAN: media=sum/numero
COBOL: divide sum by numero giving media.

6.-DEPURACION.
Consiste en localizar y corregir los errores que dan lugar a resultados incorrectos o a la
realización de acciones no deseadas.
Los errores que pueden presentarse son de naturaleza diversa:
-errores de sintaxis.
 16
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

-errores de ejecución.
-errores lógicos.

7.-COMPROBACION, VERIFICACION Y BANCO DE PRUEBAS.


Supone concluir dos tareas:
a) Comprobación experimental:
Selección cuidadosa de un número de casos de prueba, y ejecución del programa con
dichos datos.
b) Verificación:
Trabajo más formal. Supone extender a la programación los mismos principios y
herramientas de las matemáticas y la lógica.

8.-DOCUMENTACION.
Es el resultado de unir todo el material obtenido en las fases previas y convertirlo en
documentos definitivos:
Paso 1 Documento de viabilidad.
Paso 2 Documento de especificaciones.
Paso 3 Documento de diseño.
Paso 4 Algoritmos y tipos abstractos de datos.
Paso 5 Listados de programa y comentarios.
Paso 6 esultados de banco de pruebas y comprobación de datos.

9.-MANTENIMIENTO DE PROGRAMAS.
Con el tiempo, el programa original necesita ser modificado para satisfacer nuevas
necesidades (cambios de legislación, cambios de máquina, nuevas consideraciones, etc.).

TECNICAS DE PROGRAMACION MODULAR: DISEÑO "TOP-DOWN".

Método tendente a dividir el problema total en partes perfectamente diferenciadas que


puedan ser analizadas, programadas y puestas a punto por separado.

OBJETIVOS
La programación modular tiende a:
-Disminuir complejidad.
-Disminuir coste.
-Aumento de claridad.
-Aumento de fiabilidad.
-Aumento del control del proyecto informático.
-Facilita la extensibilidad.
-Facilita modificaciones y correcciones.

CONCEPTOS DE LA PROGRAMACION MODULAR.

Programa principal.
Describe la solución completa del problema y consta, principalmente, de llamadas a
subprogramas o indicaciones al procesador de continuar la ejecución en el subprograma
llamado, retornando al punto de partida una vez concluido.

Subprograma.
Posee una estructura idéntica a la del programa, siendo su misión resolver de modo
independiente una parte del problema.
Es preciso que el subprograma realice una función concreta en el contexto del problema.
Un subprograma puede tener sus propios subprogramas.
 17
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

-Subprogramas internos:
Son aquellos que figuran junto al programa principal (en PASCAL son los procedimientos y
las funciones).
-Subprogramas externos:
Son los que figuran físicamente separados del programa principal. Pueden ser compilados
aparte, incluso en diferentes lenguajes de programación que el del programa principal.
Generalmente se enlazan con éste en la fase de "linkaje" cuando ya son módulos objeto.

Objetos.
Los objetos que manipula un programa (constantes, variables, tablas, archivos, etc.) se
clasifican según su ámbito de actuación, es decir, según en la porción de programa y/o
subprogramas en que son conocidos y por tanto potencialmente utilizables.
-Objetos globales.
Son los declarados en el programa principal, cuyo ámbito se extiende en el mismo y en
todos sus subprogramas.
-Objetos locales.
Relativos a un subprograma, son los declarados en éste y su ámbito está restringido a el
mismo y a los subprogramas declarados en él.

Parámetros o variables de enlace.


Son variables o datos mediante las cuales se establece el mecanismo de entrada/salida de
datos entre subprogramas.
Caben dos tipos de parámetros:
-Parametros formales.
Variables locales de un subprograma utilizados para la emisión y recepción de datos.
-Parámetros actuales.
Variables y datos enviados en cada llamada a un subprograma, por el programa o
subprograma llamante.
Los parámetros formales son siempre fijos para cada subprograma, no asi los actuales que
pueden variarse en cada llamada.
Se denomina "paso de parámetros" al proceso de emisión y recepción de datos mediante las
variables de enlace. Este puede hacerse:
-Por valor:
Suministra datos de entrada al subprograma.
-Por referencia:
Suministra datos de entrada y salida al subprograma.

Módulo.
Es una entidad independiente de programa que satisface las siguientes rstricciones:
-Es una entidad con nombre.
-Puede ser llamado desde otros módulos.
-Puede ser compilado de forma independiente del resto de módulos.
-En PASCAL un módulo generalmente está asociado con una función o un procedimiento, es
decir, con un subprograma.
Tipos de módulo:
-Raiz o director.
-Subraiz.
-De entrada.
-De validación.
-De proceso (cálculo en general).
-De preparación de salida.
-De salida propiamente dicha.

CRITERIOS A CONSIDERAR EN PROGRAMACION MODULAR.


-Un módulo debe corresponder a una función lógica perfectamente diferenciada.
-Los módulos serán pequeños para asi ser claros y de poca complejidad.
-No conviene utilizar demasiados niveles de refinamiento, ya que entonces sería la propia
red la que adquiriría complejidad.
-Estructura de caja negra; la salida debe ser exclusivamente función de la entrada.

 18
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

PASOS A SEGUIR EN EL DISEÑO DE PROGRAMAS UTILIZANDO METODOS MODULARES.


-Diseño descendente (TOP-DOWN) de la red de módulos: Partimos de un problema global,
dividimos éste en subproblemas más sencillos, cajas negras o módulos que pueden tratarse
por separado, que a su vez se pueden dividir en otros más sencillos, etc.
-Análisis de cada relación: Parámetros que se envían a cada módulo y parámetros que éste
devuelve.
-Diseño de cada módulo.
-Montaje ascendente (BOTTOM-UP): Una vez diseñados todos los módulos se trata de
ensamblarlos, empezando por los de orden más bajo hasta que llegamos al módulo raiz.

 19
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

COMUNICACION HOMBRE / MAQUINA

PERIFERICOS.
SOPORTES DE LA INFORMACION.
CARACTERISTICAS OPERATIVAS.
DISPOSITIVOS DE ENTRADA / SALIDA. TIPOS.
MEMORIAS EXTERNAS. CLASIFICACION. TIPOS.

Comunicación HOMBRE / MAQUINA: Dispositivos capaces de adaptar los distintos lenguajes


del hombre y el Sistema Informático.

Para conseguir relacionarse el hombre y el ordenador, es preciso:

1.- Traducir a señales eléctricas las instrucciones del programa que el ordenador debe seguir
y los datos a tratar.

2.- Traducir los resultados obtenidos en forma de señales eléctricas en:


a) Información inteligible para el hombre, si este va a utilizarla para tomar decisiones.
b) Información legible por los dispositivos periféricos de almacenamiento, si estos
resultados van a ser utilizados posteriormente como datos en otro proceso.

De estas funciones se encargan respectivamente:

- Los dispositivos periféricos de entrada.


- Los dispositivos periféricos de salida.
- Los dispositivos periféricos de memoria o memorias externas (llamadas auxiliares).

SOPORTES DE LA INFORMACIÓN

Soporte de la información: Cualquier tipo de estructura física capaz de contener, por tiempo
indefinido una información.

Existirán soportes de la información en: · Las unidades I/O.


· Las memorias externas.
· La memoria interna.

 20
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

UNIDADES I/O

 21
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

TARJETA PERFORADA.
Lectura directa.
No reutilizable.
80 caracteres por tarjeta.

LECTORA DE TARJETAS.
Sistema.
Lectora electromecánica.
Lectora óptica.

LECTURA PARALELO / SERIE.

PERFORADORA DE TARJETAS.

UNIDAD DE VIDEO.

TECLADO.

IMPRESORAS.
En relación con la velocidad de escritura, se clasifican:
- Lentas (30 a 180 caracteres/segundo).
- Medianas (300 caract./seg.).
- Rápidas (450 l.p.m.).
- Muy rápidas (3000 a 20000 l.p.m.).

LENTA DE AGUJAS.

MEDIANA DE BARRA HORIZONTAL.

RAPIDA DE TAMBOR.

TELEIMPRESOR.

DISPLAYS.

DISPOSITIVOS CON TINTA MAGNETICA.

La unión entre la UCP y los periféricos se realiza mediante el "Interface o controladores".


 22
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

CANAL DE DATOS.

Los procesos de entrada y salida son lentos por la naturaleza de los periféricos de E/S.
La UCP es muy rápida comparativamente.

OPTIMIZAR:
Transferencias entre periféricos y memoria con poca intervención de la Unidad de Control mediante el
canal de datos.
-Adecuar velocidad.
-Estructurar la información.
-Adecuar los distintos códigos.

CANAL DE DATOS:
Agrupa la información de entrada en palabras y de salida en fragmentos según el periférico.
Interpreta y ejecuta ordenes almacenadas en memoria.
Posee unidad de control.

MEMORIAS AUXILIARES.

Almacenamientos auxiliares a la UCP.

CINTA. Superficie de poliester recubierta de óxido de hierro.

TAMBOR. Cilindro recubierto de material magnetizable que gira a gran velocidad.


Está dividido en pistas siguiendo la dirección de giro, con cabeza grabadora / lectura por pista.

DISCO. Bloque de discos metálicos, recubierto de material magnético por ambas caras, unidas
mediante un eje vertical en torno al cual giran.
Están divididos en pistas concentricas y estas en sectores.

 23
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

CAPACIDAD.

Se expresa en: número de palabras o número de bytes ( 8 bits).

K = 210 = 1024

PALABRAS 8 BITS = 1 BYTE

CAPACIDAD 2 K PALABRAS = 2048 CELDAS O PALABRAS

PALABRAS 16 BITS

CAPACIDAD 2 K PALABRAS = 4 K BYTES = 32 K BITS

 24
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

MEMORIA INTERNA

CONCEPTO DE MEMORIA .
CLASIFICACION.
MEMORIAS ROM Y RAM.
DIRECCIONAMIENTO.

PRESENTACION ESQUEMATICA DEL CONTENIDO

 25
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Concepto de direccionamiento

 26
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

CONCEPTO DE MEMORIA

En terminos generales, una MEMORIA es un dispositivo que permite almacenar información binaria con
posibilidad de acceder a ella en cualquier momento.

Las memorias se encuentran divididas en celdas o posiciones identificadas, cada una de ellas, por un
número que llamaremos DIRECCION.

En principio podemos clasificar las memorias por su ubicación en relación a lo que hemos llamado
ordenador, en:

MEMORIA INTERNA: Es la memoria principal en el ordenador.

MEMORIA EXTERNA: Son unidades de almacenamiento de datos externos al ordenador.


Pueden ser de Acceso Directo y de Acceso Secuencial.

MEMORIA INTERNA

Si tenemos en mente que la memoria interna es el SOPORTE FISICO QUE ALMACENA LA INFORMACION
PRINCIPAL PUESTA EN JUEGO POR EL SISTEMA INFORMATICO, podemos decir que dentro de ella están
almacenados:

- PROGRAMAS.
- DATOS.
- RESULTADOS.

Los contenidos de las posiciones o direcciones de memoria, se llaman PALABRAS, y su longitud,


indicada en número de bits, es una característica específica de la memoria.

A la introducción de datos en memoria se denomina ESCRITURA, mientras que a la operación contraria


se llama LECTURA. Cada una de estas operaciones afecta al contenido de una sola palabra de
memoria.

TIEMPO DE ACCESO.Es la medida de intervalo de tiempo transcurrido desde que se solicita un dato a la
unidad de memoria hasta que ésta lo entrega.

La capacidad de una memoria se puede indicar por el número de palabras o bien por el número de
bits que puede almacenar.

En ambos casos se emplea la letra K para indicar la cantidad de 210 = 1024, es decir, una memoria
que contenga 2048 palabras de 4 bits cada una, diremos que se trata de una memoria de 8 Kbits
organizada en 2K palabras de 4 bits.

La memoria interna se puede clasificar en:

MEMORIAS TAMPON: Son memorias de baja capacidad que prácticamente se reducen a registros
para el almacenamiento temporal de información binaria.Habitualmente actúan como memoria auxiliar
en las transferencias de información entre la UCP y las unidades I/O.

MEMORIAS "CACHE": Se trata de memorias de tipo bipolar ultrarrápidas, que contienen una
"fotocopia" de una porción de la memoria central; son de reciente introducción y con su uso aumenta
la velocidad de proceso de la UCP.

MEMORIA CENTRAL: Bajo esta denominación se incluyen las memorias de trabajo que se hallan
asociadas a la UCP y forman parte del sistema informático.

 27
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

MEMORIA CENTRAL

Hemos definido a la memoria central como el bloque encargado de almacenar la información


(programas, datos y resultados) dentro de los sistemas informáticos.

Dada la gran diversidad de memorias centrales existentes en el mercado actualmente, se hace


necesario una clasificación por conceptos como sigue:

A continuación vamos a estudiar todos estos tipos expuestos.

CLASIFICACION POR MODO DE ACCESO: DIRECTO Y SECUENCIAL

Se llaman memorias de acceso DIRECTO o ALEATORIO a aquellas en las que el tiempo de acceso es
igual para cualquier posición.

Por el contrario, denominaremos memorias de acceso SECUENCIAL a aquellas en las que la


información se encuentra almacenada de tal forma que para acceder a una determinada posición hay
que pasar por todas las anteriores.

CLASIFICACION POR MODO DE LECTURA

Antes de proceder a la clasificación, vamos a recordar que una lectura es la operación por la cual se
extrae determinada información almacenada en memoria.

En cuanto al modo de lectura, pueden ser de dos tipos:

LECTURA DESTRUCTIVA. Al leer determinada posición la información almacenada desaparece. Este tipo
de memoria precisa de una regeneración después de efectuada la operación de lectura.

LECTURA NO DESTRUCTIVA. Las operaciones de lectura no provocan la pérdida de la información


almacenada.

 28
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

CLASIFICACION POR MODO DE RETENER LA INFORMACION

Aquí tenemos dos posivilidades:

VOLATILES. Para que la información permanezca memorizada, es imprescindible la presencia de


alimentación eléctrica. Al desconectar la alimentación se pierde la información almacenada.

NO VOLATILES. La información persiste aún desconectando la alimentación de la unidad de memoria.

CLASIFICACION POR TECNOLOGIA.

Respecto a la base tecnológica, podemos establecer la siguiente clasificación:


MEMORIA DE FERRITA. Ha sido hasta hace poco tiempo la memoria central por excelencia; se trata de
una memoria de las siguientes características:

·Tipo de acceso aleatorio.


·No volatil.
·Lectura destructiva.

Se basa en la imantación de toros o núcleos magnéticos, pudiendo mantener dos estados de


imantación diferentes y por lo tanto retener los estados binarios 0 y 1.

MEMORIA DE SEMICONDUCTORES.

MEMORIAS RAM (RANDON ACCESS MEMORY).


 29
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

-Acceso aleatorio.
-Lectura-escritura.
-Volatiles.

RAM estática - Biestable.


RAM dinámica - Condensador.

Debido a que los condensadores presentan fugas, es por lo que este tipo de memorias necesitan ser
"refrescadas" periódicamente con el fin de que su carga (la información) no llegue a perderse. El
tiempo durante el cual se conserva la información sin alteración viene dada por el fabricante de la RAM
DINAMICA y no suele exceder de 2 mseg.

Las RAM dinámicas aventajan en todo a las estáticas menos en su facilidad de utilización.
Ello es debido a que una célula RAM dinámica necesita de circuitos de refresco para realimentar la
carga de su condensador y no perder la información en él contenida.

El menor coste por bit, menor tiempo de acceso, menor potencia disipada y mayor densidad de
integración de las RAM dinámicas es consecuencia de la propia concepción de estas células de
memoria. Se han de emplear más elementos para construir una célula RAM estática que dinámica.

 30
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

 31
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

MEMORIAS ROM (READ ONLY MEMORY).

-Acceso aleatorio.
-Sólo lectura.
-No volatiles.

Un aspecto simplificado del funcionamiento de una memoria tipo ROM es el que se muestra en la
figura.

Se caracterizan estas memorias porque son del tipo SOLO LECTURA Y NO VOLATILES, es decir, no
necesitan suministro de energía para mantener la información.

En estas memorias los elemetos fundamentales son los diodos. Cuando están conectados a la línea
de datos se considera que almacenan un 1, y cuando no lo están se considera que almacenan un 0.

Para ver su funcionamiento veamos el contenido almacenado en la posición Nº 1, para lo cual


pondremos en la línea de direccionamiento Nº 1 un potencial positivo. Automáticamente fluirá corriente
a través de los diodos conectados a las líneas de datos Nºs. 1, 2 y 4, y tendremos a la salida la
información almacenada en la dirección Nº 1 (BIT 1 = "1", BIT 2 = "1", BIT 3 = "0", BIT 4 = "1"), es decir, hemos
leído la información contenida en dicha posición (1101).

Como se puede comprobar observando el esquema propuesto, los contenidos de cada línea de
direccionamiento no pueden ser alterados una vez construída la ROM, es decir, no hay posibilidad de
escribir otra información diferente a la que "escribió" el fabricante. Es debido a esta característica el
que se las conozca como memorias "muertas", incambiables o inmutables.

Se conocen tres tipos de memorias ROM dependiendo de cómo son programadas.

ROM DE MASCARA.

Se trata de memorias ROM progamadas en fábrica.

Este tipo de memorias ROM se fabrican de la misma forma que los circuitos integrados. En primer
lugar se, procede, mediante una técnica fotoeléctrica y sobre una capa de silicio, a la formación de los
diodos. A continuación se fabrica una máscara que contiene la información de ceros y unos y se
procede a una oxidación, con lo que la información contenida en la máscara se incorpora a la capa de
silicio. Ver figura.

 32
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

La máscara es un elemento que encarece la fabricación de este tipo de circuitos, pero su incidencia
sobre el coste final puede minimizarse dependiendo del número de chips (circuitos integrados) que
construyan, ya que el gasto de la máscara, para un tipo de ROM, sólo se efectúa una vez.

PROM (PROGRAMABLE ROM).

Las ROM de este tipo se programan por el propio usuario, ya que el fabricante las entrega vírgenes, o
sea, no programadas, con todas sus células puestas a cero o a uno, según la tecnología y la lógica
utilizadas. La conexión de los diodos con las líneas de datos se realiza mediante un fusible que se
hace al ROM programable, tal y como se representa en la figura.

Supongamos que queremos escribir en la línea de direccionamiento Nº 3 la información 0110. Para


ello, se envía por la línea de dirección Nº 3 un impulso de tensión y se conectan las líneas de BIT a los
niveles lógicos de tensión correspondientes a la información que vamos a almacenar. Por la línea de
dirección fluirá una corriente que encontrará camino directo a tierra a través de los fusibles F1 y F4 con
lo que dichos fusibles se fundirán, quedando grabado en la dirección que deseábamos la información
0110.

La programación de la PROM se efectúa mediante un dispositivo que se llama quemador de PROM. El


programa se introduce mediante unas teclas y la máquina se encarga de fundir los fusibles
correspondientes, con lo que dicho programa queda almacenado en la PROM.

ROM REPROGRAMABLES, EPROM o REPROM.

 33
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Son aquellas, programables por el usuario, que pueden ser borradas mediante un proceso especial,
normalmente sometiendolas a luz ultravioleta, quedando disponibles para una nueva grabación.

Son más caras y lentas que las PROM. La tecnología utilizada es la MOS (Floating gate avalanche
injectión MOS).

ROM REPROGRAMABLES EAPROM.

Son aquellas programables por el usuario, que peuden ser borradas selectivamente, es decir, sólo de
aquellas posiciones que se desée, por procedimientos eléctricos.

Son conocidas como "Electrically Erasable PROM". Están basadas en la tecnología MOS (Metal Nitride
Oxide Semiconductor) y tienen gran campo de aplicación para almacenamiento temporal de datos
semipermanentes, pudiéndose considerar entre las RAM y las ROM.
También se las conoce como EAROM (Electrically Alterable ROM).

MEMORIAS CCD (CHARGE-COUPLED DEVICE).

Al igual que las anteriores, son de aparición reciente y tienen las siguientes características:

-TIPO DE LECTURA/ESCRITURA (RAM).


-VOLATIL.
-SECUENCIAL.
-LENTA.
-CAPACIDAD DE ALMACENAMIENTO BASTANTE ELEVADA.

Este tipo de memorias se basan en dispositivos semiconductores de carga acoplada.

MEMORIAS LIFO.

 34
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Su apelativo responde a las iniciales de su definición: "Last In First Out" (último en entrar, primero en
salir).

Las memorias LIFO o memorias de "pila" son unidades de almacenamiento que gestionan la entrada y
salida de información tal cual si actuaran manipulando una "pila": la última palabra de información
escrita, es la primera en ser extraída. (Recuerde por ejemplo la manera en que se "apilan" libros, el
último dejado queda encima de los demás y por lo tanto es el primero en ser cogido).

Existe un puntero que normalmente apunta a la primera dirección de la pila.

La entrada de información en la memoria LIFO la supondremos controlada por la orden de escritura


"W", mientras que la lectura estará bajo el control de la línea "R". (Ver figura). La orden "W" hace
avanzar el puntero, mientras que la orden "R" lo hace retroceder.

La secuencia de escritura en memoria se producirá en la forma que se indica en la figura.

Con cada orden de escritura, ingresa en la "pila" una nueva palabra de información desplazandose el
puntero a la siguiente posición libre.

En efecto, la estructura en memoria se efectúa de forma semejante a la carga de una pila: la


información más reciente se deposita sobre el contenido previo de tal forma que se halla en las
mejores condiciones de extracción inmediata.

 35
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

En las figuras se puede ver el esquema de lectura de la memoria LIFO, es decir, vamos a extraer la
información almacenada. Con el primer comando de lectura "R" se recupera la última palabra
memorizada y así sucesivamente.

 36
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

MEMORIA FIFO.

Las memorias FIFO "First In, First Out" (primero en entrar, primero en salir), se caracterizan por su
peculiar funcionamiento, semejante al de una "cola" de espera, es decir, la primera palabra de
información escrita es la primera en ser leída.

La extracción, se efectúa respetando el orden en el transcurso de la secuencia de escritura o


almacenamiento. Esta característica, se puede observar en las figuras 3.10 y 3.11 relativas a la lectura
y escritura de la memoria FIFO.

 37
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Las palabras binarias guardan un turno de espera cara a las posteriores operaciones de lectura, de
esta forma, la primera lectura recupera la primera palabra de información que ingresó en la memoria y
a su vez, provoca el desplazamiento del puntero de la FIFO en una posición para conseguir que la
próxima lectura afecte a la segunda palabra escrita en la cola.

MEMORIAS ASOCIATIVAS (CAM).


 38
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

-NO NECESITAN DIRECCION.


-ESTAN FORMADAS POR MEMORIA RAM + FUNCIONES LOGICAS.
-UTILES EN MANEJO DE FICHEROS.

En las memorias asociativas o direccionables por el contenido (CAM proviene de Content Addressable
Memory) ya no hay necesidad de direccionamiento, es el contenido de la palabra lo que sirve para
señalarla.

Las memorias CAM resultan de la asociación de una memoria RAM y de funciones lógicas complejas
las cuales están concebidas para recibir una información como entrada y entregar una o varias
palabras asociadas a la anterior.

Vamos a poner un ejemplo de aplicación de este tipo de memorias. Supongamos que se ha


memorizado un conjunto de datos: nombre, profesión número de teléfono, etc. ; para extraer de esa
lista todas las personas de una determinada profesión, el método "normal" consiste en pasar revista a
todos los nombres con profesión, en forma serie, lo que es extremadamente largo.

Con una memoria CAM, se procede a la búsqueda en forma paralela, eliminando las informaciones
inútiles; así pues, se daría la palabra ingeniero y facilitaría todas las personas con esa profesión.
Las CAM se aplican sobre todo a búsquedas en ficheros de información, o bien para reserva de plazas,
etc.

Una memoria CAM consta de dos zonas perfectamente diferenciadas según se puede apreciar en la
figura 3.12.

La zona de entrada recibe la palabra de información y detecta la presencia de una palabra semejante
almacenada en su matriz de memoria.

Si la palabra ingresda está en memoria se generará el comando de detención correspondiente que


direccionará la célula asociada situada, ésta en la matriz de salida.

En la figura 3.13 se muestra un caso muy sencillo de memoria de 4 palabras de 1 bit formada por 4
biestables tipo D.
La entrada de datos única va a las cuatro entradas D de los biestables mientras que existe una línea
independiente de selección para cada entrada de reloj.
Para realizar una operación de ESCRITUA habrá que poner a "1" una sóla de las líneas de selección
con lo que la información presente en la entrada de datos pasará al biestable correspondiente.

 39
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

La figura 3.14 muestra el caso de una memoria de 1024 palabras en la cual serán necesarias 1024
líneas de selección.
En estos ejemplos no se considara el caso de lectura.
Como se observa en el ejemplo anterior, no resulta práctico tener tantas líneas de seleción como
posiciones de memoria ya que su número es excesivamente elevado.
Para realizar la selección de forma más comoda se asigna a cada posición una combinación binaria
para, mediante un circuito decodificador, activar una línea de selección particular para cada dirección
presentada en sus entradas. Ver figura 3.15.
De esta forma, si la memoria consta de N = 2n posiciones, sólo serán necesarias n líneas para la
selección de una determinada posición.
FIGS. 3.13-14-15
Ejemplo de decodificador para memoria de 256 palabras de 4 bits. Figura 3.16
A cada combinación de los bits A0 - A7 le corresponde una línea de salida activada.
FIG 3.16
En la figura 3.17 se muestra como se realiza la escritura de la palabra 1011 en la dirección 254 (en
binario 11111110).

CONCEPTO DE DIRECCIONAMIENTO.

 40
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

CONTENIDO DE LA MEMORIA : DATOS E INSTRUCCIONES

Las palabras contenidas en la memoria de todo ordenador pueden ser de dos tipos diferentes:
PALABRAS DATO Y PALABRAS INSTRUCCION. Vamos a tratar de definir el formato de cada una de ellas y,
para no perdernos en generalidades, nos referiremos a un modelo de ordenador cuya arquitectura
interna se basa en la palabra binaria de 16 bits. Es decir, dicho ordenador utiliza palabras cuya
longitud es igual a 16 bits.

Las posiciones de los bits en cada palabra se enumeran de derecha a izquierda; el bit de orden más
bajo se enumera 0 y el de orden más alto, 15.

PALABRAS DATO

La interpretación de la palabra dato es en gran medida función del programa que opera con ellos. Una
palabra dato puede ser interpretada como un DATO NUMERICO, ALFANUMERICO o una DIRECCION DE UN
DATO.

Los datos numéricos pueden ser de varios tipos según la naturaleza del cálculo que se vaya a realizar;
así distinguimos:

Refiriéndose a DATOS NUMERICOS ENTEROS SIN SIGNO, en el caso considerado de un ordenador de 16


bits el rango de cantidades decimales que podemos representar con una palabra va de 0 a 216, o sea,
de 0 a 65535; y por la misma razón si nos referimos a DATOS NUMERICOS ENTEROS CON SIGNO, se podrá
representar cualquier número decimal entre -32768 y + 32767, y en hexadecimal entre 8000 y 7FFF.
 41
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Si la palabra en cuestión expresa un DATO NUMERICO ENTERO CON SIGNO, el bit de orden más alto (el
15) se reserva para hacer referencia al signo, y los demás bits (desde el 14 al 0) indicarán el valor de
la cantidad codificada en forma binaria.

La representación de una cantidad negativa se obtiene tomando su complemento a 2, quedando el bit


de signo incluido en dicha operación. La operación de complementación a 2 puede realizarse tomando
el complemento a 1 y añadiendo un 1 al resultado, ignorando el acarreo procedente del bit 15.

Por ejemplo, veamos la representación binaria de +10 y su conversión a -10 mediante el complemento
a 2 de +10.

En el caso de DATOS NUMERICOS FRACCIONARIOS se emplea una notación llamada de COMA FLOTANTE
por medio de la cual se representan los números fraccionarios.

Cuando en una palabra DATO, se almacena un dato ALFANUMERICO, se utiliza el código ASCII para la
representación de dicho dato.
Dado que el código ASCII emplea 8 bits para la representación de un dato alfanumérico, en la palabra
de 16 bits, podemos "empaquetar" 2 caracteres ASCII.

Finalmente hay que hacer las siguientes consideraciones:

-Una dirección de memoria está identificada por un número.


-Los contenidos de las direcciones de memoria, ya sean datos numéricos, alfanuméricos, etc.,
también son números.
-Las instrucciones que conforman el programa y que trataremos en el próximo párrafo, son de igual
manera números.

Es el principio de responsabilidad del programador la claa distinción de qué números son direcciones,
instrucciones o datos. El ordenador, según veremos, tiene órganos especializados para tratar estos
números de maneras diferentes según sea su naturaleza.

Piense por ejemplo que la dirección de memoria (301)8 puede tener contenido un dato númerico de
valor (301)8 o bien un caracter ASCII "A" que equivale también al (301)8.

PALABRAS INSTRUCCION

La palabra instrucción define una serie de secuencias u operaciones internas dentro del ordenador.

 42
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Los bits de cada instrucción están agrupados en dos campos cuyos contenidos se denominan
respectivamente:

CODIGO DE OPERACION que indica el tipo de operación a realizar: suma, limpieza de registros,
transferencia de información, etc.

CODIGO DE DIRECCION U OPERANDO que indica la seña o lugar de la memoria donde se encuentra la
palabra sobre la cual se desea efectuar la operación definida en el código de operación.

Supongamos, ver figura, que en el ordenador que nos sirve de guía se reservan los 4 bits más
significativos para el código de operación y los 10 menos significativos para el código del operando.
Podríamos programar un total de 24 = 16 operaciones distintas y direccionar 210 = 1024 posiciones de
memoria.

Sin
embargo, debido a la gran variedad de operaciones que se realizan dentro del ordenador, los campos
de operación y operando no son tan rígidos, acomodándose su formato a las necesidades de cada
instrucción; por ejemplo, habrá instrucciones que no necesiten dirección de memoria, como, cambiar
el contenido de un registro, incrementar un registro o desplazarle, en cuyo caso los bits de código de
dirección se aprovechan para indicar información referente al número de desplazamientos que
deberán realizarse, o en la cantidad con que habrá de incrementarse un determinado registro.

Los bits 10 y 11 se emplean bien como ampliación del código de operación o como ampliación del
código de dirección.

En el primer caso tendríamos 26 = 64 códigos de operación.

En el segundo caso aumentaríamos las posibilidades de direccionamiento a 212 = 4096 posiciones de


memoria.

MODOS DE DIRECCIONAMIENTO

Durante la ejecución de una instrucción que contenga información de dirección de memoria, la U.C.P.
utiliza la información de dirección para determinar la posición de memoria a donde debe dirigirse
(DIRECCION EFECTIVA).

Los métodos mediante los cuales el ordenador determina la dirección efectiva a que hace referencia
una instrucción, se llaman modos de direccionamiento.

 43
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

TIPOS DE DIRECCIONAMIENTO

-IMPLICITO.
-ABSOLUTO.
-INMEDIATO.
BASE
-RELATIVO
PROGRAMA
-INDIRECTO.
-INDEXADO.
-PAGINADO.

La potencia está en la posibilidad de combinarlos.

Aunque los modernos ordenadores disponen de un esquema muy flexible de direccionamiento, los
criterios empleados se basan esquemáticamente en tres modos de direccionamiento.

1.- DIRECCIONAMIENTO ABSOLUTO

Es el método a que se hizo referencia al hablar de las palabras instrucción. Es decir, la dirección
contenida en el campo de dirección de la instrucción es la dirección efectiva donde se encuentra el
dato.

2.- DIRECCIONAMIENTO INDIRECTO

En este tipo de direccionamiento el campo de dirección de la instrucción hace referencia a una


posición de memoria que contiene la dirección efectiva.

3.- DIRECCIONAMIENTO INDEXADO

Mediante este direccionamiento, el campo de dirección de la instrucción contiene un valor que se


deberá sumar al contenido de un determinado registro del ordenador, generalmente llamado registro
índice (X), para hallar la dirección efectiva a que hace referencia la instrucción.

Supongamos que en el modelo del ordenador al que nos estamos refiriendo, se reservan los bits 10 y
11 para hacer referencia al modo de direccionamiento, o lo que es igual, al tratamiento que se deberá
dar a la información contenida en el campo de dirección de la instrucción. El formato máquina de una
instrucción con direccionamiento tendrá tres campos cuyos contenidos serán:

 44
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Como disponemos de dos bits de modo de direccionamiento podremos codificar un total de cuatro
modos cuyos códigos los vamos a elegir de la siguiente forma:

En las instrucciones con direccionamiento indirecto e indexado el ordenador ejecuta primero la


indirección y a continuación la indexación, resultando la dirección efectiva de la operación de
indexación.

Vamos a poner un ejemplo para comprender todo esto.

Consideremos el esquema de memoria representado en la figura.

Supongamos que queremos realizar una operación básica (instrucción) de incrementar (sumar un 1)
al contenido de una dirección de memoria, ( p.c. a la 10H).

Graciasa los diferentes modos de direccionamiento, podremos referenciar muy diferentes direcciones
de memoria para realizar la operación.

Supongamos que el código de operación del ordenador de nuestro ejemplo para realizar el incremento
es el número hexadecimal 4, vamos a tratar a continuación los diferentes modos aplicados al ejemplo.

CASO A: DIRECCIONAMIENTO ABSOLUTO.

 45
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

CONTENIDO DE LA DIRECCION (00) = 4010

CONTENIDO DE LA DIRECCION (10) = 123

Esto nos indicaría que se va a incrementar el contenido de la dirección 10, es decir, va a pasar de 123
a 124.

CASO B: DIRECCIONAMIENTO INDIRECTO.

CONTENIDO DE LA DIRECCION (00) = 4410

En este caso
el código de dirección (10)16 indicaría, la dirección de la dirección del dato, esto es, el número (123)16
contenido en la dirección 10, es la dirección del dato. Por lo tanto, lo que se incrementa es el número
(4567)16 que pasa a ser (4568)16.

CASO C: DIRECCIONAMIENTO INDEXADO.

CONTENIDO DE LA DIRECCION (00) = 4810

En este caso
la dirección del dato sería la (110)16, es decir = valor del registro índice + código de dirección : 100 +
10 =110.

Por lo tanto se incrementaría al contenido de la dirección (110)16 que pasaría a ser


89AB + 1 = 89AC.

DIVISION DE LAS PALABRAS

La información se almacena en celdas de memoria.

 46
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

En cada celda se almacena una palabra.


Cada palabra esta formada por un número de bits.
Los bits se agrupan en campos.

CONTENIDO DE LOS CAMPOS

Cada campo tiene asociado un contenido.


Una instrucción debe poseer un mínimo de 2 campos denominados:
CODIGO DE OPERACION que indica la operación que queremos que el ordenador realice.
CODIGO DE DIRECCION U OPERANDO que indica la dirección de memoria:

-Del elemento con el que vamos a trabajar.


-Donde colocar un resultado.
-La instrucción siguiente.

TAMAÑO DE LOS CAMPOS

El número total de bits de cada palabra se distribuye entre los distintos campos. Las posibilidades de
codificación en cada campo son:

2nº de bits

Ejemplo: Palabras de 16 bits divididas en dos campos.

Se pueden codificar 25 = 32 operaciones.


Se pueden direccionar 211 = 2048 posiciones de memoria.

EJEMPLOS DE INSTRUCCIONES

INSTRUCCION FUNCION

00000/00010000000 -Parar

00001/00010000000 -Cargar en el registro A, el contenido de la


posición 100000002 de memoria.

00010/00000100000 -Sumar al contenido del registro A el


contenido de la posición 1000002 guardando
el resultado en el registro A.

00011/00000001000 -Almacenar el contenido del registro A en


la posición 10002 de memoria.

 47
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

LA U. C. P.

ELEMENTOS DE LA UCP.
LA UAL.
LA UC.
REGISTROS DE LA UCP.
BUS DE E/S.

PRESENTACION ESQUEMATICA DEL CONTENIDO

 48
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

 49
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

CIRCUITO DISTRIBUIDOR DE SEÑALES: "TIMING"


 50
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Se trata de un circuito formado por puertas biestables que genera, a partir de los impulsos de reloj, un
número n de señales de la forma representada en la figura.

Obsérvese que todas estas señales son de la misma frecuencia y que están desfasadas de modo que
en cada momento sólo está presente una señal. Con cada uno de los impulsos se controla la serie de
operaciones para ejecutar cada secuencia. En el dibujo hemos supuesto que el número de impulsos
del circuito distribuidor de señales (temporizador) es igual a 4.

Se llama ciclo de máquina al tiempo que media entre T1 y T4.

Contador de secuencias
Consta de tantos biestables como secuencias tenga el ordenador para ejecutar su repertorio de
instrucciones

 51
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

COMUNICACION ENTRE PERIFERICOS Y SISTEMA DE CONTROL

SISTEMA DE CONSULTA ("POLLING")

Consiste en que la UCP dentro de la ejecución de un programa, realiza consultas a los perifericos
para saber si necesitan datos. La UCP se tiene que parar para realizar estas tareas. Pérdida de
tiempo.

SISTEMA DE INTERRUPCIONES

En este caso el periférico llama a la UCP y esta se encarga de enviar o admitir la información del
periférico. Memor pérdida de tiempo.

SISTEMA DE ACCESO DIRECTO A MEMORIA (DMA)

Se utiliza para los periféricos más rápidos y es el propio periférico, cuando tiene información, el que
interrumpe a la UCP y él mismo transmite la información.

INSTRUCCIONES ENTRE PERIFERICOS Y SISTEMA DE CONTROL

INSTRUCCIONES DE ENTRADA DE DATOS.

INSTRUCCIONES DE SALIDA DE DATOS.

INSTRUCCIONES DE CONTROL.

INSTRUCCIONES DE TEST.

CONSOLA DEL ORDENADOR

MOSTRAR/MODIFICAR EL CONTENIDO DE REGISTROS E INDICADORES.

MOSTRAR/MODIFICAR EL CONTENIDO DE POSICIONES DE MEMORIA.

EJECUCION MANUAL PASO A PASO DE UN PROGRAMA.

COMIENZO DE LA EJECUCION AUTOMATICA DE UN PROGRAMA.

PARADA DE UN PROGRAMA EN EJECUCION.

CONSOLA HARDWARE

Serie de interruptores que le permite acceder al ordenador y hacer modificaciones. Puede parar y
arrancar el ordenador.
CONSOLA SOFWARE

 52
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

Lo que se hacía por conmutadores se hace con un programa. Generalmente es un programa en RON
que emula una consola hard.

 53
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

EL MICROPROCESADOR

DEFINICION.
ARQUITECTURA.
EJEMPLO DE EJECUCION DE UN PROGRAMA.

PRESENTACION ESQUEMATICA DEL CONTENIDO

MICROPROCESADOR "Procesador integrado en espacio muy reducido,


realizado en LSI o VLSI".

MICROCOMPUTADOR Micrprocesador + memoria interna + interface + reloj.

CONCEPTO DE "STACK" - "Zona de memoria RAM usada para almacenamiento


temporal de direcciones de retorno desde subrutinas.

 54
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

REGISTRO DE CODIGOS DE CONDICION

Es muy frecuente en los microprocesadores disponer de un registro perteneciente a la UCP, cuya


misión es representar los estados de la UAL después de la ejecución de cada instrucción. A estos
estados se les conoce generalmente como CODIGOS DE CONDICION y suelen ser los siguientes:

CODIGO N: Indica negatividad; es decir que como resultado de la última operación


realizada en la UAL quedó un número negativo.

CODIGO Z: Indica cero; es decir, el resultado de la UAL fué cero tras la última operación.

CODIGO V: Indica "Overflow", que señala la condición de que al sumar dos cantidades
consideradas como positivas (bit más significativo a 0), da una cantidad
negativa (bit más significativo a 1).

CODIGO C: Indica Acarreo; es decir, que en el resultado de la última operación realizada


en la UAL, se produjo el acarreo de un bit a la izquierda.

Con todo esto, se puede decir que este registro, que contiene los códigos de condición, se actualiza
tras la ejecución de cada instrucción y es extraordinariamente útil ya que, gracias a él, existen los
saltos condicionales en los programas usados en las tomas de decisión; estos resultados
condicionales, saltan o no, dependiendo del estado del código de condición consultado en el salto.

CONCEPTO DE "STACK" Y SU FUNCIONAMIENTO

Recordemos que habíamos llamado SUBRUTINA a una parte de un programa que se iba a repetir varias
veces en él, por ejemplo, el cálculo de una determinada fórmula matemática. En estos casos, era más
útil escribir una sola vez las instrucciones necesarias para el cálculo de la fórmula, dar un nombre a
ésta subrutina y llamarla por él tantas veces nos haga falta.

A continuación, veamos con detalle cómo se produce esto.

Imaginemos que tenemos un programa principal y una subrutina que llamamos CALCULO y que llega
un momento en que hay que llamar a esa subrutina.

Para ello, el programa principal se detendrá y el contador de programa será cargado con la dirección
de la primera instrucción de la subrutina. Pero cuando se haya ejecutado la última, el programa
principal deberá continuar, lo que implica que la dirección de la siguiente instrucción del programa
principal debe haber sido memorizada en alguna parte. En realidad, la dirección de la próxima
instrucción del programa principal que debe ser ejecutada será memorizada en una parte de la RAM
llamada "stack" o pila, (pila LIFO = Last In, First Out: la última información entrada en la pila es la
primera que sale).

Un subprograma puede llamar por sí mismo a otro subprograma; por tanto se necesita guardar
sucesivamente varias direcciones de retorno en la pila. La dirección de la primera posición de
memoria libre en la pila está permanentemente almacenada en un registro denominado puntero de
pila (Stack pointer - en inglés).

La utilización de la pila para la protección de las direcciones de retorno de los subprogramas se hace
automáticamente, sin que el usuario tenga que preocuparse de ello. Por contra, el usuario puede
utilizar conscientemente la pila cuando desee proteger momentáneamente el contenido de uno o
varios registros. Para ello, el repertorio de instrucciones de un microprocesador comprende
instrucciones de escritura en la pila, llamadas PUSH o PSH en inglés, así como instrucciones de lectura
de la pila, llamadas POP o PUL.

Vamos a ilustrar el funcionamiento de la pila con un ejemplo: el de dos llamadas a subrutina con una
protección de datos en el segundo subprograma.

 55
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

El funcionamiento que vamos a detallar es el de un P genérico.

- Las instrucciones de llamada y de retorno de un subprograma son JSR y RTS, respectivamente.

- El puntero de pila es decrementado después de una escritura en la pila e incrementado antes de una
lectura de la pila.

- El puntero de pila contiene la dirección de la siguiente posición de memoria disponible en la pila.

Sean 1020 y 1250 las direcciones de retorno de los subprogramas SP2 y SP2 y 0016 el contenido
inicial del puntero de pila. La figura da el contenido de este registro y el de la pila para diferentes
estados, numerados de 0 a 6; en realidad da los contenidos después de cada utilización de la pila.

- Estado nº 0: la pila aún no ha sido utilizada; el puntero de pila SP contiene 0016.

- Estado nº 1: el octeto más significativo de la dirección de retorno de SP1 es almacenado en la


dirección apuntada por SP, o sea 0016. El octeto menos significativo es almacenado en 0015. El
puntero de pila es decrementado en dos unidades: su nuevo contenido es 0014.

- Estado nº 2: la dirección de retorno de SP2 es guardada en las direcciones 0014 y 0013. El nuevo
contenido de SP es 0012.

- Estado nº 3: la instrucción PSH A protege el contenido de A, que representamos por (A), en la


siguiente dirección disponible de la pila, 0012, y decrementa SP.

- Estado nº 4: la instrucción PUL A provoca el incremento de SP y la restitución al acumulador del


contenido protegido. Aunque el contenido de la posición de memoria 0012 no haya sido borrado,
representamos esta posición de memoria como vacía, puesto que está disponible para una escritura
en la pila. Procesamos del mismo modo para las otras posiciones de memoria.

- Estado nº 5: la instrucción RTS de SP2 provoca dos incrementos sucesivos de SP y la restitución al


contador de programa de la dirección de retorno de SP2 1250.

- Estado nº 6: la instrucción RTS de SP1 provoca dos incrementos sucesivos de SP y la restitución al


contador de programa de la dirección de retorno al programa principal: 1020. La pila vuelve a
encontrarse en su estado inicial, así como el puntero de pila. En la figura, la posición de memoria
apuntada por el puntero de pila SP está indicada en rayado. Señalaremos que esta posición de
memoria es la próxima disponible para escritura en la pila.

He aquí uno de los problemas importantes para el usuario.

Saber cuáles son los datos a proteger en la pila en caso de una ruptura de secuencias de programa,
es decir, en caso de un subprograma, de una interrupción o de un acceso directo a memoria.

Según el tipo de microprocesador la pila puede ser interna al microprocesador, en cuyo caso es
limitada; externa al microprocesador; en este último caso es una parte de RAM la que sirve de pila,
con la ventaja de tener una pila ilimitada pues podemos ampliarla sin limitaciones de espacio.
Señalaremos que todo subprograma debe terminarse con una instrucción de retorno de subprograma.

 56
CURSO 1997-98 22-nov-16 TECNOLOGÍA ELÉCTRICA

TEMA 9

SISTEMAS OPERATIVOS

PRESENTACION ESQUEMATICA DEL CONTENIDO

 57

S-ar putea să vă placă și