









Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Resumen Arquitectura de Computadores Capítulo 2 Universidad del Valle
Tipo: Apuntes
1 / 16
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!










El ENIAC fue el primer computador electr´onico de prop´osito general del mundo. Era enorme, robusta, consum´ıa 140 kilowatios y ten´ıa la capacidad de realizar 5000 sumas por segundo.
El ENIAC era una m´aquina decimal y no binaria (n´umeros represen- tados en decimal), la aritm´etica tambi´en era decimal.
M´aquina de von Neumann:
La tarea de cargar y modificar programas en el ENIAC era muy tediosa.
Se buscaba que el programa se representara de forma adecuada para ser guardado en la memoria, junto a los datos.
((Un computador podr´ıa conseguir sus instrucciones ley´endolas e la me- moria, y se podr´ıa hacer o modificar un programa colocando los valores en una zona de memoria.)) (Esta es la idea de programa almacenado)
La idea de programa almacenado se atribuye a los dise˜nadores del ENIAC, sobre todo al matem´atico John von Neumann.
Estructura general del computador IAS:
((Una memoria principal que almacena tanto datos como instrucciones.))
((Una unidad aritm´etico-l´ogica (ALU) capaz de hacer operaciones con datos binarios.))
((Una unidad de control que interpreta las instrucciones en memoria y provoca su ejecuci´on.))
((Un equipo de entrada salida (E/S) dirigido por la unidad de control.))
Aspectos del IAS:
La memoria del IAS consiste en 1000 posiciones de almacenamiento, llamadas palabras, de 40 d´ıgitos binarios (bits) cada una.
Los n´umeros se representan de forma binaria.
Cada n´umero se representa con 1 bit de signo y 39 bits de valor.
Cada instrucci´on tambi´en tiene un c´odigo binario.
Una palabra puede contener tambi´en dos instrucciones de 20 bits, donde cada instrucci´on consiste en un c´odigo de operaci´on de 8 bits (codop) que especifica la operaci´on que se va a realizar y una direcci´on de 12 bits que indica una de las palabras de la memoria (enumeradas de 0 a 999).
La unidad de control dirige el IAS captando instrucciones de la memoria y ejecutando una a una.
Tanto la unidad de control como la ALU contienen posiciones de alma- cenamiento, llamadas registros, definidos as´ı:
Registros del IAS:
MBR - Memory Buffer Register (Registro Temporal de Me- moria): ((contiene una palabra que debe ser almacenada en memoria, o es usado para recibir una palabra procedente de la memoria.))
MAR - Memory Address Register (Registro de Direcci´on de Memoria): ((especifica la direcci´on en memoria de la palabra que va a ser escrita o le´ıda en MBR.))
IR - Instruction Register (Registro de Instrucci´on): ((contiene los ocho bits del c´odigo de operaci´on de la instrucci´on que se va a ejecutar.))
Salto incondicional: ((normalmente la unidad de control ejecuta ins- trucciones secuencialmente en la memoria. Las instrucciones de salto pueden cambiar esta secuencialidad. Esto facilita las operaciones repe- titivas.))
Salto condicional: ((el salto depende de una condici´on, lo que permite puntos de decisi´on.))
Aritm´etica: ((operaciones realizadas por la ALU.))
Modificaci´on de direcciones: ((permite que la ALU haga operaciones con las direcciones y las inserte en instrucciones almacenadas en me- moria. Esto permite una considerable flexibilidad de direccionamiento en un programa.))
Computadores comerciales:
El UNIVAC I fue el primer computador comercial de ´exito. Estaba dise˜nado para aplicaciones cient´ıficas y comerciales.
El UNIVAC II ten´ıa una capacidad de memoria mayor y m´as aplica- ciones que el UNIVAC I.
Los avances en la tecnolog´ıa permiten a las compa˜n´ıas seguir constru- yendo computadores m´as grandes y m´as potentes.
Las compa˜n´ıas intentan hacer sus nuevas m´aquinas superiores y compa- tibles con las anteriores, es decir, los programas escritos para las viejas m´aquinas pueden ejecutarse en las nuevas m´aquinas.
IBM sac´o su primer computador con programas almacenados electr´oni- camente (llamado 701) en 1953.
Tambi´en existi´o el (( 702 )), adecuado con hardware pra aplicaciones de gesti´on.
701 y 702 fueron los primeros de una larga serie de computadores 700/7000 que situaron a IBM como fabricante de computadores do- minante.
El primer cambio importante en los computadores electr´onicos vino con la sustituci´on de los tubos de vac´ıo por los transistores.
El transistor es m´as peque˜no, m´as barato, disipa menos calor y puede ser usado de la misma forma que un tubo de vac´ıo en la construcci´on de computadores.
Mientras que un tubo de vac´ıo requiere cables, placas de metal, una c´apsula de cristal y vac´ıo, el transistor es un dispositivo de estado s´olido, hecho con silicio.
El transistor fue inventado en los Laboratorios Bell en 1947, en los a˜nos
Sin embargo, los primeros computadores completamente transistoriza- dos no estuvieron disponibles comercialmente sino hasta finales de los cincuenta.
Los primeros en lanzar esta nueva tecnolog´ıa fueron NCR, y con m´as exito, RCA. Sacaron peque˜nas m´aquinas de transistores. IBM los si- gui´o pronto con la serie 7000.
El uso de transistroes define la segunda generaci´on de computadores.
La clasificaci´on de los comptuadores en generaciones bas´andose en la tecnolog´ıa hardware empleada fue ampliamente aceptada.
Cada nueva generaci´on se caracteriza por mayor velocidad, mayor ca- pacidad de memoria y menor tama˜no que la generaci´on anterior.
En la segunda generaci´on se introdujeron unidades l´ogicas y aritm´eti- cas y unidades de control m´as complejas, el uso de lenguajes de programaci´on de alto nivel, y se proporcion´o un software del sistema con el computador.
Bonus: La sgunda generaci´on tambi´en se destaca por la aparici´on de la empresa Digital Equipment Corporation (DEC). Fundada en 1957, en el mismo a˜n´o sac´o su primer computador, el PDP-1. Este computador y esta compa˜n´ıa iniciaron el desarrollo de los minicomputadores, que fue de gran importancia en la tercera generaci´on.
Otra caracter´ıstica es el multiplexor, que es el punto de conexi´on central de los canales de datos, la CPU y la memoria. El multiplexor organiza los accesos a la memoria desde la CPU y los canales de datos, permi- tiendo a estos dispositivos actuar de forma independiente.
A un transistor simple y autocontenido se le llama componente discreto.
A trav´es de los a˜nos 50 y 70, los equipos electr´onicos estaban compues- tos en su mayor´ıa por componentes discretos (transistores, resistencias, capacidades, etc.). Estos se fabricaban separadamente, encapsulados en sus propios contenedores, y soldados o cableados juntos en tarjetas de circuitos en forma de panel, y esto era instalado en computadores, osciloscopios y demas equipos electr´onicos.
Todo el proceso de fabricaci´on desde el transistor hasta el panel de circuitos era caro y engorroso.
Estos hechos fueron el comienzo del surgimiento de problemas en la industria de computadores: Los primeros computadores de la segunda generaci´on conten´ıan alrededor de 10000 transistores, luego esta can- tidad creci´o a cientos de miles, haciendo m´as dif´ıcil la fabricaci´on de m´aquinas nuevas y m´as potentes.
En 1958 ocurri´o algo que revolucion´o la electr´onica y comenz´o la era de la microelectr´onica: la invenci´on del circuito integrado. El circuito integrado define la tercera generaci´on de computadores.
Funciones b´asicas computador b´asico
Los elementos b´asicos de un computador digital deben ofrecer almace- namiento, procesamiento y control de funciones.
Solo se requieren dos tipos fundamentales de componentes: puertas y celdas de memoria. Las funciones son:
Almac´en de datos: proporcionado por las celdas de memoria.
Procesamiento de datos: proporcionado por las puertas.
Transferencia de datos: los caminos entre componentes se usan pa- ra llevar datos de memoria a memoria y de memoria, a trav´es de las puertas, a memoria.
Control: los caminos entre componentes pueden llevar las se˜nales de control. Por ejemplo, una puerta tendr´a dos entradas de datos + una entrada de control que activar´a la puerta. Cuando la se˜nal de control est´a en ON, la puerta realiza su funci´on con los datos de entrada y produce un dato de salida. De manera similar, las celdas de memoria almacenar´an el bit en su entrada si la se˜nal de control WRITE est´a ON y situar´an el bit en la salida cuando la se´al de control READ est´e ON.
Un computador consta de puertas, celdas de memoria e interconexiones entre estos elementos. Ambos elementos est´an constituidos por compo- nentes electr´onicos simples.
Result´o siendo mejor fabricar un circuito entero en un peque˜no tro- zo de silicio que ensamblar componentes discretos hechos a partir de trozos de silicio separados en el mismo circuito. (Se pueden construir cientos e incluso miles de transistores al mismo tiempo en una sola oblea de silicio, transistores que deben ser conectados con un proceso de metalizaci´on para formar circuitos).
Ley de Moore
((Moore observ´o que el n´umero de transistores que se pod´ıan integrar en un solo chip se duplicaba cada a˜no)): este ritmo continu´o a˜no tras a˜no y d´ecada tras d´ecada, luego el ritmo disminuy´o duplic´andose cada 18 meses en los setenta, pero ha mantenido esta velocidad desde entonces. Consecuencias de la ley de Moore:
PDP-8 usaban estructuras de bus. Se llama Omnibus, consiste en 96 hilos conductores separados, usados para control, direcciona- miento y datos. Comparten un conjunto de caminos y su uso debe ser controlado por la CPU. Arquitectura altamente flexible, permite conectar m´odulos al bus para crear varias configuraciones.
Memoria semiconductora
Procesador (unidad de control y ALU) con chips de circuitos integrados: se not´o que tambi´en se pod´ıa usar para construir memorias.
Anteriormente la memoria (usando anillos de material ferromagn´eti- co, ferrita, y magnetizaciones) era cara, voluminosa y usaba lectura destructiva.
En 1970 se produjo la primera memoria semiconductroa con relativa capacidad, con 256 bits de memoria. Era no destructiva y mucho m´as barata que un n´ucleo. Tardaba setenta mil millon´esimas de segundo en leer un bit, pero el coste por bit era mayor que el del n´ucleo.
En 1974 el precio por bit de memoria semiconductora cay´o por debajo del precio por bit de memoria de un n´ucleo. (Ha habido una continua disminuci´on del precio de la memoria acompa˜nado de un correspon- diente aumento de la densidad de memoria).
Eso ha llevado a hacer m´aquinas m´as peque˜nas y m´as r´apidas con el mismo tama˜no de memoria que m´aquinas m´as grandes y m´as caras.
Desde 1970 la memoria semiconductora ha tenido 8 generaciones: 1K, 4K, 16K, 64K, 256K, 1M, 4M, 16M, 64M, 256M y ahora un giga bits en un solo chip (1K = 2^10 , 1M = 2^20 , 1G = 2^30 ). Cada generaci´on ha proporcionado 4 veces m´as densidad de almacenamiento que la genera- ci´on previa, junto con un menor coste por bit y una mayor velocidad de acceso.
Microprocesadores
Igual que la densidad de elementos en los chips de memoria ha con- tinuado creciendo, tambi´en lo ha hecho la densidad de elementos de procesamiento.
En cada chip hab´ıa m´as y m´as elementos, as´ı que cada vez se ne- cesitaban menos y menos chips para construir un procesador de un computador.
En 1971 Intel desarrolla el 4004, el primer chip que conten´ıa todos los componentes de la CPU en un solo chip: se le llam´o microprocesador.
Luego en 1972 se introdujo Intel 8008, el primer microprocesador de 8 bits y dos veces m´as complejo que el 4004.
En 1974 Intel introdujo el 8080, el primer microprocesador de uso ge- neral. 4004 y 8008 fueron dise˜nados para aplicaciones espec´ıficas. 8080 fue dise˜nado para ser la CPU de un microcomputador de prop´osito ge- neral. Tambi´en es de 8 bits, pero es m´as r´apido, tiene un conjunto de instrucciones m´as rico y una capacidad de direccionamiento mayor.
Final de los 70’s: aparici´on de microprocesadores de 16 bits, ejemplo el
Luego en 1981 los Laboratorios Bell y Hewlett-Packard desarrolaron microprocesadores de un solo chip de 32 bits. Intel produjo uno de 32 bits, el 80386, en 1985.
A˜no tras a˜no, el precio de los computdores contin´ua cayendo dram´ati- camente, mientras que las prestaciones y la capacidad de estos sistemas sigue creciendo. Tenemos potencia del computador a muy bajo costo, y esta revoluci´on tecnol´ogica ha habilitado el desarrollo de complejidad y potencia. Por ejemplo, las aplicaciones de oficina requieren la mayor potencia de los sitemas de hoy en d´ıa basados en microprocesadores in- cluyen: Procesamiento de im´agenes, Reconocimiento del habla, Videoconferencias, Aplicaciones multimedia, Almacenamien- to de ficheros de voz y v´ıdeo, Modelado de simulaciones.
Lo clave desde la perspectiva de la org. y arquitect. de computadores, es que los bloques b´asicos de los portentosos computadores de hoy en d´ıa son pr´acticamente los mismos que los del computador IAS de hace casi 50 a˜nos, mientras que por otra parte las t´ecnicas para sacar hasta la ´ultima gota del rendimiento de los elementos disponibles se han vuelto cada vez m´as sofisticadas.
Ejecuci´on especulativa: utilizando la predicci´on de ramificaci´on y el an´alisis de flujo de datos, algunos procesadores ejecutan espe- culativamente instrucciones antes de que aparezcan en la ejecuci´on del programa, manteniendo los resultados en posiciones temporales. Esto permite al procesador mantener sus elementos de ejecuci´on tan ocupa- dos como sea posible ejecutando anticipadamente instrucciones que es probable que se necesiten.
La velocidad del procesador ha crecido con rapidez, mientras que otros componentes esenciales del computador no lo han hecho tan r´apido. El resultado de esto es que ahora hace falta prestar atenci´on al equilibrio de las prestaciones: ajustar la organizaci´on y arquitectura para com- pensar las desigualdades de capacidad entre los distintos componentes.
El problema creado por tales desigualdades no es de ninguna manera m´as grave que en la interfaz entre el procesador y la memoria principal.
Mientras la velocidad del procesador y la capacidad de la memoria han crecido r´apidamente, la velocidad con la que los datos pueden ser transferidos entre la memoria principal y el procesador se ha quedado dram´aticamente retrasada.
La interfaz entre el procesador y la memoria principal es el camino m´as importante de todo el computador, ya que es el responsable de llevar el constante flujo de instrucciones y datos entre los chips de la memoria y el procesador.
Si la memoria o la interfaz no logran mantener el ritmo de las insistentes demandas del procesador, este se estanca en una posici´on de espera y se pierde as´ı tiempo de procesamiento valioso.
Maneras de que una arquitectura ataque el anterior problema:
Incrementar el n´umero de bits que se recuperan de una sola vez hacien- do las DRAM m´as ((anchas)) en lugar de m´as ((profundas)) utilizando buses de datos m´as anchos.
Cambiar la interfaz DRAM para hacerla m´as eficiente, incluyendo una cach´e u otro esquema de almacenamiento temporal en el chip DRAM.
Reducir la frecuencia del acceso a memoria incorporando, entre el pro- cesador y la memoria principal, unas cach´e cada vez m´as complejas y eficientes. Esto incluye la incorporaci´on de una o m´as cach´es en el chip del procesador as´ı como una cach´e fuera del chip cerca del procesador.
Incrementar el ancho de banda entre el procesador y la memoria usando buses de m´as alta velocidad y una jerarqu´ıa de buses para almacenar y estructurar el flujo de datos.
Manejo de dispositivos E/S
Conforme los computadores se hacen m´as r´apidos y potentes, se desa- rrollan aplicaciones m´as sofisticadas que se apoyan en el uso de pe- rif´ericos con demandas intensivas de E/S. Estos dispositivos crean una tremenda demanda de procesamiento de datos.
La generaci´on actual de procesadores puede manejar los datos produ- cidos por estos dispositivos, pero a´un queda el problema de mover esos datos entre el procesador y los perif´ericos.
Las estrategias en esto incluyen esquemas de cach´es y almacenamien- to adem´as del uso de buses de interconexi´on de m´as alta velocidad y con estructuras m´as elaboradas. (Tambi´en el uso de configuraciones multiprocesador puede ayudar a satisfacer las demandas de E/S).
Adem´as de equilibrar las prestaciones del procesador con la memoria principal y los otros componentes del computador, persiste la nece- sidad de aumentar la velocidad del procesador. Hay 3 formas de conseguir incrementar la velocidad del procesador:
Sin embargo, fiarse simplemente del aumento de la velocidad de reloj para aumentar las prestaciones lleva al problema de la disipaci´on de potencia que ya se mencion´o. Cuanto mayor sea la velocidad del re- loj, mayor ser´a la potencia que hay que disipar, y se pueden alcanzar algunos l´ımites f´ısicos b´asicos.
Aproximaci´on fundamental nueva: situar varios procesadores en el mis- mo chip, con una gran cach´e compartida.
El uso de varios procesadores en el mismo chip (tambi´en conocido co- mo varios n´ucleos) da potencia para incrementar las prestaciones sin aumentar la velocidad de reloj. (Mejor usar dos procesadores simples en el chip que un procesador m´as complejo).
El consumo de potencia de la l´ogica de la memoria en un chip es mucho menor que la de la l´ogica de un procesador.