Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.1.1. Software................................................................................. 2
1.4. Interrupciones.................................................................................... 14
1
1.1. Estructura de un sistema informático.
El concepto de Informática proviene de las palabras INFORmación autoMÁTICA. La
informática nace por la necesidad de realizar operaciones complejas en muy poco tiempo. Por
ejemplo, el cálculo de la trayectoria de un proyectil o la realización de estadísticas sobre el
censo de la población.
La herramienta que utilizamos para procesar la información es el ordenador, un dispositivo
electrónico con capacidad para recoger datos, procesarlos y trasmitir los resultados. Varios
ordenadores pueden estar conectados entre si formando una red.
Actualmente se ha convertido en una herramienta imprescindible en el mundo empresarial
por su capacidad de adaptarse a las tareas propias de una gestión administrativa y contable.
Vamos a ser capaces de redactar e imprimir cartas y faxes, realizar la facturación de una
manera cómoda y sencilla, controlar el stock, llevar sin descuadres el diario, etc...
Para que podamos realizar nuestro trabajo de manera correcta apoyándonos en la
informática, es necesario tener en cuenta los siguientes factores:
Elemento humano: Persona que manipula el ordenador. Programadores, técnicos,
administrativos, etc.
Hardware: Representa la parte física de un sistema informático. Teclado, memoria, discos
duros, etc.
Software: Conjunto de aplicaciones y programas que permiten controlar y coordinar los
distintos elementos de hardware. También nos permiten trabajar y jugar. Por ejemplo los
antivirus, sistemas operativos, hojas de calculo, procesadores de texto, juegos, etc.
Costes. Hay que tener en cuenta los costes de adquisición y mantenimiento de equipos y
aplicaciones, el periodo y gastos generados por la formación y adaptación de los usuarios,
etc.
1.1.1. Software.
Sin el Software, los ordenadores serian maquinas inservibles. La Real Academia de la
Lengua (RAE) lo define como “el conjunto de programas, instrucciones y reglas informáticas
para ejecutar ciertas tareas en una computadora”.
El Software se puede clasificar en función a diferentes criterios. Si nos centramos en el tipo
de trabajo que realiza, tendremos los siguientes:
• Software de sistema; es aquel que permite que el hardware funcione. Como por
ejemplo los sistemas operativos, los drivers o controladores.
• Software de aplicación; lo forman los programas que nos ayudan a realizar tareas
especificas en cualquier campo de actividad susceptible de ser automatizado o
asistido. Por ejemplo el Office, programas de contabilidad, aplicaciones médicas, etc.
• Software de desarrollo; es el que proporciona al programador herramientas para
ayudarle a escribir programas informáticos.
2
Ejercicio 1.
Busca 5 ejemplos para cada tipo de software.
1.1.2. Hardware.
Los ordenadores actuales siguen el modelo de la arquitectura de Von Neumann con
pequeñas variaciones. Con este modelo, el ordenador puede ser programado para resolver
todo tipo de problemas sin que ello implique cambiar sus componentes hardware. El esquema
es el siguiente:
Ejercicio 2.
Busca alternativas a la maquina de Von Neumann. ¿En que casos podemos encontrarlas?
3
1.2. Elementos funcionales y subsistemas.
En este punto vamos a ver con detalle cada uno de los elementos y/o subsistemas del
Esquema de Von Neumann, y los a asociaremos a los componentes físicos de un ordenador o
computadora.
4
Registros de control/estado: Son los que intervienen en la ejecución de las instrucciones.
Destacamos los siguientes:
• Contador de programa (CP): También llamado contador de instrucciones. Contiene la
dirección de la siguiente instrucción a ejecutar.
• Registro de instrucción (RI): Contiene el código de la instrucción actual. Aquí se analiza
el código de operación.
• Registro de dirección de memoria (RDM): Contiene la dirección de una posición de
memoria, donde se encuentra o va a ser almacenada la información.
• Registro de intercambio de memoria (RIM): Recibe o envía la información contenida en
la posición apuntada por el RDM.
• Registro acumulador: Registro especial de UAL que se utiliza para ir almacenando el
resultado de las operaciones.
D) Reloj.
Proporciona una sucesión de impulsos eléctricos a intervalos constantes, estableciendo así
los ciclos se trabajo de la CPU y en consecuencia del PC. Va marcando los tiempos de
ejecución de los pasos a realizar para cada instrucción. También sincroniza todo el sistema,
compensando los retardos de los diferentes módulos. Al periodo de duración de esta señal, se
le denomina tiempo de ciclo.
El ordenador realiza una operación simple cada ciclo de reloj, por lo tanto, cuanto más
corto sea un ciclo, más ciclos podrá realizar en un segundo (es decir, más operaciones por
segundo).La magnitud que mide el ciclo de reloj por segundo es el Hercio o Hertz (Hz),
aunque por cuestiones obvias se utilizan sus múltiplos, el Megahercio (MHz) con un millón de
ciclos y el Gigahercio (GHz) con mil millones de ciclos. A esta velocidad se le conoce también
por frecuencia del reloj, expresándose en MHz o GHz por segundo y es la que establece la
rapidez con que el procesador puede procesar los datos.
5
• ROM (Read Only Memory): Es una memoria de solo lectura, cuya información no
puede ser modificada y que sirve básicamente para poder inicializar el PC.
Físicamente, la memoria central esta compuesta por celdillas o biestables, que actúan
como pequeños condensadores, de tal forma que la presencia de energía dentro de ellas
puede traducirse como 1 y la ausencia de energía como 0 (bit). La información en memoria se
almacena en bloques, que suelen ser de 8 bits (1 byte).
6
incluyendo controladores de unidades de disco, tarjetas gráficas y tarjetas de sonido. DMA es
una característica esencial en todos los ordenadores modernos, ya que permite a dispositivos
de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de
interrupciones. Las transferencias DMA son esenciales para aumentar el rendimiento de
aplicaciones que requieran muchos recursos.
La mayor ventaja del bus único es su simplicidad de estructura que le hace ser más
económico, pero no permite que se realice a la vez transferencia de información entre la
memoria y el procesador y entre los periféricos y el procesador. Por otro lado el bus dedicado
es mucho más flexible y permite transferencias simultáneas. Por contra su estructura es más
compleja y por tanto sus costes son mayores.
7
En ocasiones, a los buses se les asigna un nombre propio, como por ejemplo, bus del
sistema, bus PCI, etc.
Cabe destacar que este tipo de arquitectura se esta viendo modificada con la aparición de
microprocesadores de múltiple núcleo. Por ejemplo, en la familia i7, el controlador de memoria
esta integrado en el micro, con lo que el Northbridge se libera de trabajo. Aparte de gestionar
los diversos componentes, estos chipsets determinan que dispositivos pueden montarse en la
placa.
En general, cuanto mas dispositivos conectamos al bus, más disminuye el rendimiento del
sistema; las causantes de esto son varias, pero las mas importantes son el tiempo de
sincronización que se necesita para coordinar el uso del bus entre todos los dispositivos, y que
el bus tiene una capacidad máxima, la cual puede llegar a convertirse en un cuello de botella
8
del sistema. Una de las formas de tratar este problema es implementando una jerarquía de
buses establecida por la necesidad de respuesta de los componentes. Los intermediarios entre
los diferentes niveles son los chipset vistos anteriormente.
Ejercicio 3.
Busca el chipset norte y sur que monta la placa base GIGABYTE G41M-ES2L. Después,
ves al fabricante e intenta averiguar las características principales de dichos chipsets.
1.2.5. Interfaces.
Según la Real Academia de la Lengua, una interfaz es una conexión física y funcional entre
dos aparatos o sistemas independientes. Esta definición aplicada a nuestro sector hace
referencia a dos conceptos:
• Parte del software o hardware que permite la comunicación usuario – ordenador.
Dicha comunicación puede ser por un entorno gráfico (Escritorio de Windows) o
por línea de comandos (terminal Linux). Por hardware seria por ejemplo el ratón y
el teclado.
9
Mencionar también que los conceptos de bus y puerto son parecidos pero no idénticos,
aunque con frecuencia suelen confundirse. Recordemos que un bus es un canal que comunica
dos o más dispositivos por el que circulan datos, direcciones y señales de control, mientras que
el puerto es una canal entre 2 dispositivos por el que circulan datos.
Con frecuencia se habla de buses del PC refiriéndose a los conectores internos destinados
a albergar las tarjetas de expansión (AGP, PCI, PCI-Express) y de puertos de comunicaciones
en referencia a las conexiones externas del ordenador (serie, paralelo, USB). Esto no es del
todo correcto porque, por ejemplo, AGP (Accelerated Graphics Port) es en realidad un puerto
aunque sea una conexión interna y USB (Universal Serial Bus) es en realidad un bus aunque
sea una conexión externa. Para evitar equivocaciones, hablaremos de slots de
expansión/conexiones internas y de conexiones externas.
10
1.3. Ejecución de una instrucción.
La CPU ejecuta los programas que se encuentran cargados en la memoria principal, que
están formados por un conjunto de instrucciones. La secuencia de operaciones realizadas en la
ejecución de una instrucción constituye lo que se denomina ciclo de instrucción. Lo más
cómodo es considerar que el procesamiento del ciclo de instrucción consta de dos fases:
• Fase de búsqueda: Consiste en la localizar la instrucción a ejecutar dentro de la
memoria principal y llevarla a la UC para procesarla.
• Fase de ejecución: Es la realización de las acciones que llevan asociadas las
instrucciones.
Reloj
1 2 3 4 5 6 7 8 9 10
BÚSQUEDA
Decodificación
Lectura de Operandos Operación
Representación de las fases de una instrucción en función del reloj del sistema.
Veamos que pasos hay que seguir para ejecutar un programa que lee 2 números, los suma
y visualiza la suma. Nos imaginaremos la memoria como una serie de casillas con su dirección
asociada.
3 11 19 27 Dato A
4 Leer A 12 20 28 Dato B
5 Leer B 13 21 29 Dato C
6 Calcular C=A+B 14 22 30
7 Visualizar C 15 23 31
8 16 24 32
► Instrucción Leer A.
Fase de Búsqueda:
1) En el CP se almacena la dirección de memoria de comienzo del programa, la 4.
2) La UC envía una orden para que el contenido del CP, que es la dirección de la instrucción
que estamos analizando, se transfiera al RDM.
11
3) El selector de memoria localiza la posición 4, y transfiere su contenido al RIM. El RIM
contiene Leer 4.
4) La UC da la orden de transferir el contenido del RIM al registro de instrucción IR, en el que
se deposita el código de la instrucción a ejecutar.
5) El descodificador de instrucciones analiza el código contenido en el IR y genera las señales
de control para ejecutar correctamente la instrucción.
6) El CP se incrementa en 1, apuntando a la siguiente instrucción (5 Leer B).
Fase de Ejecución:
7) Una vez conocido el código de operación, la UC establece las conexiones con el dispositivo
de entrada para aceptar el dato A.
8) La UC da la orden de que el dato leído se carguen en el RIM y que en el RDM se cargue la
dirección de memoria donde se va a almacenar el dato leído; por ejemplo la 27.
9) El selector de memoria es el encargado de guardar en la dirección indicada por RDM, la
27, el contenido del RIM.
► Instrucción Leer B.
Igual, pero cargando el dato B en la posición 28.
12
14) Se transfiere desde el RI al RDM la dirección donde se va a almacenar el resultado; es
decir, la dirección de C (29).
15) Finalmente, se transfiere el resultado desde el RIM a la dirección indicada por el RDM, y el
resultado C queda almacenado en la posición 29.
► Instrucción Visualizar C.
Fase de búsqueda:
1) El CP contiene la dirección 7.
2) El contenido del CP se transfiere al RDM.
3) El selector de memoria localiza la posición 7, y transfiere su contenido al RIM.
4) La UC da la orden de transferir el contenido del RIM al registro de instrucción RI.
5) El descodificador de instrucción analiza el código contenido en el RI y genera las señales
de control para ejecutar la instrucción.
6) El CP se incrementa en 1 y su valor es 8, fin del programa.
Fase de ejecución:
7) Una vez conocido el código de operación, la UC establece las conexiones con el dispositivo
de salida para visualizar el dato C.
8) La dirección del dato a visualizar se carga en el RDM (29)
9) El selector de memoria selecciona esa posición y guarda en el RIM el contenido del dato C.
10) Se generan las órdenes para que el contenido del RIM salga por la unidad de salida.
13
1.4. Interrupciones.
Una Interrupción o petición de interrupción es una señal recibida por el procesador de
un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar
código específico para tratar esta situación.
Las interrupciones surgen de las necesidades que tienen los dispositivos periféricos de
enviar información al procesador principal de un sistema de computación. La primera técnica
que se empleó fue que el propio procesador se encargara de sondear (polling) el dispositivo
cada cierto tiempo para averiguar si tenía pendiente alguna comunicación para él. Este método
presentaba el inconveniente de ser muy ineficiente, ya que el procesador constantemente
consumía tiempo en realizar todas las instrucciones de sondeo. El mecanismo de
interrupciones fue la solución que permitió al procesador desentenderse de esta problemática,
y delegar en el dispositivo la responsabilidad de comunicarse con el procesador cuando lo
necesitaba. El procesador, en este caso, no sondea a ningún dispositivo, sino que queda a la
espera de que estos le avisen (le "interrumpan") cuando tengan algo que comunicarle (ya sea
un evento, una transferencia de información, una condición de error, etc.). Con el uso de las
interrupciones el procesador se puede utilizar de una manera más eficaz. Las fases que se
siguen son las siguientes:
Guardar el estado de la CPU: registros, contador de programa, etc.
Inhibir interrupciones, para no perder otras.
Determinar que interrupción ha ocurrido.
Ejecutar la rutina de tratamiento de interrupción correspondiente.
Restaurar el estado previo a la interrupción.
Existen varios tipos de interrupciones de los cuales los más comunes son los siguientes:
De programa o de verificación de programa: son ocasionadas por condiciones que
se producen como resultado de la ejecución de una instrucción. Por ejemplo, la división
por cero, el resultado de la operación de E/S (OK, ERROR) de un dispositivo DMA, etc.
De reloj: son producidas por un reloj interno del procesador. Para que de esa forma se
realicen funciones con una cierta regularidad.
De Entrada / Salida: son generadas por un controlador de E/S para indicar la
finalización de una operación; o el cambio de estado de un dispositivo o canal; o
también alguna condición de error.
Por fallo del Hardware o de verificación de máquina: son causadas por el mal
funcionamiento del equipo, cortes de energía, etc.
14
Mencionar que cuando un dispositivo desea acceder a un recurso, envía un pedido de
interrupción al procesador para llamar su atención. Estos componentes cuentan con un número
de interrupción que se denomina IRQ (Peticiones de Interrupción). Es como si cada dispositivo
tirara de un "hilo" que está atado a una
campana para señalarle al equipo que
desea que le preste atención. Este "hilo"
es, de hecho, una línea física que conecta
cada ranura de expansión así como cada
interfaz E/S a la placa madre. Estos IRQ
están controlados por un "controlador de
interrupción" que se encarga de “cederle
la palabra” al IRQ que posee la mayor
prioridad.
15