2817_tema-1-arquitec..

Anuncio
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
ARQUITECTURA DE COMPUTADORES
INDICE
1.
HISTORIA DE LAS COMPUTADORAS .....................................................................3
1.1. ANTECEDENTES ...........................................................................................................3
1.2. GENERACIONES DE COMPUTADORAS ...........................................................................4
1.2.1.
Primera Generación de Computadoras .............................................................4
1.2.2.
Segunda Generación de Computadoras .............................................................6
1.2.3.
Tercera Generación de Computadoras ..............................................................6
1.2.4.
Cuarta Generación de Computadoras ...............................................................8
1.2.5.
Quinta Generación de Computadoras..............................................................11
2.
INTRODUCCIÓN DE ARQUITECTURA..................................................................12
2.1.
DEFINICIÓN DE INFORMÁTICA ....................................................................................12
2.2.
CONCEPTO DE COMPUTADOR .....................................................................................12
2.2.1.
Computadores digitales....................................................................................13
2.3.
CONCEPTOS PREVIOS .................................................................................................13
2.3.1.
Unidades de información .................................................................................13
2.3.2.
La velocidad de los dispositivos. Unidades de Medida....................................14
2.4.
COMPONENTES DE UN ORDENADOR ...........................................................................14
2.4.1.
Hardware..........................................................................................................14
2.4.2.
Software ............................................................................................................14
2.4.3.
Firmware ..........................................................................................................14
2.5.
ARQUITECTURA DEL ORDENADOR .............................................................................14
2.5.1.
La unidad de control (U.C.) .............................................................................16
2.5.2.
La unidad aritmético-lógica (U.A.L. - unidad de procesamiento) ...................17
2.5.3.
La memoria central ..........................................................................................17
2.5.4.
La unidad de entrada /salida (E/S) ..................................................................18
2.5.5.
Comunicación entre las diferentes unidades....................................................18
2.6.
NOCIONES DE OPERATIVIDAD DEL HARDWARE ..........................................................18
2.7.
CLASIFICACIÓN DE ARQUITECTURAS .........................................................................19
4.
SISTEMAS Y CÓDIGOS DE NUMERACIÓN ..........................................................21
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 1
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
Esta página se ha dejado intencionadamente en blanco
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 2
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
1. HISTORIA DE LAS COMPUTADORAS
1.1. Antecedentes
El interés del hombre en realizar cálculos por
medios mecánicos se remonta a China, donde
desde hace más de 2500 años utilizan el ábaco,
un bastidor provisto de alambres paralelos en
los cuales van insertadas unas cuentas que
representan las cifras y que permite sumar,
restar multiplicar y dividir números.
El siguiente avance de importancia
se dio en Francia en 1642, cuando el
matemático Blaise Pascal inventó la
primera calculadora digital mecánica
que podía realizar las cuatro
operaciones aritméticas básicas,
basándose en la medición del
movimiento de ruedas dentadas
(Foto:Calculadora de pascal).
En 1654 aparece la primera regla de cálculo, instrumento que permite efectuar rápidamente en
forma aproximada, cálculos numéricos como multiplicaciones, divisiones, raices, funciones
trigonométricas, etc.
En 1804, el inventor francés Joseph Marie Jacquard diseña una telar automático que permite
controlar la operación de tejido por medio de tarjetas de cartón con perforaciones; es decir las
tarjetas perforadas eran utilizadas para "programar" el tejido que debería realizar cada telar.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 3
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
En 1823, en Inglaterra, Charles Babbage diseña una
máquina para resolver todo tipo de problemas matemáticos.
Esta máquina tendría la particularidad de poder almacenar
los resultados en una memoria mecánica y aunque nunca
pudo construirse debido a las limitaciones técnicas de la
época se conoce a Babbage como el padre de la
computación porque sus ideas sirvieron como base para el
desarrollo de la computadora moderna.
En 1890, el ingeniero norteamericano, Herman
Hollerith desarrolló un sistema para llevar a cabo
el censo de los Estados Unidos. Este sistema se
basaba en el uso de tarjetas perforadas que
registraban los datos, y al introducirlas en una
máquina tabuladora electromecánica se realizaba
el conteo de cada uno de los conceptos del censo.
Este sistema permitió tener los primeros
resultados del censo en tan sólo seis semanas, a
comparación de los siete años que tomó el censo
de 1880. (Foto: Máquina de registro unitario de
herman hollerith)
Las máquinas utilizadas para procesar las tarjetas perforadas, inundaron el mercado, Hollerith
formó la Tabulating Machine Company, que se convertiría finalmente en el gigante que hoy
es IBM.
1.2. Generaciones de computadoras
El desarrollo de las computadoras suele dividirse en generaciones, cumpliéndose en cada una
por lo menos los dos siguientes requisitos estructurales:
•
Forma en que están construidas: que haya tenido cambios sustanciales,
•
Forma en que el ser humano se comunica con ellas: que haya experimentado progresos
importantes.
1.2.1. Primera Generación de Computadoras
Aunque los equipos de registro unitario permitieron un gran avance en el procesamiento
automático de datos para las empresas, el siguiente paso se dio por motivos totalmente
diferentes: las necesidades militares de la segunda guerra mundial.
En 1942, John W. Mauchly, un físico de la Universidad de Pennsylvania y su asociado
Eckert, propusieron la construcción de una máquina de calculo electrónica, para ser utilizada
para determinar las trayectorias de los proyectiles. La armada dio el contrato a la Universidad
y se construyó ENIAC (Electronic Numerical Integrator and Computer), considerada la
primer computadora electrónica.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 4
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
Terminada en 1945, ENIAC constaba de
17,468 válvulas electrónicas, 1500 relés y
pesaba 30 toneladas, lo cual originaba un
gran consumo de energía y una gran
cantidad de calor (140 KW). Tenía 20
registros para sumas decimales de 10
dígitos. Se programaba manualmente
mediante 6.000 conmutadores y una jungla
de cables y enchufes.
Los militares lo estuvieron utilizando hasta
1955.
En junio de 1945, John Von Neumann,
reconocido matemático, fue contratado como
asesor especial, para trabajar junto con Mauchly
y Eckert, en el desarrollo de una nueva
computadora llamada EDVAC (Electronic
Discrete Variable Automatic Computer).
Hasta entonces las computadoras se
programaban a través de diferentes
combinaciones en las conexiones de
cables, un trabajo muy complejo. Von
Neumann inventa el concepto de
programa almacenado: Se registran
tanto los datos como las instrucciones
para la computadora en tarjetas
perforadas, de forma tal que la
máquina almacene en la memoria tanto
el programa como los datos.
A partir de ese momento los cambios
en las computadoras se dieron en gran
medida gracias a los avances en la
electrónica, los cuales permitieron
contar con computadoras cada vez más
poderosas, más pequeñas y económicas.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 5
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
1.2.2. Segunda Generación de Computadoras
En 1948 Walter Brattain y John Bardeen, trabajando en Bell Telephone Laboratories,
inventan el transistor de contactos puntuales y en 1951 en los mismos laboratorios, William
Shocley inventa el transistor de unión, lo cual les valió a los tres inventores el premio Nobel
de física de 1956.
El transistor fue un gran avance tecnológico que permitió fabricar computadoras físicamente
más: pequeñas, poderosas, rápidas y confiables. Sin embargo los transistores no fueron
utilizados en la construcción de computadoras sino hasta 1959.
El MIT Lincoln Laboratory desarrollo TX-O fue la primera computadora de transistores.
Kenneth Olsen funda DEC en 1957 y en 1961 lanza el PDP-1, con 4K (Nace el
minicomputador). Cuesta $120.000
IBM saca la 7090, con 32K (cálculo científico), y la 1401 (aplicaciones comerciales). Cuestan
millones de dólares. Dominio absoluto del mercado.
1.2.3. Tercera Generación de Computadoras
A principios de los 60's Robert Noyce trabajando en Fairchild Semiconductor Corporation,
ubicada en Mountain View California, inventa el circuito integrado el cual es un pequeño
dispositivo que contiene un circuito electrónico completo.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 6
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
El área alrededor de Mountain View en California, USA, se convirtió en el centro de la
industria de los circuitos integrados y es conocida como Silicon Valley, por ser precisamente
el silicio el material con el que se
fabrican estos dispositivos.
La invención del circuito integrado
permitió el desarrollo de pequeñas,
potentes y relativamente económicas
minicomputadoras. La primera fue
producida por Digital Equipment
Corporation, en 1963. DEC distribuye el
PDP-11 por todas las universidades.
Utilizando también esta tecnología de
Circuitos Integrados, IBM desarrollo el
Sistema 360, que fue introducido al
mercado en 1964. Este sistema estaba formado por una familia de computadoras, permitiendo
que una compañía pequeña, pudiera comenzar con un sistema de computo pequeño y a
medida que creciera la empresa, añadir computadoras más poderosas de la misma familia.
La familia 360, con un espacio de direccionamiento de 224 bytes, y registros de 32 bits.
Todos los modelos son compatibles, incluso con las series sucesoras 370, 431, 3080 y 3090.
A mediados de los años 80, los 16 Mbytes se quedan pequeños.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 7
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
1.2.4. Cuarta Generación de Computadoras
En 1971, Marcian E. Hoff, un
ingeniero de Intel Corporation,
(también de Silicon Valley),
inventa el microprocesador,
iniciando una nueva generación
en el desarrollo de la
computadora.
El
microprocesador contiene todo
el procesador central de una
computadora en un solo y
pequeño dispositivo. Aquí
inicia la historia de la
computadora personal o PC.
La primer computadora personal fue introducida al mercado en 1975 por
Microinstrumentation and Telemetry Systems conocida como ALTAIR 8800, utilizaba el
microprocesador de Intel 8080. Esta máquina solo podía almacenar 256 bits en su memoria y
no tenía ni teclado ni monitor. Los usuarios introducían
tanto el programa como los datos como dígitos binarios
por medio de interruptores, luego leían el resultado
descifrando los patrones formados en un banco de luces
en la parte frontal de la máquina.
En 1976, Tandy-RadioShack reclutó a Steven Leininger para desarrollar una
microcomputadora. A fin de suministrar a los usuarios un modo fácil de introducir
información y de ver los resultados Leininger agregó:
o Monitor de video
o Teclado
o Grabadora de cassette para almacenar permanentemente tanto programas como datos.
Así, la TRS-80 fue la primera computadora en ser vendida con los componentes que hoy
consideramos indispensables.
En el mismo año Steven Jobs y Stephen Wozniak fundaron APPLE COMPUTER. En 1977,
introdujeron al mercado la Apple I. Poco después hizo su aparición la Apple II, la cual poseía
unidad lectora de discos flexibles y un poderoso
sistema operativo en disco.
No obstante los importantes avances en el
terreno de las microcomputadoras, también las
supercomputadoras, para cálculos complejos que
requieren miles de millones de operaciones
sobre una cantidad enorme de datos también se
desarrollaron. En 1976 Seymour Cray entregó la
supercomputadora Cray-1 al laboratorio
científico en Los Alamos, Nuevo México.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 8
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
Å COMPUTADORA CRAY
Por esas mismas fechas se instaló la
supercomputadora CYBER-205, de Control
Data
Corporation,
en
el
Servicio
Meteorológico del Reino Unido, para
realizar predicciones climatológicas.
En 1981, la IBM introdujo el PC. Esta máquina contaba con un microprocesador Intel 8088 y
se encargó el desarrollo del sistema operativo a MICROSOFT CORPORATION.
Å IBM - PC
Para 1984, el IBM PC se había convertido en el estándar de la industria con cientos de
compañías diseñando programas para ella. Sin embargo, IBM no pudo permanecer como el
líder de venta de computadoras personales, debido a que casi todos los fabricantes presentaron
su propia versión del diseño de la PC de IBM, en muchos casos más versátiles y económicas.
De hecho en el terreno de la microcomputación las PC's son las computadoras personales más
ampliamente utilizadas y han ido evolucionando con las nuevas versiones de
microprocesadores de INTEL, desde el 8088 hasta el PENTIUM, pasando por los: 80286,
80386 y 80486. También ha incrementado sus capacidades tanto de memoria como de
almacenamiento en disco.
Paralelamente al desarrollo de la computadora el software o programas necesarios para que
estas operen también fueron evolucionando desde la programación en lenguaje de máquina,
hasta programas de fácil uso para personas que sólo usan la computadora como una
herramienta complementaria a su trabajo.
Al tratar de simplificar el uso de los programas se observó que era más sencillo para el
usuario utilizar una interfaz gráfica que teclear comandos. Con esta idea en mente en 1983,
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 9
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
Apple desarrolló una computadora con interfaz gráfica llamada Lisa, la cual incluye entre sus
dispositivos el llamado ratón.
En 1984, Apple crea la Macintosh (Mac),
ofreciendo la tecnología de Lisa a precios más
competitivos.
Siguiendo las tendencias actuales de conseguir
aparatos cada vez más pequeños y portátiles, hizo su
aparición la computadora portátil (en ocasiones
conocidas como NoteBook), del tamaño de un libro,
livianas (aprox. 2 Kg.) y con las capacidades de una
PC o Mac de escritorio, operando con baterías
recargables.
Otro factor que revolucionó el mundo de la informática
fue el avance de las telecomunicaciones, con lo cual hoy
en día se tienen grandes redes de computadoras
comunicadas entre sí, permitiendo la computación
móvil, en donde una computadora que se encuentra en
un automóvil o la trae consigo alguna persona que se
encuentra viajando, puede comunicarse con otra
computadora mayor, en donde se almacenan los datos.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 10
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
En cuanto a las computadoras para grandes corporaciones, aunque
existen todavía modelos de gran capacidad, se tiende a dividir el
trabajo entre muchas máquinas más pequeñas interconectadas
entre sí. Eso es lo que se denomina una red de cómputo.
Por lo que toca al supercómputo, han aparecido diversos equipos,
basándose en el concepto de cómputo paralelo: una máquina tiene
varios procesadores, disminuyendo el tiempo de proceso.
Å EQUIPOS MULTIPROCESADOR DE SILICON GRAPHICS
También se han desarrollado computadoras operadas con una
pluma (Pen-Book), las cuales permiten escribir y operar los
programas por medio de una pluma sobre la pantalla, lo que
hace tan atractivas a estas máquinas son su reducido tamaño, su
capacidad de operar los programas sin un teclado y sobre todo
la posibilidad que tiene de guardar dibujos hechos a mano y la
de interpretar la letra manuscrita.
PEN BOOK Æ
1.2.5. Quinta Generación de Computadoras
Los computadores de la quinta generación, se definen como equipos que podrán interactuar
inteligentemente con el ser humano utilizando inteligencia artificial.
En realidad la idea de crear una máquina que pueda
comportarse como un ser humano (que piense y razone), existe
desde la antigüedad, sin embargo apenas recientemente es
cuando empezamos a ver algunos productos comerciales, que
realizan funciones que son sencillas para el ser humano, como
identificar el rostro de una persona, leer un texto, entender una
conversación, hablar, etc.
Å ROBOT EXPERIMENTAL NOMAD-2000
Aunque existen ciertos avances, tales como los sistemas
expertos, programas de identificación de personas, programas
capaces de leer la letra manuscrita o de entender órdenes,
podemos decir que la quinta generación de computadoras esta
aún en pañales.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 11
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
2. INTRODUCCIÓN DE ARQUITECTURA
Resulta muy conveniente y a veces necesario conocer cómo funciona todo aquello que
manejamos habitualmente. ¿Cuántos usuarios de la informática se quedan bloqueados por no
tener los mínimos conocimientos de arquitectura informática, que le ayudarían a salvar la
situación.
Este es uno de los objetivos propuestos, y aunque la proliferación de equipos y componentes
es muy amplia, se pretende sentar las bases o líneas maestras que ayuden a entender el
funcionamiento y diseño de los ordenadores que manejamos.
Conocer su arquitectura permite utilizarlo con máximo rendimiento y posibilita la
optimización de las aplicaciones desarrolladas en ellos.
¿Cómo se define un ordenador en nuestros días?. Una máquina programable, compuesta por
circuitos microelectrónicos, que procesan secuencialmente información digital, a gran
velocidad y con notable precisión, gobernada por programas y utilizada en un gran número de
trabajos.
2.1. Definición de informática
La palabra Informática proviene de la fusión de los términos información y automática. Si nos
atenemos a la definición de la Real Academia, la informática es el conjunto de conocimientos
científicos y técnicos que s ocupan del tratamiento de la información mediante ordenadores
electrónicos.
Obsérvese que esta definición liga el concepto de informática al de ordenador electrónico. Si
nos atenemos a una definición más formal, podemos decir que la Informática es la disciplina
científica encargada del tratamiento racional de la información mediante métodos
automáticos.
2.2. Concepto de computador
En un sentido general, computador es todo aparato o máquina destinada a procesar
información, entendiéndose por proceso las sucesivas fases, manipulaciones o
transformaciones que sufre la información para resolver un problema determinado.
Desde este punto de vista general, no se presupone la tecnología en que se ha de construir el
computador, ni la forma en la que se ha de representar la información para su proceso, ni de
cómo se realiza éste.
En sus orígenes los computadores se basaban en las tecnologías mecánica y electromecánica.
Sin embargo, hoy en día, la tecnología mayoritariamente empleada es la electrónica, aunque
ciertas partes del computador, como son los periféricos, aún contienen una gran parte
mecánica. Por otro lado, la tecnología óptica apunta como la tecnología de futuro de los
computadores, aunque de momento su mayor aplicación está en las comunicaciones y en
algunos dispositivos de almacenamiento de información.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 12
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
2.2.1. Computadores digitales
En los computadores digitales la información está representada mediante un sistema digital de
tipo binario, esto es un sistema que sólo reconoce dos estados distintos, que suelen
denominarse 1 y 0. Cada uno de los dígitos de esta representación binaria recibe el nombre de
bit y puede tomar los valores de 1 ó 0. Dado que la tecnología empleada mayoritariamente en
la construcción de los computadores es electrónica, estos dos valores de los dígitos binarios
vienen definidos por los valores de tensión eléctrica que han de tomar los circuitos
electrónicos que almacenan o manipulan estos dígitos.
En los computadores digitales se pueden emplear cadenas de bits de la longitud que se desee y
con la codificación que se quiera, lo que permite representar y manipular tanto números como
letras y símbolos. Cuando se consideran exclusivamente números se dice que la información
es numérica, cuando se trata de números y texto se dice que es alfanumérica.
2.3. Conceptos previos
2.3.1. Unidades de información
Bit: Dígito binario. Es el elemento más pequeño de información del ordenador. Un bit es un
único dígito en un número binario (0 o 1). Los grupos forman unidades más grandes de datos
en los sistemas de ordenador – siendo el Byte (ocho Bits) el más conocido de éstos.
Byte: Se describe como la unidad básica de almacenamiento de información, generalmente
equivalente a ocho bits, pero el tamaño del byte del código de información en el que se defina.
8 bits. En español, a veces se le llama octeto. Cada byte puede representar, por ejemplo, una
letra.
Kilobyte: Es una unidad de medida utilizada en informática que equivale a 1.024 Bytes. Se
trata de una unidad de medida común para la capacidad de memoria o almacenamiento de las
microcomputadoras.
Megabyte: es una unidad de medida de cantidad de datos informáticos. Es un múltiplo
binario del byte, que equivale a 220 (1 048 576) Bytes, traducido e efectos como 106 (1 000
000) bytes.
Gigabyte: Es la unidad de medida más utilizada en los discos duros. También es una unidad
de almacenamiento. Debemos saber que un byte es un carácter cualquiera. Un gigabyte, en
sentido amplio, son 1.000.000.000 bytes (mil millones de bytes), ó también, cambiando de
unidad, 1.000 megas (MG ó megabytes). Pero con exactitud 1 GB son 1.073.741.824 bytes ó
1.024 MB. El Gigabyte también se conoce como "Giga"
Terabyte: Es la unidad de medida de la capacidad de memoria y de dispositivos de
almacenamiento informático. Una unidad de almacenamiento que coincide con algo más de
un trillón de bytes (un uno seguido de dieciocho ceros). El terabyte es una unidad de medida
en informática y su símbolo es el TB. Es equivalente a 240 bytes.
Petabyte: Corresponde a 1000 terabytes, mil millones de megabytes, o mil billones de bytes.
Se representa con el símbolo PB.
Exabyte: Un exabyte es una unidad de medida en informática y su símbolo es el EB. Es
equivalente a 1024 (210) Petabytes o a 260 bytes. Más de un trillón de bytes.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 13
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
Zettabyte: Un Zettabyte es una unidad de medida en informática y su símbolo es el ZB. Es
equivalente a 1024 (210) exabytes, o 270 bytes. Más de mil trillones de bytes.
Yottabyte: Un Yottabyte es una unidad de medida en informática y su símbolo es el YB. Es
equivalente a 1024 (210) zettabytes, o 280 bytes.
2.3.2. La velocidad de los dispositivos. Unidades de Medida.
Hertzio (Hz): Es la unidad de medida de la frecuencia equivalente a 1/segundo. Utilizado
principalmente para los refrescos de pantalla de los monitores, en los que se considera 60 Hz
(redibujar 60 veces la pantalla cada segundo) como el mínimo aconsejable.
Megahertzio (MHz): Es una frecuencia (numero de veces que ocurre algo en un segundo).
En el caso de los ordenadores, un equipo a 200 MHz será capaz de dar 200 millones de pasos
por segundo. En la velocidad real de trabajo no sólo influyen los MHz, sino también la
arquitectura del procesador (y el resto de los componentes).
Nanosegundos: Es una millonésima parte de un segundo. Es decir, en un segundo hay
1.000.000.000 de nanosegundos. Se trata de una escala de tiempo muy pequeña, pero bastante
común en los ordenadores, cuya frecuencia de proceso es de unos cientos de MHz. Decir que
un procesador es de 500 MHz, es lo mismo que decir que tiene 500.000.000 de ciclos por
segundo, o que tiene un ciclo cada 2 ns.
Milisegundos: Unidad de tiempo, equivalente a un milésima parte de un segundo. (Ms).
Microsegundos: Unidad de tiempo, equivalente a una millonésima parte de un segundo (μs).
2.4. Componentes de un ordenador
Antes de estudiar los componentes que forman un ordenador, es importante entender la
distinción entre Hardware y Software.
2.4.1. Hardware
El término Hardware hace alusión a la parte física que representa el ordenador, es decir, los
elementos “tangibles” que lo componen, tales como el monitor, la placa base, los cables, los
chips etc.
2.4.2. Software
El término Software se refiere al conjunto de instrucciones, programas y aplicaciones
informáticas que permiten operar con el ordenador, así como controlar y coordinar los
distintos elementos Hardware. Es la parte “Intangible”. Es la parte lógica.
2.4.3. Firmware
Entre software y hardware existe otro concepto importante dentro de un sistema informático
que es el firmware. Es la parte intangible (software) de los componentes hardware.
2.5. Arquitectura del ordenador
Si para manejar un ordenador dispusiéramos exclusivamente del Hardware de los equipos, ese
potencial de circuitería electrónica resultaría poco eficiente.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 14
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
Con esta situación y con equipos menos potentes se encontraban los pioneros de la
informática, todos ellos muy identificados con el hardware, y cuyo software tuvieron que
desarrollar con paciencia y perseverancia en lenguaje máquina.
Hoy día resulta impensable manejar un ordenador sin software que soporte la realización de
las operaciones habituales. La simple operación de arranque de la máquina solicita la
presencia del sistema operativo (S.O.). Este facilitará enormemente al usuario las tareas más
rutinarias, como copia de ficheros, grabación o lectura de disco, salidas por impresora y otras
muchas que sin el S.O. cada usuario debería desarrollar en lenguajes de bajo nivel.
La arquitectura de un ordenador define su comportamiento funcional. La arquitectura
Eckert-Mauchly, incorrectamente denominada de «Von Neumann», se refiere a las
arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto
para las instrucciones como para los datos (a diferencia de la arquitectura Harvard). El
término se acuñó a partir del memorando First Draft of a Report on the EDVAC (1945)
escrito por el conocido matemático John von Neumann en el que se proponía el concepto de
programa almacenado. Dicho documento fue redactado en vistas a la construcción del sucesor
de la computadora ENIAC.
Esta arquitectura es todavía, aunque con pequeñas modificaciones, la que emplean la gran
mayoría de los fabricantes.
La figura anterior muestra la estructura general de un computador tipo Von Neumann. Esta
máquina es capaz de ejecutar una serie de instrucciones u órdenes elementales llamadas
instrucciones de máquina, que deben estar almacenadas en la memoria principal para poder
ser leídas y ejecutadas. Podemos observar que esta compuesta por las siguientes unidades:
♦ Memoria Central.
♦ Unidad aritmético-lógica.
♦ Unidad de Control.
♦ Unidad de entrada/salida.
La unidad de control y la unidad aritmético-lógica forman el procesador central (UNIDAD
CENTRAL DE PROCESO - CPU), precisamente porque son los principales elementos para
el procesamiento de la información.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 15
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
2.5.1. La unidad de control (U.C.)
Se encarga de leer, una tras otra, las instrucciones de máquina almacenadas en la memoria
principal, y de generar las señales de control necesarias para que todo computador funcione y
ejecute las instrucciones leídas, dirigiendo todas sus actividades, controlando cada elemento y
cada acción, y estableciendo la comunicación entre la ALU, la memoria principal y el resto de
componentes.
Las funciones de la UC son:
•
Controlar la secuencia en que se ejecutan las instrucciones
•
Controlar el acceso del procesador (CPU) a la memoria principal
•
Regular las temporizaciones de todas las operaciones que ejecuta la CPU
•
Enviar señales de control y recibir señales de estado del resto de las unidades
La unidad de control está formada por:
•
Contador de Programa (CP): Contiene en cada momento la dirección de memoria
donde se encuentra la instrucción siguiente a ejecutar.
•
Registro de Instrucción (RI): Dedicado a memorizar temporalmente la instrucción
que la UC está interpretando o ejecutando en ese momento.
•
Decodificador (D): Es el que interpreta realmente la instrucción. Se encarga de
extraer el CO de la instrucción en curso, lo analiza y emite las señales necesarias al
resto de elementos para su ejecución a través del secuenciador.
•
Reloj (R): Proporciona una sucesión de impulsos eléctricos o ciclos a intervalos
constantes, que marcan los instantes en que han de comenzar los pasos de que consta
cada instrucción.
•
Secuenciador (S): En este dispositivo se generan órdenes muy elementales
(microórdenes) que sincronizadas por el reloj hacen que se vaya ejecutando poco a
poco la instrucción que está cargada en el registro de instrucción.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 16
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
2.5.2. La unidad aritmético-lógica (U.A.L. - unidad de procesamiento)
La ALU es la unidad encargada de realizar las operaciones elementales de tipo aritmético
(sumas, restas, multiplicaciones, etc.) y lógico (comparaciones, operaciones sobre el álgebra
de Boole: NOT, AND, OR, etc). Los datos sobre los que opera esta unidad provienen de la
memoria principal, y pueden estar almacenados de forma temporal en algunos registros de la
propia unidad aritmética.
•
Circuito operacional (COP): Contiene los circuitos necesarios para la realización de
las operaciones con los datos procedentes del Registro de Entrada.
•
Registro de Entrada (RE): Contiene los datos u operandos que intervienen en una
instrucción antes de que se realice la operación por parte del COP.
•
Registro de Estado (RS): Contiene un conjunto de biestables (indicadores) en los que
se deja constancia de condiciones que se dieron en la última operación realizada y que
habrán de ser tenidas en cuenta en operaciones posteriores.
•
Registro Acumulador (RA): Almacena los resultados de las operaciones realizadas
por el COP.
2.5.3. La memoria central
Está compuesta por un conjunto de celdas idénticas, es decir, que tienen el mismo tamaño
(mismo número de bits). En un instante determinado se puede seleccionar una de estas celdas,
para lo que se emplea una dirección que la identifica. Sobre la celda seleccionada se puede
realizar una operación de lectura, que permite conocer el valor almacenado previamente en la
celda, o de escritura, que permite almacenar un nuevo valor. Estas celdas se emplean tanto
para almacenar los datos como las instrucciones de máquina.
Es rápida, y está estrechamente ligada a las unidades funcionales más rápidas dentro de la
computadora (la UC y la ALU). De forma muy global diremos podemos decir que hay dos
tipos de memoria principal:
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 17
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
•
La memoria ROM (Read Only Memory).
•
La memoria RAM (Random Acces Memory).
2.5.4. La unidad de entrada /salida (E/S)
Realiza la transferencia de la información con unas unidades exteriores llamadas periféricos,
lo que permite, entre otras cosas, cargar datos y programas en la memoria principal y sacar
resultados impresos.
2.5.5. Comunicación entre las diferentes unidades
La conexión entre los elementos de un computador se realiza a través de los BUSES.
Un bus es un conjunto de cables que proporciona un camino para el flujo de información
entre los distintos elementos. Por cada cable se transmite un bit.
Formas de transmitir la información por los BUSES:
•
Serie: toda la información por el mismo hilo.
•
Paralelo: transmitir por distintos cables a la vez.
Dentro de un ordenador podemos encontrarnos buses específicos para controlar ciertos
periféricos o buses genéricos que interconectan los diferentes elementos de la arquitectura
comentada en los apartados anteriores: Estos son:
•
Bus de datos, que transporta los datos que se transfieren entre unidades. Suele ser
bidireccional.
•
Bus de direcciones, que transporta la dirección de la posición de memoria o del
periférico que interviene en el tráfico de información
•
Bus de control, que transporta las señales de control y de estado
2.6. Nociones de operatividad del hardware
Para que el ordenador pueda realizar una función determinada, es necesario que previamente
se realice la descomposición de esa función en su correspondiente conjunto de instrucciones
máquina, operación que recibe el nombre de programación. Además, para que el ordenador
realice una función determinada, o lo que es equivalente, para que ejecute un programa, se
tienen que dar las siguientes condiciones:
• Debe existir el correspondiente programa en lenguaje máquina.
• El programa, así como sus datos, deben encontrarse en memoria principal. Esto exige
generalmente una operación de transferencia, desde un periférico de almacenamiento
secundario (ej. disco), hasta la memoria principal, operación que deberá hacerse mediante
un programa que llamaremos cargador.
• El contador de programa de la unidad de control debe ser actualizado con la dirección
correspondiente a la primera instrucción del mencionado programa.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 18
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
Una vez satisfechas estas tres condiciones, el ordenador irá leyendo y ejecutando las
instrucciones que forman el programa. Observemos que otro programa deberá haberse
encargado de cumplimentar las condiciones anteriores y de continuar ejecutándose cuando el
primero haya terminado.
Para comprender mejor el funcionamiento de la unidad central de proceso, y del resto de
componentes internos del ordenador, se enumeran a continuación las diferentes etapas de la
ejecución de la instrucción:
•
La CPU extrae de memoria la siguiente instrucción a ejecutar y la almacena en el
registro de instrucción. La posición de memoria en la que se encuentra esta instrucción
la almacena el registro contador de programa.
•
Se cambia el registro contador de programa con la dirección de memoria de las
siguiente instrucción a ejecutar.
•
Se analiza el código de operación (CO) de la instrucción, que está contenido en el
registro de instrucciones.
•
A continuación se determina a qué datos de memoria hay que acceder, y como hay que
hacerlo. Para ello se analiza el modo de direccionamiento de memoria para accede a la
información que se va a procesar, así como el campo de dirección efectiva de la
información.
•
Se extraen los datos, si los hay, de la posición de memoria especificada por el campo
de dirección efectiva, y se cargan en los registros necesarios de la CPU para ser
procesados.
Mediante estas cinco etapas, resumidas aquí, se puede ver como se ejecuta una instrucción
cualquiera en el ordenador, pero es necesario tener en cuenta que este proceso es muy largo,
complejo y técnico, ya que intervienen buses, otros registros de la CPU, direccionamientos de
memoria, etc.
2.7. Clasificación de arquitecturas
La arquitectura de von Neumann sigue el ciclo de ejecución secuencial de instrucciones (una
a una) que operan sobre datos escalares. No obstante, hay otros modelos de arquitecturas.
La clasificación más aceptada, desde el punto de vista de la Estructura del Ordenador, es la
que se debe a Flynn, la cual se realiza según el número de instrucciones o datos implicados en
cada ciclo de reloj.
En este gráfico tenemos la clasificación de las posibles arquitecturas de un ordenador según
Flynn.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 19
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
•
Las arquitecturas SIMD (Single Instruction - Multiple Data) se corresponden con los
computadores vectoriales (para el cálculo con matrices).
•
En los sistemas MIMD (Multiple Instruction - Multiple Data) se encuadran los
multiprocesadores (con memoria compartida) y los multicomputadores (con memoria
independiente).
•
En las arquitecturas MISD (Multiple Instruction - Single Data) diversas instrucciones
operan sobre un único dato. Son las más alejadas de las arquitecturas convencionales.
Como ejemplo de este tipo de arquitecturas está la “Data Flow Machine” (Máquina de
Flujo de Datos).
•
Actualmente, la inmensa mayoría de los ordenadores son SISD (Single Instruction Single Data), además de unos pocos SIMD que se dedican al cálculo vectorial. La
tendencia es la construcción de procesadores superescalares, que arrancan varias
instrucciones simultáneamente, como los PowerPC y los de Intel.
Veamos ahora otra clasificación desde el punto de vista de la Arquitectura.
Desde hace unos cuantos años, ha ido tomando relevancia un tipo de arquitecturas que se
caracterizan por disponer de un juego de instrucciones de formato muy regular y sencillo.
Estas arquitecturas, denominadas RISC (Reduced Instruction Set Computer), contrastan con
las convencionales o CISC (Complex Instruction Set Computer), cuyo juego de instrucciones
es muy extenso y sus formatos de instrucción heterogéneos, lo que significa una sobrecarga
fija en el tiempo de ejecución.
Intel y Motorola son ejemplos de estas arquitecturas, mientras que PowerPC y el Alpha de
Digital son claros exponentes de las arquitecturas RISC.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 20
C.F.G.S.
Desarrollo de Aplicaciones Informáticas
3. SISTEMAS Y CÓDIGOS DE NUMERACIÓN
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Pág. 21
C.F.G.S.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Desarrollo de Aplicaciones Informáticas
Pág. 22
C.F.G.S.
Sistemas Informáticos Multiusuario y en Red – Arquitectura
Desarrollo de Aplicaciones Informáticas
Pág. 23
Descargar