investigacion 7
Los Microprocesadores
1. Explicación El Microprocesador
Recibe El Nombre de CPU o UCP. Es la parte que gobierna el funcionamiento del PC. Se divide en dos apartados:
a) La UC, (Unidad de Control)
b) La ALU, (Unidad Aritmético-Lógica)
La UC gobierna todos los procesos y La ALU se encarga de todas las operaciones y cálculos.
La Unidad De Control: Su función es dirigir y coordinar todas las operaciones que tienen lugar entre las distintas unidades del sistema.
Para llevarlo a cabo, realiza las siguientes operaciones:
Interpreta El Contenido De Las posiciones de memoria, ya sean memorias RAM o ROM.
Ordena a cada elemento del sistema la ejecución individual de las instrucciones surgidas.
Atiende y decide sobre las interrupciones que le van a producir los elementos del sistema durante la ejecución de sus tareas.
La Unidad Aritmético-Lógica: Se encarga dentro de la unidad central de realizar dos tipos de operaciones:
Operaciones Aritméticas. (sumas, restas...)
Operaciones Lógicas. (comparación, complementos...)
. Tipos De Microprocesadores
.1 -Microprocesador 4004
Aparece en 1971 gracias a tres ingenieros: Robert Noyce, Gordon Moore y Andrew Grove. Su Bus de datos era de 4 bits, un bus de direcciones multiplexado de 12 bits que gestionaba hasta 45 bytes y un set de instrucciones de 45. Estaba formado por 2300 transistores e integraba unas 1000 puertas lógicas, implementado todo en 24mm2 con tecnología PMOS y su formato era DIP (Dual Inline Package) cerámico de 16 pines. Su velocidad de proceso era de 60000 operaciones por segundo a una frecuencia de trabajo de 108 KHz.
-Microprocesador 4040
Es otro desarrollo de INTEL. Aparece en 1972 bajo un formato DIP de 24 pines. Usaba tecnología PMOS, 4 bits de bus de datos y 12 bits para manejar un bus de direcciones multiplexado.
-Microprocesador 8008
Aparece en abril de 1972 con una velocidad de proceso de 300KHz. Disponía de un bus de 8 bits y un bus de direccionamiento de memoria multiplexado capaz de manejar 16KB, formado por 14 bits. Su Formato era DIP cerámico de 18 pines con tecnología PMOS, integrando 3300 transistores. Su set de instrucciones era de 66. Los Homónimos del 8008 de INTEL fueron el 6800 de MOTOROLA, el 6502 de MOS TECHNOLOGY y el difundido Z80 de ZILOG.
2.4 -Microprocesador 8086
Fue el primer microprocesador de 16 bits desarrollado por INTEL en el año 1978. Se trata de un integrado de 20 pines con una estructura de direcciones de memoria de 20 bits, lo que le permitía direccionar hasta 1 MB. Alcanzaba una velocidad de 4,77MHz y llego a un máximo de 10MHz. Este micro sentó las bases de lo que seria el desarrollo de los microprocesadores.
2.5 -Microprocesador 8088
Aparece a instancias de IBM en el año 1981 como sucesor del 8086, integrado en ordenadores con capacidades de memoria de 16KB. Internamente trabajaba con un bus de datos de 16 bits, aunque, externamente, lo hace a 8 bits. Su bus de direcciones, al igual que el 8086 era de 20 bits, lo que conseguía un área de direccionable de memoria de 220= 1.048.576 bytes= 1MB. Con una velocidad de trabajo de 8 MHz, se llegaron a alcanzar los 12 MHz. Este micro trabajaba en lo que se denominaba modo normal o modo real, al igual que el 8086.
2.6 -Microprocesador 80286
En el año 1982 nace el 286 o primer microprocesador para ordenadores AT aunque no ve la luz hasta 1984 con distintos formatos en encapsulado PGA.
Algunos estaban soldados a la placa base, otros se colocaban sobre un zócalo. Aparece un competidor serio de INTEL: AMD.
El 80286 dispone de un SET de instrucciones mas amplio que los micros anteriores, disponiendo de un bus de datos de 16 bits y un bus de direcciones de 24 bits. Esto conseguía que la memoria pudiese direccionar hasta 224= 16.777.216 bytes= 16MB. La velocidad evoluciono desde los primeros AT-02 y AT-03 de 6 y 8 MHz respectivamente hasta los 12, 16 y 20MHz. Incorporaba un nuevo modo de trabajo: el modo protegido. Este sistema consistiría en la posibilidad de poder trabajar en multitarea o, lo que es lo mismo, aplicar pequeñas particiones de tiempo a diferentes trabajos que se ejecutan de forma alternativa gestionando hasta 16MB de RAM; también permitía el modo real, emulando varios 8086 con 1024 KB de memoria. El 80286 se popularizo gracias a su implementación en las maquinas 5170 AT de IBM.
2.7 -Microprocesador 80386
Aparece el 386DX con arquitectura tanto interna como externa de 32 bits. Fue el primero en incluir posibilidades de gráficos en color de alta resolución así como sonido. Este micro, dependiendo del fabricante, trabaja entre 16 y 40MHz. Su formato también variaba según el fabricante, un 386sx INTEL de 100 pines a un 386DX AMD de 132. El 386DX era capaz de direccionar hasta 232= 4.294.967.296 bytes = 4Gb de memoria, pero tenia el serio inconveniente del precio. El 386sx aparece como respuesta al alto precio del 386 ``puro’’ o DX. Se diferencia por trabajar solo con 16 bits de datos externo y un bus de direcciones de 24bits, además de tener un rango de frecuencia de trabajo de 16 hasta 25 MHz. Existe un modelo de 386 con mayor escala de integración que es el 386SL utilizado en ordenadores portátiles. Este microprocesador permitía un nuevo modo de funcionamiento: el modo virtual.
2.8 -Microprocesador 80486
En 1989 aparecen los i486DX. El motivo del cambio de nomenclatura se debe a la oficina de patentes de EE.UU. dicha oficina no reconoce tres dígitos como marca registrada, lo que le favorece a la competencia de empresas como CYRIX o AMD que pueden llamar a sus productos con el mismo nombre que INTEL.
Se trata de un microprocesador que incorpora la propia CPU, además de un coprocesador matemático, un controlador de memoria de caché de 128bits y dos memorias caché de 4KB cada una, que trabajan como búfer intermedio entre la memoria principal y el micro, trabajando tanto de forma externa como interna con una estructura de 32bits. Tiene una alta integración y rendimiento, no era cierto el comentario que afirmaba que un 386DX con coprocesador matemático ofrecía el mismo rendimiento que un 486DX.
Los distintos modelos que se encuentran en el mercado son SX, DX, SLC, DLC, DX2, Y DX4 con velocidades comprendidas entre 25 y 133 MHz. Los micros DX2 Y DX4 lo que hacen es multiplexar la frecuencia por lo que la velocidad interna del micro es distinta a la externa. Los homónimos del DX y SX en portátiles son el DLC y el SLC, de mayor escala de integración aunque menor rendimiento.
2.9 Microprocesador PENTIUM
El Pentium (o ``586’’), de unos 6,4 cm2 aproximadamente, presentó graves problemas en sus inicios debido a un error de fabricación en su modelo a 60 MHz. En el año 1994 se detectaron PENTIUM defectuosos. Este error era provocado, bajo determinadas circunstancias, al realizar una operación de coma flotante y se detectaba en el BIT 13 de la mantisa. Estos errores aparecían con las funciones: FDIV, FDIVR, FPTAN, FPATAN, FPREM y FPREM1 tanto en simple, doble o precisión extendida.
INTEL dispuso un `` chequeo oficial ’’.
Posteriormente aparecieron distintos modelos que duplicaban la velocidad del bus, trabajando a 75, 90, 100, 120, 133, 150, 166, 180 y 200 MHz que funcionaban perfectamente. Una de las novedades que incorpora es el trabajar a partir del P/66 a 3,3v de alimentación en lugar de con 5v. Esta novedad ya fue implementada por su competidor AMD en el modelo 486 DX2 Y DX4. La cache utilizada es de 16KB. En AMD, el PENTIUM recibe el nombre de K.5 y en CYRIX, el de 6x86.
2.9.1 -Funcionamiento de un PENTIUM
La RAM envía datos o instrucciones codificadas a la BIU (o unidad de interfaz con el BUS) en ``Ráfagas’’ de 64bits. Estos datos son enviados por dos rutas cada una de las memorias caché de que dispone el micro. En una se almacenaran los datos y en la otra las instrucciones que indican que debe hacerse con esos datos.
Existe una zona llamada Unidad de predicción de bifurcaciones. Esta unidad se encargara de inspeccionar las dos ALUs que tiene el microprocesador para determinar cual será la encargada de gestionar las nuevas instrucciones. Es unidad asegura el rendimiento optimo del microprocesador, evitando que una ALU este ``sin trabajar’’ mientras existan instrucciones que procesar.
Una nueva memoria, llamada búfer del ``prefetch’’ recupera los códigos de instrucciones y los convierte a un ``lenguaje’’ que la ALU seleccionada pueda ``entender’’. En caso de precisar realizar operaciones con números decimales (llamados ``de coma flotante’’) se usara el procesador interno especializado para tal fin.
A partir de este momento, cada ALU procesara las instrucciones que le correspondan de manera independiente, recogiendo los datos que le sean precisos desde las caché de datos (registros) y las instrucciones desde cada decodificador de instrucciones. Superaran los 32 bits. Una vez finalizado el proceso, las dos ALUs, así como el procesador de coma flotante, ``entregaran’’ sus resultados a la caché de datos, desde donde serán reenviados a la memoria RAM.
2.10 -Microprocesador PENTIUM PRO
Con lo anterior expuesto es facil de deducir que el PENTIUM 4, precisa de una placa base diseñada de forma especifica. El formato en el que se suministra es para socket 423, aunque existen varios rumores por parte de INTEL, sobre un cambio de formato inminente hacia los 478 pines. Ademas el sistema de refrigeración precisa de una caja y fuente de alimentación especiales denominadas ATX 2.03.
La idea es sencilla: se sigue basando el aumento de rendimiento en una serie de predicciones que, en caso de cumplirse, aumentan significativamente la efectividad de la CPU. El problema viene cuando estas predicciones no son correctas. Así este nuevo chip de INTEL dispone de una canalización distribuida en 20 fases. Esto significa que cuando se realiza una prediccion un total de 20 microinstrucciones pueden quedar en espera de confirmar si la citada prediccion ha sido correcta.
Otro de los avances es el incremento de velocidad de proceso. Toda la campaña de INTEL asegura que se soporta un bus de sistema de 400MHz. Si se pretende ser serio, realmente no es esta la velocidad de bus a la que se puede trabajar sino que se aplica un doble DDR para obtener mejores resultados. Realmente se mantienen los 100 MHz habituales con un factor multiplicador que empieza a resultar desorbitado. El micro de 1,4GHz y bajo la premisa expuesta de un funcionamiento a 100 MHz, es necesario configurar la placa base con un factor multiplicador de x14. Se alcanzan los 3,2 GB/s frente a 1 GB/s obtenido por el PENTIUM II con un bus de 133 MHz o los 0,5 GB/s del Celeron con un bus de 66MHz.
3. - Mas de un Micro En Una Misma Placa
Es habitual para los servidores usar placas donde dos microprocesadores trabajan en paralelo. Se trata de casos especiales donde, en lugar de una CPU, se usan dos o mas. Hay fundamentalmente dos tipos de arquitecturas para el microprocesador.
- Asociación estrecha (tightly coupled)
- Asociación Flexible (loosely coupled)
Habitualmente se usa la arquitectura ``Pipeline’’. Esta técnica permite que, mientras se esta decodificando una instrucción, otra, en paralelo, se esta ejecutando. Esto consigue que en un solo ciclo de reloj se realicen dos instrucciones.
4. - El OVERCLOKING
Es el termino que se aplica al hecho de incrementar la velocidad del procesador por encima de la que ha sido diseñado, con el objeto de aumental la velocidad del sistema sin añadir nuevos componentes. Este sistema se ha usado por distribuidores poco profesionales dando, en su dia, ligar a un escandalo provocado por la falsificación de micros: se serigrafian con una velocidad superior y se vendian como microprocesadores de mas frecuencia.
Todos los micros se pueden trucar, aunque algunos aguantan mejor que otro el overcloking. Los 386 y 486 de INTEL Y AMD aguantaban grandes incrementos de frecuencia. Igualemente ocurria con los 486 de CYRIX. Los MOTOROLA 680x0 eran menos adecuados, ya que el overcloking requiere un subsistema de memoria fiable por parte del microprocesador y el MOTOROLA 68040 no dispone de memoria cache de sengundo nivel.
Puede darse el caso de que un microprocesador diseñado para trabajar a 100MHz, no consiga funcionar correctamente a esa velocidad pero si a 75MHz. Esto no implica que el micro sea defectuoso, ya que se garantiza el correcto funcionamiento a una frecuencia determinada. Las condiciones de laboratorio no coinciden con las habituales de trabajo.
El overcloking no produce generalmente ningun daño. La unica consecuencia directa es el sobrecalentamiento que se soluciona mediante el uso de un ventilador/disipador.
Un problema poco documentado sobre el overcloking es la electromigracion, que consiste en la erosion de las pistas debido al aumento de frecuencia.
No todos los micros responde igual, el resto de los componentes del ordenador si que guardaran una dependencia con el incremento de velocidad. Si una vez modificados los parámetros de funcionamiento del micro el ordenador no arranca, se podra probar, siempre y cuando la BIOS lo permita, a añadir estados de espera o bajar la velocidad.
Las tarjetas aceleradoras tambien llamadas ICE son unas placas destinadas a aumentar la velocidad del PC mediante su inserción en una de INTEL.
5. - Fabricantes Destacados
AMD
APPLE
CYRIX
INTEL
- .flo { font-size:10pt; color:#880000; padding:1em; text-align:left; float:left; border:#990000 1px solid; background-color:#FFFF99; } li {margin-top:0pt; margin-bottom:0pt;} -->
Disponible la versión 6 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.
// //// //3 El procesador
§1 Presentación
En realidad "procesador" es un término relativamente moderno. Se refiere a lo que en los grandes ordenadores de antaño se conocía como Unidad Central de Proceso UCP (CPU "Central Processin Unit" en la literatura inglesa). Comenzó siendo del tamaño de un armario, posteriormente se redujo al de una gran caja, después se construyó en una placa de unas 15 x 15 pulgadas. Finalmente se construyó en un solo circuito integrado encapsulado en un "chip" que se inserta en un zócalo de la placa-base [0].
En los primeros tiempos de la informática personal, que podemos suponer se inicia con la introducción del PC ("Personal Computer") por IBM a mediados de 1981 [1], el mercado de microprocesadores para el PC estaba copado por Intel, que arrancando con el 8088 [2], un modesto procesador de 16 bits a 4.77 MHz de velocidad de reloj (
H2), fue sufriendo sucesivas mejoras; principalmente en lo que respecta a la velocidad (que en el 2001 ha alcanzado más de 1 GHz. para equipos comerciales); capacidad de procesamiento en paralelo; capacidad de los registros; cache interna y facilidades hardware para multiprogramación.
En la imágen adjunta sendas vistas, superior e inferior, de un procesador Intel 80386 de 16 MHz junto con el primitivo 8088.
Nota: En la actualidad existen procesadores fabricados por otras compañías (IBM, AMD, Cyrix, Etc.) que son compatibles a nivel ensamblador con el juego de instrucciones Intel, lo que permite que no todos los PCs sean necesariamente "Intel inside".
§2 Galería de procesadores "Ilustres"
El cuadro adjunto (referido exclusivamente a los productos Intel), comprende un resumen de urgencia de la historia de los procesadores utilizados en la informática personal.
Modelo año Registros internos (bits) bus de datos (bits) (1) Bus de direcc. (bits) Memoria (4) Frecuencia externa (2) Frecuencia interna máxima (3) Modo 8088 1979 16 8 20 1 MB. 4.77 MHz 14 MHz. Real 80286 1982 16 16 24 16 MB. 12.5 MHz. Real/Prot 80386 1985 32 32 32 4 GB. 20 MHz. Protegido 80486 1989 32 32 32 4 GB. 25 MHz. Protegido Pentium 1993 32 64 4 GB. 60 MHz. Protegido Pentium-pro 1995 32 64 64 GB. 66 MHz 200 MHz Protegido Pentium II 1997 32 64 64 GB. 66/100 MHz 266 MHz Protegido Pentium III 1999 32/128 64 64 GB. 550 MHz Protegido Pentium 4 2001 32/128 64 64 GB. 400 MHz. 2 GHz Protegido Pentium M 2003 ? ? Nota: Por razones eminentemente comerciales, casi todos los modelos aparecieron en diversas versiones, que se diferenciaban en la frecuencia interna, tamaño de la caché, etc.
(1) Se refiere al bus "externo", que utiliza el procesador para comunicar con el exterior. Internamente el procesador dispone de buses que son de 2 a 4 veces esta anchura.
(2) Los valores indicados para las frecuencias externas son típicos de los modelos de la época (por tanto aproximados)
(3) Los valores de frecuencia interna máxima son los correspondientes al momento de la aparición del modelo.
(4) Se refiere a la máxima memoria accesible directamente.
Es significativo señalar que todos son compatibles hacia atrás con sus predecesores, de forma que pueden ejecutar el código objeto escrito para el 8086, el primer ejemplar de esta prolífica saga aparecido en 1978 (no incluido en el cuadro).
En la tabla adjunta se muestran las características principales de los procesadores más utilizados en el 2004.
Modelo Transistores Velocidad del núcleo Caché L2 Velocidad bus frontal Celeron 7,500,000 1.06 GHz - 2 GHz 256 KB 133 MHz y 400 MHz Pentium II 7,500,000 233 MHz - 450 MHz 512 KB 100 MHz Pentium III 9,500,000 450 MHz - 1 GHz 256 KB 133 MHz Pentium III Xeon 28,100,000 500 MHz - 1 GHz 256 KB - 2 MB 100 MHz Pentium 4 55,000,000 1.4 GHz - 3.4 GHz 256 KB 800 MHz K6-II 9,300,000 500 MHz - 550 MHz N/A 100 MHz K6-III 21,300,000 400 MHz - 450 MHz 256 KB 100 MHz Athlon (K7) 22,000,000 850 MHz - 1.2 GHz 256 KB 200 MHz y 266 MHz Athlon XP 37,500,000 1.67 GHz 384 KB 266 MHz Duron N/A 700-800 MHz 64 KB 200 MHz PowerPC G3 6,500,000 233 MHz - 333 MHz 512 KB, 1 MB 100 MHz PowerPC G4 10,500,000 400 MHz - 800 MHz 1 MB 100 MHz Athlon 64 105,900,000 800 MHz 1 MB 1.6 GHz §3 Evolución
En esta mini-historia, podemos destacar varios hitos importantes:
§3.1 Soporte para memoria virtual
La introducción en 1982 del procesador Intel 80286 marcó un hito importante por varios motivos: Por primera vez el procesador podía acceder más rápidamente a sus propios registros que a la RAM más rápida existente; desde entonces esta ventaja no ha hecho sino aumentar en favor del procesador.
Desde el punto de vista del software, el verdadero avance fue la implementación en el micro de un dispositivo que permitía el manejo de memoria virtual (
H5a). Hasta entonces, el manejo de este tipo de memoria había que realizarlo a nivel del Sistema Operativo, pero el 286 permitía ya manejarlo de forma nativa mediante el procesador [3], con las consiguientes mejoras del rendimiento y la seguridad.
§3.2 Introducción del coprocesador matemático integrado
Los procesadores del tipo 8086 solo podían realizar operaciones aritméticas con números enteros. Para los fraccionarios debían utilizar complicados artificios, por lo que desde el principio se crearon procesadores específicos para operaciones aritméticas con números fraccionarios.
Conocidos como coprocesadores de punto flotante o coprocesadores matemáticos, eran una opción instalable en un zócalo vacío preparado al efecto en la placa-base, enlazado mediante líneas especiales con el procesador principal. Estos procesadores aligeraban grandemente los cálculos en las aplicaciones que eran capaces de sacar partido de su existencia, y no solo realizaban operaciones de números fraccionarios (de coma flotante
2.2.4a), también operaciones como raíz cuadrada, e implementanban funciones trascendentes como cálculo del seno, coseno, tangente, arcotangente, logaritmos y exponenciación.
A partir de la introducción del 80486, Intel incorporó el coprocesador matemático junto con el principal, con lo que su existencia dejó de ser opcional, convirtiéndose en estándar.
§3.3 Capacidad de procesar varias instrucciones en paralelo
La ejecución de cada instrucción ensamblador no se realiza en un solo ciclo de reloj. Cada instrucción puede contener varias microinstrucciones, de forma que en general el rendimiento del procesador no equivale a una instrucción en cada ciclo. Una forma de aumentar la eficiencia es procesar varias instrucciones en paralelo, de forma que, en la medida de lo posible, varias instrucciones se encuentran en diversas fases de ejecución simultanea de su microcódigo. Utilizando un número conveniente de estas vías de ejecución paralela se consiguen rendimientos que actualmente han excedido la relación 1:1, de forma que la arquitectura súper escalar [4] del Pentium Pro proporciona rendimientos del orden de tres instrucciones por ciclo de reloj.
El primero en implementar esta arquitectura en el PC fue el 80386 de Intel, que incluye seis de estas vías de ejecución:
- La unidad de interfaz del bus ("Bus Interface Unit") accede a memoria y a otros dispositivos de E/S.
- La unidad de precarga de instrucciones ("Code Prefetch Unit") recibe objetos desde la unidad de bus y la sitúa en una cola de 16 bytes.
- La unidad de decodificación de instrucciones ("Instruction Decode Unit") decodifica el código objeto recibido en la unidad de precarga y lo traduce a microcódigo.
- La unidad de ejecución ("Execution Unit") ejecuta las instrucciones del microcódigo.
- La unidad de segmento ("Segment Unit") traduce direcciones lógicas en direcciones absolutas, y realiza comprobaciones de protección.
- La unidad de paginación ("Paging Unit") traduce las direcciones absolutas en direcciones físicas; realiza comprobaciones de protección de página, y dispone de una cache con información de las 32 últimas páginas accedidas.
§3.4 Introducción de soporte para sistemas multiporcesador
Esta capacidad, originaria del mundo de los mainframe, se introdujo en el procesador Intel 80486, permitiendo así el desarrollo de auténticos sistemas multiproceso en la informática personal. Este procesador también incluyó por primera vez dispositivos de ahorro de energía, incluyendo que el procesador redujese su velocidad, o incluso suspendiese la ejecución manteniendo su estatus, de forma que pudiera ser reiniciado en el mismo punto de la "hibernación".
§3.5 Movilidad y conectividad
En el primer trimestre del 2003 Intel materializa bajo una sola denominación las tendencias más significativas del momento en el mundo de la computación: movilidad y conectividad (la palabra de moda es "Wireless"). A este efecto anuncia Centrino; más que un procesador es un compendio de tecnología móvil con el que el gigante del hardware se posiciona en el cada vez más importante segmento de los dispositivos móviles [5]. Bajo estas siglas se integran un procesador Pentium M, la familia de chipset Intel 855 y las funciones de red inalámbrica del dispositivo Intel Pro/Wireless 2100 Network Connection para el estándar 802.11.
§3.6 Multinúcleo
A lo largo de 2005 se comienzan a popularizar los procesadores de doble núcleo en los ordenadores personales. Parece que, una vez agotadas las posibilidades de procesamiento de instrucciones en paralelo en un solo procesador ("multi-threading"), los pasos se orientan hacia los procesadores de doble núcleo, en realidad dos procesadores en un mismo chip, cada uno con su propia cache, con lo que el multiproceso cobra un significado real en las máquinas que los montan ("Hyper-threading""). Los equipos personales, incluso portátiles tienen ahora capacidades de proceso que hasta hace poco estaban restringidas a servidores de gama alta con dos procesadores. Por ejemplo, máquinas Intel con dos procesadores Xeon.
Nota: no confundir una máquina con dos o más procesadores independientes (multiprocesador) con un procesador de doble núcleo. En general, una máquina con dos procesadores es más rápida que una de doble núcleo, pero en ambos casos, para sacar provecho de sus posibilidades, es necesario que el Sistema Operativo sea capaz de reconocer el "hyperi-threading", y que el software de aplicación también sea capaz de usar procesos multi-hebra SMT ("Simultaneous Multi-threading Technology"). En caso contrario, será detectado y utilizado un solo núcleo [6].
En este año los equipos personales de gama alta montan procesadores de doble nucleo. Por ejemplo, Intel Pentium D, con discos SATA; grabador DVD+/-RW doble capa, y distintas configuraciones de tarjetas gráficas de altas prestaciones.
En Noviembre de 2006 Intel presenta en Ginebra, Suiza, su primer procesador con cuatro núcleos (“quad-core”) en un mismo chip. La prensa especializada destaca que su capacidad multiplica por miles de millones la del primero que salió al mercado en 1971. El nuevo procesador contiene 2.000 Millones de transistores frente a 2.300 del primero y su frecuencia de reloj es de 2.66 GHerzios, frente a los 740 KHerzios del anterior. Además presentan la ventaja de consumir un 50% menos que la serie precedente. Los portavoces de Intel recuerdan que si la industria del automóvil se hubiese desarrollado tan rápido como la electrónica digital, a la fecha (2006) un automóvil podría atravesar Estados Unidos de costa a costa en menos de 10 segundos. Además señalan que, en vista del éxito alcanzado por los de doble núcleo, sus planes incluyen estar fabricando procesadores de 80 núcleos en un plazo de 5 años.
[0] Parece ser que los primeros en integrar todos los elementos de una UCP en un solo chip fueron los ingenieros de Texas Instruments, que en Junio de 1971 anunció la primera "CPU on a chip". Se trataba de un desarrollo hecho por encargo de una empresa denominada Computer Terminal Corporation (que luego sería Datapoint). El primer microprocesador comercial, el 4004, una UCP de 4 bits fue desarrollado por Intel en 1970; inicialmente fue también un desarrollo por encargo para una compañía Japonesa de calculadoras (Busicom), aunque más tarde, en Noviembre de 1971, fue comercializado como MCS-4 ("Microcomputer System 4-bit").
[1] En realidad el asunto había empezado un poco antes, aunque en círculos restringidos, cuando a mediados de los 70 algunos fanáticos de la electrónica comenzaron a hacer desarrollos caseros sobre un kit del tipo "Hágalo Usted mismo" fabricado por una empresa llamada Micro Instrumentation Telemetry Systems, que utilizando un microprocesador Intel 8080 comercializó el ahora legendario Altair. Rápidamente siguieron los Tandy de Charles Tandy, y los Apple de Wozniak y Jobs, que sin darse cuenta escribieron páginas imborrables de la historia de la tecnología.
[2] El procesador Intel 8088, elegido por IBM para su primer modelo de PC era una versión "simplificada" de un procesador más potente, el 8086, que tenía registros y bus de datos de 16 bits. Sin embargo, por razones de simplificación y economía se eligió el 8088 con registros de 16 bits, pero bus de datos de 8 (coincidente con el bus de datos la placa-base que era también de 8 bits). No solo el ancho del bus, otros muchos detalles de diseño (que lo hacían parecer a un jovencito Frankestein) han hecho especular largamente acerca de que nadie en IBM parecía tener mucha fe en el futuro del recién nacido.
[3] Este micro tenía un bus de datos de 24 bits, que le permitía acceder directamente más de 16 MB de memoria física, y hasta 1 GB de memoria virtual. Implementaba también un mecanismo de multitarea, denominado "modo protegido", que le permitía conmutar entre varias aplicaciones, cada una de las cuales parecía correr en "modo real" (como si estuviese en un 8088), pero el sistema tenía algunas deficiencias, que fueron subsanadas en el 80386.
[4] El término "súper escalar" significa que existen vías de procesamiento paralelo en el procesador. Por ejemplo, se dice que el Pentium Pro utiliza una arquitectura súper escalar de tres vías, lo que supone que su rendimiento equivale tres instrucciones por cada ciclo de reloj. Esta arquitectura también se conoce como "Pipeline", y ha sido comparada con las cadena de montaje de automóviles, en las que en la misma cadena existen unidades (aquí serían instrucciones) con diverso grado de terminación. El resultado es un mayor número de unidades terminadas que si ra el 2006 habrá en Europa 13 millones de portátiles, y la tecnología inalámbrica crece de forma imparable.
[6] Puede obtener abundante y puntual información sobre esta tecnología en el sitio de Intel. Puede empezar por un magnífico artículo que describe esta tecnología; los beneficios que aporta, y como preparar el código para poder beneficiarse de ella: "Advanced Multi-Threaded Programming", de Intel Software Network
www.devx.com/
// //
Microprocesador: es un chip programable, objeto de estudio de este informe. De él se habla más adelante.
Figura I.1-1. Sistema de microcomputador con sus componentes principales.
Memoria RAM: es una memoria de acceso aleatorio, o sea, en ella se pueden grabar y leer datos. Los datos son almacenados en transistores y capacitores en lenguaje digital. Esta memoria además es volátil, es decir sólo mantiene los datos mienstras está energizada.
Memoria ROM: es una memoria de sólo lectura, en ella sólo se pueden leer datos grabados anteriormente. En la memoria ROM se suele contener el BIOS, que es el software principal de un microcomputador, ya que en el están escritas las líneas de programa que permiten las operaciones. Esta memoria no es volátil.
Unidades E/S: las unidades E/S (Entrada/Salida) son dispositivos con los cuales los datos entran o salen del microcomputador. Ejemplos de unidades E/S son las unidades de almacenamiento, que son memorias RAM no volátiles de grandes capacidades.
Buses de información: caminos o rutas por donde viaja la información, generalmente de 8 bits (o bus de 8 bits es un camino que contiene 8 hilos de oro). Los buses en un sistema de microcomputador son tres: el bus de datos, que es por el cual viaja la información; el bus de direcciones, por el cual el microprocesador indica a que dispositivo está enviando la información o de cual recibe; y el bus de control, por el cual el microprocesador indica la operación que quiere realizar con los datos. Por ejemplo: si el microprocesador necesita enviar el texto “imprimir” a la impresora, la operación sería la siguiente: por el bus de datos envía el texto “imprimir”, por el bus de direcciones envía el código que pertenece a la impresora y por el bus de control el código que pertenece a la operación de imprimir.
En este informe sólo será desarrollado el componente principal de un microcomputador, el microprocesador.
I.2 El microprocesador
El microprocesador es un circuito integrado o chip programable, que, dependiendo del modelo, contiene miles o millones de transistores distribuidos internamente en varios bloques funcionales. También lleva el nombre de Unidad Central de Proceso (CPU). Se dice que es programable porque su principal función es recibir instrucciones con el fin de suministrar las señales para los demás elementos del sistema, buscar y traer datos de un memoria, transferir datos desde y hacia los dispositivos de entrada y salida, decodificar instrucciones, etc.
I.3 Aplicaciones
El microprocesador fue diseñado originalmente para ser el “cerebro” de un sistema de cómputo, la cual es su aplicación más importante. Pero debido al crecimiento de la electrónico, hoy en día, se los usa también en electrodomésticos “inteligentes”, juegos electrónicos, intrumentos de medida, equipos de control para industrias, equipos médicos, calculadoras científicas, automóviles, robots, etc., etc., por lo que ha revolucionado totalmente, desde su invensión, la industria electrónica y el mundo en general.
I.4 Constitución física de un microprocesador
Un microprocesador es una pastilla envuelta en plástico o cerámica de unos pocos milímetros de longitud que alberga en su interior un gran número de transistores de silicio. La base de un microprocesador es de silicio, y sobre el están alojados los transistores (suiches eléctronicos). Las uniones entre el microchip y los pines metálicos de conexión son por medio de finos cables de oro.
La fabricación de los microprocesadores se debe realizar en ambientes casi perfectamente limpios, ya que una pequeña partícula de polvo que ingrese a la parte interna de estos puede deteriorarlo definitivamente. Debido a esto, el aire de las salas de impresión de microchips es entre 7 y 10 veces más puro que el de una sala quirúrgica.
I.5 Unidades de información
La información en un sistema de microcomputador es almacenada en lenguaje binario. Este sistema fue elegido debido a que es el de más fácil manejo y que el microprocesador sólo debe comprender dos valores o dos estados. Esos estados son: alto y bajo, si el microprocesador recibe una señal de valor alto (entre 3,3 y 5 voltios) lo representa como 1 y si la señal es de valor bajo (aproximadamente 0 volt) lo representa como 0.
La representación de 1 o 0 es la unidad más pequeña de almacenamiento y se la define como bit.
La capacidad de operación de un microprocesador está basada en la cantidad de bits que puede manejar por vez. Es obvio que a mayor cantidad de bits manejados mayor será la capacidad. La cantidad de bits varía entre 4 y 64 y su conjunto se llama palabra. El microprocesador más nativo puede operar palabras de 4 bits, una palabra que procesa por vez podría ser: 1010.
El almacenamiento de la información el microprocesador la realiza en una clase de memoria. Aquí la información es ordenada en registros. Cada registro contiene un dato y su longitud varía (de 4 bits a 32 bits).
La unidad básica de almacenamiento es el byte, el cual es el conjunto de 8 bits. Cada byte es un caracter de información. Por lo tanto para almacenar el dato “microprocesador” en una memoria se necesitarían 15 bytes de espacio. Debido a que el byte es una unidad muy pequeña se definieron los múltiplos de este:
Nombre
Unidad
Bytes
Kilobyte
KB
1.024
Megabyte
MB
1.048.576 (1.024 KB)
Gigabyte
GB
1.073.741.824 (1.024 MB)
Terabyte
TB
1.099.511.627.776 (1.024 GB)
I.6 Principales características de los microprocesadores
Las características de los microprocesadores son las siguientes:
Fabricante: Compañia fabricadora del chip (Intel, Motorola, Cyrix, Texas Instruments, AMD, etc.).
Modelo: prototipo (4004, 8008, 8080, 8085, 6800, 80186, 80286, 80386, 80486, etc.)
Año: época de su invensión.
Tecnología: tecn. de fabricación (CISC, RISC, etc.)
Velocidad del reloj: velocidad de proceso en Mhz (8 Mhz, 12 Mhz, 40 Mhz, 75 Mhz, etc.)
Ancho de bus de datos interno: longitud en bits de la palabra (4 bits, 8 bits, 16 bits, etc.)
Los nuevos microprocesadores tienen otras características menos relevantes, que no vienen al caso, y que por ello no se las nombran.
I.7 Reseña histórica
La electrónica de los años 40 era manejada por los viejos tubos de vacío, los cuales han sido reemplazados hoy en día por componentes de semiconductores (diodos, triacs, tiristores, transistores, etc.)
Luego de la invensión del transistor en 1947 por los Laboratorios Bell, la microelectrónica ha avanzado muy rápidamente.
En 1959, la firma Texas Instruments logra plasmar en una misma pastilla 6 transistores, dando origen así a los circuitos integrados.
En 1971, aparece el primer microprocesador, fabricado por Intel Corp.. El cual manejaba datos de 4 bits y tenía 2.300 transistores.
En 1972, la misma empresa desarrolla el primer microprocesador de 8 bits, el 8008 con 10 mil transistores.
En 1979 se crean los microprocesadores 8080 y 8085 de 29 mil transistores. Ese mismo año Motorola (fuerte competidor de Intel) lanza el 6800.
En 1982, Intel lanza el 80286 de 16 bits con 134 mil transistores.
En 1985, aparece el 80386 de 32 bits con 275 mil transistores.
De aquí en más aparecen los sucesivos micros. de 32 bits: 80486, Pentium, K5, 6x86, Pentium Pro, K6, M2, etc, de millones de transistores.
Actualmente el microprocesador más rápido para microordenadores es el Alpha, de Digital Semiconductor y Mitsubishi Electric. Este es de 64 bits y posee 9.3 millones de transistores y su velocidad es de 400, 466 y 533 Mhz. Otros microprocesadores potentes de 64 bits son el PowerPC y el G3 de Motorola, ampliamente usado hoy en día en las computadoras Macintosh de Apple Corp.
I.8 Objeto de estudio
Los microprocesadores dependiendo de el ancho de palabra que pueden trabajar pueden ser de: 4 bits (palabra de 4 bits), 8 bits, 16 bits, 32 bits y 64 bits.
La computadoras de hoy en día utilizan microprocesadores de 32 y 64 bits, aunque todavía se utilizan micros de 16 bits (micros 80286).
Los micros de 4 bits, hace años que ya no son utilizados por su baja velocidad de operación. Y los micros de 8 bits se los usan solo en pocas excepciones, como pequeños sistemas de control.
Resumiendo, los micros de 4, 8 y 16 bits ya no son útiles, y pronto tampoco lo serán los de 32 bits.
Pero para el estudio, usaremos un microprocesador de 8 bits: el INTEL® 8085. Debido a que los demás micros son muy complejos y la arquitectura básica de todos los microprocesadores es la misma.
II.1 Arquitectura de un microprocesador de 8 bits
La forma de operar, así como la arquitectura de todos los microprocesadores de 8 bits, es muy similar. Se ha decidido estudiar el microprocesador 8085 de la firma INTEL® por las razones expuestas en el apartado 1.8.
El microprocesador 8085 es un dispositivo que, como ya sabemos, opera con una palabra de 8 bits y es capaz de direccionar, con sus 16 líneas, hasta 64K de posiciones de memoria. Fabricado en tecnología NMOS, está constituido por 6.200 transistores. Es un circuito integrado con cápsula dual in line de 40 patillas.
Para realizar las operaciones el 8085 es capaz de decodificar 74 tipos de instrucciones distintas (ver capítulo III).
La tensión de alimentación es única y de 5 voltios de corriente contínua, que se aplican en los terminales Vcc (+) y Vss (masa). Como todo microprocesador que forma parte de un sistema digital programable, necesita un reloj o oscilador para sincronizar las operaciones que realiza el sistema. En este caso el reloj está incorporado en el propio chip y genera una señal digital de una frecuencia igual a 3,125 Mhz (es obvio que mienstras mayor sea la frecuencia mayor será la velocidad de proceso, hoy en día existen microprocesadores de más de 500 Mhz).
II.2 Nomenclatura de los terminales del microprocesador INTEL® 8085
En la figura II.2-1 se muestra el símbolo lógico del microprocesador 8085 con la denominación de sus cuarenta terminales. Por estos terminales el microprocesador emite o recibe señales digitales. A continuación describiremos la misión que corresponde a cada uno de ellos. Para facilitar la comprensión, unas veces serán tratados simplemente como terminales o patas del dispositivo, otras como señales, y en todos los casos se indicará si son de entrada, de salida o ambas cosas a la vez.
A8-A15. Estos terminales corresponden a las salidas de los 8 bits más significativos del bus de direcciones del sistema que está integrado el microprocesador.
AD0-AD7. Es un conjunto de terminales de entrada/salida que realizan una doble función. Mediante un multiplexor, el microprocesador se comunica en primer lugar con los 8 bits más significativos del bus de direcciones y posteriormente con el bus bidireccional de datos.
ALE. Address Latch Enable (Activación del biestable latch de direcciones). Es una salida que determina si la información presente en las líneas AD0-AD7 corresponde a un dato o a una dirección. Se utiliza para dispara un registro de 8 bits que memoriza la parte baja de una dirección.
S0-S1. Son salidas que informan del estado del bus de datos. Indican el tipo de ciclo de máquina que el microprocesador realiza: búsqueda, lectura, escritura o paro.
RD.Read. Salida que se emplea para indicar que la posición de memoria o dispositivo de E/S seleccionado quiere ser leído por la CPU y, además que el bus de datos esté disponible para realizar la transferencia.
WR.Write. Salida que se utiliza para indicar que la información presente en el bus de datos ha de ser escrita en la posición de memoria o dispositivo de E/S direccionado
1 comentario
Alvaro -