Está en la página 1de 10

Tema 1.

Historia del desarrollo de la arquitectura de la


computadora1

Introducción.- Las computadoras de la era mecánica sufrían de dos inconvenientes:


La inercia de las partes movibles limitaban la rapidez de computo.
-
El movimiento de datos por medios mecánicos (engranes, palancas,
-
etc.) era incomodo e indigno de confianza.
Por ello fue necesario un mecanismo de conmutación y almacenamiento sin partes
movibles. El tubo de vacío de tríodo, inventado en 1906 proporciono el bloque básico de
construcción. Conforme estos dispositivos se hicieron menos costosos y mas confiables,
el camino llego a estar abierto para el desarrollo de la computadora electrónica.
Hubo muchos científicos dedicados a la construcción de las computadoras electrónicas.
En Alemania Zuse empieza a trabajar en la Z1 que fue la primera computadora que uso el
sistema binario.
En EEUU la compañía ENIAC construye la primera computadora digital electrónica de
propósito general en el mundo. La cual pesaba 30 toneladas ocupaba 15 mil pies
cuadrados de espacio y contenía casi 18000 mil tubos de vacío. Al operar consumía 140
kilowats de energía, también era mas rápida que cualquier computadora electromecánica,
siendo capaz de calcular 5 mil sumas por segundo.
La ENIAC era una maquina decimal, su memoria consistía en 20 acumuladores c/u capaz
de retener un numero decimal de 10 dígitos. Cada dígito se representaba por medio de un
anillo de 10 tubos de Vacío. El principal conveniente era que tenia que programarse en
forma manual ajustando y colocando interruptores, conectando y desconentando cables.
La ENIAC se termino de construir en 1946 y ya no se pudo usar en la 2da guerra mundial.

1.1.1 EVOLUCION DE LA ARQUITECTURA DE LAS COMPUTADORAS SEGÚN VON


NEUMANN

La tarea de introducir y cambiar programas para la Eniac era muy tedioso. El proceso de
programación podía facilitarse si el programa se representaba en forma adecuada para
almacenarlo en la memoria junto con los datos. Para ello se introdujo la idea de programa
almacenado. (Von Neumann ) se construyó la computadora IAS. La cual esta formada
por:
 Una memoria principal que almacena tanto datos como instrucciones. Esta memoria esta
formada por Memoria Base (MB) y Memoria Externa (EM)
 Una Unidad Aritmético Lógica (ALU) capaz de operar con datos binarios.
 Una Unidad de Control (UC) que interpreta y ejecuta las instrucciones de la memoria.
 Dispositivos de entrada y salida (E/S), operado por la unidad de control (DP- Dispositivos
Periféricos .

La UC estuvo completamente centralizada y estuvo realizada en base a elementos


lógicos. No hubo dispositivos donde elaborar las instrucciones y todas las instrucciones se
ejecutaban en el ALU luego de ser tomados los datos de la memoria. El ALU tenía las
microoperaciones incluidas. Osea algunos registros realizaban una determinada
microoperación.
La memoria era magnética y tenía un solo nivel de 1000 localidades de
almacenamiento llamadas palabras de 40 dígitos binarios (Bits) c/u. Ahí se almacenaban
tanto datos como instrucciones. La memoria se divide en RAM y ROM. El Sistema
Operativo solo contenía la inicialización y un Ensamblador Básico.
1
Ing. Sally Torres Alvarado Arquitectura y Organización del Computador
1.1.2 ARQUITECTURA DE LA COMPUTADORA DE LA 2da GENERACION

El primer cambio en la computadora electrónica se dio en el reemplazo del tubo


de vacío por el transistor. El transistor es mas pequeño, barato y disipa menos calor que
un tubo de vacío. El transistor es un dispositivo de estado solido, hecho de silicio.
La unidad de control cuenta con:
CDM- Circuito de Modificación de Direcciones.
Sist. Int.- Sistema de interrupciones.2
El control estaba descentralizado ya que a excepción de la UC, todos los dispositivos
tenían su propia unidad de control. El canal de Entrada/Salida C I/O tenia su propio
sistema de interrupciones y controlaba completamente el intercambio de información entre
la Memoria Base (MB) y los Dispositivos Periféricos (DP). Ya que en el Sistema los
dispositivos trabajaban al mismo tiempo, esto dio origen a un sistema de interrupciones
que sincronizaba el trabajo de las diferentes unidades de control. La memoria tenia dos
niveles ya que apareció la ERAM. La cual esta formada por registros de uso Común. La
memoria Base aun era magnética. Se uso lenguajes de alto nivel y el Sistema Operativo
fue mas complejo.

1.1.3 ARQUITECTURA DE LA COMPUTADORA DE LA 3ra GENERACION.

Las computadoras ya utilizaban muchos transistores cerca de 10000 por esta razón se
hacia mas difícil la fabricación de maquinas mas nuevas y potentes. En 1958 se dio un
logró en la electrónica y se dio inicio a la era de la microelectrónica con la invención del
Circuito Integrado y la Multiprogramación. El ALU contenía:
EP - Procesador Especial.
AP - Procesador Aritmético.
BCN - Bloque de Control del Microprograma.
Entre otro dispositivos que se ingresaron:
MC - Memoria Caché.
DIA - Dispositivo de Intercambio Autónomo.
MB - Memoria Base.
PP - Procesador Periférico.
CM - Canal Multiplexor.
CC - Canal Selector.
DP - Dispositivo Periférico.
EM - Memoria Externa.
El PP controla el trabajo del CM y CS. El canal multiplexor consecutivamente trabaja con
los DP, esto significa que para cada DP se asigna un intervalo de tiempo. El cual esta
relacionado con un tiempo de realización pequeña. El CS asigna este tiempo de trabajo
de los DP.
El ALU contiene 2 dispositivos complementarios EP y AP el cual esta realizado bajo el
principio de microoperaciones fijas.
Microoperación.- Es una acción elemental de la maquina, ejemplo: leer una palabra,
cambiar el valor de un bit, rotar una palabra, etc.
La memoria tiene como mínimo 3 niveles, estos son : ERAM, Memoria Caché y Memoria
Base.
La memoria caché es una memoria de rápido acceso donde se guardan las instrucciones
que se ejecutan en la siguiente pulsación (tacto).

2
Ing. Sally Torres Alvarado Arquitectura y Organización del Computador
La memoria virtual es equivalente a las 3 memorias anteriores y en velocidad es igual a la
ERAM.

1.1.4 CRITICAS AL MODELO DE VON NEUMMAN:


 El almacenaje de dos instrucciones en cada palabra aumenta conciderablemente la
complejidad de la unidad de control y el set de instrucciones.
 El punto flotante aritmético no fue implementado.
 No existe facilidades para enlazar programas.3

1.2 TIPOS DE COMPUTADORAS.-

1.2.1 Supercomputadoras.- Estas computadoras se utilizan para la investigación


científica, aplicaciones de distribución en paralelo, es la computadora más potente
disponible en el mercado. Estas máquinas están construidas para procesar enormes
cantidades de información en forma muy rápida. Pueden costar desde 8 millones hasta 20
millones de dólares, y consumen energía eléctrica suficiente para alimentar 100 hogares.
1.2.2 Macrocomputadoras.- También conocida como Mainframes están diseñadas para
manejar grandes cantidades de entrada, salida y almacenamiento de datos, tenemos las
que se usan en los Bancos como por ejemplo la 4381 de la INTEL, cuestan alrededor de 1
millón de dolares
1.2.3 Minicomputadoras.- La mejor manera de explicar las capacidades de una
minicomputadora es diciendo que están en alguna parte entre las de una mainframe y las
de las computadoras personales. Al igual que las macrocomputadoras, las
minicomputadoras pueden manejar una cantidad mucho mayor de entradas y salidas que
una computadora personal. Aunque algunas minis están diseñadas para un solo usuario,
muchas pueden manejar docenas o inclusive cientos de terminales. Se utilizan para
aplicaciones comerciales para empresas de mediana envergadura. As/400.

1.2.4 Microcomputadoras.- Es un producto de la tecnología VLSI (integración a escala


muy grande)logrando alrededor de 100000 componentes por circuito
integrado(chip).dentro de las microcomputadoras podemos encontrar a las computadoras
personales:

Computadoras personales.- Pequeñas computadoras que se encuentran comúnmente


en oficinas, salones de clase y hogares. Las computadoras personales vienen en todas
formas y tamaños. Modelos de escritorio El estilo de computadora personal más común
es también el que se introdujo primero: el modelo de escritorio. computadoras notebook
Las computadoras notebook, como su nombre lo indica, se aproximan a la forma de una
agenda. Las laptop son las predecesoras de las computadoras notebook y son
ligeramente más grandes que éstas. Asistentes personales digitales Los asistentes
personales digitales (PDA)son las computadoras portátiles más pequeñas. Las PDA,
también llamadas a veces palmtops, son mucho menos poderosas que los modelos
notebook y de escritorio. Se usan generalmente para aplicaciones especiales, como crear
pequeñas hojas de cálculo, desplegar números telefónicos y direcciones importantes, o
para llevar el registro de fechas y agenda. Muchas pueden conectarse a computadoras
más grandes para intercambiar datos.

3
Ing. Sally Torres Alvarado Arquitectura y Organización del Computador
1.2.1 VARIACIONES EN EL DISEÑO DEL BUS

1.- Arquitectura con Bus Común.- Esta arquitectura como su nombre lo indica contaba con
un solo bus de datos y direcciones. Este bus es multiplexado, ya que en un tiempo se
transmiten datos y en otro direcciones. Este bus puede ser de 16, 32 y 64 bits.
El bus de 16 bits permite direccionar 64 Kb. De memoria (2E16 =64Kb).
El bus de 32 bits permite direccionar 4Gb de memoria (2E32=4Gb).
El bus de 64 bits permite direccionar 16777216 Tbyte de memoria (2E64 ).
1Tb=1024Gb (2E40)
1Gb=1024Mb (2E30)
1Mb=1024Kb (2E20)
1Kb=1024b (2E10)

2.- Arquitectura con Bus Dividido.- La transmisión de la dirección es sincronizada. En


cambio la transmisión de datos es asincrónica.
En esta arquitectura se tiene un bus para datos y uno para direcciones.
Tanto el Bus de Datos como el de direcciones pueden contener 16, 32, 64 bits.

1.3 ARQUITECTURA DE COMPUTADORAS PARALELAS

1.3.1 TAXONOMÍA DE LAS ARQUITECTURAS DE COMPUTADORES.

La clasificación más popular se le debe a Flynn, que clasifico las arquitecturas de


acuerdo a los flujos de datos (data streams) y a los flujos de instrucciones (instruction
streams). El concepto de flujos de datos se refiere al número de operadores que se
pueden procesar al mismo tiempo y el de flujos de instrucciones se refiere a cuantos
programas se pueden ejecutar al mismo tiempo. De acuerdo a su clasificación existen
cuatro tipos de computadoras:
 SISD (Single instruction stream, single data stream): un solo flujo de instrucciones y un
solo flujo de datos.
 SIMD (Single instruction stream, multiple data stream): un solo flujo de instrucciones y
varios flujos de datos.
 MISD (Multiple instruction stream, single data stream): Varios flujos de instrucciones y
un solo flujo de datos.4
MIMD (Multiple instruction stream, multiple data stream): Varios flujos de instrucciones y
varios flujos de datos.

El primer tipo (SISD) se refiere a las maquinas de arquitectura Von Newmann como los
PC’s que manejamos comúnmente, como sabemos este tipo de maquinas tienen limites
físicos que limitan su capacidad de procesamiento; esto motiva la investigación en
maquinas de arquitectura en paralelo para obtener un mayor rendimiento. Las
instrucciones se ejecutan secuencialmente pero pueden estar solapadas en las etapas de
ejecución (segmentación encauzada). Un computador SISD puede tener más de un
unidad funcional. Todas las unidades funcionales están bajo supervisión de una sola
unidad de control.
Entre las máquinas de tipo MISD algunos incluyen a las máquinas de arquitectura pipeline
y otros
consideran que no es práctico considerar este tipo de arquitectura e incluyen a la
arquitectura pipeline en la SISD.

4
Ing. Sally Torres Alvarado Arquitectura y Organización del Computador
1.3.2 Comparación entre las arquitecturas SIMD y MIMD.-

Arquitectura SIMD Arquitectura MIMD


Requiere menos hardware: Requiere más Hardware
1 unidad de control 1 sola copia del programa
Necesita menos memoria: Necesita memoria para cada uno de los
programas
Adecuada para programas de datos paralelos: Puede ejecutar varias tareas distintas al mismo
se Requiere ejecutar el mismo programa sobre tiempo o emular un procesador SIMD mediante
un gran número de datos. mecanismos de sincronización.
Menor tiempo de arranque para comunicarse Para comunicarse es necesario usar
con los vecinos: debido a que se posee un reloj mecanismos de sincronización
global.
Más costosa: Se requiere diseñar un microchip Más barata: se pueden construir usando
de arquitectura especial. procesadores SISD de propósito general a gran
escala, los cuales son muy baratos debido a la
economía de escala

Características computadora SIMD: .


Una sola unidad de control despacha instrucciones a todos los elementos de
procesamiento (EP). 5
Por esto, todas las unidades de proceso ejecutan la misma instrucción con diferentes
tipos de datos.
Algunas máquinas comerciales con esta arquitectura son el Illiac IV, MPP, DAP, CM-2,
MasPar MP1 y MasPar MP2.
Esta clase corresponde a los procesadores matriciales. Como se ilustra en la figura (b)
existen múltiples unidades de proceso (UP) supervisados por la misma unidad de control.
Todos las unidades de proceso reciben la misma instrucción emitida por la unidad de
control pero operan sobre diferentes conjuntos de datos procedentes de flujos distintos. El
subsistema de memoria compartida puede contener múltiples módulos.

Características computadora MISD: .


Cada unidad de control despacha varias instrucciones a todos los elementos de
procesamiento (EP).
Los cuales trabajan con un solo tipo de dato.
Se pueden seleccionar algunas de ellas para ser apagadas mediante una mascara si no
se necesita que ejecuten la instrucción.
Esta organización se ilustra conceptualmente en la figura (c). Existen n unidades
procesadoras; cada una recibe distintas instrucciones que operan sobre el mismo flujo de
datos y sus derivados. Los resultados (la salida) de un procesador pasan a ser la entrada
(los operandos) del siguiente procesador en el macrocauce. Esta estructura ha recibido
mucha menos atención y ha sido tachada de poco práctica por algunos arquitectos de
computadores. No existe ninguna materialización de esta categoría de computadores.

Características computadora MIMD: .


Cada unidades de control despacha instrucciones a todos los elementos de
procesamiento (EP).
Por esto, cada unidad de proceso ejecutan la distinta instrucción con distintos datos.
La mayoría de los sistemas multiprocesadores y de los sistemas con múltiples
computadores pueden incluirse en esta categoría (figura d). Un computador MIMD

5
Ing. Sally Torres Alvarado Arquitectura y Organización del Computador
intrínseco implica interacciones entre los n procesadores porque todos los flujos de
memoria se derivan del mismo espacio de datos compartido por todos los procesadores.
Si los n flujos de datos provinieran de subespacios disjuntos dentro de las memorias
compartidas, entonces tendríamos la llamada operación SISD múltiple (MSISD), que no
es más que un conjunto de n sistemas monoprocesador SISD independientes. Un
computador MIMD intrínseco es fuertemente acoplado si el grado de interacciones entre
los procesadores es elevado. En caso contrario los consideramos débilmente acoplado.
La mayoría de los computadores MIMD comerciales son débilmente acoplados. 6

1.4 MICROPROCESADORES TIPO CISC Y RISC

1.4.1 Microprocesadores CISC (COMPLEX INSTRUCCIÓN SET COMPUTER).

Esta arquitectura se caracteriza por su gran cantidad de instrucciones, mayor de 100


instrucciones.
Esta arquitectura esta orientada a la microprogramación. Esto significa que cada
instrucción contiene un microprograma que debe ejecutarse. Los procesadores Intel de la
familia 80.XXX pertenecen a esta arquitectura.
La memoria de Microprogramas se encuentra dentro del procesador como se indica en la
figura.
Ciclo de Trabajo de un Procesador CISC.- La unidad de control da la señal de inicio
cargandose una instrucción en el decifrador. La instrucción es decifrada y se encuentra la
dirección del microprograma y de los operadores. Con la dirección del microprograma se
inicia la ejecución del mismo enviando señales a la unidad de ejecución. La longitud del
microprograma depende de la complejidad de la instrucción, de esta manera se cumple el
ciclo de ejecución para cada instrucción del programa que se encuentra en la RAM o
ROM.
La unidad de Ejecución esta generalmente compuesta por un sumador universal
que permite realizar sumas sin signo, con signo, desplazamientos y para desarrollar
operaciones complejas (Multiplicación, División, cálculos de direcciones) se usan
algoritmos matemáticos binarios.

1.4.2 Microprocesadores RISC (REDUCED INSTRUCCIÓN SET COMPUTER).

Como su nombre lo indica es una arquitectura con un conjunto reducido de instrucciones.


Los principales caminos para reducir el numero de instrucciones son los siguientes:

 No se usa Microprogramación .- en lugar se usa Autómatas Distribuidos para


ejecución de instrucciones. Autómata.- Dispositivo Lógico que realiza una determinada
operación lógica.
 Conservación de la longitud de la instrucción, en lo posible todas deben tener la
misma longitud. De esta manera se reduce el tiempo y la complejidad del algoritmo de
descifrado de instrucciones.
 Disminución de los tipos de direccionamiento generalmente:
a).Directo.- Cuando se usa el nombre de los registros directamente como
operadores. Ejm: Mov R1,R2 (Donde R1,R2 operadores 1 y 2).
b).Implícita.- Cuando el operador tiene implícito el dato.
Ejm. Mov R1, 23H (23h es un dato implícito).

6
Ing. Sally Torres Alvarado Arquitectura y Organización del Computador
c).Indirecto.- Cuando se usa un dato que se encuentra en un lugar de la memoria y
se usa un puntero a este dato.
Ejm. Mov R1,[23h] (en la memoria en lugar 23h tenemos un valor = a 15h).
 Todas las instrucciones son de una o de dos direcciones.
 Pasar funciones del sistema operativo al hardware. Esto significa que ciertas
instrucciones serán realizadas por el hardware lo que dará mayor velocidad.
 Métodos de aceleración en base al Hardware (matrices de multiplicación y división,
Sumadores con acarreo paralelo).7

Entonces tenemos que cualquier instrucción se ejecuta en un ciclo de maquina. El


numero de instrucciones se encuentra entre 10 y 100. Todos estos metodos de
realización para lograr la rapidez del Microprocesador se en el costo. Entre los MP
RISC tenemos Motorola 88000 y MIPS R400

Ciclo de Ejecución.- Se inicia cuando la Unidad de Control da la señal y pasa una


instrucción hacia el decifrador de instrucciones. El cual genera las señales de
ejecución, necesarias para realizar la instrucción, de esta manera los ciclos se repiten
para todos las instrucciones.

1.5 LEY DE AMDAHL .- Permite Cuantificar el rendimiento de la PC .


Tiempo de latencia.- Es el tiempo transcurrido entre el comienzo y el final de un
evento.

Aceleración 1
Global = ______________________________________
(1-fracción mejorada ) + fracción mejorada/
Aceleración mejorada

La ley de Amdahl puede servir de guía para ver como una mejora aumenta el rendimiento
global y como distribuir los recursos para mejorara la relación costo-beneficio.
Ejercicios:
1). Suponer que estamos conciderando una mejora que corra 10 veces mas rápido que la
maquina original, pero solo es utilizada el 40% del tiempo. Cual es la aceleración global
lograda al incorporara la mejora.

2).Suponer que se quiere mejorar la velocidad de la CPU en un factor de 4 veces( 3 veces


el precio) suponer que el CPU utiliza el 60% del tiempo si la CPU supone un cuarto del
costo total del computador. Es una buena inversión el incremento de la velocidad de la
CPU desde un punto de vista costo-rendimiento.

7
Ing. Sally Torres Alvarado Arquitectura y Organización del Computador
Comparación entre las computadoras:

SISD

Unidad de
control global FI Instrucción 1 Procesador dato 1(Flujo de dato)
especial

SIMD

Instrucción 1 Dato 1
Procesador
especial

Unidad de
control global Instrucción 1 Procesador Dato 2
especial
Instrucción 1 Dato n
Procesador
especial
MISD

Instrucción 1
Unidad de
Procesador
control
especial

Unidad de Instrucción 2 Procesador Flujo de datos


control especial

Instrucción n
Unidad de Procesador
control especial

MIMD

Instrucción 1 dato 1
Unidad de
Procesador
control
especial

Unidad de Instrucción 2 Procesador dato 2


control especial

Instrucción n dato n
Unidad de Procesador
control especial