Informática


Evolución histórica de los Microprocesadores


Electrónica II

Evolución de los Microprocesadores

( INTEL-AMD )

'Evolución histórica de los Microprocesadores'

'Evolución histórica de los Microprocesadores'

Valdivia, 25 de Septiembre de 1999.

Indice

1.-

Introducción

Pág. 5

2.-

Relación entre los microprocesadores y las placas madres

Pág. 6

2.1.-

Los competidores

Pág. 6

2.2.-

Pruebas del MMX

Pág. 7

2.3.-

Que pasa con el Pentium II ?

Pág. 8

3.-

Evolución de los Microprocesadores de Intel

Pág. 9

3.1.-

Microprocesador Intel 4004

Pág. 12

3.2.-

Intel (Familia 8051)

Pág. 13

3.3.-

Microprocesador Intel 8080

Pág. 14

3.4.-

Microprocesadores 8086/88, 286 y 386

Pág. 14

3.4.1.-

Registros del 8086 y del 286

Pág. 17

3.5.-

Introducción al microprocesador 80486

Pág. 20

3.5.1.-

El microprocesador 80486

Pág. 21

3.5.1.1.-

Bloques que componen el 80486

Pág. 21

3.5.1.2.-

Diagrama de base de los microprocesadores 80486DX y 80486SX

Pág. 22

3.5.1.3.-

Definiciones de las terminales

Pág. 22

3.5.1.4.-

Arquitectura básica del 80486

Pág. 26

3.5.1.5.-

Sistema de memoria del i80486

Pág. 28

3.5.1.5.1.-

Verificador/Generador de paridad

Pág. 28

3.5.1.5.2.-

Temporización de la lectura de memoria

Pág. 29

3.5.1.5.3.-

Adquisición de memoria del 80486

Pág. 30

3.5.1.6.-

Unidad de cache

Pág. 30

3.5.1.6.1.-

Funcionamiento

Pág. 31

3.5.1.7.-

Versiones del 80486

Pág. 32

3.5.1.8.-

Nuevas instrucciones del 80486

Pág. 33

3.5.1.9.-

¿ Cuál es la diferencia entre el 486DX2 y el 486DX4 ?

Pág. 33

3.6.-

Introducción al microprocesador Pentium

Pág. 34

3.6.1.-

Vías de acceso múltiples

Pág. 35

3.6.2.-

Dependencias de procedimientos

Pág. 37

3.6.3.-

Ejecución de punto flotante en el Pentium

Pág. 38

3.6.4.-

Ahorro de energía

Pág. 38

3.6.5.-

Nuevas instrucciones del microprocesador Pentium

Pág. 39

3.7.-

Microprocesadores Pentium con tecnología MMX

Pág. 40

3.8.-

Introducción al microprocesador Pentium II

Pág. 44

3.8.1.-

El microprocesador Pentium II

Pág. 44

3.8.1.1.-

Características

Pág. 45

3.8.1.2.-

Características técnicas

Pág. 45

3.8.2.-

El nuevo SLOT ONE

Pág. 46

3.8.3.-

El procesador Pentium II trabajando

Pág. 47

3.8.4.-

Pruebas sobre el Pentium II

Pág. 48

3.8.4.1.-

Rendimiento DOS

Pág. 49

3.8.4.2.-

Rendimiento Windows 95

Pág. 50

3.8.4.3.-

Rendimiento Windows NT

Pág. 50

3.8.4.4.-

Rendimiento MMX

Pág. 51

3.8.5.-

Precios

Pág. 51

3.8.6.-

Bases eléctricas del Pentium II

Pág. 53

3.8.7.-

Detalles técnicos del Pentium II

Pág. 54

3.8.8.-

Características del procesador

Pág. 55

3.8.9.-

Aspectos técnicos

Pág. 56

3.8.10.-

Tarjeta madre Pentium II

Pág. 59

3.8.11.-

Elementos de soporte del Pentium II

Pág. 61

3.8.12.-

Técnicas de la instrucción simple(SIMD)

Pág. 62

3.8.13.-

Nuevas instrucciones del Pentium II

Pág. 62

3.8.14.-

Arquitectura del bus dual independiente

Pág. 62

3.8.14.1.-

¿ Como trabaja dicho chip?

Pág. 63

3.8.15.-

Ejecución dinámica

Pág. 63

3.8.16.-

La falla matemática del Pentium II

Pág. 65

3.8.16.1.-

Prueba de los microprocesadores

Pág. 66

3.9.-

Intel presenta el Pentium III

Pág. 67

3.9.1.-

Pentium III

Pág. 68

3.9.2.-

Microprocesador INTEL Pentium III

Pág. 69

3.9.2.1.-

Gráfico de rendimiento

Pág. 72

3.9.2.2.-

Análisis de rendimiento en productividad

Pág. 73

3.9.2.3.-

Análisis de rendimiento multimedia

Pág. 73

3.9.2.4.-

Análisis de rendimiento en punto flotante y 3D

Pág. 73

3.9.2.5.-

Análisis de rendimiento de tecnología Internet

Pág. 73

3.9.3.-

Programa de pruebas futuras y en evolución

Pág. 74

3.9.4.-

Aspectos destacados del procesador Intel Pentium III

Pág. 75

3.9.5.-

Resumen del rendimiento del procesador Pentium III

Pág. 78

3.9.5.1.-

Configuración de prueba

Pág. 80

3.9.5.2.-

ICOMP INDEX 3.0

Pág. 81

3.9.5.3.-

Análisis de rendimiento en productividad

Pág. 82

3.9.5.3.1.-

Análisis de rendimiento de procesadores

Pág. 82

3.9.5.3.2.-

Prueba avanzada de enteros de la CPU Wintune98

Pág. 83

3.9.5.3.3.-

Winstone99

Pág. 84

4.-

Los procesadores de AMD, la alternativa al monopolio de Intel

Pág. 86

4.1.-

El precio y prestación, claves del éxito

Pág. 86

4.2.-

K6 II, para todas las necesidades y todos los bolsillos

Pág. 87

4.3.-

Quinta generación de procesadores de AMD

Pág. 88

4.3.1.-

Procesadores AMD-K5(TM) - PR100

Pág. 88

4.3.2.-

La alternativa al Pentium con compatibilidad de Socket

Pág. 88

4.3.3.-

Verdaderamente compatible con Windows 95

Pág. 88

4.3.4.-

Características y ventajas fundamentales del procesador AMD-K5

Pág. 89

4.3.5.-

La arquitectura independiente de AMD, compatible con x86

Pág. 89

4.3.5.1.-

Guía para mayor rendimiento

Pág. 89

4.3.5.2

P-rating: el verdadero rendimiento

Pág. 90

4.3.5.3.-

AMD: su mejor socio

Pág. 90

4.3.6.-

Pruebas de comparación

Pág. 90

4.4.-

La arquitectura del AMD K6

Pág. 91

4.5.-

AMD-k62

Pág. 92

4.5.1.-

Da soporte al bus de 100 MHz

Pág. 92

4.5.2.-

Aplicaciones de software que refuerzan al futuro DirectX 6.0

Pág. 94

4.5.3.-

Sobre la tecnología 3Dnow!(TM)

Pág. 95

4.5.4.-

Proceso avanzado y tecnología de interconexión

Pág. 96

4.6.-

K7(athlon) de AMD

Pág. 97

4.6.1.-

AMD k7 al detalle

Pág. 97

4.6.2.-

Presentación tecnológica del AMD K7

Pág. 100

5.-

Comparaciones

Pág. 107

5.1.-

Comparativa entre el k6-3 y el Pentium III

Pág. 107

5.2.-

AMD k7 v/s INTEL Pentium III

Pág. 107

5.2.1.-

Mostrando su pipeline

Pág. 109

5.2.2.-

Cache Croesus

Pág. 111

5.2.3.-

Trafico del bus

Pág. 111

5.2.4.-

3Dnow! Desacelerado

Pág. 113

6.-

Conclusiones

Pág. 117

7.-

Bibliografía

Pág. 118

1.- INTRODUCCIÓN

Si hay algo indispensable en un computador, eso es el procesador. Él es el computador (es quien da las órdenes a los demás periféricos). Hoy en día, la empresa que marca las normas a nivel de procesadores para PC's es INTEL; sus competidores(AMD, CYRIX) han de garantizar compatibilidad con sus productos, en desmedro de ver disminuidas sus ventas.

Frecuentemente observamos que, cuando nos dan la descripción de un microprocesador, nos dan también una velocidad expresada en megahertzios (Mhz), por ejemplo, Pentium® 166. Obviamente, cuanto más rápido es el microprocesador, mejor; pero, por ejemplo, un Pentium Pro® a 150 MHz es mejor que un Pentium® a 166 MHz; aunque lo habitual es que a procesadores

mejores correspondan velocidades mayores. Si un procesador tiene una velocidad de 150 MHz significa que posee un reloj interno que genera ticks 150 millones de veces cada segundo. Para hacernos una idea, cada tick puede ser una suma, por ejemplo.

Los computadores u ordenadores se han agrupados en distintas generaciones, desde aquellos construidos en la década de los 50's, hasta los de los 90's. La agrupación por generación es la siguiente:

  • La primera generación de ordenadores los constituyen los construidos en la década de los 50 a base de válvulas de vacío. (1937-1953). En 1951 se construyó el UNIVAC 1, primer ordenador comercial.

  • La segunda generación se basan en el funcionamiento del transistor (1954-1962) .Aparecen los primeros lenguajes de alto nivel. Diversas compañías IBM, UNIVAC, Honeywell. construyen ordenadores de este tipo.

  • La tercera generación fue la que incorporó los circuitos integrados (Texas Instruments). (1963-1972). Se introduce la multiprogramación y el multiproceso. Aparecen familias de ordenadores que hacen compatible el uso de programas. Los lenguajes de alto nivel como Cobol y Fortran se usan cada vez más.

  • La cuarta generación es la que incorpora el denominado microprocesador. (1972-1984). Empieza la muy alta integración (VLSI very large scale integration) en chips y memorias.

  • La quinta generación está formada por ordenadores que incorporan tecnologías muy avanzadas que surgieron a partir de 1980, básicamente mayor integración y capacidad de trabajo en paralelo de múltiples microprocesadores. (1984-1990)

  • La sexta generación viene dada por nuevos algoritmos para explotar masivas arquitecturas paralelas en ordenadores, y el crecimiento explosivo de redes. (1990-)

En el presente informe se analizara en detalle cada uno de los procesadores que INTEL ha desarrollado, dándole un mayor énfasis a los microprocesadores 486 en adelante, además se verán los microprocesadores desarrollados por AMD, desde el K5 hasta el K7, además se realizaran unas comparaciones entre distintos procesadores de estas dos empresas lideres en el mundo.

Para comenzar se dará una visión a la estrecha relación entre los microprocesadores y las tarjetas madres

2.- RELACION ENTRE LOS MICROPROCESADORES Y LAS PLACAS MADRES

La íntima relación entre los microprocesadores y las placas madre (motherboard) llegó a un punto límite. Ahora la nueva disyuntiva pasa por elegir entre dos arquitecturas propietarias: la Socket 7 y la Slot 1. La primera de ellas es la más común, mientras que la segunda es la que está adoptando la empresa Intel para sus nuevos procesadores Pentium II.

Cyrix y AMD, viejos competidores de Intel, aseguran que sus procesadores 6x86 MMX (de Cyrix) y K6 (de AMD) ofrecen un nivel de performance comparable no sólo a los procesadores Socket 7, sino a los Slot-1, basados en Pentium II. Y con la amplia disponibilidad de motherboard que soportan a los Socket 7 y el bajo costo de los procesadores Cyrix y AMD, existen sobrados argumentos para basar sistemas en estas CPU.

Los laboratorios de NSTL evaluaron tres modelos de microprocesadores basados en la arquitectura Socket 7: el Pentium 200 MHz MMX de Intel, el 6x86-PR200 MMX de Cyrix, y el K6 200 de AMD MMX. El énfasis del análisis se centró en su performance multimedia.

Se ensambló una única configuración consistente de una motherboard A sus TX97-XE, con placa gráfica y disco rígido asociados, soportando a los tres procesadores en distintas velocidades de reloj. Ingenieros de NSTL procedieron a instalar cada procesador en el sistema, a reconstruir el medio y analizaron luego la performance de cada procesador.

2.1.- Los competidores

Tanto AMD como Cyrix producen lo que cada uno llama CPUs de sexta

generación. Sus arquitecturas internas son más complejas que la de los procesadores Pentium o Pentium MMX. Características tales como nuevos nombres de registro, reordenamiento de instrucciones y unidades de ejecución múltiple les permiten ofrecer un nivel de performance muy elevado.

El procesador Cyrix no corre con un verdadero reloj de 200 MHz. Su verdadero ritmo de reloj físico es de 166 MHz. Sin embargo, Cyrix asegura que los diseños "más avanzados" del procesador les permiten alcanzar un nivel de performance similar a una Pentium 200 MHz, a pesar de la velocidad más lenta del reloj. Un procesador catalogado como PR200 debería correr de forma similar a un Pentium 200 MHz, independientemente de la velocidad del reloj interno del procesador. Por lo general, la línea AMD K6 concuerda con su verdadera velocidad de reloj.

El Cyrix 6x86 MMX se basa en un núcleo CISC tradicional, o sea un microprocesador diseñado para procesar muchas instrucciones. Pero igualmente está altamente optimizado de forma RISC. Soporta un caché 64K L1 unificado, conductos de ejecución múltiples, y ejecución especulativa de las instrucciones. Estas, junto con otras características modernas, mejoran sensiblemente la velocidad con la que ejecuta instrucciones. Está disponible en versiones de 166, 200 y 233 MHz.

El procesador AMD K6 MMX está basado en un NexGen NX686, un procesador RISC puro. En lugar de ejecutar de forma directa la serie de instrucciones Intel, el K6 lo decodifica en secuencias RISC, haciendo reordenamiento y paralelismo a medida que se necesitan. A nivel interno, esto significa que es un verdadero sistema RISC. A nivel externo, parece funcionar como un sistema Intel Pentium MMX. Comparte también muchas de las mejoras que tiene Cyrix 6x86 MMX respecto de la línea Intel Pentium, como un cache L1 más grande ("32K para instrucciones + 32K para datos"). Está también disponible en versiones de 166, 200 y 233 MHz.

La mayoría de los adelantos arquitectónicos de Intel, como ejecución

por desperfecto y elevados niveles de operación "paralela", se utilizaron para las líneas Pentium Pro y Pentium II. A pesar de que tiene un núcleo más chico (menos niveles de "paralelismo", cache más chico, etcétera), la Pentium MMX sigue siendo competitiva desde el punto de vista de la performance con los CPUs AMD y Cyrix. El Pentium MMX está disponible a velocidades de reloj de 166, 200 y 233 MHz.

2.2.- Pruebas del MMX

Una amplia gama de testeos que usan aplicaciones de negocios confirmaron los niveles de performance equivalentes que aseguran tener AMD y Cyrix. Los sitios en la Web, tanto de AMD como de Cyrix, así como numerosas otras publicaciones, dan cuenta de pruebas "benchmark", que muestran que sus procesadores PR200 hacen correr aplicaciones de negocios un 5% más rápido que un procesador Pentium MMX de 200 MHz. Se ha aceptado en líneas generales que con sus núcleos de sexta generación, la performance en negocios de los procesadores AMD y Cyrix es comparable a la de los procesadores Intel de sexta generación (el Pentium Pro o el Pentium II). Los procesadores AMD K6 MMX y Cyrix 6 x 86 MMX soportan

las tres mejoras específicas MMX: las nuevas 57 instrucciones especiales para manejar vídeo, audio y los gráficos en forma más eficiente; el proceso llamado Single Instruction Múltiple Data (SIMD), que le permite a una instrucción realizar la misma operación en múltiples ítem; y, por último, el incremento de la memoria caché que le posibilita una menor cantidad de accesos a la memoria desde el chip.

Esto significa que no compiten solamente en aplicaciones de negocios, sino también en lo que tiene que ver con su capacidad para correr todo tipo de aplicaciones multimedia. Para comparar el rendimiento de estos microprocesadores a la hora de correr aplicaciones específicas, los test se efectuaron en base al Intel Media Benchmark, un análisis comparativo que consta de cinco aplicaciones que usan en forma intensiva elementos multimedia:

  • Adobe Photo Deluxe, una aplicación para edición de fotos usada por lo general para corregir y realzar fotografías escaneadas.

  • Intel Indeo Vídeo Interactive, una aplicación de audio y vídeo facilitada por Intel.

  • Mediamantics MPEG-1, un reproductor de imágenes MPEG.

  • Una serie de test especiales para Direct 3D, que prueban la performance de Esa aplicación.

  • Adobe Photoshop, un programa especializado para el trabajo con imágenes fijas o capturadas de pantalla.

Cuatro de las cinco pruebas usan instrucciones MMX para completar sus

tareas. La quinta, la "Direct 3D suite", se apoya mucho en la performance del punto flotante de la CPU, para completar sus actividades.

Cuando realiza tareas de vídeo en tiempo real, el Intel Pentium sigue

mostrando ventajas sobre los procesadores AMD y Cyrix. En otras áreas, sin embargo, esta ventaja decae hasta ser bastante insignificante. Esto da a la Intel Pentium una ventaja en determinadas áreas limitadas, a saber, generación directa de videos y gráficos. Básicamente, películas y juegos. En otros casos, en los que las operaciones son básicamente con datos en memoria y cuyos resultados también son en memoria, los sistemas son bastante similares.

Como conclusión se puede decir que en términos de mejor performance, Intel sigue aportando la CPU más rápida. Sin embargo, cuando se construyen sistemas de bajo costo, la Cyrix 6x86 MMX ofrece una solución viable y mucho menos costosa. Puede llegar a ser más débil a la hora de manejar gráficos interactivos (y más débil también en actividades intensas del punto flotante, como determinados juegos tridimensionales), pero como eje central de un sistema que equilibra una performance de aplicaciones con la economía, deja atrás a sus competidores. En un sistema estilo "commodity", la diferencia de costo vale más que la diferencia de performance.

2.3.- ¿Qué pasa con el Pentium II?

Tanto AMD como Cyrix venden sus procesadores MMX como competencia del Intel Pentium II. La comparación, de hecho, es mucho más difícil debido a diferencias de arquitectura entre las dos líneas con "chipsets" e "interfaces de nivel de núcleo" diferentes. De todos modos, y a título de curiosidad, se analizó el comportamiento a través del Intel Multimedia Benchmark, anteriormente mencionado. Las pruebas se realizaron con dos máquinas: Hewlett Packard Pavillion 8160 y el Gateway 2000 G6-233. Ambas corrieron con los chips 233 MHz Pentium II.

Aquí se necesita una advertencia elemental: como estamos haciendo correr configuraciones bastante distintas en relación a la base "baseline" usada para la prueba Socket 7, los no son realmente comparables. El vídeo, el disco y demás variaron, y, en especial, cabe destacar la única área en la que el Pentium II dejó atrás a los procesadores Socket 7: en las pruebas de vídeo directas -Indeo, Mediamantics y Direct 3D-. Aun entonces (y teniendo en cuenta el hecho de que el Pentium II corría a una velocidad de reloj más elevada), el AMD y Cyrix tuvieron una mejor performance que HP en la prueba MPEG y los dos se destacaron en las dos series de procesamiento de imágenes. Esto confirma denuncias de AMD y Cyrix en el sentido de que para muchos ambientes de negocio comunes, sus CPU se comparan bien con el Pentium II. basado en mera performance y expansión, el Pentium II es un chip más veloz cuando debe realizar tareas estilo multimedia. Sin embargo, cuando se considera el factor de los costos y cuando se tienen en consideración operaciones no MMX, la elección no es tan clara.

3.- EVOLUCION DE LOS MICROPROCESADORES DE INTEL

INTEL, desde que lanzo su primer microprocesador en el año 1971 y hasta nuestros días ha desarrollado los siguientes microprocesadores :

'Evolución histórica de los Microprocesadores'

1971 Microprocesador 4004.

El 4004 fue el primer microprocesador de Intel. Esta invención del descubrimiento accionó la calculadora de Busicom y pavimentó la manera para insertar inteligencia en objetos inanimados así

Como el computador personal.

'Evolución histórica de los Microprocesadores'

1972: Microprocesador 8008.

Los 8008 eran dos veces más poderosos que los 4004. Según Don Lancaster de la revista Radio Electronics. Un aficionado de los computadores, utilizó los 8008 para crear a un precursor del primer ordenador personal,

'Evolución histórica de los Microprocesadores'

1974: Microprocesador 8080

Los 8080 se convirtieron en los cerebros del primer computador personal, el altaír, Nombrado así por un grupo de la empresa de Starship, del show de televisión Star Streck. Los aficionados a los computadores podían comprar un kit para el altaír por U$395. Dentro de meses, vendió diez mil unidades, creando los primeros pedidos de PC en la historia.

'Evolución histórica de los Microprocesadores'

1978: Microprocesador 8086-8088

Debido a la gran cantidad de ventas, IBM crea una nueva división del computador personal, al hacer del 8088 el cerebro del nuevo producto de IBM, el PC de IBM. El éxito del microprocesador 8088 propulsó a Intel a estar entre las empresas de mayor fortuna e hizo que la revista Fortune la nombre como la compañía que logro uno de los " triunfos del negocio de los años 70.".

'Evolución histórica de los Microprocesadores'

1982: Microprocesador 286

Los 286, también conocido como los 80286, eran los primeros procesadores de Intel que podían ejecutar todo el software escrito para su precursor. Esta compatibilidad del software sigue siendo un sello de la familia de Intel de microprocesadores. En el plazo de 6 años desde su realización , habían 15 millones de computadores personales basados en el 286 instalados alrededor del mundo.

'Evolución histórica de los Microprocesadores'

1985: INTEL 386(TM)

El microprocesador 386TM de Intel ofreció 275.000 transistores, más de 100 veces los de los 4004 originales. Era un Chip de 32-bits y era "multitarea", lo que significaba que podía ejecutar programas múltiples al mismo tiempo.

'Evolución histórica de los Microprocesadores'

1989: INTEL 486(TM) DX

La generación de los 486TM realmente significó un cambio del computador comando-nivel a un computador punta-y-tecleo. Se Podía tener un computador de color por primera vez y hacer que el escritorio se publique a una velocidad significativa,. El procesador de 486TM de Intel era el primero en ofrecer un coprocesador matemático incorporado, que aceleró al computador al desarrollar funciones complejas de la matemáticas desde el procesador central.

'Evolución histórica de los Microprocesadores'

1993: Procesador Pentium

El procesador de Pentium® permitio a los computadores incorporar más fácilmente datos del "mundo real" tales como discurso(speech), sonido, e imágenes fotográficas. El nombre Pentium®, mencionado en los cómics y en los shows televisivos, se convirtió en una palabra común, luego de su aparición.

'Evolución histórica de los Microprocesadores'

1995: Pentium Pro

Realizado a fines de 1995, el procesador Pentium® Pro fue diseñado para aplicaciones de 32-bit tanto en servidores como en workstations , permitiendo un rápido diseño automatizado , ingeniería industrial y cómputo científico. Cada procesador Pentium® Pro se empaqueta junto con un segundo chip de memoria cache que aumenta su velocidad . El poderoso procesador Pentium® Pro se jacta de tener 5,5 millones de transistores.

'Evolución histórica de los Microprocesadores'

1997: Pentium II

El procesador de Pentium® II de 7,5 millones de transistores incorpora la tecnología de Intel MMX, que se diseño específicamente para procesar eficientemente datos de vídeo, de audio y de gráficos. Se empaqueta junto con un chip de memoria cache de alta velocidad en un catridge (S.E.C. Single Edge Contact) que se conecta a la tarjeta madre vía un solo conector de borde, en comparación con los contactos múltiples. Con este chip, los usuarios de los PC pueden capturar, corregir y compartir fotos digitales con los amigos y la familia vía Internet; editar y agregar texto, música o transiciones entre las escenas a las películas caseras; y, con un teléfono vídeo, enviar el vídeo concluido sobre líneas telefónicas es estándares y sobre el Internet.

3.1.- Microprocesador Intel 4004 (Nov. 1971)

EL primer Chip de CPU fue el Intel 4004, un procesador de 4-bit ideal para una calculadora. Procesó datos de 4 bits, pero sus instrucciones eran de 8 bits de largo. La memoria del programa y de los datos era separada, memoria de los datos de 1K y un PC de 12-bits para la memoria de programa de 4k (bajo la forma de pila de 4 niveles, usada para las instrucciones de la LLAMADA y de vuelta, Call and Ret). Había también 16 registros de propósito general de 4-bits (u ocho de 8-bits).

Los 4004 tenían 46 instrucciones, usando solo 2.300 transistores en DIP de 16 pines . Se ejecutó en un índice de reloj de 740kHz (ocho ciclos de reloj por el ciclo de la CPU de 10,8 microsegundos), la meta original era 1MHz, para permitir que compute aritmética BCD tan rápidamente (por dígito) como una IBM 1620 de la era de los años 60. Los 4040 (1972) eran una versión realzada de los 4004, agregando 14 instrucciones, pilas más grandes (de 8 niveles), espacio de programa de 8K, y capacidades de interrupción (incluyendo sombras de los primeros 8 registros).

3.2.- INTEL (La familia 8051)

El 8051 es el primer microprocesador de la familia introducida por Intel Corporation. La familia 8051 de microprocesadores son procesadores de 8 bits capaces de direccionar hasta 64 kbytes de memoria de programa y una memoria separada de datos de 64 kbytes. El 8031(la versión sin ROM interna del 8051, siendo esta la única diferencia) tiene 128 bytes de RAM interna (el 8032 tiene RAM interna de 256 bytes y un temporizador adicional). El 8031 tiene dos temporizadores/contadores, un puerto serie, cuatro puertos de entrada/salida paralelas de propósito general (P0, P1, P2 y P3) y una lógica de control de interrupción con cinco fuentes de interrupciones. Al lado de la RAM interna, el 8031 tiene varios Registros de Funciones especiales(SFR)(Special Function Registers) que son para control y registros de datos. Los SFRs también incluyen el registro acumulador, el registro B, y el registro de estado de programa(Program Status Word)(PSW), que contienen los Flags del CPU.

Bloques separados de memoria de código y de datos se denomina como la Arquitectura Harvard. El 8051 tiene dos señales de lectura separadas, los pines RD(P3.7, pin 17) y PSEN(pin 29). El primero es activado cuando un byte va ser leído desde memoria de datos externo; el otro, cuando un byte va ser leído desde memoria de programa externo. Ambas de estas señales son señales activas en nivel bajo. Esto es, ellos son aclarados a nivel lógico 0 cuando están activados. Todo código externo es buscado desde memoria de programa externo. En adición, bytes de memoria de programa externo pueden ser leídos por instrucciones de lectura especiales, tal como la instrucción MOVC. Hay también instrucciones separadas para leer desde memoria de datos externo, tal como la instrucción MOVX. Esto significa que las instrucciones determinan que bloque de memoria es direccionado, y la señal de control correspondiente, o RD o PSEN, es activado durante el ciclo de lectura de memoria. Un único bloque de memoria puede ser mapeado para actuar como memoria de datos y de programa. Esto es lo que se llama la arquitectura Von Neuman. Para leer desde el mismo bloque usando o la señal RD o la señal PSEN, las dos señales son combinadas con una operación AND lógico. La arquitectura Harvard es algo extraño en sistemas de evaluación, donde código de programa necesita ser cargado en memoria de programa. Adoptando la arquitectura Von Neuman, el código puede ser escrito a la memoria como bytes de datos y luego ejecutado como instrucciones de programa.

La ROM interna del 8051 y el 8052 no pueden ser programados por el usuario. El usuario debe suministrar el programa al fabricante, y el fabricante programa los microprocesadores durante la producción. Debido a costos, la opción de la ROM programado por el fabricante no es económica para producción de pequeñas cantidades. El 8751 y el 8752 son las versiones Erasable Programmable Read Only Memory(EPROM) del 8051 y el 8052. Estos pueden ser programados por los usuarios.

Durante la década pasada muchos fabricantes introducieron miembros mejorados del microprocesador 8051. Las mejoras incluyen más memoria, más puertos, convertidores análogo/digital; más temporizadores, más fuentes de interrupción, watchdog timers, y subsistemas de comunicación en red. Todos los microprocesadores de la familia usan el mismo conjunto de instrucciones, el MCS-51. Las características mejoradas son programadas y controladas por SFRs adicionales.

3.3.- Microprocesador Intel 8080(abril de 1974)

los 8080 eran el sucesor de los 8008 (abril de 1972, previsto como regulador terminal, y similar a los 4040). Mientras que los 8008 tenían el PC y la dirección de 14 bits, los 8080 tenían un bus de direccionamiento de 16 bits y un bus de datos de 8 bits. Internamente tenía siete registros de 8 bits (A-E, H, L - los pares BC., el DE y los HL se podrían combinar como registros de 16 bits), un puntero de pila a la memoria de 16 bits que substituyó las 8 pilas internas de los 8008, y un contador de programa de 16 bits. También tenía varios puertos de accesos de entrada y salida, 256 de ellos, así que los dispositivos de entrada y salida podrían ocupados sin quitar o interferir con el espacio de dirección, y un pin de señal que permitió que la pila ocupara una batería separada de la memoria. Los 8080 fueron utilizados en la altaír 8800, el primer computador personal de gran conocimiento (aunque la definición de la ' primera PC ' es borrosa. Algunos demandan que el LINC de 12 bits (computador del laboratorio instruments) fure el primer 'computador personal'. Desarrollado en MIT (laboratorios de Lincoln) en 1963, usando componentes de la DEC, esto inspiró a la DEC a que diseñara su propio PDP-8 en 1965, también considerado tempranamente como un 'computador personal'). Aunque 'el computador casero' sería probablemente un término mejor aquí.

Intel actualizo el diseño con el 8085 (1976), al cual le agregaron dos instrucciones para habilitar y deshabilitar (enable/disable) a los tres pines de interrupción agregados (y los pines seriales de entrada y salida), y simplificó el hardware usando solamente potencia de +5v, y agregando al generador del reloj y al controlador del bus sobre el chip.

3.4.- Microprocesadores 8086/88, 286 y 386.

Los microprocesadores Intel 8086 y 8088 se desarrollan a partir de un procesador anterior, el 8080, que, en sus diversas encarnaciones, incluyendo el Zilog Z-80, ha sido la CPU de 8 bits de mayor éxito.

Poseen una arquitectura interna de 16 bits y pueden trabajar con operandos de 8 y 16 bits; una capacidad de direccionamiento de 20 bits (hasta 1 Mb) y comparten el mismo juego de instrucciones.

La filosofía de diseño de la familia del 8086 se basa en la compatibilidad y la creación de sistemas informáticos integrados, por lo que disponen de diversos coprocesadores como el 8089 de E/S y el 8087, coprocesador matemático de coma flotante. De acuerdo a esta filosofía y para permitir la compatibilidad con los anteriores sistemas de 8 bits, el 8088 se diseñó con un bus de datos de 8 bits, lo cual le hace más lento que su hermano el 8086, pues éste es capaz de cargar una palabra ubicada en una dirección par en un solo ciclo de memoria mientras el 8088 debe realizar dos ciclos leyendo cada vez un byte.

Disponen de 92 tipos de instrucciones, que pueden ejecutar con hasta 7 modos de direccionamiento. Tienen una capacidad de direccionamiento en puertos de entrada y salida de hasta 64K (65536 puertos), por lo que las máquinas construidas entorno a estos microprocesadores no suelen emplear la entrada/salida por mapa de memoria, como veremos.

Entre esas instrucciones, las más rápidas se ejecutan en 2 ciclos teóricos de reloj y unos 9 reales (se trata del movimiento de datos entre registros internos) y las más lentas en 206 (división entera con signo del acumulador por una palabra extraída de la memoria). Las frecuencias internas de reloj típicas son 4.77 MHz en la versión 8086; 8 MHz en la versión 8086-2 y 10 MHz

en la 8086-1. Recuérdese que un MHz son un millón de ciclos de reloj, por lo que un PC estándar a 4,77 MHz puede

ejecutar de 20.000 a unos 0,5 millones de instrucciones por segundo, según la complejidad de las mismas (un 486 a 50 MHz,

incluso sin memoria caché externa es capaz de ejecutar entre 1,8 y 30 millones de estas instrucciones por segundo).

El microprocesador Intel 80286 se caracteriza por poseer dos modos de funcionamiento completamente diferenciados: el modo real en el que se encuentra nada más ser conectado a la corriente y el modo protegido en el que adquiere capacidad de proceso multitarea y almacenamiento en memoria virtual. El proceso multitarea consiste en realizar varios procesos de manera aparentemente simultánea, con la ayuda del sistema operativo para conmutar automáticamente de uno a otro optimizando el uso de la CPU, ya que mientras un proceso está esperando a que un periférico complete una operación, se puede atender otro proceso diferente. La memoria virtual permite al ordenador usar más memoria de la que realmente tiene, almacenando parte de ella en disco: de esta manera, los programas creen tener a su disposición más memoria de la que realmente existe; cuando acceden a una parte de la memoria lógica que no existe físicamente, se produce una interrupción y el sistema operativo se encarga de acceder al disco y traerla.

Cuando la CPU está en modo protegido, los programas de usuario tienen un acceso limitado al juego de instrucciones; sólo el proceso supervisor, normalmente el sistema operativo, está capacitado para realizar ciertas tareas. Esto es así para evitar que los programas de usuario puedan campar a sus anchas y entrar en conflictos unos con otros, en materia de recursos como memoria o periféricos. Además, de esta manera, aunque un error software provoque el cuelgue de un proceso, los demás pueden seguir funcionando normalmente, y el sistema operativo podría abortar el proceso colgado. Por desgracia, con el DOS el 286 no está en modo protegido y el cuelgue de un solo proceso, bien el programa principal o una rutina operada por interrupciones, significa la caída inmediata de todo el sistema.

El 8086 no posee ningún mecanismo para apoyar la multitarea ni la memoria virtual desde el procesador, por lo que es difícil diseñar un sistema multitarea para el mismo y casi imposible conseguir que sea realmente operativo. Obviamente, el 286 en modo protegido pierde absolutamente toda la compatibilidad con los procesadores anteriores. Por ello, en este libro sólo trataremos el modo real, único disponible bajo DOS, aunque veremos alguna instrucción extra que también se puede emplear en modo real.

Las características generales del 286 son: tiene un bus de datos de 16 bits, un bus de direcciones de 24 bits (16 Mb); posee 25 instrucciones más que el 8086 y admite 8 modos de direccionamiento. En modo virtual permite direccionar hasta 1 Gigabyte. Las frecuencias de trabajo típicas son de 12 y 16 MHz, aunque existen versiones a 20 y 25 MHz. Aquí, la instrucción más lenta es la misma que en el caso del 8086, solo que emplea 29 ciclos de reloj en lugar de 206. Un 286 de categoría media (16 MHz) podría ejecutar más de medio millón de instrucciones de estas en un segundo, casi 15 veces más que un 8086 medio a 8 MHz. Sin embargo, transfiriendo datos entre registros la diferencia de un procesador a otro se reduce notablemente, aunque el 286 es más rápido y no sólo gracias a los MHz adicionales.

Versiones mejoradas de los Intel 8086 y 8088 se encuentran también en los procesadores NEC-V30 y NEC-V20 respectivamente. Ambos son compatibles Hardware y Software, con la ventaja de que el procesado de instrucciones está optimizado, llegando a superar casi en tres veces la velocidad de los originales en algunas instrucciones aritméticas. También poseen una cola de prebúsqueda mayor (cuando el microprocesador está ejecutando una instrucción, si no hace uso de los buses externos, carga en una cola FIFO de unos pocos bytes las posiciones posteriores a la que está procesando, de esta forma una vez que concluye la instrucción en curso ya tiene internamente la que le sigue). Además, los NEC V20 y V30 disponen de las mismas instrucciones adicionales del 286 en modo real, al igual que el 80186 y el 80188.

Por su parte, el 386 dispone de una arquitectura de registros de 32 bits, con un bus de direcciones también de 32 bits (direcciona hasta 4 Gigabytes = 4096 Mb) y más modos posibles de funcionamiento: el modo real (compatible 8086), el modo protegido (relativamente compatible con el del 286), un modo protegido propio que permite -¡por fin!- romper la barrera de los tradicionales segmentos y el modo «virtual 86», en el que puede emular el funcionamiento simultáneo de varios 8086. Una vez más, todos los modos son incompatibles entre sí y requieren de un sistema operativo específico: si se puede perdonar al fabricante la pérdida de compatibilidad del modo avanzados del 286 frente al 8086, debido a la lógica evolución tecnológica, no se puede decir lo mismo del 386 respecto al 286: no hubiera sido necesario añadir un nuevo modo protegido si hubiera sido mejor construido el del 286 apenas un par de años atrás. Normalmente, los 386 suelen operar en modo real (debido al DOS) por lo que no se aprovechan las posibilidades multitarea ni de gestión de memoria. Por otra parte, aunque se pueden emplear los registros de 32 bits en modo real, ello no suele hacerse, para mantener la compatibilidad con procesadores anteriores, con lo que de entrada se está tirando a la basura un 50% de la capacidad de proceso del chip, aunque por fortuna estos procesadores suelen trabajar a frecuencias de 16/20 MHz (obsoletas) y normalmente de 33 y hasta 40 MHz.

El 386sx es una variante del 386 a nivel de hardware, aunque es compatible en software. Básicamente, es un 386 con un bus de datos de sólo 16 bits, más lento, al tener que dar dos pasadas para un dato de 32 bits, De hecho, podría haber sido diseñado perfectamente para mantener una compatibilidad hardware con el 286, aunque el fabricante lo evitó probablemente por razones comerciales.

3.4.1.- REGISTROS DEL 8086 Y DEL 286.

Estos procesadores disponen de 14 registros de 16 bits (el 286 alguno más, pero no se suele emplear bajo DOS). La misión de estos registros es almacenar las posiciones de memoria que van a experimentar repetidas manipulaciones, ya que los accesos a memoria son mucho más lentos que los accesos a los registros. Además, hay ciertas operaciones que sólo se pueden realizar sobre los registros. No todos los registros sirven para almacenar datos, algunos están especializados en apuntar a las direcciones de memoria. La mecánica básica de funcionamiento de un programa consiste en cargar los registros con datos de la memoria o de un puerto de E/S, procesar los datos y devolver el resultado a la memoria o a otro puerto de E/S. Obviamente, si un dato sólo va a experimentar un cambio, es preferible realizar la operación directamente sobre la memoria, si ello es posible.

A continuación se describen los registros del 8086.

AX

SP

CS

IP

BX

BP

DS

Flags

CX

SI

SS

DX

DI

ES

Registros de datos

Registros punteros de pila e índices

Registros de segmento

Registro puntero de instrucciones y flags

  • Registros de datos:

AX, BX, CX, DX: pueden utilizarse bien como registros de 16 bits o como dos registros separados de 8 bits (byte superior e inferior) cambiando la X por H o L según queramos referirnos a la parte alta o baja respectivamente. Por ejemplo, AX se descompone en AH (parte alta) y AL (parte baja). Evidentemente, ¡cualquier cambio sobre AH o AL altera AX!: valga como ejemplo que al incrementar AH se le están añadiendo 256 unidades a AX.

  • AX = Acumulador. Es el registro principal, es utilizado en las instrucciones de multiplicación y división y en algunas instrucciones aritméticas especializadas, así como en ciertas operaciones de carácter específico como entrada, salida y traducción. Obsérvese que el 8086 es suficientemente potente para realizar las operaciones lógicas, la suma y la resta sobre cualquier registro de datos, no necesariamente el acumulador.

  • BX = Base. Se usa como registro base para referenciar direcciones de memoria con direccionamiento indirecto, manteniendo la dirección de la base o comienzo de tablas o matrices. De esta manera, no es preciso indicar una posición de memoria fija, sino la número BX (así, haciendo avanzar de unidad en unidad a BX, por ejemplo, se puede ir accediendo a un gran bloque de memoria en un bucle).

  • CX = Contador. Se utiliza comúnmente como contador en bucles y operaciones repetitivas de manejo de cadenas. En las instrucciones de desplazamiento y rotación se utiliza como contador de 8 bits.

  • DX = Datos. Usado en conjunción con AX en las operaciones de multiplicación y división que involucran o generan datos de 32 bits. En las de entrada y salida se emplea para especificar la dirección del puerto E/S.

  • Registros de segmento:

Definen áreas de 64 Kb dentro del espacio de direcciones de 1 Mb del 8086. Estas áreas pueden solaparse total o parcialmente. No es posible acceder a una posición de memoria no definida por algún segmento: si es preciso, habrá de moverse alguno.

  • CS = Registro de segmento de código (code segment). Contiene la dirección del segmento con las instrucciones del programa. Los programas de más de 64 Kb requieren cambiar CS periódicamente.

  • DS = Registro de segmento de datos (data segment). Segmento del área de datos del programa.

  • SS = Registro de segmento de pila (stack segment). Segmento de pila.

  • ES = Registro de segmento extra (extra segment). Segmento de ampliación para zona de datos. Es extraordinariamente útil actuando en conjunción con DS: con ambos se puede definir dos zonas de 64 Kb, tan alejadas como se desee en el espacio de direcciones, entre las que se pueden intercambiar datos.

  • Registros punteros de pila:

  • SP = Puntero de pila (stack pointer). Apunta a la cabeza de la pila. Utilizado en las instrucciones de manejo de la pila.

  • BP = Puntero base (base pointer). Es un puntero de base, que apunta a una zona dentro de la pila dedicada al almacenamiento de datos (variables locales y parámetros de las funciones en los programas compilados).

  • Registros índices:

  • SI = Índice fuente (source index). Utilizado como registro de índice en ciertos modos de direccionamiento indirecto, también se emplea para guardar un valor de desplazamiento en operaciones de cadenas.

  • DI = Índice destino (destination index). Se usa en determinados modos de direccionamiento indirecto y para almacenar un desplazamiento en operaciones con cadenas.

  • Puntero de instrucciones o contador de programa:

  • IP = Puntero de instrucción (instruction pointer). Marca el desplazamiento de la instrucción en curso dentro del segmento de código. Es automáticamente modificado con la lectura de una instrucción.

  • Registro de estado o de indicadores (flags).

Es un registro de 16 bits de los cuales 9 son utilizados para indicar diversas situaciones durante la ejecución de un programa. Los bits 0, 2, 4, 6, 7 y 11 son indicadores de condición, que reflejan los resultados de operaciones del programa; los bits del 8 al 10 son indicadores de control y el resto no se utilizan. Estos indicadores pueden ser comprobados por las instrucciones de salto condicional, lo que permite variar el flujo secuencial del programa según el resultado de las operaciones.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

OF

DF

IF

TF

SF

ZF

AF

PF

CF

  • CF (Carry Flag): Indicador de acarreo. Su valor más habitual es lo que nos llevamos en una suma o resta.

  • OF (Overflow Flag): Indicador de desbordamiento. Indica que el resultado de una operación no cabe en el tamaño del operando destino.

  • ZF (Zero Flag): Indicador de resultado 0 o comparación igual.

  • SF (Sign Flag): Indicador de resultado o comparación negativa.

  • PF (Parity Flag): Indicador de paridad. Se activa tras algunas operaciones aritmético-lógicas para indicar que el número de bits a uno resultante es par.

  • AF (Auxiliary Flag): Para ajuste en operaciones BCD.

  • DF (Direction Flag): Indicador de dirección. Manipulando bloques de memoria, indica el sentido de avance (ascendente/descendente).

  • IF (Interrupt Flag): Indicador de interrupciones: puesto a 1 están permitidas.

  • TF (Trap Flag): Indicador de atrape (ejecución paso a paso).

3.5.- INTRODUCCIÓN AL MICROPROCESADOR 80486

El microprocesador 80486 es un dispositivo altamente integrado que contiene más de 1 200 000 transistores. Localizados dentro de este poderoso circuito integrado hay una unidad para la administración de la memoria (MMU ); un procesador numérico completo que es compatible con el 80387; una memoria caché de alta velocidad que contiene 8 K bytes de espacio; y un microprocesador completo de 32 bits que es compatible hacia arriba con el microprocesador 80386. El 80486 está disponible actualmente en versiones de 25 Mhz, 33 Mhz y 50 Mhz. Intel ha mostrado una versión del 80486 de 100 Mhz, pero aún no sale al mercado. El 80486 viene como un 80486 DX o como un 80486 SX . La única diferencia entre estos dispositivos es que el 80486 SX no contiene un coprocesador numérico, lo cual reduce el precio. El coprocesador numérico 80487 SX está disponible como un componente separado para el microprocesador 80486 SX . También están disponibles la versión de doble reloj como el 80486 DX2 (versiones de 50 MHz y 66MHz ). Las versiones de doble reloj operan internamente a 50 MHz o a 66 MHz, sin embargo utilizan una velocidad de canales de 25 MHz o 33 MHz para facilitar los requerimientos al sistema de la memoria. La versión de doble reloj de 50 MHz ejecuta los programas a una velocidad promedio entre las versiones de 33 MHz y 50 MHz . La versión de doble reloj de 66 MHz opera a una velocidad ligeramente mejor que la versión de 50 MHz. Observe que usualmente no se requiere de ningún cambio en el sistema para escalar a una versión de doble reloj en la mayoría de las tarjetas madre.

También están disponibles las versiones extendidas ( overdrive ) que son circuitos extras que se enchufan en una base junto al microprocesador, para incrementar el funcionamiento a casi lo mismo que la versión de doble reloj . El procesador overdrive es una manera eficiente para escalar un microprocesador 80486SX si lo soporta la tarjeta madre.

3.5.1.- EL MICROPROCESADOR 80486

3.5.1.1.- Bloques que componen el 80486

Este microprocesador es básicamente un 80386 con el agregado de una unidad de punto flotante compatible con el 80387 y un caché de memoria de 8 KBytes. Por lo tanto los bloques que componen el 80486 son los siguientes:

  • Unidad de ejecución: Incluye los registros de uso general de 32 bits, la unidad lógico-matemática y un barrel shifter de 64 bits. La unidad de ejecución está mejorada con lo que se necesita un sólo ciclo de reloj para las instrucciones más frecuentes.

  • Unidad de segmentación: Incluye los registros de segmento, los cachés de información de descriptores y la lógica de protección. No tiene diferencias con respecto al 80386.

  • Unidad de paginación: Es la encargada de traducir las direcciones lineales (generadas por la unidad anterior) en direcciones físicas. Incluye el buffer de conversión por búsqueda (TLB). Los últimos modelos (DX4, algunos DX2) soportan páginas de 4MB aparte de las de 4KB del 80386.

  • Unidad de caché: La evolución de las memorias hizo que el tiempo de acceso de las mismas decrecieran lentamente, mientras que la velocidad de los microprocesadores aumentaba exponencialmente. Por lo tanto, el acceso a memoria representaba el cuello de botella. La idea del caché es tener una memoria relativamente pequeña con la velocidad del microprocesador. La mayoría del código que se ejecuta lo hace dentro de ciclos, con lo que, si se tiene el ciclo completo dentro del caché, no sería necesario acceder a la memoria externa. Con los datos pasa algo similar: también ocurre un efecto de localidad. El caché se carga rápidamente mediante un proceso conocido como "ráfaga", con el que se pueden transferir cuatro bytes por ciclo de reloj. Más abajo se da información más detallada de esta unidad.

  • Interfaz con el bus: Incluye los manejadores del bus de direcciones (con salidas de A31-A2 y BE0# a BE3# (mediante esto último cada byte del bus de datos se habilita por separado)), bus de datos de 32 bits y bus de control.

  • Unidad de instrucciones: Incluye la unidad de prebúsqueda que le pide los bytes de instrucciones al caché (ambos se comunican mediante un bus interno de 128 bits), una cola de instrucciones de 32 bytes, la unidad de decodificación, la unidad de control, y la ROM de control (que indica lo que deben hacer las instrucciones).

  • Unidad de punto flotante: Incluye ocho registros de punto flotante de 80 bits y la lógica necesaria para realizar operaciones básicas, raíz cuadrada y trascendentes de punto flotante. Es tres o cuatro veces más rápido que un 386DX y 387DX a la misma frecuencia de reloj. Esta unidad no está incluida en el modelo 486SX.

  • 3.5.1.2.- Diagrama de base de los microprocesadores 80486dx y 80486sx

    La figura Nro. 3.5.a presenta el diagrama de base del microprocesador 80486DX, para un encapsulado PGA de 168 terminales. El 80486SX, también está encapsulado en un PGA de 168 terminales, no se muestra porque existen pocas diferencias. Observe que la terminal B15 es NMI en el 80486DX y la A15 es NMI en el 80486SX. Las únicas otras diferencias son que la terminal A15 es IGNNE en el 80486DX, la C14 es FERR en el 80486DX y las terminales B15 y C14 en el 80486SX no están conectadas.

    Cuando se conecta el microprocesador 80486, todas las terminales de VCC y VSS deben estar conectadas a la fuente de alimentación para un funcionamiento correcto. La fuente de voltaje debe ser capaz de suministrar 5.0 V + 10%, con un consumo de hasta 1.2 A de corriente para la versión de 33 MHz . El consumo promedio de corriente es de 650 mA para versión de 33 MHz.

    Un cero lógico de salida permite hasta 4.0 mA de corriente y un uno lógico de salida hasta 1.0 mA . Si se requieren corrientes más grandes, entonces el 80486 debe ser acoplado. La figura 14-33 muestra un sistema 80486DX con acoplamiento. En el circuito mostrado, solo las señales de dirección, datos y paridad están acopladas.

    3.5.1.3.- Definiciones de las terminales.

  • A31-A2 (salida de direcciones): proporcionan a la memoria y a E/S con la dirección durante el funcionamiento normal y durante la invalidación de una línea caché, A31-A4 son utilizados para manejar al microprocesador.

  • A20M (máscara de dirección sólo 20 bits): usado para ocasionar que el 80486 "enrolle" la dirección de la localidad 000FFFFFH a la 00000000H como lo hace el microprocesador 8086. Esto proporciona un sistema de memoria que funciona como lo hace el 1M byte de memoria en el microprocesador 8086. La mayoría de los sistemas no utilizan el enmascaramiento de direcciones porque el programa HIMEM.SYS no puede tener acceso a la memoria adicional ubicada en las direcciones 100000H-10FFEFH.

  • ADS (habilitación de dirección de datos): se convierte en un cero lógico para indicar que el canal de direcciones contiene una dirección de memoria válida.

  • AHOLD (entrada de solicitud de canal de direcciones): causa que el microprocesador coloque sus conexiones del canal de direcciones en su estado de alta impedancia, con el resto de los canales que quedan activos.

  • BE3-BE1 (habilitación de salidas byte): selecciona un banco del sistema de la memoria cuando la información es transferida entre el microprocesador, y su espacio en memoria y de E/S.

  • BLAST (última salida en ráfaga): muestra que el ciclo ráfaga del canal se completa en la próxima habilitación de la señal BRDY.

  • BOFF (entrada de deshabilitación de canales): ocasiona que el microprocesador coloque sus canales en el estado de alta impedancia durante el próximo ciclo de reloj.

  • BRDY (entrada de ráfaga lista): utilizado para señalarle al microprocesador que se completó un ciclo ráfaga.

  • BREQ (salida de solicitud de canal): indica que el 80486 ha generado una solicitud interna de canal.

  • BS8 (canal de entrada de información de tamaño 8): causa que el 80486 se autoestructure con un canal de datos de 8 bits para tener acceso a memoria y componentes E/S de ancho byte.

  • BS16 (canal de entrada de tamaño 16): causa que el 80486 se autoestructure con un canal de datos de 16 bits para tener acceso a la memoria y los componentes.

  • CLK (entrada de reloj): proporciona al 80486 la señal de temporización básica.

  • D31-D0 (canal de datos): transfiere datos entre el microprocesador, la memoria y el sistema de E/S. Las conexiones del canal de datos D7-D0 también son utilizadas para aceptar el vector de interrupción durante un ciclo de reconocimiento de interrupción.

  • D/C (datos/control): indica si la operación actual es una trasferencia de datos o un ciclo de control.

  • DP3-DP0 (paridad de datos de E/S de información): proporciona paridad para una operación de escritura y verifican la paridad para una operación de lectura.

  • EADS (entrada de habilitación estroboscópica de dirección externa): utilizado con AHOLD para señalar que una dirección externa se utiliza para realizar un ciclo de invalidación caché.

  • FERR (salida de error punto flotante): indica que el coprocesador de punto flotante ha detectado una condición de error.

  • FLUSH (entrada para eliminar contenido de caché): fuerza al microprocesador a borrar el contenido de su caché interno de 8 Kbytes.

  • HLDA (salida para reconocer la sesión de canal Hold): indica que la entrada Hold está activa y que el microprocesador ha colocado sus canales en estado de alta impedancia.

  • HOLD (entrada de solicitud de canal): utilizado para solicitar una acción de DMA. Causa que los canales de direcciones, datos y control sean llevados a su estado de alta impedancia y además, que a una vez cedidos HLDA se convierta en un cero lógico.

  • IGNNE (ignorar la entrada de error numérico): ocasiona que el microprocesador ignore los errores de punto flotante y continúe procesando datos.

  • INTR (entrada de solicitud de interrupción): solicita una interrupción enmascarable como lo hacen todos los otros miembros de la familia.

  • KEN (entrada de habilitación del caché): causa que el canal actual se almacene en el caché interno.

  • LOCK (salida): se convierte en un cero lógico para cualquier instrucción que tenga el prefijo LOCK.

  • M/IO (memoria /IO): define si el canal de datos contiene una dirección de memoria o un número de puerto de E/S.

  • NMI (entrada de interrupción no enmascarable): ocasiona una interrupción de tipo 2.

  • PCD (salida de deshabilitación de página del caché): refleja el estado del bit de atributo PCD en la entrada de tabla de páginas o entrada del directorio de páginas.

  • PCHK (salida de verificación de paridad): indica que se detectó un error de paridad durante una operación de lectura en las terminales DP3-DP0.

  • PLOCK (salida pseudobloqueada): indica que la operación actual requiere de más de un ciclo de canal para ejecutarse.

  • PWT (escritura de página a través de la salida): indica el estado del bit de atributo PWT en la entrada de la tabla de páginas o en la entrada del directorio de páginas.

  • RDY (entrada ready ): indica que un ciclo no ráfaga del canal está completo.

  • RESET (entrada de reinicialización ): reinicializa al 80486 como lo hace en los otros miembros de la familia.

  • W/R (escribir/leer): señala que el ciclo de canal actual es para leer o escribir.

  • Fig. Nro. 3.5.a, Diagrama de Base del Microprocesador 80486

    1

    'Evolución histórica de los Microprocesadores'

    Universidad Austral de Chile.

    Faculta de Ciencias de la Ingeniería.

    Instituto de Informática

    Escuela de Ingeniería Civil en Informática.




    Descargar
    Enviado por:Manuel Barrera Cerna
    Idioma: castellano
    País: Chile

    Te va a interesar