SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
UNIVERSIDAD DE MATANZAS
            “CAMILO CIENFUEGOS”.
 FACULTAD DE INGENIERÍAS QUÍMICA Y MECANICA.




INTRODUCCION A LOS MICROPROCESADORES

    Dr. C.T. Ing. Evaristo González Milanés.


               DICIEMBRE, 2003
INTRODUCCION A LOS MICROPROCESADORES

Autor: Dr. Evaristo González Milanés
       Dpto. Física
       Universidad de Matanzas.


INTRODUCCIÓN.

       Los microprocesadores han venido a ser el resultado del desarrollo en el camino
emprendido por la Electrónica Digital hacia la miniaturización, primeramente
implementando una unidad de procesos completa en una sola pastilla o chip de circuito
integrado, y posteriormente, mediante el aumento de la rapidez, capacidad de trabajo y
potencia de dicha unidad.


        La aparición de los microprocesadores (MP) representa el siguiente punto de
salto en la electrónica después del ocurrido con la invención del transistor, y la
tecnología de su construcción avanza tan rápidamente que prácticamente ha
revolucionado en corto tiempo el desarrollo de múltiples campos de la ciencia y la
técnica, a la vez que se introduce de manera convincente en nuestra vida doméstica,
siendo difícil mencionar una rama o campo de la ciencia en la cual no exista una
aplicación de los microprocesadores. De hecho, cada día aumenta el número de
instrumentos, sistemas de control de procesos, medios y equipos para las
telecomunicaciones, medicina, servicios públicos e incluso juguetes, que emplean
dentro de su estructura algún tipo de MP, sin entrar a considerar el hecho real de la
introducción, divulgación y aceptación que han tenido las nuevas generaciones de
computadoras digitales basadas en este componente y que son conocidas por nosotros
como microcomputadoras.


       Es difícil predecir qué pasará en la electrónica en los próximos años, pero de
acuerdo con la opinión de personalidades de esta rama, la influencia de los MP en el
futuro será cada vez mayor y de ahí la importancia de preparar a los profesionales
encargados de su aplicación y desarrollo, y de que a su vez, los graduados de nivel
superior posean conocimientos elementales que les permitan ganar en la cultura
general necesaria que sirva de base a un conocimiento mayor de la aplicación
específica en el campo en que desarrollarán su vida profesional .


       Este material no es más que un primer intento para cubrir la limitación de
información que sobre este tema presenta el texto que se emplea en la asignatura
Electrónica, que se imparte a las carreras de Ciencias Técnicas, permitiendo a los
estudiantes disponer de forma condensada de los contenidos relacionados con esta
temática previstos en dicha asignatura.




                                          1
1-)Computadora Digital.

        Una computadora digital puede entenderse como un sistema que explora
secuencialmente una información almacenada llamada programa, interpreta este
programa y lo ejecuta.
        Para ello el sistema dispone de un HARDWARE, o sea, de una constitución
física conformada por circuitos integrados interconectados sobre tarjetas de circuito
impreso agrupadas en elementos funcionales de características definidas que conforman
la MEMORIA, la UNIDAD de CONTROL, la UNIDAD LOGICO-ARITMETICA y
las UNIDADES de ENTRADA-SALIDA.
        Simultáneamente dispone de un soporte no físico sino operativo, de un método
de diálogo y por tanto de aceptación de órdenes, y de generación de mensajes. Ello lo
constituye el conjunto de instrucciones al cual responde directamente, y es un elemento
que caracteriza a cada computadora, y que recibe el nombre de SOFTWARE básico. El
SOFTWARE no se limita al conjunto de instrucciones, sino que incluye también
programas inteligibles por el computador, por tanto escritos de acuerdo con el
SOFTWARE básico y que permiten interpretar programas escritos con lenguajes más
evolucionados.
        El programa lo constituye un listado detallado de operaciones a desarrollar por la
computadora en un orden consecutivo y lógico y es escrito en un lenguaje que sea
comprensible para la máquina y que por tanto permita alcanzar ciertos resultados. El
programador, atendiendo al lenguaje de la máquina que lo ocupa, al problema específico
y a las operaciones simples que la máquina puede realizar, confecciona el listado de
instrucciones (órdenes), a través de las cuales especifica la operación que debe ejecutar
y la ubicación del o de los operandos sobre los que ejecutará la acción indicada.
        Este programa se carga (almacena) en la memoria en el orden secuencial
previsto, constituyendo cada instrucción un grupo de 1 y de 0 que caracteriza o define
una operación y no a otra. A esta representación binaria de las instrucciones de una
computadora se le llama lenguaje de máquina o código de máquina.
        Los programas que pueden ser directamente ejecutados por una computadora
digital están pues almacenados en lenguaje de máquina, no obstante, confeccionar
programas en lenguaje de máquina resulta una tarea laboriosa y compleja, por lo que
surgió el interés de crear lenguajes más asequibles para el ser humano y que tuviesen
una cierta relación con la manera con que aquél especifica las operaciones de un
proceso de información.
        De esta forma nació el lenguaje simbólico (assembler), que sustituye las
combinaciones binarias del lenguaje de máquina por nombres simbólicos que hacen
referencia a la operación que realiza la computadora cuando ejecuta la instrucción
correspondiente. Cada instrucción del lenguaje simbólico es equivalente a una
instrucción del lenguaje de máquina.
        Aunque el lenguaje simbólico es más fácil de manejar que el de máquina,
todavía dista bastante del utilizado por el ser humano para expresar los procesos de
información, en especial las operaciones complejas que implican la ejecución de un
número elevado de operaciones elementales en secuencia. Por ello se crearon lenguajes


                                            2
de alto nivel que permiten especificar más fácilmente los procesos de información,
donde cada instrucción se convierte posteriormente en un conjunto de instrucciones en
lenguaje de máquina.
        Tanto el lenguaje simbólico como los de alto nivel, hicieron necesario el
desarrollo de programas que al ser ejecutados por un computador tradujeran los
programas escritos en aquellos al lenguaje de máquina.
        Estos programas traductores se conocen con el nombre de compiladores y
realizan la traducción al lenguaje de máquina para la totalidad del programa de una sola
vez. Esta versión traducida del programa escrito en un lenguaje de alto nivel (llamado
programa fuente), se denomina programa objeto, y puede transferirse a la memoria y
ejecutarse directamente.
        Los programas intérpretes utilizan otros principios de funcionamiento. Cada
instrucción escrita en el programa fuente le indica al intérprete un conjunto de acciones
que debe cumplir sin que medie un programa objeto en código de máquina. La principal
ventaja de un intérprete es que permite fácilmente probar y poner a punto el programa.
        Tanto el programa intérprete como el programa fuente permanecen en la
memoria durante la ejecución del programa, lo cual generalmente ocupa una mayor
capacidad de memoria, y no se posee un programa objeto en código de máquina para
su posterior concatenación con cualquier programa.
        Posteriormente surgió la combinación de intérprete y compilador en un solo
paquete de programas, pudiendo aprovecharse las ventajas de ambos sistemas, como es
el caso del TURBOBASIC, TURBOPASCAL, etc.

1.1-Generaciones de computadoras digitales .

        Desde la creación de las primeras computadoras digitales en el año 1947, se han
sucedido diferentes generaciones o estadios de desarrollo tanto a nivel de HARDWARE
como a nivel de SOFTWARE.
        En las llamadas primeras generaciones se utilizaron tubos de vacío como
elementos lógicos y como memorias se utilizaron tambores magnéticos, el SOFTWARE
aún no se llamaba así y era muy primario, a nivel de lenguaje-máquina y de tímidos
ensayos simbólicos.
        En la 2da generación, hacia 1956, se utilizaron ya transistores de germanio y,
posteriormente de silicio (el transistor se había inventado en 1947 y se había
industrializado pocos años después.) por la parte lógica, la memoria ya fue de ferritas y
se continuó usando memoria exterior de tambor, discos y cintas magnéticas; el
SOFTWARE era el mismo de la anterior generación, pero incluía ya compiladores
fortran aún bastante primarios, aunque fueron mejorando con el tiempo.
        El primer gran cambio de los lenguajes se produjo pues, en esta generación.
Mientras hasta entonces los programas en lenguaje-máquina o en lenguaje simbólico
debían ser escritos para una máquina concreta puesto que eran orientados a las
máquinas, a partir de entonces fueron orientados al problema, por lo que el programa
era aplicable a cualquier máquina siempre que existiera el traductor (compilador)
adecuado a aquella máquina.
        La tercera generación apareció hacia 1964 simultáneamente con la aparición de
las MINICOMPUTADORAS. El hardware era realizado con circuitos integrados RTL y
ECL que evolucionaron hasta los TTL en 1966. La MEMORIA continuaba siendo de
ferritas y el software llego a su mayoría de edad con lenguajes de alto nivel FORTRAN,
COBOL y sobre todo con la aparición de SISTEMAS OPERATIVOS. Fue el momento
de la incorporación de las computadoras al control del procesos.


                                           3
La cuarta generación apareció hacia 1971 simultáneamente con la aparición de
las MICROCOMPUTADORAS, de las terminales de TELEPROCESOS y solapándose
con los lenguajes de más alto nivel (PL1, ALGOL68, BASIC, etc.).




                                         4
1.2) Estructura de una Computadora Digital.

       La estructura típica de una computadora digital ha sido en las primeras
generaciones la que se muestra en la figura.

                                     Memoria




                                                                            Salidas
                                    Unidad de
               Entradas             Procesos
                                                            Unidad de
                                                             Control


       Esta estructura ha sido la primitiva y ha ido evolucionando variando, no en
esencia, sino en forma, hasta llegar a una estructura más moderna, la cual se muestra a
continuación:
                                    Bus de direcciones                                A


   Unidadde
   Unidad             Unidad de         Unidad de        Unidad de      Unidad de

    Entradas              Memoria        Procesos         Control        Salidas



                                        Bus de datos                                  D

                                       Bus de Control                                 C

        Puede verse que tanto en una como en otra figura las unidades funcionales son
prácticamente las mismas; lo que ha sufrido modificaciones han sido las
interconexiones de estas unidades, que modernamente se realizan por BUSES y antes no
se realizaban así.
        Un bus está formado por un grupo de líneas por donde se trasmiten los datos,
códigos de instrucción, señales de sincronización y códigos de dirección entre las
diferentes unidades funcionales de la computadora de forma paralela lo que permite una
alta velocidad de transmisión.
        La interconexión por buses ha representado un gran ahorro de interconexiones y
una simplificación desde el punto de vista estructural. Esta evolución ha sido debida al
desarrollo tecnológico que ha permitido obtener sistemas con tres estados lógicos
posibles (TRI-STATE): 1 lógico, 0 lógico y 3er estado también denominado estado de
alta impedancia, permitiendo que el dispositivo que no esté tomando parte del
intercambio de información en un momento dado pueda aislarse.
        En realidad las líneas del bus se agrupan en tres, de acuerdo con la información
que transportan: bus de dirección, bus de datos y bus de control.



                                               5
El bus de datos es bidireccional y por él circulan los datos que llegan o salen de
la computadora por las unidades de entrada y salida, así como los datos intermedios
que son leídos o almacenados en la memoria .De acuerdo con la longitud de la palabra
que es capaz de manejar el bus de datos, se designa la longitud de palabra de la
microcomputadora.
        El bus de direcciones es unidireccional, y con el código binario que aparece en
ese bus se selecciona la unidad o dispositivo que trabajará en cada instante.
        El bus de control está formado por varias líneas donde cada una posee una
función muy específica e indica a cada una de las unidades y dispositivos externos la
función que debe realizar. Así se logra la sincronización de todos los elementos de la
computadora, lo cual queda a cargo de la unidad de control. También sirve para que la
CPU reciba ciertas indicaciones de las unidades periféricas.
        En la figura se distinguen además los siguientes elementos funcionales: unidad
de entradas, memorias, unidad de proceso, unidad de control y unidad de salidas.
        La unidad de entradas no es más que un multiplexor con el que se escoge por el
bus de direcciones y el de control cuál de las informaciones presentes se desea traspasar
al bus de datos.
        La unidad de memoria es el almacén tanto de instrucciones como de datos.
        La unidad de proceso realiza las operaciones aritméticas y lógicas con las
informaciones que entran en ella a partir del bus de datos y el de direcciones. Tiene para
ello una unidad aritmética lógica (ALU), uno o varios acumuladores, unos registros de
indicadores o banderas, así como unos registros rápidos de trabajo (RRT) en los que se
almacenan temporalmente los datos que no interesa guardar indefinidamente en
memoria
        La unidad de control es el verdadero cerebro del sistema pues es capaz de tomar
decisiones lógicas en el curso de la ejecución de un algoritmo. Es decir, según
informaciones, normalmente suministradas por la unidad de procesos sobre el valor de
algún resultado, se puede ejecutar una parte u otra del programa, sólo con ir a buscar las
nuevas instrucciones a un sitio diferente de la memoria central. En ella se encuentra el
contador de programas con su sistema de aritmética de direcciones y el puntero del
stack. También se encuentra el registro de instrucciones, decodificador de instrucciones,
registros auxiliares, etc.
        La unidad de salidas recibe por el bus de datos la información a sacar al exterior
y por el bus de direcciones la dirección por la cual debe sacar los datos anteriormente
mencionados.
        Generalmente la Unidad de Control y la Unidad de Procesos se agrupan en un
solo bloque denominado UNIDAD CENTRAL de PROCESAMIENTO (CPU).

1.3- Elementos básicos de una microcomputadora.

       Una microcomputadora consta de tres elementos fundamentales: Unidad Central
de Procesamiento, la Memoria y las Unidades o Puertos de Entrada/Salida todo ello
debidamente interconectado mediante un sistema de buses. Su esquema será entonces el
mismo que aparece en la figura anteriormente mostrada, con la unión de las unidades de
control y de proceso en un solo bloque llamado CPU. La CPU unifica el sistema
controlando las funciones realizadas por los otros componentes.
       Se conoce bajo el nombre de microprocesador la CPU de la microcomputadora
construida en una sola pastilla de circuito integrado (CI) .Al igual que los procesadores
de todas las computadoras, el microprocesador puede manejar tanto datos aritméticos
como lógicos de forma paralela bajo el control de un programa . Sin embargo lo que los


                                            6
fabricantes ofrecen bajo el nombre de microprocesador varía mucho de uno a otro
modelo.
       En el 8080 por ejemplo, están integrados los bloques de procesos y la mayor
parte del control, en el 6800 está completo proceso y control; en el 2650 se incluye
además parte de las entradas/salidas, el 8048 es un ejemplo de los microcomputadores
en una sola pastilla, pues incluye casi todo lo necesario para constituir un pequeño
sistema, y en general, en la medida que se desarrollan los microprocesadores, estos
abarcan cada vez estructuras mas complejas.
       A continuación haremos una descripción más detallada de cada uno de estos
elementos de la microcomputadora.

1.3.1 - Unidad de Memoria.

         En la memoria se almacenan los datos, los resultados y el programa de trabajo en
el cual se basará la CPU para regir las actividades a realizar en el sistema. La memoria
posee un conjunto de N posiciones numerados desde 0 hasta N-1, direccionables con n
bits tal que 2n = N. Por ejemplo con n=16 bits, se direccionan 216 = 65536 posiciones. Si
cada una de estas posiciones permite guardar un byte (palabra de 8 bits), podemos decir
abreviadamente que con n=16 bits se direccionan 64 Kbytes de memoria siendo
1Kbyte=1024 bytes.
         La longitud de la palabra que se almacena en la memoria coincide con la
longitud de la palabra que es capaz de manejar el bus de datos, puesto que la memoria
recibe y entrega información a dicho bus mediante los procesos llamados lectura y
escritura .
         Con ayuda de un esquema pasaremos a describir como se llevan a efecto estos
procesos:
                                 0
                      MEMR       1
                                             .                       n
                                             .
                                             .
                      MEMW       N-
                                 N-1                               2 =N
                                       MAR           MDR


    AB

    DB

    CB

        Cuando la CPU desea hacer una lectura en la memoria, coloca en el bus de
direcciones (AB) la dirección de la memoria que se desea leer, y coloca un “1” en
MEMR (memory read) del bus de control (CB) . La dirección se transfiere al registro de
direcciones de memoria (MAR - memory adresss register) y desencadena el proceso de
lectura como resultado del cual al cabo de cierto tiempo de acceso al contenido del
registro direccionado, aparece en MDR (registro de datos de memoria - memory data
register) y de ahí pasa al bus de datos (DB - data bus).
        La escritura se realiza de forma similar solo que se coloca un “1” en MEMW
(memory write) y en MDR entra el contenido de DB que pasa a escribirse en la
memoria




                                                 7
En la figura siguiente se muestra un segmento      de 8 localizaciones de memoria
cuyas direcciones están numeradas desde la 83F2H (el       sufijo H significa que el número
está escrito en notación hexadecimal) hasta la 83F9H:
Dcion.                        CONTENIDO
(Hex.)
83F2      0         0       1        1         1           1        1        0        (3E)
83F3      0         1       0        0         0           0        0        1        (41)
83F4      1         1       1        1         1           1        0        0        (FC)
83F5      1         1       0        1         0           1        0        1        (D5)
83F6      0         1       1        1         1           0        1        0        (7A)
83F7      0         0       1        0         0           0        1        0        (22)
83F8      0         1       0        0         0           0        0        0        (40)
83F9      1         1       1        0         1           0        1        1        (E8)


        Cada localización de memoria tiene su propio contenido. Por ejemplo, la
localización con dirección 83F6H tiene como contenido 01111010, el cual expresado en
hexadecimal corresponde a 7AH. Este contenido es el que se entrega al bus de datos en
el caso de que sea direccionada esta localización y se diese la orden de lectura.
        Como se apuntó anteriormente una secuencia de instrucciones que persiguen un
propósito determinado constituye un programa. Este programa se almacena en la
memoria para ser ejecutado. La CPU lee cada instrucción de dicha secuencia y la utiliza
para iniciar acciones de trabajo.
        La memoria también se usa para almacenar los datos que son manipulados. La
CPU puede rápidamente tener acceso a cualquier dato almacenado en la memoria.
        La capacidad de la memoria que se mide en octetos (bytes), está dada por el
número de localizaciones de memoria existentes. En muchas ocasiones se expresa en
kilooctetos (Kbyte) y en otras indicando el producto del número de las localizaciones
por el número de bits de cada una de ellas. Por ejemplo, una capacidad de 4K x 8 bits
indica que la memoria contiene 4096 localizaciones de 8 bits cada una.
        El tiempo de acceso se define como la demora en tiempo desde el instante que se
fija una dirección de memoria hasta que se tiene acceso a la información almacenada
(tiempo de lectura), o se completa la modificación de la información almacenada
(tiempo de escritura). El acceso aleatorio significa que el tiempo de acceso a una
localización de memoria particular es independiente de su dirección.
        Por último debemos recordar que las memorias en las computadoras se clasifican
en general en dos grupos: memorias de acceso aleatorio (RAM) con las cuales se
conforma la memoria operativa y memoria de solo lectura (ROM) que integran la
memoria permanente (con sus variantes PROM, EPROM, EEPROM, etc.).

1.3.2- Interfaces, puertos o unidades de entrada-salida.

        Las interfaces de entrada y salida son toda una colección de hardware y de
software que permite la comunicación entre la CPU y los dispositivos de entrada y de
salida y de hecho con el mundo exterior. La parte correspondiente al software en la
interface es llamada protocolo, y formalmente especifica las convenciones que gobierna
el formato y la forma de control de las entradas y salidas entre dos sistemas de
comunicaciones.
        Se necesita de la existencia de una interface de entrada debido a que los
dispositivos de entrada generalmente no son compatibles con la CPU y por tanto es


                                            8
necesario convertir las señales eléctricas de entrada en un tipo que sea aceptable a esta.
Esto también se aplica aunque de forma invertida para el caso de los dispositivos de
salida. Físicamente las interfaces de entrada y salida son C.I. extremadamente versátiles
en sus funciones los cuales pueden ajustarse mediante la variación de sus software
correspondientes.
        Las tareas más simples son realizadas por los puertos de entrada y salida (PIO).
Los PIO pueden ser incluidos como parte integrante del C.I. junto a la CPU o pueden
aparecer de forma independiente. En este último caso es un MSI chip (circuito integrado
de escala de integración media), que contiene un buffer de registro de direcciones
multimodo con salida de tres estados.
        A través de los puertos de entrada la microcomputadora puede recibir
información de cualquier dispositivo externo, como por ejemplo, un teclado de
caracteres alfanuméricos, un disco magnético, o las señales provenientes de un proceso
industrial o un instrumento médico. A su vez la microcomputadora también requiere
uno o más puertos que permitan a la CPU comunicar el resultado de su actividad al
mundo exterior. La salida puede ir a un visualizador de televisión, para ser usada por un
operador o un impresor para producir una copia legible en papel, también puede estar
constituida por señales para el control de procesos que dirijan las operaciones de otro
sistema.
        Tanto los puertos de entrada como los de salida son direccionables, es decir;
para trasmitir información hacia el puerto, o recibirla donde esté, es necesario que la
CPU envíe previamente un número que lo identifica y que constituye a su vez la
dirección del puerto.
        Dos tipos de entrada-salida se hallan en la computadora en una tarjeta: los
puertos de entrada-salida en paralelo y los puertos de entrada-salida en serie.
        Los PIO paralelos permiten la entrada-salida de datos en forma paralela, es decir,
todas las líneas del bus de datos entran o salen a la vez de la microcomputadora, lo que
posibilita una transferencia de datos entre la CPU y cualquier equipo periférico a alta
velocidad.
        Los PIO en paralelo más usados son los de tipo programable, es decir, que puede
la misma pastilla ser usada como entrada o como salida de acuerdo con el programa de
instrucciones que realice el usuario.
Ejemplo : El circuito integrado 8255 constituye un PIO programable con E/S Paralelo
Tiene 8 terminales de datos que se conectan al bus de datos y 24 terminales de salida
que pueden agruparse en tres grupos de 8 bits, ó 4 grupos (2 de 8 bits y 2 de 4 bits).
             Bus de                                         8
             Datos                   D0-D7          PA
                                     A0
                                                            8
                                     A1             PB

                                     Rd      8255           8
                                     Wr             PB

                                     Cs




                                              9
A1        A0       Rd   Wr      Cs
     x         x        x    x       1         D0-D7 en 3er estado
     x         x        1    1       0         D0-D7 en 3er estado
     0         0        1    0       0         D0-D7 → Puerto A
     0         0        0    1       0         D0-D7← Puerto A
     0         1        1    0       0         D0-D7 → Puerto B
     0         1        0    1       0         D0-D7 ← Puerto B
     1         0        1    0       0         D0-D7 → Puerto C
     1         0        0    1       0         D0-D7 ← Puerto C
     1         1        1    0       0         D0-D7 → Palabra de
                                                    Control

        De acuerdo con la tabla que se muestra, puede conocerse la combinación que se
necesita aplicar a las entradas para producir el traspaso de la información en cualquier
sentido entre el bus de datos y las salidas Pa, Pb y Pc.
        Los PIO serie se emplean cuando se requiere que la transferencia de datos entre
los periféricos y la computadora, se realice en forma serie, es decir, bit a bit de cada
octeto de dato. Por ejemplo, cuando se trasmiten datos entre dos computadoras a través
de una línea telefónica, el formato que se utiliza es el de la transmisión en serie.
        Como la microcomputadora trabaja con los datos en paralelo, para trasmitir o
recibir datos en serie es necesario un PIO que conecte datos de paralelo a serie y
viceversa
        La gran ventaja de la transmisión en serie es que necesita solamente dos
alambres para trasmitir todas las señales necesarias entre módulos o sistemas. Por otra
parte, la desventaja radica en que el intercambio de datos se realiza a menor velocidad
que si fuera en paralelo.


         Ej.: El circuito integrado 8251.


            Bus de Datos             D0-D7
                                                           TxD           Salida de Datos Serie

                                       Rd                  RxD           Entrada de Datos Serie

                                       Wr

                                       Clock        8251
                                       Cs




1.3.3- Unidad Central de Procesamiento (CPU).

       Es el corazón de la microcomputadora, siendo la encargada de unificar el
sistema a la vez que controla las funciones realizadas por las otras unidades .



                                               10
Esta unidad es capaz de buscar instrucciones en la memoria, decodificar su
contenido y ejecutarlas. Es la encargada de comunicarse con la memoria y con los PID
tantas veces como sea necesario durante la ejecución de un programa. La CPU deberá
también reconocer y responder a ciertas señales de control externo, tales como
solicitudes de interrupción u otras a fines. Lleva en su interior la base de tiempo que
genera los ritmos o impulsos de reloj de las diferentes partes del sistema .
        Todas las instrucciones tienen dos tiempos fundamentales, llamados busca
(fetch) y ejecución (execute). El tiempo de ejecución empieza por un subtiempo de
decodificación de la instrucción y prosigue con la parte de ejecución que puede tener
varios subtiempos , dependiendo del tipo de instrucción. La suma del tiempo de busca y
el de ejecución, da lo que se conoce como ciclo de instrucción y el mismo depende no
solo del tipo de instrucción sino también de las características de velocidad de la CPU.
        La CPU realiza también las operaciones aritméticas y lógicas, así como la
transferencia entre acumulador, registros de trabajo, etc.
        Cuando la CPU se fabrica en un solo chip, a dicha estructura como señalamos
anteriormente, se le da el nombre de microprocesador. Por la importancia que tienen
estos dispositivos, en los epígrafes siguientes de este material se realizará un estudio
más detallado del mismo.

       2-Microprocesadores.
        Pocas áreas de la electrónica han experimentado un progreso tan acelerado como
el ocurrido en el caso de los microprocesadores, las microcomputadoras y sus circuitos
asociados correspondientes. La complejidad de los circuitos integrados prácticamente se
ha ido duplicando en cada año a partir de los inicios de la década de los 60.
        Como consecuencia de este desarrollo, a finales de la década aparecieron los
circuitos integrados de gran nivel de integración (LSI) los cuales realizaban funciones
de un alto grado de complejidad. Ejemplo de ello fue el desarrollo de unidades lógico-
aritméticos (ALU) en un chip, que podían ejecutar muchas de las funciones de las
microcomputadoras actuales como son la suma, la resta, rotación y desplazamiento.
        Sin embargo, no fue hasta 1971 en que fue posible combinar esta unidad (ALU)
con circuitos secuenciales tales como flip-flops, registros de desplazamientos y otros
elementos, todo dentro de un chip, para dar lugar a un rudimentario microprocesador.
        La técnica de los microprocesadores implica una unión indisoluble entre el
HARDWARE y el SOFTWARE. No será posible la construcción de un sistema
completo si no se trabaja en ambos sentidos.
        Una microcomputadora está compuesta por un microprocesador, circuitos de
entrada-salida y las memorias, todo ello unido a los equipos periféricos, estando
íntimamente ligada la cantidad de estos elementos con las características de la
aplicación particular.
        El microprocesador es el puesto de mando donde se dirige el proceso de la
computadora y en el que ocurre una buena parte de él. De este componente depende la
velocidad del proceso, el sistema operativo que se correrá e incluso una importante
porción del consumo energético del equipo y del costo del sistema. Está constituido por
un chip de silicio cuya área aproximada en dependencia del modelo es de apenas 1.5
cm2 y en este reducido espacio se encuentran dispuestos varios millones de transistores
que son los verdaderos actores de procesamiento lógico de la información.
        Desde el más humilde Intel 4004 que en 1971 trabajaba a 0.2 MHz., hasta el
impresionante Pentium 4 de Intel con 3 GHz., todos los MP en esencia hacen lo mismo:



                                          11
reciben la información binaria y la procesan sobre la base de instrucciones predefinidas
que generan una nueva información también binaria.
        El MP reacciona constantemente a las instrucciones, pero no puede hacerlo con
todas a la vez, porque estas se atascarían. Ello se resuelve mediante una espera del
procesador hasta que se aprueba la recepción de la señal. El reloj del sistema determina
el tiempo de espera. A espacios definidos de tiempo, el reloj envía impulsos eléctricos
que marcan al sistema el rango de estas esperas. Si una instrucción se halla en espera y
el procesador no está ocupado con instrucciones previas, le da entrada y trabaja con
ellas. El número de instrucciones que el MP puede procesar por cada una de estas
pulsaciones de reloj (ciclos) dependerá del diseño o arquitectura del mismo. En sus
inicios las CPU podían manejar una sola instrucción por ciclo, pero en la actualidad esa
cifra se ha incrementado notablemente a partir de dos concepciones aplicadas a la
construcción de esos sistemas: la canalización y la ejecución superescalar.
        La canalización permite que el procesador lea una nueva instrucción de la
memoria antes de terminar la fase de la instrucción en curso. Algunos de los modernos
MP pueden trabajar simultáneamente con varias instrucciones. La profundidad del canal
será la medida del flujo de datos que puede aceptar el sistema. Digamos por ejemplo
que el 80486 tiene una profundidad de canal de 4, o sea, que hasta 4 instrucciones
pueden encontrarse en distintas etapas de canalización, ya en el pentium esa cifra es de
5 y crece en el diseño de CPU con tecnología MMX y otros equivalentes como el K6 y
en superiores como el pentium II.
        La ejecución superescalar significa que el sistema posee más de un canal, lo que
significa que puede procesar más de un grupo de instrucciones a la vez. Si bien
técnicamente esto debería multiplicar el desempeño, en la práctica no es exactamente
así, pues ocurre que un canal espera a que termine el otro. No obstante, en términos
prácticos optimiza el funcionamiento del procesador.
        En la historia de los MP han existido dos filosofías de diseño: la CISC y la
RISC.
CISC (Complex Instruction Set Computing), creada por IBM como un software sencillo
almacenado en el chip y que contenía las instrucciones para el procesador, permitió
salvar el escollo que representó la complejidad sucesiva de las aplicaciones de software
que en otras circunstancias habría llevado al cambio constante del hardware en función
de los programas. Al ejecutarse, los programas CISC ocupaban menos espacio en
memoria y esta última valía en los años 60 y 70 más que el oro. CISC se incluye en los
procesadores Mainframe de IBM, los Motorola 680X0 y es emblemático de los
procesadores Intel, principalmente de los X86 y todavía se utiliza en los pentium
actuales.
        En el diseño RISC (Reduced Instruction-Set Computing), existen menos
instrucciones, cada una tiene una longitud de 32 bits y se ejecuta en un solo ciclo de
reloj. Con esta arquitectura, los procesadores incorporan una caché de memoria de alta
velocidad en la que se almacenan la secuencia de instrucciones a ejecutar. El uso eficaz
de tales datos depende en gran medida de la canalización, que en esta arquitectura
adquiere un protagonismo indiscutible. Bajo esta concepción se desarrollaron algunas
de las CPU más poderosas en la actualidad tales como los Power PC de Macintosh,
incluido el célebre 750, más conocido como G3, los alpha de las estaciones Silicon
Graphics y los SPARC de Sun Microsystem. Incluso hasta unidades tan sencillas como
las máquinas de juego Nintendo, poseen en su interior uno de estos dispositivos.
        Por sus innumerables aplicaciones los microprocesadores han invadido los más
diversos campos de la ciencia y la técnica, abarcando desde complejos sistemas de
control o de computo hasta sencillos equipos electrodomésticos o de juguetería,


                                          12
incluyendo sistemas de comunicación de datos, diagnóstico médico, control numérico
de máquinas herramientas y otros.
        Dentro de las ventajas de los sistemas con los microprocesadores podemos
señalar las siguientes:
a-) Pueden realizar muchas operaciones por software, en lugar de usar componentes
electrónicos.
b-) Reducción del tamaño, no sólo del microprocesador, sino del resto de los circuitos
que lo complementan.
c-) Aumento de la fiabilidad, ya que disminuye el número de componentes.
d-) Flexibilidad en el diseño.
e-) Disminución de los costos tanto en diseño, como de la producción y reparaciones.
        En cuanto a las desventajas mencionaremos:
a-) El aprendizaje del software, pues cada microprocesador posee un juego de
instrucciones a las cuales responde.
b-) Los métodos difíciles de prueba que deben hacerse a la velocidad de trabajo del
microprocesador.

2.1) Estructura típica de un microprocesador de 8 bits. ( ver esquema anexo).

       Aún el microprocesador más simple presenta una estructura compleja, pues en
ella se encuentran un gran número de nudos y unidades tales como sumadores,
decodificadores, registros de todo tipo, flip-flops, esquemas lógicos, etc.
       Por otra parte, la rapidez, potencia y complejidad de estos dispositivos se
perfeccionan más cada día, por lo cual no es posible en un material de este tipo efectuar
un estudio profundo de este aspecto, además de irse fuera de los objetivos que no hemos
trazado con su escritura.

       Es por ello que para brindar una idea general de la estructura y lograr una
comprensión más simple, analizaremos como se conforman los MP de 8 bits y para ello
consideraremos la existencia de dos bloques funcionales dentro del microprocesador, a
los cuales denominaremos como bloque, subsistema o unidad de procesamiento, y
bloque, subsistema o unidad de control.

2.2) Bloque de Procesamiento.

        El núcleo fundamental del bloque de procesamiento lo constituye la unidad
aritmética y lógica (ALU), la cual está conformada por un circuito combinacional capaz
de realizar las operaciones aritméticas (suma y resta) y lógicas ( nd, or, not, etc)
                                                                     a
indicadas en el código de la operación.
        Para poder realizar su función la ALU cuenta con la ayuda de varios registros.
La ALU puede operar con los datos provenientes de uno o a lo sumo dos de los registros
a la misma vez. Uno de estos registros es más versátil que los restantes y recibe el
nombre de acumulador, mientras que los otros registros se denominan de propósito
general.
        Estos registros se utilizan para:
-almacenamiento temporal de datos y direcciones
-su contenido se puede transferir entre ellos y con la memoria
-sumar su contenido con el que existe en el acumulador
-comparar su contenido con el que existe en el acumulador
-incrementar o decrementar su contenido, etc.


                                           13
El acumulador además de las funciones antes mencionadas podrá:
-rotar su contenido
-complementar su contenido
-aceptar o enviar datos a los PIO
-realizar operaciones aritméticas y lógicas con el contenido de cualquiera de los
registros de propósito general
-en general el acumulador siempre es el origen de uno de los operandos y el destino del
resultado.

        Los dispositivos encargados de transferir el contenido del registro seleccionado
hacia la entrada de la ALU son los llamados multiplexores. Igualmente otros
multiplexores serán los que muevan la información desde la salida de la ALU hacia un
registro de destino, donde se mantiene la información hasta que sea requerida por algún
circuito externo. Todas estas operaciones son controladas por un circuito secuencial el
cual se acopla a todos los registros y multiplexores. Por ejemplo, para un
microprocesador de 8 bits, el acumulador y los multiplexores son dispositivos capaces
de manejar una longitud de palabra de 8 bits, aunque en el caso de los registros de
propósitos generales pueden en ocasiones utilizarse por parejas y conformar una
estructura de 16 bits.
2.2.1) Registro de Indicadores.

        Existe aquí además un registro sumamente importante denominado registro de
indicadores o banderas, el cual trabaja muy vinculado a la ALU, ya que le va indicando
a ésta el estado de las operaciones aritméticas o de rotación que va realizando.
        Por ejemplo en el MP 8080 el registro de indicadores posee 8 bits, pero sólo 5 de
ellos son significativos de acuerdo a la estructura que se muestra a continuación:


         SIGNO             ACARREO                             PARIDAD         ACARREO

           S         Z          X      A            X           P        X        C
           D7        D6         D5     C            D3          D2       D1       D0
                                       D4
                    CERO




DO (ACARREO)-Se activa en 1 cuando al realizar una operación aritmética el resultado
no cabe en el acumulador.
     Ejemplo:                Binario           Decimal
                           11011001               207
                          +10010001               145

                 Acarreo 101101010                       452

        Al realizar una operación de dos bytes se obtuvo como resultado un número de 9
bits, haciéndose necesario entonces un 1 en el indicador de acarreo.

D2 (PARIDAD) - Si al efectuar una operación, el número de bits presente con el estado
lógico 1 es par (2, 4, 6 u 8), se fija un 0 lógico en el bit de paridad. De la misma forma



                                            14
si el número de 1 lógicos en el acumulador es impar (1, 3, 5 ó 7), se fija un 1 lógico en
dicho bit de paridad.
Ejemplo: Si en el acumulador hay 11001100 entonces D2 es cero, pero si el contenido
del acumulador es 10101000 entonces D2 es 1.

D6 (INDICADOR DE CERO). - Se activa con 1 lógico cuando el resultado de la
operación en el acumulador da 00000000, y presenta un 0 lógico en caso contrario.

D7 (INDICADOR DE SIGNO). Si está en 1 lógico indica que el contenido del
acumulador es negativo y el 0 lógico indica que es positivo.

D4 (ACARREO AUXILIAR).- El programador no tiene acceso a él. Se utiliza para
convertir un número de binario a BCD.

        En otros microprocesadores pueden emplearse otros tipos de indicadores.
Algunos de ellos los relacionamos a continuación:
E - se activa con la existencia de dos palabras de entrada iguales.
GT-indica una palabra de entrada mayor que la existente en la otra entrada.
GE- indica una palabra de entrada mayor o igual que la existente en la otra entrada.
LT- indica una palabra de entrada menor que la existente en la otra entrada.
LE - indica una palabra de entrada menor o igual que la existente en la otra entrada.

2.3) Bloque de Control.

        El bloque o unidad de control constituye el cerebro rector de todas las
actividades dentro del microprocesador. Entre sus funciones fundamentales se encuentra
el decodificar (interpretar) los códigos de operación de las instrucciones del programa, y
el generar las señales que viajan por el bus de control, las cuales deben estar
sincronizadas para su correcta manipulación por el resto de las unidades.

        Dentro de las secciones que constituyen esta unidad se encuentra el registro de
instrucciones, el decodificador de instrucciones y el contador de programa.

        Un contador de programa típico para un microprocesador de 8 bits, almacena
una palabra de 16 bits. El contenido de este contador se corresponde con la localización
de memoria externa donde se encuentra la instrucción que se ejecuta por el
microprocesador; o lo que es lo mismo, la dirección de la memoria que se encuentra
activada. Este contador se incrementa automáticamente en una unidad durante cada
ciclo de máquina.
        Cuando se inicia el proceso de ejecución de un programa, un circuito externo fija
el contenido del contador de programa el cual será la dirección específica de la memoria
en la cual se encuentra almacenada la primera instrucción del programa. Esta
instrucción se lee en la memoria, y mediante el bus de datos se traslada al registro de
instrucciones.
        El registro de instrucciones es el encargado de almacenar temporalmente la
instrucción extraída de la memoria para que el decodificador de instrucciones determine
cuál es la operación que se debe hacer. De acuerdo con ello este decodificador producirá
las señales necesarias para encaminar los datos en un sentido o el otro, indicará que
operación deberá hacer la ALU y si hay que producir algún cambio en el contador de




                                           15
programa, a la vez que emitirá las señales para entrelazar todos los diversos registros del
microprocesador que son necesarios para la ejecución del una instrucción en particular.
        La unidad de control cuenta además con una sección de tiempo o sincronización
que realiza una función muy importante, pues el MP como ya hemos señalado a partir
de la salida del decodificador de instrucciones tiene que especificar los ciclos
apropiados de máquina que son necesarios para la ejecución correcta de dicha
instrucción. Todo esto es posible lograrlo mediante la generación de la señal de control
y de tiempo internas apropiadas y su envío a los diferentes elementos y componentes
dentro y fuera de MP.
        Para sincronizar todo este proceso los MP disponen de un generador interno de
pulsos llamados pulsos de reloj, cuya frecuencia se controla exteriormente mediante una
red RC o modernamente mediante un CRISTAL conectado a sus terminales .
        En el microprocesador se encuentran también presentes algunos registros
adicionales que se utilizan para el almacenamiento temporal de datos. Por ejemplo,
usualmente se coloca un registro entre el contador de programa y la memoria, que se
denomina registro de direcciones de memoria (MAR); y entre la memoria y el registro
de instrucciones en ocasiones se emplea un registro denominado registro de datos de
memoria (MDR).
        Cada instrucción programada por un usuario requiere de la realización de un
determinado número de operaciones internas denominadas microinstrucciones, y de
aquí surge la necesidad de almacenar un cierto número de resultados intermedios. El
conjunto particular de microinstrucciones de un microprocesador se almacena en una
ROM llamada ROM de control o microROM, la cual generalmente se encuentra dentro
del propio C.I. del microprocesador.


 2.4) Temporización y Sincronización.

        En cada microprocesador, el tiempo de duración de los eventos, o sea, la
velocidad a la cual se procesa, está determinado por los pulsos de reloj. Estos pulsos
difieren de un MP a otro, utilizándose en algunos de los casos un sólo tren de pulsos,
mientras que en otros se emplean dos. En el ejemplo representado en la figura se
emplean dos trenes o grupos de sucesión de pulsos Q1 y Q2, suministrando por un
generador de reloj, llamado comúnmente sólo como reloj.



       1


       2


                   Período de reloj



       Cada tren de pulsos está compuesto de pulsos cuadrados idénticos en amplitud,
duración y frecuencia de repetición, pero la fase Q1 está desplazada de la fase Q2 por
medio período, o sea, la salida de Q2 está demorada T/2 en relación con la salida de Q1.
       El cambio de un estado a otro del MP se produce en sincronización con estos
pulsos de reloj. La secuencia de estados a través de los cuáles se desplaza el control




                                            16
durante el procesamiento de una instrucción, es a lo que se le denomina ciclo de
instrucción.
        La sucesión de estados (generalmente entre 3 y 5) en los cuales se efectúa una
comunicación con la memoria y se procesa el dato por este comunicado, constituye lo
que se conoce con el nombre de ciclo de máquina. En general un ciclo de instrucción
está compuesto de uno o varios ciclos de máquina en dependencia de su complejidad.

2.5) Instrucciones que alteran el contador de programa .

         Existen instrucciones que conllevan a una alteración del contenido del contador
de programas. Dentro de ellas se encuentran la realización de las siguientes operaciones:
a) salto incondicional (JMP)
b) salto condicional (JNZ , JP)
c) salto a subrutinas (CALL , CNC , CC)
d) instrucciones de retorno (RET , RPU , RM)
e) instrucciones de carga (PCHL)
d) interrupción.
         Siempre que se realice un salto a subrutina debe, después de haberla ejecutado,
aparecer una instrucción de retorno, y el contador de programa debe retornar a su valor
original desde donde saltó para continuar la ejecución del programa.
         Para garantizar esto se crea una zona en memoria (RAM) llamada STACK
(pila), llamada así por la estructura que tiene de almacenar los datos en forma de pila,
donde el último dato que entra es el primero que sale (LIFO - last in first out).
         Cuando se realiza un salto a subrutina, el contenido del contador de programa
(PC) se guarda en la pila; si dentro de esa subrutina salta a otra, se vuelve a guardar en
la pila el contenido que tenia el contador de programa y así sucesivamente; esto permite
que al ir terminando la ejecución de cada subrutina se vaya retornando hacia el
programa principal con sólo llevar con cada instrucción de retorno el último dato que
entró a la pila al PC.
         Pero existe un detalle muy importante. Es necesario saber en que localización de
memoria se encuentra el último dato que queda en la pila. Es por ello que existe el
puntero del stack.




                                           17
2.5.1)Puntero del STACK (SP).

        Es un registro de 16 bits que se encuentra dentro del MP, encargado de indicar la
próxima localización posible de memoria a ser ocupada dentro del stack. Este registro se
carga inicialmente con el código que representa la primera capacidad de memoria vacía
que será utilizada como pila y se irá decrementando en una unidad cada vez que se
introduzca un dato de 8 bits. Por cada dato extraído se produce un incremento.
        Veamos cómo trabaja el puntero del stack mediante un esquema:


         PROGRAMA                 PILA       SUBRUTINA A        PILA          SUBRUTINA B
         PRINCIPAL
                                                         SP
                      SP                                            DR2
                                  DR1                               DR1




                                         1                                2
                                              DR2
         DR1




                                         4                                3


                           PILA                               PILA



                                                    SP
               SP                                             DR1



Si la salida del programa en lugar de ser por un salto a subrutina es por una interrupción,
además de la dirección en que se estaba, en la pila se guardan los datos necesarios para
poder continuar la ejecución del programa.

2.5.2) Interrupciones.

         Formalmente el tratamiento de interrupciones es bastante semejante al de salto a
subrutina, pues en realidad es un salto a subrutina. Sin embargo, este es un nuevo
mecanismo con una función diferente y, por cierto, muy utilizado en las aplicaciones
con microprocesadores.
         En principio cuando un procesador ejecuta un programa no existe forma de
alterar la frecuencia predeterminada (y que incluye, claro está, saltos y subrutinas).
         En estas condiciones la CPU sólo se entera de acontecimientos externos (por
ejemplo llegada de datos o petición de resultados por parte de algún periférico), si se
realiza por iniciativa del programa una verificación de dichos posibles acontecimientos.
Ello obligaría al programador a incluir periódicamente subrutinas de comprobación de
periféricos y llevar en todo momento control de los tiempos de ejecución.
         Las interrupciones son solicitudes de servicio que llegan por líneas especiales
(en un mecanismo de hardware), y que pueden recabar la atención de la CPU en


                                               18
cualquier momento. Después será cuestión del procesador el decidir si dicho servicio es
prioritario o no sobre lo que estaba haciendo, y romper la secuencia en curso.
        Como ya se ha dicho, formalmente una interrupción es muy parecida a un salto a
subrutina, pero la llamada no se realiza por una instrucción especial sino activando
asíncronamente una línea especial (puede haber varias). La CPU termina la instrucción
en curso y después o sale hacia donde debe saltar o lo pregunta. Los detalles deben ser
estudiados en relación a cada máquina en concreto.
        Existe sin embargo una diferencia muy importante entre el salto a subrutina
dentro de un programa y el salto a la subrutina de atención a una interrupción. Cuando
el procesador la recibe, está ejecutando una tarea que en cada momento está
representada por un conjunto de informaciones de las cuales depende la evolución
posterior de su trabajo, y que deben de ser preservadas si la tarea que está realizando
ahora, más adelante ha de reemprenderse en el mismo punto en que se abandonó para
atender la interrupción.
         Estas informaciones pueden ser resultados parciales o datos en memoria, datos
presentados por el medio exterior, etc. que en principio no se pierden ni se alteran por el
cambio de tarea pero también se necesita guardar todo el estado de la CPU, es decir, el
contenido de sus registros, pues estos van a sufrir alteraciones. Por tanto en el salto a
interrupción no basta con guardar el contenido de PC (dirección de retorno) sino que es
necesario guardar en principio los contenidos del acumulador, registro de estado,
registros generales de trabajo, etc. Para ello se utiliza también el stack. Según el
microprocesador que se trate, la salvaguarda del estado se realiza automáticamente al
aceptar la interrupción, o bien el mismo programador lo incluye como primeras
instrucciones en la subrutina del servicio. De la misma forma la recuperación de estos
datos puede ser automática con la instrucción RTI (retorno desde interrupción), o bien
por instrucciones especiales antes de RET. Las instrucciones especiales son PUSH,
guardar un dato en el STACK (al mismo tiempo que se decrementa el SP), o POP,
recuperar un dato del STACK (incrementando previamente SP).
        Las operaciones de entrada-salida controladas por interrupción se deben utilizar
cuando el tiempo de respuesta a la solicitud de atención por parte de un periférico ha de
ser lo más rápido posible.
        La secue ncia de operaciones es la siguiente:

        - el periférico solicita señal de servicio a través de una señal que activa una de
sus líneas de interrupción

       - la CPU completa la ejecución de la instrucción en curso, guarda el contenido
del contador de programa (para asegurar la dirección de retorno) y salta a ejecutar la
subrutina de interrupción, emitiendo una señal de reconocimiento a esta interrupción

        - la subrutina de interrupción deberá, a veces, determinar el circuito que ha
solicitado servicio, y en consecuencia, la dirección del programa que realmente se debe
ejecutar. También deberá guardar el contenido de los registros de trabajo, en el caso que
no se haga en forma automática

       - se ejecuta el programa de atención al periférico

       - el contenido del contador de programa de los registros es restaurado y la
ejecución del programa que se había interrumpido se reanuda.




                                            19
2.6) Acceso directo a memoria.

        El acceso directo a memoria es un procedimiento hardware que permite la
transferencia de datos entre un periférico y memoria, solo limitado por la velocidad de
acceso a memoria y sin intervención de la CPU. Este procedimiento se utiliza en la
transferencia de datos y tiene que ser muy rápido, por lo que no puede ser controlado
por el microprocesador. Tal es el caso de los visualizadores con tubos de rayos
catódicos, los cuales las velocidades de transferencia de datos que requieren son tan
altas, que no las permite ningún tipo de PIO bajo el control directo del microprocesador
y su programa asociado.

       La secuencia de operaciones que se utiliza es la siguiente:

        - el periférico provoca una interrupción en un circuito especial denominado
controlador de DMA.
        - el controlador solicita la suspensión de la ejecución de trabajo al CPU
mediante la señal de HOLD
        - la CPU completa la instrucción que está ejecutando en el momento de recibir la
señal HOLD y entonces pone en tri-state (tercer estado) sus buses, y envía una señal de
reconocimiento al controlador (HLDA)
        - el controlador utiliza los buses para iniciar la transferencia, llevando el control
de la dirección de arranque y el número de bytes a trasmitir
        - terminada la transferencia, el controlador desactiva la señal de HOLD,
permitiendo a la CPU reanudar su tarea.

        Existen circuitos integrados controladores de DMA que pueden gestionar varios
canales de acceso a memoria.
        Algunos microprocesadores (8080, Z80, etc.) tienen independizado el acceso a
la memoria y a las PIO mediante instrucciones diferentes (MOV A,M ; IN XX ; etc. ),
esto implica la existencia de señales de control especializadas para cada tipo de acceso,
de tal forma que se pueden diferenciar claramente los direccionamientos de memoria y
de PIO. Por el contrario, existen otros (6800, etc.) que no tienen esta diferenciación y
las PIO ocupan posiciones reales en el direccionamiento de memoria y son tratados
como tales con el mismo tipo de instrucciones. El primer procedimiento tiene la ventaja
fundamental de independizar los procesos de memoria y I/O y tiene el inconveniente de
la falta de flexibilidad en el tratamiento de la información, ya que todos los
intercambios se realizan a través del acumulador; el segundo procedimiento tiene las
ventajas de flexibilidad que se derivan de considerar los PIO como verdaderas
posiciones de memoria en funciones de entrada-salida.
        Los circuitos de I/O operan normalmente de una forma asíncrona respecto al
modo de operación del microcomputador, y resulta necesario sincronizar la ejecución
del programa con la operación de los circuitos I/O. El método adoptado depende del
tiempo máximo de retraso que se permite en la atención a los acontecimientos que
reflejan las I/O y de la posibilidad de intercalar las actividades de proceso con la de
adquisición y emisión de datos. Las transferencias de datos de I/O se pueden organizar
de las siguientes formas:

1) Operaciones de I/O por acceso directo a memoria (DMA).
2) Operaciones de I/O controladas por interrupción.


                                             20
3) Operaciones de I/O controladas por programas.

       Los dos primeros casos ya han sido explicados con anterioridad. En el tercer
caso es el microprocesador a instancias del programa el que inicia y controla todos los
tipos de transferencia de datos, o sea, la CPU solicita información de entrada o envía
información a la salida, posicionando las señales correspondientes de direccionamiento
y de control. Tiene como ventajas la facilidad de implementación de hardware y
software y la facilidad de intercambio, siendo su principal inconveniente su falta de
validez para control de procesos en tiempo real.


2.7) Operación paso a paso de un Microprocesador.

       Aunque a primera vista el tratamiento de un MP como un elemento de circuito
pudiera aparecer como una tarea muy compleja, cuando se mira como un dispositivo
que pasa por múltiples estados, se simplifica notablemente y su operación paso a paso
puede describirse en términos más simples, como ilustramos a continuación mediante
un ejemplo .
        Veamos cuál es la actividad que se requiere realizar para imprimir un carácter el
cual ha sido previamente cargado en el acumulador.

Asumimos que el periférico a considerar es una impresora: El software que necesitamos
está almacenado en la memoria y consta de tres palabras de 8 bits (3 bytes) que
contienen el código de la operación a imprimir seguido de dos bytes que definen la
dirección de la impresora . Para imprimir el carácter, el MP transita por los nueve
estados que se muestran en la figura:


                   M1-T1
                                          M2-T1              M3-T1             M4-T1




                   M1-T2                  M2-T2              M3-T2             M4-T2




                   M1-T3




       Si nosotros asumimos por conveniencia que la frecuencia impuesta por el reloj
es de 1 MHz, nuestro circuito cambiará sus estados cada vez que transcurra 1
microsegundo. La acción que se realiza en cada estado se explica a continuación:

Estado M1-T1. El contador de programa se conecta al bus de direcciones y coloca en
éste la dirección de memoria en la cual está almacenado el primer byte.
Simultáneamente un pulso de lectura es generado por la unidad de tiempo y control y
enviado por el bus de control a la memoria, causando que el primer byte, o sea, el
código de operación, pueda ser leído de la memoria.




                                           21
Estado M1-T2. Asumamos que la memoria toma menos que un microsegundo en
responder. Esto significa que cuando nuestro circuito entra en este estado, el primer byte
ya se encuentra en los terminales de salida de la memoria. Es por ello que en este estado
el registro de instrucciones (RI) se conecta al bus de datos, produciéndose el enlace
directo entre la memoria y este RI, el cual recibirá la señal de control que le indica que
debe almacenar la información existente en la memoria y que se le envía a través del
bus de datos. Note que el bus de direcciones no está siendo usado en este estado.
Estado M1-T3. En este estado el código de operación se decodifica. La salida del
decodificador posibilitará la secuencia correcta de estados y las señales que debe
generar la unidad de control para que la instrucción sea correctamente ejecutada. En
nuestro caso ello
implica transitar por los estados M2-T1 , M2-T2 , M3-T1 , M3-T2 , M4-T1 y M4-T2.
En este estado ni el bus de control ni el de datos han sido utilizados.

Estado M2-T1. La acción realizada en este estado es idéntica a la del estado M1-T1, con
la excepción que el PC ha sido incrementado.
Estado M2-T2. En este estado el DB se conecta al registro de direcciones y mediante un
pulso correspondiente de control este graba el segundo byte en el lugar correspondiente
(este es un registro de 16 bits).

Estado M3-T1. La acción es semejante a los estados M1-T1 y M2-T2, con la excepción
que el PC tiene la dirección del tercer byte.
Estado M3-T2. Cuando el MP asume este estado, se obtiene el siguiente byte
componente de la dirección, generándose por la unidad de control las señales apropiadas
para grabar este byte en el lugar correspondiente del registro de direcciones.

En el transcurso de esta secuencia de estados desde M1-T1 hasta M3-T2 hemos
realizado el ciclo de búsqueda de la instrucción. En este punto dentro del MP se posee la
información del código que define la operación, y la dirección de la impresora.

Estado M4-T1. El registro de direcciones se conecta al AB por lo que la información
que éste posee puede ser decodificada, generándose así la señal que permite identificar a
que periférico se quiere acceder (en nuestro caso la impresora).
Estado M4-T2. En este estado el acumulador se conecta al DB, y a través de éste y los
interfaces correspondientes se envía la información a la impresora. Al mismo tiempo, el
interface monitorea las señales de estado del MP en el bus de control, las cuales son
usadas para generar las señales de control necesarias para activar la impresora y permitir
así que el carácter en el acumulador se imprima.

         Para concretar ideas vamos a describir la ejecución de un corto programa
referido a un microprocesador de 8 bits (m=8) y direcciones de 16 bits (n=16) que
utiliza las instrucciones LDA (load acumulator, carga del acumulador con el contenido
de un registro de memoria ), ADD ( add acumulator, suma al acumulador el contenido
de un registro de memoria ) , y STA (store acumulator, guardar el contenido del
acumulador en un registro de memoria ).

      El programa lee un dato de memoria en la dirección 006AH y lo guarda en el
acumulador. Le suma el dato de al dirección 006BH y guarda el resultado en 0080H .




                                           22
El contenido de la memoria que nos afecta es el siguiente :

     DIRECCIÓN         CONTENIDO             DIRECCIÓN         CONTENIDO
       C000              B6(LDA)                006A               02
       C001              00                      ----             --
       C002              6A                      ----             --
       C003              BB(ADD)                006B               05
       C004              00                     ----              --
       C005              6B                      ----              --
       C006              B7(STA)                 0080                 ?
       C007              00                     ----              --
       C008              80                     ----              --

        En la zona C000H a C008H está contenido el programa, mientras que en 006AH
y 006BH están los datos que vamos a manejar.
        La secuencia de operaciones para la primera instrucción es:
- El contador de programa PC coloca su contenido (C000H) en el bus de direcciones AB
y de ahí se toma por el registro de direcciones de memoria MAR. A partir de ahí se
desencadena una operación de lectura en memoria a consecuencia de la cual, el
contenido de la dirección apuntada por PC (que es B6H) aparece en el registro de datos
de memoria MDR. De éste es transferido al registro de instrucciones IR y
simultáneamente, el PC se incrementa en 1.
- La decodificación de B6H indica que se trata de una instrucción de carga en el
acumulador del contenido de la dirección indicada (contenida) en los bytes siguientes
C001H y C002H. Para ello PC se incrementa dos veces y se producen dos nuevas
lecturas, siendo 00 el resultado de la primera y 6A de la segunda, y esta información se
carga en un registro temporal de direcciones TAR. La fase de búsqueda de la
instrucción ha terminado.
- El contenido de TAR es enviado a MAR y se procede a una nueva lectura. El registro
MDR coloca 02 en el bus de datos DB y de ahí pasa al acumulador. La primera
instrucción ha sido ejecutada.
- Para la segunda instrucción las tres primeras fases de búsqueda son idénticas y al final
de ellas IR contiene BB y TAR 006B. En la fase de ejecución, el contenido de TAR es
enviado a MAR y se procede a una nueva lectura. El MDR coloca 05 en DB y de ahí
este contenido pasa a uno de los registros de utilización general RUG. La ALU procede
a sumar el contenido de este RUG con el contenido del acumulador ( 05+02=07 ) y el
resultado se guarda en el propio acumulador. En PC se encuentra el contenido C006H.
- Para la tercera instrucción también las tres primeras fases (búsqueda) son iguales
quedando IR con B7 y TAR con 0080: En la fase de ejecución el contenido de TAR se
envía a MAR, mientras que el contenido del acumulador se lleva a MDR. Al final, en la
posición 0080 queda escrito el resultado de 07 que es la suma de los datos almacenados
en 006AH y 006BH.
        El programa analizado escrito en lenguaje nemotécnico sería:
                       LDA 006AH
                       ADD 006BH
                       STA 0080H
        Observamos que en el programa analizado no se produce la ruptura de secuencia
para la toma de decisiones, ni se ha hecho uso de subrutinas ni del mecanismo de
interrupciones. El estudiante interesado en profundizar en el tema de programación de




                                           23
microprocesadores deberá consultar los textos de referencia que aparecen al final del
presente material.

2.8-) Campo de aplicación de los microprocesadores

        Como ya se ha dicho un MP es básicamente una CPU de ordenador, integrada
con tecnología LSI. Visto de esta forma no representa más que un avance tecnológico
en el campo de los ordenadores, pero en realidad conlleva unas consecuencias
revolucionarias, ya que representa una democratización de la informática y una
generalización de su uso que se manifiesta por ejemplo, en la aparición de los
ordenadores personales. Los efectos que se producen se aprecian clarísimamente en los
campos de la automática, las comunicaciones y la instrumentación.
        Los Microprocesadores en efecto constituyen un pequeño mundo aparte. Su uso
es diferente al de una microcomputadora, que en la gama de las máquinas de propósito
general, sería la más próxima a ellos. En efecto la microcomputadora aparece
generalmente como un sistema cerrado en el cual el usuario no interviene más que con
mucho para conectarle algún periférico extra o dotarle de un software específico para su
aplicación. En cambio el diseñador de aplicaciones con microprocesador desciende
hasta un nivel más profundo para construir un sistema a la medida, sin llegar sin
embargo a convertirse en arquitecto de sistemas. El MP realiza una aplicación
específica y fija de por vida, el hardware y el software son los estrictamente necesarios a
la aplicación y en particular no suele disponer de software ni terminales de interacción,
lo cual plantea problemas específicos de mantenimiento.
        Las aplicaciones de los MP son fundamentalmente de control y de gestión
sencilla. Una vez realizado el diseño, el programa queda fijo, es decir, en general no se
espera reprogramar, aunque posiblemente sí realizar de tarde en tarde nuevas versiones
del modelo, para lo cual interesa prever la expansión. Por lo general el programa de la
aplicación va directamente albergado en memoria ROM, y una reducción del programa
se traduce en reducción del número de pastillas de CI y por ende en una reducción del
costo total. La consecuencia de esto es que la programación se cuida, en el sentido de
acortarla, y, por ello, la programación en el ensamblador o incluso en el lenguaje de
máquina se ha mantenido.
        Una de las áreas mayores de aplicación de los sistemas con MP es la
concerniente a la sustitución de los circuitos electrónicos cableados en general a base de
elementos de tecnología TTL. A partir de cierto grado de complejidad es interesante
implementar el circuito a base de un sistema con MP. A la hora de la sustitución, hay
que tener en cuenta algunas características, tales como la menor velocidad que suele
acompañar al sistema con MP, al tener que ejecutar de forma secuencial las
instrucciones del programa para obtener las salidas apropiadas, mientras que en los
circuitos cableados, las entradas sólo tienen que atravesar los elementos operativos para
originar las salidas. Si el sistema con MP supera la limitación de tiempo expuesta, por lo
general en el resto de las consideraciones, supera al circuito cableado. Se destacan
algunas de sus ventajas:
1-Menor tiempo requerido para el diseño y las pruebas del prototipo.
2-Posibilidad de emplear tarjetas estándar que conforman la mayor parte del sistema. En
este caso se reduce en gran manera los costos de montaje y verificación.
3-Para cantidades muy importantes y bajo pedido directo al fabricante, existe la
posibilidad de integrar en un solo chip la mayor parte del sistema. Esta alternativa
reduce los costos de montaje, verificación y material, mejorando los aspectos
relacionados con la reducción del volumen, aumento de fiabilidad y mayor


                                            24
competitividad. En estos casos ha de tenerse en cuenta que los fabricantes pueden
producir bajo demanda, chips específicos para una determinada aplicación.
4-Posibilidad de introducir en el futuro cambios en el programa de trabajo del sistema
(basta cambiar el programa de la memoria), así como ampliarle si es necesario.
5-Reducción de costos en mano de obra y verificación.
6-Importante aumento de la fiabilidad debido a la reducción de componentes en los
sistemas con MP.
7-Reducción importante del volumen y del gasto de energía consumida.
8-Fácil introducción de programas de auto chequeo que facilitan la reparación y el
mantenimiento del equipo.
9-Capacitación del personal en general de la empresa, que le permite desarrollar en el
futuro nuevos y más avanzados productos que a veces serán permisibles a corto plazo.
10-Mejoría de la imagen del producto y de la empresa que lo fabrica.
        Una clasificación general de carácter básico que delimita algunos de los campos
industriales de más interés y desarrollo de los sistemas basados en MP es la siguiente:

1-Industria en general.
2-Industria eléctrica y de electrodomésticos.
3-Instrumentación y medidas.
4-Terminales inteligentes.
5-Juegos y derivados.

        Los MP hoy en día cada vez más extienden su campo de aplicación y encuentran
cada vez más un sin número de tareas que le son asignadas. De aquí que podamos ver a
manera de ejemplo su amplio empleo en la instrumentación.
        Podemos preguntarnos ¿qué nos da el uso de los MP en los instrumentos? ¿ cuán
eficiente resultan los sistemas de medición basados en los MP ?
        La respuesta a estas preguntas está dada por el hecho real que los MP están
revolucionando la instrumentación electrónica, lo cual es verdad aunque suene un poco
fantástico. El uso de los MP en la instrumentación ha mejorado notablemente la
precisión que se alcanza, ha expandido sus capacidades, ha incrementado su
confiabilidad y ha posibilitado la realización de tareas que anteriormente por su
complejidad o duración prácticamente eran consideradas irrealizables.
        Debido a la presencia del MP, han podido construirse instrumentos cada vez más
versátiles y se han desarrollado procedimientos para la medición que resultan cada vez
más simples, en los cuales el ajuste, la calibración y la propia lectura, se realizan de
forma automática. Todo ello posibilita una mejora sustancial del comportamiento del
instrumento y de sus características metrológicas.
        El MP posibilita también el empleo de procedimientos de cómputo más
eficiente, con un análisis estadísticos de los resultados y su posible linealización. En
muchos instrumentos ha aparecido la posibilidad de programación, y lo que aún es más
importante han llegado a ser inteligentes.
        La multifuncionalidad ha sido una consecuencia de la flexibilidad en la
utilización de programas, pero paralelamente con esto, se ha logrado una reducción en
el consumo de energía lo cual ha permitido el diseño de instrumentos cada vez más
sencillos de operar por lo que el usuario puede lograra un gran ahorro de tiempo.




                                            25
En el esquema que a continuación mostramos está representado el diagrama de
bloques simplificado de un voltímetro digital con el empleo de MP.

     Señal de                                                                     Dispositivo
      Entrada    Acomodador          CAD                Sistema Micro-
                  de señal                              procesador                 de Salida




        El bloque acomodador de señal contiene principalmente un atenuador y un
amplificador, aunque algunos instrumentos también presentan un circuito para rectificar
la señal de corriente alterna.
        El conversor análogo digital CAD es imprescindible para cualquier voltímetro
digital, incluyendo el que está basado en MP. Comúnmente el CAD que se emplea en
los sistemas de medición viene totalmente en pastillas de circuito integrado de alta
integración (LSI).
        El MP organiza el procedimiento de medición, controla la operación de los
restantes bloques y ejecuta las operaciones aritméticas y lógicas con los datos
procedentes del CAD. El programa bajo el cual el MP opera, es preparado por el
fabricante y almacenado en ROM, permaneciendo inalterable aún bajo el caso de una
falta de energía. La ROM almacena también algunas constantes usadas en varias
subrutinas y los números requeridos para la calibración automática. La RAM se utiliza
para guardar los datos obtenidos y temporalmente los resultados intermedios.
        El dispositivo de salida sirve para mostrar los datos de la medición en forma
numérica, o sea, como un conjunto de dígito.
        El multímetro digital con MP es un instrumento multifuncional programable.
Los programas y subrutinas que utiliza, determinan las funciones que este puede
realizar. Los modelos ofertados por los fabricantes difieren unos de otros, pero en
general tienen en común lo siguiente:
- multiplicar un número por un factor de escala.
- sustraer un valor constante a la lectura.
- determinar la fracción de error en el resultado.
- medir relaciones y presentar el resultado en tanto por uno o en decibeles.
- procesar los datos estadísticamente.
- calcular los valores estadísticos de los resultados (media, varianza, valor eficaz, etc.).

        En general podemos plantear que en la época actual los MP se aplican
prácticamente en todas las ramas de la ciencia y la técnica, y con su ayuda es posible el
diseño de fábricas totalmente automatizadas que son capaces de trabajar de forma
ininterrumpida, con elevada productividad del trabajo y eficiencia. La base fundamental
de estas fábricas se encuentra en los robots, que se están construidos en base a los MP;
además de la introducción de los llamados sistemas de dirección automática de los
procesos tecnológicos.

       Por otra parte, se trabaja de forma intensiva en la simplificación de la
comunicación del hombre con esta técnica: Actualmente las instrucciones a la máquina
se le dan fundamentalmente a través de un teclado, lo cual requiere de cierta
preparación por parte del operador y dificulta un poco el empleo de esta técnica por
parte del personal y los especialistas no totalmente identificados con su uso.


                                            26
La introducción de softwares cada vez más sencillos de operar y por ende más "
amistosos" empleando el mouse, ha ayudado a simplificar la comunicación, pero se
desea desarrollar circuitos analizadores y sintetizadores de voz que faciliten aún más la
entrada y salida de la información de las computadoras. Cuando se logre que estos
circuitos puedan fabricarse de manera compacta, y puedan ser reducidos a escala de los
circuitos integrados, podremos darles las instrucciones a la máquina mediante la voz y
con ello podemos comunicarnos con la máquina de manera semejante a como lo
hacemos con otro ser humano.

2.9-) Desarrollo de los microprocesadores.

      La firma INTEL dio inicio a la fabricación de MP en 1972 con el 8008 y a partir
de ahí ha desarrollado la fabricación de una larga serie de MP más potentes y
complejos.

       El 8080 y su versión más desarrollada que apareció posteriormente, el 8085,
formaron parte de múltiples estructuras y equipos y tuvieron en su tiempo una gran
popularidad y demanda dentro de los MP de 8 bits.

        El 8086 fue el primer MP de 16 bits elaborado por INTEL y presenta un bus de
datos de 16 bits, un bus de direcciones de 20 bits y emplea operandos de 16 bits. Fue
diseñado de forma tal de que fuese compatible con el nivel de lenguaje ensamblador
empleado por el 8080A, por lo que cualquier instrucción de este último puede ser
simulada por una combinación de instrucciones del 8086 y en general el grupo de
registros del 8080A es un subconjunto de los que posee el 8086. El 8088 es una versión
en 8 bits del 8086 desde el punto de vista de los buses de entrada y salida, pero presenta
registros internos d 16 bits, de igual forma que lo realiza el 8086.

       El 80186 constituye una versión mejorada del 8086 que posee en su interior el
generador de los impulsos de sincronismo, la lógica de control de interrupciones, los
esquemas de temporalización y los controladores del acceso directo a memoria. El
esquema de este MP presenta un total de 68 terminales distribuidos en los 4 lados, y
posee dos veces mayor productividad en comparación con el 8086, además de poseer
mayor capacidad de carga en sus líneas fundamentales.

       El 80286 constituyó un perfeccionamiento mayor del 8086, con una estructura
de 68 terminales que contiene también en su interior los esquemas para el control y
borrado de la memoria. Existen modelos con frecuencias de trabajo de 8 y 10 MHz. y
presenta un grupo de registros que no presenta el 8086 que le posibilita la ejecución de
una serie de instrucciones adicionales. Posee           una posibilidad mayor de
direccionamiento de memoria pues su bus de direcciones es de 24 bits.

       En el desarrollo ulterior apareció en 1985 el 80386, que fue el primer procesador
de 32 bits de Intel con bus de datos y tamaño de registro de 32 bits. En el momento en
que hizo su aparición este MP la mayoría de las microcomputadoras eran compatibles
AT, con bus de 16 bits. Esto hacía que montar una microcomputadora con un 386 fuese
comparativamente caro ya que implicaba un rediseño total de la arquitectura existente y
cambiarla para 32 bits, es decir, cambio de la memoria, buses, etc. El costo que
implicaba era de por sí elevado, más aún teniendo en cuenta la no disponibilidad en el
momento de partes 32 bits compatibles.



                                             27
El 80386 operaba con velocidad de 16 MHz., pero rápidamente subieron hasta
33, lo que le da la posibilidad de ejecutar de 3 a 5 millones de instrucciones por
segundo, además de que su capacidad de direccionamiento de memoria física alcanza
los 4 gigabytes. Los competidores de Intel, AMD y Cyrix llegaron a producirlo con
velocidades de hasta 40 Mhz. Su arquitectura permite realizar simultáneamente
operaciones de búsqueda de instrucciones, decodificación, ejecución y control de
memoria. La aceptación y el éxito de este MP estuvo dado por mantener sus
características de compatibilidad con sus predecesores 8086, 8088, 80186, 80286, pues
prácticamente todos los programas que fueron elaborados para estos últimos, también
son capaces de correr en el 80386.

        Las microcomputadoras basadas en el 80386 operan con una mayor velocidad y
están capacitados para operar con sistemas operativos desarrollados especialmente para
máquinas de 32 bits lo que las hace más poderosas por tener la posibilidad de operar con
tareas independientes dentro de un sistema de tareas múltiples.

        INTEL produjo como alternativa el 386SX, que no es más que un 386 "normal",
o sea, compatible en su juego de instrucciones, registros internos, etc., sólo que su
comunicación con el exterior se hace por un bus de 16 bits. Por tanto la diferencia
clásica entre 386 DX y 386 SX está en su bus externo.

        El 80486 ó I486 cómo se conoce al procesador desarrollado por INTEL es un
MP tipo CISC (Complete Instruccion Set Computer) cuyas instrucciones más utilizadas
transcurren en un sólo ciclo de reloj, que unido al alto grado de integración logrado
hace que las frecuencias de reloj sean más altas y en eso han incidido versiones a 25,
33, 50 y 66 MHZ. En el 486 se utilizaron 1.25 millones de transistores (5 veces más que
el 386).

        El I486 es un procesador de 32 bits interno y externo y está diseñado para
trabajar con sistemas de caché (basados en el controlador del propio INTEL 82385)
cosa que no tenía el 386 en ninguna de sus dos versiones. Este caché L1 de 8 K, está
directamente incorporada al procesador, lo que significó disminuir significativamente
los accesos a RAM y por tanto en funcionamiento más rápido y racional.

        Ante el empuje de la competencia, INTEL lanza una variante más económica, el
486 SX, que se diferenciaba del original porque no incluía el coprocesador matemático,
o para ser más exactos, lo tenía desactivado. Para actualizar sus capacidades de punto
flotante al 486SX, Intel vendía un chip llamado 80487SX que se instalaba en la placa,
pero que en realidad se trataba de un DX con diferente patillaje que al ser instalado
desconectaba el procesador original y asumía el control de la configuración.

        Cuando fue evidente que el 486 se había afianzado en el mercado y ante la
facilidad de producir versiones cada vez a mayores velocidades, surgió un nuevo
problema: la necesidad de cambiar continuamente la tarjeta del sistema para adecuarla a
la nueva velocidad. Sin embargo, al ser los accesos a los dispositivos del sistema
siempre mucho más lentos que la velocidad de operación del procesador, se podía
pensar en aumentar exclusivamente la velocidad de estos, dejando externamente el
sistema sin ningún cambio. Este fue el origen del 486 DX2 el cual opera al doble de la
velocidad de su tarjeta madre, es decir, en su versión DX2 a 50 MHz. el 486 está
operando a 50 MHz. en un sistema a 25 MHz. El aumento cada vez mayor de la
velocidad ha hecho posible el surgimiento en 1994 de los DX4 y ya un DX4 a 100


                                          28
MHz. está montado sobre una tarjeta madre trabajando a la cómoda y más que
suficiente velocidad de 25 MHz. ó 33 Mhz. y sin embargo su procesador opera a 100
MHz. Tales procesadores usaban un voltaje de 3.3 v con el fin de conservar bajos
niveles de emisión del calor, aunque existieron versiones del DX4 a 5v que requirieron
nuevas tarjetas madres y que llevaban ventiladores para refrescar el chip.

       La tecnología SL de INTEL fue originalmente desarrollada para lograr un
medio razonable en la conservación de las baterías de las máquinas portátiles, pero se ha
extendido hoy en día a la familia completa de procesadores I486 y pentium.

       La tecnología SL abarca una serie de requisitos y modos de operación que
permiten reducir el consumo de energía y cumplen con el programa Energy Star.

       Entre ellas:

1- System Management Modem (SMM). Este es un nuevo modo operativo de los
procesadores SL que permite la reducción del consumo energético apagando los
perisféricos o el sistema completo cuando lleva tiempo sin utilizarse.
2.- Static Technology. Tecnología que permite a todos los procesadores SL detener su
reloj, congelando el estado del mismo y el sistema de forma que puede ser reinicializado
en el mismo punto donde se detuvo.
3.- Processor Clock Control. Permite colocar al procesador en un estado de letanía y
bajo consumo, "Standby".
4.- Alimentación de 3.3 volts. El hecho de que estos procesadores sólo requieren 3.3
volts para su operación en vez de los típicos 5 volts, reduce el consumo energético en un
60 %.
Todo este sistema permite una disminución del consumo desde unos 250 watts hasta
unos 30 watts. Esta lógica de reducción de potencia constantemente está monitoreando
al sistema buscando periféricos inactivos (Por ejemplo el disco duro). Una vez
detectado un dispositivo en este estado, genera una interrupción (System Management
Interrupt-SMI) al procesador el cual pasa de modo real a SMM. Aquí se toma una
"instantánea" de todo el sistema y se almacena su estado en una zona de memoria
llamada SM RAM . Esta zona es inviolable y no puede ser accedida por ningún
SOFTWARE. El procesador ejecuta una rutina del BIOS que "apaga" al perisférico en
cuestión. El proceso inverso ocurre al activarse nuevamente el perisférico y este
procedimiento es virtualmente instantáneo.

Ciryx con su 586 al que llamó M1 alcanzaba velocidades de 100 y 120 Mhz e incluía
un bus interno de 64 bits, un canal de 6 etapas (una más que el 486 ) y era compatible
con las tarjetas madres del 486. No obstante sus excelencias, llegó tarde al mercado
ganado en aquel tiempo por la descomunal campaña de Intel para sus pentiums.

INTEL sacó a la luz un nuevo MP conocido con el nombre de "Pentium" que seguía
siendo un procesador de arquitectura CISC pero incluyó varias tecnologías RISC en su
diseño que le permitieron alcanzar los 300 MIPS (millones de instrucciones por
segundo). Todas las versiones de pentium poseen más de 3 millones de transistores
integrados y requieren radiadores con ventilador para disipar el calor de su
funcionamiento. El nuevo procesador ofrecía una arquitectura superescalar, dos canales
en lugar de uno como el 486 y la tecnología de predicción de ramificaciones que le
permitía minimizar las demoras que suceden cuando una instrucción compleja retrasa la
ejecución de otras. También incrementó el ancho de banda del bus hasta 64 bits. Incluyó


                                           29
dos cachés de nivel 1 (L1) independientes, uno para los datos y otro para las
instrucciones de cálculo decimal que constituyen la base para las aplicaciones gráficas y
de multimedia.

La competencia llegó, y AMD lanzó su K5 y Cyrix el 5X86. El K5 es un procesador
RISC y a diferencia de las dos etapas de canales del Pentium ofrece seis. Es en opinión
de muchos especialistas superior al Pentium, pero llegó tarde al mercado y no alcanzó
los niveles de velocidad esperados, por lo que apenas logró difusión en la construcción
de ordenadores. Por su parte el 5X86 es un procesador totalmente CISC con dos canales
y seis etapas por cada uno de estos, lo que difiere del diseño del pentium con dos
canales y cinco etapas y ofrece según los expertos una mejor predicción de
ramificaciones y ejecución fuera de orden. Es en suma un buen procesador, pero
tampoco logró hacerse con el mercado que siguió teniendo un único dueño.

Intel sorpresivamente cambió el standard que hasta ese momento había seguido en la
industria, ¿razones?, pues el auge de las aplicaciones multimedia y el peso que cobraron
grandes programas con complicados efectos gráficos, como los juegos para ordenador,
que exigieron un mejor desempeño del hardware y específicamente de las CPU.

Así surge en 1997 el pentium MMX, (P-MMX) procesador que incorpora 57
instrucciones adicionales, diseñado para mejorar la capacidad multimedia. Además el
canal aumentó de 5 a 6 etapas y los dos cachés L1 aumentaron de 8 a 16K y mejoró
mucho la predicción de ramificaciones, por lo que el MMX no es un retoque del
pentium, sino que es de por sí un nuevo diseño cualitativamente superior.

En 1996, casi un año antes del P-MMX, Intel sacó el Pentium Pro (P-Pro). Parte en su
diseño de una concepción similar al pentium, pero ofrece avances tales como: una nueva
forma de ejecutar las instrucciones y un aumento de las etapas del canal de 5 a 14 con 3
canales en lugar de 2 a una velocidad de ejecución resultante mucho mayor. Incluye un
caché integrado L2 de 256 K además de 2 cachés L1 de 16 K, que eleva en
consideración sus prestaciones, pero también su precio, y ello automáticamente lo
relegó para la construcción de grandes servidores, lejos de los sistemas PC de uso
doméstico o profesional más modestos.

En el centro del P-Pro existe un procesador RISC, mientras que las instrucciones
CISCX86 se forman a partir de microinstrucciones RISC más sencillas y por
consiguiente se ejecutan con mayor rapidez. Tiene 5.5 millones de transistores los
cuales generan una considerable cantidad de calor lo que exige el uso de disipadores y
micro ventiladores.

La solución a los problemas de costo y desempeño del Pentium-Pro llegó con la
aparición en 1996 (y lanzado en 1997) del pentium II, (P II) que duplica las caches L1 a
32 K y una nueva L2 de 512K, más grande, pero fuera del procesador como en el P-Pro.
La nueva caché L2 se comunica con el chip por medio de un bus propio que trabaja a la
mitad de la velocidad de este. P II incorpora también en las últimas versiones un bus de
100 MHz, lo que mejora notablemente sus prestaciones. Como resultado, Intel pudo
ubicar en el mercado un procesador mas económico, aunque no tan rápido como el P-
Pro, pero este inconveniente es mínimo pues se logró dejar atrás la barrera de los 450
Mhz. Posteriormente existió un P II conocido como Xeón, optimizado para trabajar en




                                           30
servidores, que fue aceptado por los especialistas como relevo del ya entonces algo
desfasado P-Pro.
En los predios del mercado apareció luego el esperado pentium III (P III) o Katmai que
tenía como principal novedad la inclusión de 70 nuevas instrucciones conocidas como
las MMX2 o KNI (Katmai New Instructions). Trabaja a voltajes de 1,8 volts, posee
tamaño más reducido y menor consumo energético, gracias a la tecnología de 0.25
micras empleadas en su fabricación (próximamente a 0.18 micras). Los primeros
modelos, con núcleo Katmai, se fabricaron todos en el mismo formato Slot 1 de los
Pentium II, pero la actual revisión Coppermine de este micro utiliza mayoritariamente
el Socket 370 FC-PGA.

Muchos denominaron al Pentium III Coppermine "el auténtico Pentium III", porque al
tener sus 256 KB de caché secundaria integrados en el núcleo del micro su rendimiento
mejora en todo tipo de aplicaciones (incluso las no optimizadas).

El Celeron (Pentium II light), resultó ser un Pentium II sin la caché secundaria, fue
construido para liquidar el mercado de placas base tipo Pentium no II (con socket 7, que
se dice) y liquidar definitivamente a AMD y otras empresas que usan estas placas. Sin
embargo, resultaba realmente muy poco recomendable, por poseer un rendimiento
mucho más bajo que el de Pentium II, pues era casi idéntico al del Pentium MMX.

AMD logró a finales del 97 el K6 que de inmediato fue un formidable contrincante para
el P-Pro, con su favorable handicap de menor costo. Presenta una caché L1 de 64K, una
extensa tabla de predicción de ramificaciones, así como 7 unidades de ejecución
paralela y el juego de instrucciones MMX. En las pruebas realizadas dejó atrás a los
Pentium MMX de igual velocidad de reloj y se acercó notablemente al desempeño de
los Pentium II. Posteriormente se puso a la venta el K 6-2, que incorpora tecnología de
0.25 micras y mejoraba notablemente el desempeño del procesador en cuanto a
velocidad y capacidad multimedia, sentando un nuevo standard en las instrucciones
3Dnow (algo así como un MMX para 3D).
El K6-III resultó ser un micro casi idéntico al K6-2, excepto por el "pequeño detalle" de
que incluye 256 KB de caché secundaria integrada, corriendo a la velocidad del micro
(es decir, a 400 MHz o más), al estilo de los Celeron Mendocino. Esto le hace mucho
más rápido que el K6-2 (en ocasiones, incluso más rápido que el Pentium III) en
aplicaciones que utilicen mucho la caché, como las ofimáticas o casi todas las de índole
"profesional"; sin embargo, en muchos juegos la diferencia no es demasiado grande (y
sigue necesitando el uso de las instrucciones 3DNow! para exprimir todo su potencial).

El AMD Athlon (K7) resultó ser la gran apuesta de AMD: un micro con una
arquitectura totalmente nueva, que le permitió ser en su tiempo el más rápido en todo
tipo de aplicaciones. Con 128 KB de caché de primer nivel (cuatro veces más que el
Pentium III), bus de 200 ó 266 MHz (realmente 100 ó 133 MHz físicos con doble
aprovechamiento de cada señal), 512 ó 256 KB de caché secundaria (los 256 KB
integrados le posibilitaban ser más rápido), instrucciones 3DNow! para multimedia... y
el mejor micro de todos los tiempos en cálculos matemáticos.

Su único y mínimo inconveniente radicaba en que necesita placas base específicamente
diseñadas para él, debido a su novedoso bus de 200 MHz o más y a sus métodos de
conexión, "Slot A" (físicamente igual al Slot 1 de Intel, pero incompatible con él... entre
otras cosas porque Intel no quiso dar licencia a AMD para utilizarlo) o "  Socket A" (un



                                            31
zócalo cuadrado similar al Socket 370, pero con muchos más pines). Los modelos
actuales usan el núcleo Thunderbird, con la caché secundaria integrada.

El AMD Duron resultó un micro casi idéntico al Athlon Socket A (no existe para Slot
A) pero con menos memoria secundaria (64 KB), aunque integrada (es decir, más
rápida, la caché va a la misma velocidad que el micro); Con él se obtuvo una fantástica
relación calidad/precio.

Cyrix por su parte presentó el M II que posee un diseño superescalar, dos canales
separados, 64K de caché L1, una novedosa caché auxiliar de 256k que acelera
notablemente el desempeño de la CPU y predicción múltiple de ramificaciones. Este es
un procesador completamente CISC (a diferencia del K6 y del P II), que no llegó a
alcanzar el desempeño del K 6, pero se situó dignamente en el sector de las llamada
“máquinas de bajo costo”.
La última apuesta de Intel, el Pentium 4, representó todo un cambio de arquitectura;
pese a su nombre, internamente poco o nada tiene que ver con otros miembros de la
familia Pentium.

Se trata de un micro peculiar: su diseño permite alcanzar mayores velocidades de reloj
(más MHz... y GHz), pero proporcionando mucha menos potencia por cada MHz
que los micros anteriores; es decir, que un Pentium 4 a 1,3 GHz puede ser MUCHO
más lento que un Pentium III a "sólo" 1 GHz. Para ser competitivo, el Pentium 4 debe
funcionar a 1,7 GHz o más.

Por otro lado, incluye mejoras importantes: bus de 400 MHz (100 MHz físicos
cuádruplemente aprovechados) y nuevas instrucciones para cálculos matemáticos, las
SSE2. Éstas son muy necesarias para el Pentium 4, ya que su unidad de coma flotante es
MUCHÍSIMO más lenta que la del Athlon; si el software está específicamente
preparado (optimizado) para las SSE2, el Pentium 4 puede ser muy rápido.

Desde el punto de vista físico, el Pentium 4 necesita placas bases diseñadas
específicamente para él. El chip en sí viene en formato zócalo y tiene 423 pines; por
tanto, su zócalo se llama "Socket 423". Necesita una carcasa, una fuente de
alimentación (ambas ATX 2.03) y un ventilador y un disipador específicos, todo ello
por consideraciones de consumo y estabilidad, porque el sistema de fijación del sistema
de refrigeración es bastante complicado y va anclado con tornillos a la carcasa.

La caché L2, integrada en el micro y de 256 bits, es una mejora de la tecnología
"Advanced Transfer Cache " estrenada con el Pentium III; puede alcanzar 48 GB/s en
el modelo de 1,5 GHz. Esto representa el doble de lo que puede hacer un Pentium III de
la misma velocidad, y es mucho más de lo que puede alcanzar un AMD Athlon, sobre
todo porque en éste la caché L2 tiene un bus de sólo 64 bits.

Finalmente, un detalle positivo: el núcleo del micro está mejor protegido que antes,
gracias a un disipador de calor integrado sobre el mismo (por eso tiene ese aspecto
metálico).

Todos estos datos son para el Pentium 4 versión 1.0, pero el desarrollo de estos micros
se ha venido perfeccionando En la actualidad existen procesadores mucho mas
poderosos. La compañía Intel acaba de lanzar al mercado su nuevo procesador Intel
Pentium 4 de 3.0GHz y ya hoy se anuncian versiones capaces de trabajar a velocidades
mayores lo cual representa un salto bastante importante.


                                          32
Introduccion a los microprocesadores
Introduccion a los microprocesadores
Introduccion a los microprocesadores

Contenu connexe

Tendances

Requerimientos de un sistema operativo 1
Requerimientos de un sistema operativo  1Requerimientos de un sistema operativo  1
Requerimientos de un sistema operativo 1tecnologia01
 
Estructura de la cpu
Estructura de la cpuEstructura de la cpu
Estructura de la cpucamilo cortes
 
Linea del tiempo microprocesadores
Linea del tiempo microprocesadoresLinea del tiempo microprocesadores
Linea del tiempo microprocesadoresJacobo Garduño
 
Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosChiNo Sosa Erazo
 
Unidad 4 Interoperabilidad entre sistemas operativos
Unidad 4 Interoperabilidad entre sistemas operativos Unidad 4 Interoperabilidad entre sistemas operativos
Unidad 4 Interoperabilidad entre sistemas operativos Roberto Encarnación
 
Presentacion Programacion
Presentacion ProgramacionPresentacion Programacion
Presentacion Programacionguestd5974a6
 
Aplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmoAplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmoFelix Rodríguez
 
Cuadro comparativo de sistemas operativo libres y privativos
Cuadro comparativo de sistemas operativo libres y privativosCuadro comparativo de sistemas operativo libres y privativos
Cuadro comparativo de sistemas operativo libres y privativosYesenia Serrano
 
Arquitectura de los computadores
Arquitectura de los computadoresArquitectura de los computadores
Arquitectura de los computadoresJ David Martinez
 
Cuadro sinoptico componentes computadora
Cuadro sinoptico componentes computadoraCuadro sinoptico componentes computadora
Cuadro sinoptico componentes computadoraDan Ech
 
Unidad Aritmético Lógica (ALU)
Unidad Aritmético Lógica (ALU)Unidad Aritmético Lógica (ALU)
Unidad Aritmético Lógica (ALU)SimoneGv
 
Introducción a la arquitectura de computadores
Introducción a la arquitectura de computadoresIntroducción a la arquitectura de computadores
Introducción a la arquitectura de computadoresJohn Espinoza
 
Organización del Computador - Análisis de la Estructura de un Computador
Organización del Computador - Análisis de la Estructura de un ComputadorOrganización del Computador - Análisis de la Estructura de un Computador
Organización del Computador - Análisis de la Estructura de un ComputadorLuis Dugarte
 
Evolucion de los sistemas operativos
Evolucion de los sistemas operativos Evolucion de los sistemas operativos
Evolucion de los sistemas operativos juanma Fontanet
 
Arquitectura del procesador
Arquitectura del procesadorArquitectura del procesador
Arquitectura del procesadorYESENIA CETINA
 

Tendances (20)

Requerimientos de un sistema operativo 1
Requerimientos de un sistema operativo  1Requerimientos de un sistema operativo  1
Requerimientos de un sistema operativo 1
 
Sistemas Operativos Mono Proceso
Sistemas Operativos Mono ProcesoSistemas Operativos Mono Proceso
Sistemas Operativos Mono Proceso
 
Estructura de la cpu
Estructura de la cpuEstructura de la cpu
Estructura de la cpu
 
Informe partes internas y externas de la computadora
Informe partes internas y externas de la computadoraInforme partes internas y externas de la computadora
Informe partes internas y externas de la computadora
 
Linea del tiempo microprocesadores
Linea del tiempo microprocesadoresLinea del tiempo microprocesadores
Linea del tiempo microprocesadores
 
Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesos
 
Unidad 4 Interoperabilidad entre sistemas operativos
Unidad 4 Interoperabilidad entre sistemas operativos Unidad 4 Interoperabilidad entre sistemas operativos
Unidad 4 Interoperabilidad entre sistemas operativos
 
Presentacion Programacion
Presentacion ProgramacionPresentacion Programacion
Presentacion Programacion
 
Aplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmoAplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmo
 
Cuadro comparativo de sistemas operativo libres y privativos
Cuadro comparativo de sistemas operativo libres y privativosCuadro comparativo de sistemas operativo libres y privativos
Cuadro comparativo de sistemas operativo libres y privativos
 
Arquitectura de los computadores
Arquitectura de los computadoresArquitectura de los computadores
Arquitectura de los computadores
 
Alu
AluAlu
Alu
 
computación paralela
computación paralelacomputación paralela
computación paralela
 
Cuadro sinoptico componentes computadora
Cuadro sinoptico componentes computadoraCuadro sinoptico componentes computadora
Cuadro sinoptico componentes computadora
 
Unidad Aritmético Lógica (ALU)
Unidad Aritmético Lógica (ALU)Unidad Aritmético Lógica (ALU)
Unidad Aritmético Lógica (ALU)
 
Diapositivas fundamentos-de-programacion
Diapositivas fundamentos-de-programacionDiapositivas fundamentos-de-programacion
Diapositivas fundamentos-de-programacion
 
Introducción a la arquitectura de computadores
Introducción a la arquitectura de computadoresIntroducción a la arquitectura de computadores
Introducción a la arquitectura de computadores
 
Organización del Computador - Análisis de la Estructura de un Computador
Organización del Computador - Análisis de la Estructura de un ComputadorOrganización del Computador - Análisis de la Estructura de un Computador
Organización del Computador - Análisis de la Estructura de un Computador
 
Evolucion de los sistemas operativos
Evolucion de los sistemas operativos Evolucion de los sistemas operativos
Evolucion de los sistemas operativos
 
Arquitectura del procesador
Arquitectura del procesadorArquitectura del procesador
Arquitectura del procesador
 

Similaire à Introduccion a los microprocesadores

Lenguaje ensamblador
Lenguaje ensamblador   Lenguaje ensamblador
Lenguaje ensamblador duvalin02
 
Daniel ricardo daza fernandez word
Daniel ricardo daza fernandez wordDaniel ricardo daza fernandez word
Daniel ricardo daza fernandez wordDaniel Daza
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosRurik Cabeza
 
Historia y evolucion del sistema operativo
Historia y evolucion del sistema operativoHistoria y evolucion del sistema operativo
Historia y evolucion del sistema operativoslipkdany21
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosV Meza T
 
Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativosdemoniac23
 
Unidad 3 sistemas operativos
Unidad 3 sistemas operativosUnidad 3 sistemas operativos
Unidad 3 sistemas operativosJohnny Cabrera
 
Historia y evolución de los sistemas operativos
Historia y evolución de los sistemas operativosHistoria y evolución de los sistemas operativos
Historia y evolución de los sistemas operativosoviedospablo
 
SOFTWARE Y SISTEMAS OPERATIVOS
SOFTWARE Y SISTEMAS OPERATIVOSSOFTWARE Y SISTEMAS OPERATIVOS
SOFTWARE Y SISTEMAS OPERATIVOSmariantonietap
 
Hardware y Software
Hardware y SoftwareHardware y Software
Hardware y Softwaregalarzac
 
Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativosEriberto Navarro
 
Historia y evolucion sistemas oerativo
Historia y evolucion sistemas oerativoHistoria y evolucion sistemas oerativo
Historia y evolucion sistemas oerativoJavier Collantes
 
Tecnología de información para los negocios
Tecnología de información para los negociosTecnología de información para los negocios
Tecnología de información para los negociosEynar Flores
 

Similaire à Introduccion a los microprocesadores (20)

Lenguaje ensamblador
Lenguaje ensamblador   Lenguaje ensamblador
Lenguaje ensamblador
 
Manual tic
Manual ticManual tic
Manual tic
 
Daniel ricardo daza fernandez word
Daniel ricardo daza fernandez wordDaniel ricardo daza fernandez word
Daniel ricardo daza fernandez word
 
El computador
El computadorEl computador
El computador
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Casotema2
Casotema2Casotema2
Casotema2
 
Historia y evolucion del sistema operativo
Historia y evolucion del sistema operativoHistoria y evolucion del sistema operativo
Historia y evolucion del sistema operativo
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativos
 
Unidad 3 sistemas operativos
Unidad 3 sistemas operativosUnidad 3 sistemas operativos
Unidad 3 sistemas operativos
 
Historia y evolución de los sistemas operativos
Historia y evolución de los sistemas operativosHistoria y evolución de los sistemas operativos
Historia y evolución de los sistemas operativos
 
SOFTWARE Y SISTEMAS OPERATIVOS
SOFTWARE Y SISTEMAS OPERATIVOSSOFTWARE Y SISTEMAS OPERATIVOS
SOFTWARE Y SISTEMAS OPERATIVOS
 
Hardware y Software
Hardware y SoftwareHardware y Software
Hardware y Software
 
Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativos
 
Presentación1
Presentación1Presentación1
Presentación1
 
Trabajo Sistemas Operativos
Trabajo Sistemas OperativosTrabajo Sistemas Operativos
Trabajo Sistemas Operativos
 
Historia y evolucion sistemas oerativo
Historia y evolucion sistemas oerativoHistoria y evolucion sistemas oerativo
Historia y evolucion sistemas oerativo
 
Francisfemayor_2B
Francisfemayor_2BFrancisfemayor_2B
Francisfemayor_2B
 
Francisfemayor_2B
Francisfemayor_2BFrancisfemayor_2B
Francisfemayor_2B
 
Tecnología de información para los negocios
Tecnología de información para los negociosTecnología de información para los negocios
Tecnología de información para los negocios
 

Plus de Ruderocker Billy

Introduccion a los microcontroladores pic y programacion de una matriz de led's
Introduccion a los microcontroladores pic y programacion de una matriz de led'sIntroduccion a los microcontroladores pic y programacion de una matriz de led's
Introduccion a los microcontroladores pic y programacion de una matriz de led'sRuderocker Billy
 
Microcontroladores tabla de referencia
Microcontroladores tabla de referenciaMicrocontroladores tabla de referencia
Microcontroladores tabla de referenciaRuderocker Billy
 
Cirugia model instalacion hidraulica y sanitaria
Cirugia model instalacion hidraulica y sanitaria Cirugia model instalacion hidraulica y sanitaria
Cirugia model instalacion hidraulica y sanitaria Ruderocker Billy
 
Siemens 300 a_service_manual
Siemens 300 a_service_manualSiemens 300 a_service_manual
Siemens 300 a_service_manualRuderocker Billy
 
Siemens product & accessory price list
Siemens product & accessory price listSiemens product & accessory price list
Siemens product & accessory price listRuderocker Billy
 
Servo 300 function check (each use)
Servo 300 function check (each use)Servo 300 function check (each use)
Servo 300 function check (each use)Ruderocker Billy
 
Servo 300 exchange 0 2 cell
Servo 300 exchange 0 2 cellServo 300 exchange 0 2 cell
Servo 300 exchange 0 2 cellRuderocker Billy
 

Plus de Ruderocker Billy (20)

Introduccion a los microcontroladores pic y programacion de una matriz de led's
Introduccion a los microcontroladores pic y programacion de una matriz de led'sIntroduccion a los microcontroladores pic y programacion de una matriz de led's
Introduccion a los microcontroladores pic y programacion de una matriz de led's
 
Microcontroladores tabla de referencia
Microcontroladores tabla de referenciaMicrocontroladores tabla de referencia
Microcontroladores tabla de referencia
 
como programar un pic
como  programar un piccomo  programar un pic
como programar un pic
 
Diseño sala de cirugia
Diseño sala de cirugiaDiseño sala de cirugia
Diseño sala de cirugia
 
Cirugia model instalacion hidraulica y sanitaria
Cirugia model instalacion hidraulica y sanitaria Cirugia model instalacion hidraulica y sanitaria
Cirugia model instalacion hidraulica y sanitaria
 
Plano
PlanoPlano
Plano
 
Sala de cirugia
Sala de cirugiaSala de cirugia
Sala de cirugia
 
Cirugia model
Cirugia modelCirugia model
Cirugia model
 
Litiasis renal1
Litiasis renal1Litiasis renal1
Litiasis renal1
 
Sv 300 spare parts list
Sv 300 spare parts listSv 300 spare parts list
Sv 300 spare parts list
 
Sv300service manual
Sv300service manualSv300service manual
Sv300service manual
 
Ventilacion mecanica
Ventilacion mecanicaVentilacion mecanica
Ventilacion mecanica
 
Siemens 300 a_service_manual
Siemens 300 a_service_manualSiemens 300 a_service_manual
Siemens 300 a_service_manual
 
Siemens product & accessory price list
Siemens product & accessory price listSiemens product & accessory price list
Siemens product & accessory price list
 
Siemens300 300 apart2
Siemens300 300 apart2Siemens300 300 apart2
Siemens300 300 apart2
 
Siemens300 300 apart1
Siemens300 300 apart1Siemens300 300 apart1
Siemens300 300 apart1
 
Servo 300 function check (each use)
Servo 300 function check (each use)Servo 300 function check (each use)
Servo 300 function check (each use)
 
Servo 300 exchange 0 2 cell
Servo 300 exchange 0 2 cellServo 300 exchange 0 2 cell
Servo 300 exchange 0 2 cell
 
Servo 300 calibaration(2)
Servo 300 calibaration(2)Servo 300 calibaration(2)
Servo 300 calibaration(2)
 
Servo 300 3000 hour pm
Servo 300 3000 hour pmServo 300 3000 hour pm
Servo 300 3000 hour pm
 

Dernier

Buenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaBuenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaMarco Camacho
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2Eliseo Delgado
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectosTrishGutirrez
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfmiriamguevara21
 
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdfPRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdfGabrieldeJesusLopezG
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdfEDNAMONICARUIZNIETO
 
Programa sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfPrograma sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfHannyDenissePinedaOr
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAJesus Gonzalez Losada
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)jlorentemartos
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FJulio Lozano
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraJose Sanchez
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfMaritza438836
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxMartaChaparro1
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 

Dernier (20)

Buenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaBuenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria Farmaceutica
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdf
 
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdfPRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
 
Programa sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfPrograma sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdf
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICA
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
 
Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldadura
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 

Introduccion a los microprocesadores

  • 1. UNIVERSIDAD DE MATANZAS “CAMILO CIENFUEGOS”. FACULTAD DE INGENIERÍAS QUÍMICA Y MECANICA. INTRODUCCION A LOS MICROPROCESADORES Dr. C.T. Ing. Evaristo González Milanés. DICIEMBRE, 2003
  • 2. INTRODUCCION A LOS MICROPROCESADORES Autor: Dr. Evaristo González Milanés Dpto. Física Universidad de Matanzas. INTRODUCCIÓN. Los microprocesadores han venido a ser el resultado del desarrollo en el camino emprendido por la Electrónica Digital hacia la miniaturización, primeramente implementando una unidad de procesos completa en una sola pastilla o chip de circuito integrado, y posteriormente, mediante el aumento de la rapidez, capacidad de trabajo y potencia de dicha unidad. La aparición de los microprocesadores (MP) representa el siguiente punto de salto en la electrónica después del ocurrido con la invención del transistor, y la tecnología de su construcción avanza tan rápidamente que prácticamente ha revolucionado en corto tiempo el desarrollo de múltiples campos de la ciencia y la técnica, a la vez que se introduce de manera convincente en nuestra vida doméstica, siendo difícil mencionar una rama o campo de la ciencia en la cual no exista una aplicación de los microprocesadores. De hecho, cada día aumenta el número de instrumentos, sistemas de control de procesos, medios y equipos para las telecomunicaciones, medicina, servicios públicos e incluso juguetes, que emplean dentro de su estructura algún tipo de MP, sin entrar a considerar el hecho real de la introducción, divulgación y aceptación que han tenido las nuevas generaciones de computadoras digitales basadas en este componente y que son conocidas por nosotros como microcomputadoras. Es difícil predecir qué pasará en la electrónica en los próximos años, pero de acuerdo con la opinión de personalidades de esta rama, la influencia de los MP en el futuro será cada vez mayor y de ahí la importancia de preparar a los profesionales encargados de su aplicación y desarrollo, y de que a su vez, los graduados de nivel superior posean conocimientos elementales que les permitan ganar en la cultura general necesaria que sirva de base a un conocimiento mayor de la aplicación específica en el campo en que desarrollarán su vida profesional . Este material no es más que un primer intento para cubrir la limitación de información que sobre este tema presenta el texto que se emplea en la asignatura Electrónica, que se imparte a las carreras de Ciencias Técnicas, permitiendo a los estudiantes disponer de forma condensada de los contenidos relacionados con esta temática previstos en dicha asignatura. 1
  • 3. 1-)Computadora Digital. Una computadora digital puede entenderse como un sistema que explora secuencialmente una información almacenada llamada programa, interpreta este programa y lo ejecuta. Para ello el sistema dispone de un HARDWARE, o sea, de una constitución física conformada por circuitos integrados interconectados sobre tarjetas de circuito impreso agrupadas en elementos funcionales de características definidas que conforman la MEMORIA, la UNIDAD de CONTROL, la UNIDAD LOGICO-ARITMETICA y las UNIDADES de ENTRADA-SALIDA. Simultáneamente dispone de un soporte no físico sino operativo, de un método de diálogo y por tanto de aceptación de órdenes, y de generación de mensajes. Ello lo constituye el conjunto de instrucciones al cual responde directamente, y es un elemento que caracteriza a cada computadora, y que recibe el nombre de SOFTWARE básico. El SOFTWARE no se limita al conjunto de instrucciones, sino que incluye también programas inteligibles por el computador, por tanto escritos de acuerdo con el SOFTWARE básico y que permiten interpretar programas escritos con lenguajes más evolucionados. El programa lo constituye un listado detallado de operaciones a desarrollar por la computadora en un orden consecutivo y lógico y es escrito en un lenguaje que sea comprensible para la máquina y que por tanto permita alcanzar ciertos resultados. El programador, atendiendo al lenguaje de la máquina que lo ocupa, al problema específico y a las operaciones simples que la máquina puede realizar, confecciona el listado de instrucciones (órdenes), a través de las cuales especifica la operación que debe ejecutar y la ubicación del o de los operandos sobre los que ejecutará la acción indicada. Este programa se carga (almacena) en la memoria en el orden secuencial previsto, constituyendo cada instrucción un grupo de 1 y de 0 que caracteriza o define una operación y no a otra. A esta representación binaria de las instrucciones de una computadora se le llama lenguaje de máquina o código de máquina. Los programas que pueden ser directamente ejecutados por una computadora digital están pues almacenados en lenguaje de máquina, no obstante, confeccionar programas en lenguaje de máquina resulta una tarea laboriosa y compleja, por lo que surgió el interés de crear lenguajes más asequibles para el ser humano y que tuviesen una cierta relación con la manera con que aquél especifica las operaciones de un proceso de información. De esta forma nació el lenguaje simbólico (assembler), que sustituye las combinaciones binarias del lenguaje de máquina por nombres simbólicos que hacen referencia a la operación que realiza la computadora cuando ejecuta la instrucción correspondiente. Cada instrucción del lenguaje simbólico es equivalente a una instrucción del lenguaje de máquina. Aunque el lenguaje simbólico es más fácil de manejar que el de máquina, todavía dista bastante del utilizado por el ser humano para expresar los procesos de información, en especial las operaciones complejas que implican la ejecución de un número elevado de operaciones elementales en secuencia. Por ello se crearon lenguajes 2
  • 4. de alto nivel que permiten especificar más fácilmente los procesos de información, donde cada instrucción se convierte posteriormente en un conjunto de instrucciones en lenguaje de máquina. Tanto el lenguaje simbólico como los de alto nivel, hicieron necesario el desarrollo de programas que al ser ejecutados por un computador tradujeran los programas escritos en aquellos al lenguaje de máquina. Estos programas traductores se conocen con el nombre de compiladores y realizan la traducción al lenguaje de máquina para la totalidad del programa de una sola vez. Esta versión traducida del programa escrito en un lenguaje de alto nivel (llamado programa fuente), se denomina programa objeto, y puede transferirse a la memoria y ejecutarse directamente. Los programas intérpretes utilizan otros principios de funcionamiento. Cada instrucción escrita en el programa fuente le indica al intérprete un conjunto de acciones que debe cumplir sin que medie un programa objeto en código de máquina. La principal ventaja de un intérprete es que permite fácilmente probar y poner a punto el programa. Tanto el programa intérprete como el programa fuente permanecen en la memoria durante la ejecución del programa, lo cual generalmente ocupa una mayor capacidad de memoria, y no se posee un programa objeto en código de máquina para su posterior concatenación con cualquier programa. Posteriormente surgió la combinación de intérprete y compilador en un solo paquete de programas, pudiendo aprovecharse las ventajas de ambos sistemas, como es el caso del TURBOBASIC, TURBOPASCAL, etc. 1.1-Generaciones de computadoras digitales . Desde la creación de las primeras computadoras digitales en el año 1947, se han sucedido diferentes generaciones o estadios de desarrollo tanto a nivel de HARDWARE como a nivel de SOFTWARE. En las llamadas primeras generaciones se utilizaron tubos de vacío como elementos lógicos y como memorias se utilizaron tambores magnéticos, el SOFTWARE aún no se llamaba así y era muy primario, a nivel de lenguaje-máquina y de tímidos ensayos simbólicos. En la 2da generación, hacia 1956, se utilizaron ya transistores de germanio y, posteriormente de silicio (el transistor se había inventado en 1947 y se había industrializado pocos años después.) por la parte lógica, la memoria ya fue de ferritas y se continuó usando memoria exterior de tambor, discos y cintas magnéticas; el SOFTWARE era el mismo de la anterior generación, pero incluía ya compiladores fortran aún bastante primarios, aunque fueron mejorando con el tiempo. El primer gran cambio de los lenguajes se produjo pues, en esta generación. Mientras hasta entonces los programas en lenguaje-máquina o en lenguaje simbólico debían ser escritos para una máquina concreta puesto que eran orientados a las máquinas, a partir de entonces fueron orientados al problema, por lo que el programa era aplicable a cualquier máquina siempre que existiera el traductor (compilador) adecuado a aquella máquina. La tercera generación apareció hacia 1964 simultáneamente con la aparición de las MINICOMPUTADORAS. El hardware era realizado con circuitos integrados RTL y ECL que evolucionaron hasta los TTL en 1966. La MEMORIA continuaba siendo de ferritas y el software llego a su mayoría de edad con lenguajes de alto nivel FORTRAN, COBOL y sobre todo con la aparición de SISTEMAS OPERATIVOS. Fue el momento de la incorporación de las computadoras al control del procesos. 3
  • 5. La cuarta generación apareció hacia 1971 simultáneamente con la aparición de las MICROCOMPUTADORAS, de las terminales de TELEPROCESOS y solapándose con los lenguajes de más alto nivel (PL1, ALGOL68, BASIC, etc.). 4
  • 6. 1.2) Estructura de una Computadora Digital. La estructura típica de una computadora digital ha sido en las primeras generaciones la que se muestra en la figura. Memoria Salidas Unidad de Entradas Procesos Unidad de Control Esta estructura ha sido la primitiva y ha ido evolucionando variando, no en esencia, sino en forma, hasta llegar a una estructura más moderna, la cual se muestra a continuación: Bus de direcciones A Unidadde Unidad Unidad de Unidad de Unidad de Unidad de Entradas Memoria Procesos Control Salidas Bus de datos D Bus de Control C Puede verse que tanto en una como en otra figura las unidades funcionales son prácticamente las mismas; lo que ha sufrido modificaciones han sido las interconexiones de estas unidades, que modernamente se realizan por BUSES y antes no se realizaban así. Un bus está formado por un grupo de líneas por donde se trasmiten los datos, códigos de instrucción, señales de sincronización y códigos de dirección entre las diferentes unidades funcionales de la computadora de forma paralela lo que permite una alta velocidad de transmisión. La interconexión por buses ha representado un gran ahorro de interconexiones y una simplificación desde el punto de vista estructural. Esta evolución ha sido debida al desarrollo tecnológico que ha permitido obtener sistemas con tres estados lógicos posibles (TRI-STATE): 1 lógico, 0 lógico y 3er estado también denominado estado de alta impedancia, permitiendo que el dispositivo que no esté tomando parte del intercambio de información en un momento dado pueda aislarse. En realidad las líneas del bus se agrupan en tres, de acuerdo con la información que transportan: bus de dirección, bus de datos y bus de control. 5
  • 7. El bus de datos es bidireccional y por él circulan los datos que llegan o salen de la computadora por las unidades de entrada y salida, así como los datos intermedios que son leídos o almacenados en la memoria .De acuerdo con la longitud de la palabra que es capaz de manejar el bus de datos, se designa la longitud de palabra de la microcomputadora. El bus de direcciones es unidireccional, y con el código binario que aparece en ese bus se selecciona la unidad o dispositivo que trabajará en cada instante. El bus de control está formado por varias líneas donde cada una posee una función muy específica e indica a cada una de las unidades y dispositivos externos la función que debe realizar. Así se logra la sincronización de todos los elementos de la computadora, lo cual queda a cargo de la unidad de control. También sirve para que la CPU reciba ciertas indicaciones de las unidades periféricas. En la figura se distinguen además los siguientes elementos funcionales: unidad de entradas, memorias, unidad de proceso, unidad de control y unidad de salidas. La unidad de entradas no es más que un multiplexor con el que se escoge por el bus de direcciones y el de control cuál de las informaciones presentes se desea traspasar al bus de datos. La unidad de memoria es el almacén tanto de instrucciones como de datos. La unidad de proceso realiza las operaciones aritméticas y lógicas con las informaciones que entran en ella a partir del bus de datos y el de direcciones. Tiene para ello una unidad aritmética lógica (ALU), uno o varios acumuladores, unos registros de indicadores o banderas, así como unos registros rápidos de trabajo (RRT) en los que se almacenan temporalmente los datos que no interesa guardar indefinidamente en memoria La unidad de control es el verdadero cerebro del sistema pues es capaz de tomar decisiones lógicas en el curso de la ejecución de un algoritmo. Es decir, según informaciones, normalmente suministradas por la unidad de procesos sobre el valor de algún resultado, se puede ejecutar una parte u otra del programa, sólo con ir a buscar las nuevas instrucciones a un sitio diferente de la memoria central. En ella se encuentra el contador de programas con su sistema de aritmética de direcciones y el puntero del stack. También se encuentra el registro de instrucciones, decodificador de instrucciones, registros auxiliares, etc. La unidad de salidas recibe por el bus de datos la información a sacar al exterior y por el bus de direcciones la dirección por la cual debe sacar los datos anteriormente mencionados. Generalmente la Unidad de Control y la Unidad de Procesos se agrupan en un solo bloque denominado UNIDAD CENTRAL de PROCESAMIENTO (CPU). 1.3- Elementos básicos de una microcomputadora. Una microcomputadora consta de tres elementos fundamentales: Unidad Central de Procesamiento, la Memoria y las Unidades o Puertos de Entrada/Salida todo ello debidamente interconectado mediante un sistema de buses. Su esquema será entonces el mismo que aparece en la figura anteriormente mostrada, con la unión de las unidades de control y de proceso en un solo bloque llamado CPU. La CPU unifica el sistema controlando las funciones realizadas por los otros componentes. Se conoce bajo el nombre de microprocesador la CPU de la microcomputadora construida en una sola pastilla de circuito integrado (CI) .Al igual que los procesadores de todas las computadoras, el microprocesador puede manejar tanto datos aritméticos como lógicos de forma paralela bajo el control de un programa . Sin embargo lo que los 6
  • 8. fabricantes ofrecen bajo el nombre de microprocesador varía mucho de uno a otro modelo. En el 8080 por ejemplo, están integrados los bloques de procesos y la mayor parte del control, en el 6800 está completo proceso y control; en el 2650 se incluye además parte de las entradas/salidas, el 8048 es un ejemplo de los microcomputadores en una sola pastilla, pues incluye casi todo lo necesario para constituir un pequeño sistema, y en general, en la medida que se desarrollan los microprocesadores, estos abarcan cada vez estructuras mas complejas. A continuación haremos una descripción más detallada de cada uno de estos elementos de la microcomputadora. 1.3.1 - Unidad de Memoria. En la memoria se almacenan los datos, los resultados y el programa de trabajo en el cual se basará la CPU para regir las actividades a realizar en el sistema. La memoria posee un conjunto de N posiciones numerados desde 0 hasta N-1, direccionables con n bits tal que 2n = N. Por ejemplo con n=16 bits, se direccionan 216 = 65536 posiciones. Si cada una de estas posiciones permite guardar un byte (palabra de 8 bits), podemos decir abreviadamente que con n=16 bits se direccionan 64 Kbytes de memoria siendo 1Kbyte=1024 bytes. La longitud de la palabra que se almacena en la memoria coincide con la longitud de la palabra que es capaz de manejar el bus de datos, puesto que la memoria recibe y entrega información a dicho bus mediante los procesos llamados lectura y escritura . Con ayuda de un esquema pasaremos a describir como se llevan a efecto estos procesos: 0 MEMR 1 . n . . MEMW N- N-1 2 =N MAR MDR AB DB CB Cuando la CPU desea hacer una lectura en la memoria, coloca en el bus de direcciones (AB) la dirección de la memoria que se desea leer, y coloca un “1” en MEMR (memory read) del bus de control (CB) . La dirección se transfiere al registro de direcciones de memoria (MAR - memory adresss register) y desencadena el proceso de lectura como resultado del cual al cabo de cierto tiempo de acceso al contenido del registro direccionado, aparece en MDR (registro de datos de memoria - memory data register) y de ahí pasa al bus de datos (DB - data bus). La escritura se realiza de forma similar solo que se coloca un “1” en MEMW (memory write) y en MDR entra el contenido de DB que pasa a escribirse en la memoria 7
  • 9. En la figura siguiente se muestra un segmento de 8 localizaciones de memoria cuyas direcciones están numeradas desde la 83F2H (el sufijo H significa que el número está escrito en notación hexadecimal) hasta la 83F9H: Dcion. CONTENIDO (Hex.) 83F2 0 0 1 1 1 1 1 0 (3E) 83F3 0 1 0 0 0 0 0 1 (41) 83F4 1 1 1 1 1 1 0 0 (FC) 83F5 1 1 0 1 0 1 0 1 (D5) 83F6 0 1 1 1 1 0 1 0 (7A) 83F7 0 0 1 0 0 0 1 0 (22) 83F8 0 1 0 0 0 0 0 0 (40) 83F9 1 1 1 0 1 0 1 1 (E8) Cada localización de memoria tiene su propio contenido. Por ejemplo, la localización con dirección 83F6H tiene como contenido 01111010, el cual expresado en hexadecimal corresponde a 7AH. Este contenido es el que se entrega al bus de datos en el caso de que sea direccionada esta localización y se diese la orden de lectura. Como se apuntó anteriormente una secuencia de instrucciones que persiguen un propósito determinado constituye un programa. Este programa se almacena en la memoria para ser ejecutado. La CPU lee cada instrucción de dicha secuencia y la utiliza para iniciar acciones de trabajo. La memoria también se usa para almacenar los datos que son manipulados. La CPU puede rápidamente tener acceso a cualquier dato almacenado en la memoria. La capacidad de la memoria que se mide en octetos (bytes), está dada por el número de localizaciones de memoria existentes. En muchas ocasiones se expresa en kilooctetos (Kbyte) y en otras indicando el producto del número de las localizaciones por el número de bits de cada una de ellas. Por ejemplo, una capacidad de 4K x 8 bits indica que la memoria contiene 4096 localizaciones de 8 bits cada una. El tiempo de acceso se define como la demora en tiempo desde el instante que se fija una dirección de memoria hasta que se tiene acceso a la información almacenada (tiempo de lectura), o se completa la modificación de la información almacenada (tiempo de escritura). El acceso aleatorio significa que el tiempo de acceso a una localización de memoria particular es independiente de su dirección. Por último debemos recordar que las memorias en las computadoras se clasifican en general en dos grupos: memorias de acceso aleatorio (RAM) con las cuales se conforma la memoria operativa y memoria de solo lectura (ROM) que integran la memoria permanente (con sus variantes PROM, EPROM, EEPROM, etc.). 1.3.2- Interfaces, puertos o unidades de entrada-salida. Las interfaces de entrada y salida son toda una colección de hardware y de software que permite la comunicación entre la CPU y los dispositivos de entrada y de salida y de hecho con el mundo exterior. La parte correspondiente al software en la interface es llamada protocolo, y formalmente especifica las convenciones que gobierna el formato y la forma de control de las entradas y salidas entre dos sistemas de comunicaciones. Se necesita de la existencia de una interface de entrada debido a que los dispositivos de entrada generalmente no son compatibles con la CPU y por tanto es 8
  • 10. necesario convertir las señales eléctricas de entrada en un tipo que sea aceptable a esta. Esto también se aplica aunque de forma invertida para el caso de los dispositivos de salida. Físicamente las interfaces de entrada y salida son C.I. extremadamente versátiles en sus funciones los cuales pueden ajustarse mediante la variación de sus software correspondientes. Las tareas más simples son realizadas por los puertos de entrada y salida (PIO). Los PIO pueden ser incluidos como parte integrante del C.I. junto a la CPU o pueden aparecer de forma independiente. En este último caso es un MSI chip (circuito integrado de escala de integración media), que contiene un buffer de registro de direcciones multimodo con salida de tres estados. A través de los puertos de entrada la microcomputadora puede recibir información de cualquier dispositivo externo, como por ejemplo, un teclado de caracteres alfanuméricos, un disco magnético, o las señales provenientes de un proceso industrial o un instrumento médico. A su vez la microcomputadora también requiere uno o más puertos que permitan a la CPU comunicar el resultado de su actividad al mundo exterior. La salida puede ir a un visualizador de televisión, para ser usada por un operador o un impresor para producir una copia legible en papel, también puede estar constituida por señales para el control de procesos que dirijan las operaciones de otro sistema. Tanto los puertos de entrada como los de salida son direccionables, es decir; para trasmitir información hacia el puerto, o recibirla donde esté, es necesario que la CPU envíe previamente un número que lo identifica y que constituye a su vez la dirección del puerto. Dos tipos de entrada-salida se hallan en la computadora en una tarjeta: los puertos de entrada-salida en paralelo y los puertos de entrada-salida en serie. Los PIO paralelos permiten la entrada-salida de datos en forma paralela, es decir, todas las líneas del bus de datos entran o salen a la vez de la microcomputadora, lo que posibilita una transferencia de datos entre la CPU y cualquier equipo periférico a alta velocidad. Los PIO en paralelo más usados son los de tipo programable, es decir, que puede la misma pastilla ser usada como entrada o como salida de acuerdo con el programa de instrucciones que realice el usuario. Ejemplo : El circuito integrado 8255 constituye un PIO programable con E/S Paralelo Tiene 8 terminales de datos que se conectan al bus de datos y 24 terminales de salida que pueden agruparse en tres grupos de 8 bits, ó 4 grupos (2 de 8 bits y 2 de 4 bits). Bus de 8 Datos D0-D7 PA A0 8 A1 PB Rd 8255 8 Wr PB Cs 9
  • 11. A1 A0 Rd Wr Cs x x x x 1 D0-D7 en 3er estado x x 1 1 0 D0-D7 en 3er estado 0 0 1 0 0 D0-D7 → Puerto A 0 0 0 1 0 D0-D7← Puerto A 0 1 1 0 0 D0-D7 → Puerto B 0 1 0 1 0 D0-D7 ← Puerto B 1 0 1 0 0 D0-D7 → Puerto C 1 0 0 1 0 D0-D7 ← Puerto C 1 1 1 0 0 D0-D7 → Palabra de Control De acuerdo con la tabla que se muestra, puede conocerse la combinación que se necesita aplicar a las entradas para producir el traspaso de la información en cualquier sentido entre el bus de datos y las salidas Pa, Pb y Pc. Los PIO serie se emplean cuando se requiere que la transferencia de datos entre los periféricos y la computadora, se realice en forma serie, es decir, bit a bit de cada octeto de dato. Por ejemplo, cuando se trasmiten datos entre dos computadoras a través de una línea telefónica, el formato que se utiliza es el de la transmisión en serie. Como la microcomputadora trabaja con los datos en paralelo, para trasmitir o recibir datos en serie es necesario un PIO que conecte datos de paralelo a serie y viceversa La gran ventaja de la transmisión en serie es que necesita solamente dos alambres para trasmitir todas las señales necesarias entre módulos o sistemas. Por otra parte, la desventaja radica en que el intercambio de datos se realiza a menor velocidad que si fuera en paralelo. Ej.: El circuito integrado 8251. Bus de Datos D0-D7 TxD Salida de Datos Serie Rd RxD Entrada de Datos Serie Wr Clock 8251 Cs 1.3.3- Unidad Central de Procesamiento (CPU). Es el corazón de la microcomputadora, siendo la encargada de unificar el sistema a la vez que controla las funciones realizadas por las otras unidades . 10
  • 12. Esta unidad es capaz de buscar instrucciones en la memoria, decodificar su contenido y ejecutarlas. Es la encargada de comunicarse con la memoria y con los PID tantas veces como sea necesario durante la ejecución de un programa. La CPU deberá también reconocer y responder a ciertas señales de control externo, tales como solicitudes de interrupción u otras a fines. Lleva en su interior la base de tiempo que genera los ritmos o impulsos de reloj de las diferentes partes del sistema . Todas las instrucciones tienen dos tiempos fundamentales, llamados busca (fetch) y ejecución (execute). El tiempo de ejecución empieza por un subtiempo de decodificación de la instrucción y prosigue con la parte de ejecución que puede tener varios subtiempos , dependiendo del tipo de instrucción. La suma del tiempo de busca y el de ejecución, da lo que se conoce como ciclo de instrucción y el mismo depende no solo del tipo de instrucción sino también de las características de velocidad de la CPU. La CPU realiza también las operaciones aritméticas y lógicas, así como la transferencia entre acumulador, registros de trabajo, etc. Cuando la CPU se fabrica en un solo chip, a dicha estructura como señalamos anteriormente, se le da el nombre de microprocesador. Por la importancia que tienen estos dispositivos, en los epígrafes siguientes de este material se realizará un estudio más detallado del mismo. 2-Microprocesadores. Pocas áreas de la electrónica han experimentado un progreso tan acelerado como el ocurrido en el caso de los microprocesadores, las microcomputadoras y sus circuitos asociados correspondientes. La complejidad de los circuitos integrados prácticamente se ha ido duplicando en cada año a partir de los inicios de la década de los 60. Como consecuencia de este desarrollo, a finales de la década aparecieron los circuitos integrados de gran nivel de integración (LSI) los cuales realizaban funciones de un alto grado de complejidad. Ejemplo de ello fue el desarrollo de unidades lógico- aritméticos (ALU) en un chip, que podían ejecutar muchas de las funciones de las microcomputadoras actuales como son la suma, la resta, rotación y desplazamiento. Sin embargo, no fue hasta 1971 en que fue posible combinar esta unidad (ALU) con circuitos secuenciales tales como flip-flops, registros de desplazamientos y otros elementos, todo dentro de un chip, para dar lugar a un rudimentario microprocesador. La técnica de los microprocesadores implica una unión indisoluble entre el HARDWARE y el SOFTWARE. No será posible la construcción de un sistema completo si no se trabaja en ambos sentidos. Una microcomputadora está compuesta por un microprocesador, circuitos de entrada-salida y las memorias, todo ello unido a los equipos periféricos, estando íntimamente ligada la cantidad de estos elementos con las características de la aplicación particular. El microprocesador es el puesto de mando donde se dirige el proceso de la computadora y en el que ocurre una buena parte de él. De este componente depende la velocidad del proceso, el sistema operativo que se correrá e incluso una importante porción del consumo energético del equipo y del costo del sistema. Está constituido por un chip de silicio cuya área aproximada en dependencia del modelo es de apenas 1.5 cm2 y en este reducido espacio se encuentran dispuestos varios millones de transistores que son los verdaderos actores de procesamiento lógico de la información. Desde el más humilde Intel 4004 que en 1971 trabajaba a 0.2 MHz., hasta el impresionante Pentium 4 de Intel con 3 GHz., todos los MP en esencia hacen lo mismo: 11
  • 13. reciben la información binaria y la procesan sobre la base de instrucciones predefinidas que generan una nueva información también binaria. El MP reacciona constantemente a las instrucciones, pero no puede hacerlo con todas a la vez, porque estas se atascarían. Ello se resuelve mediante una espera del procesador hasta que se aprueba la recepción de la señal. El reloj del sistema determina el tiempo de espera. A espacios definidos de tiempo, el reloj envía impulsos eléctricos que marcan al sistema el rango de estas esperas. Si una instrucción se halla en espera y el procesador no está ocupado con instrucciones previas, le da entrada y trabaja con ellas. El número de instrucciones que el MP puede procesar por cada una de estas pulsaciones de reloj (ciclos) dependerá del diseño o arquitectura del mismo. En sus inicios las CPU podían manejar una sola instrucción por ciclo, pero en la actualidad esa cifra se ha incrementado notablemente a partir de dos concepciones aplicadas a la construcción de esos sistemas: la canalización y la ejecución superescalar. La canalización permite que el procesador lea una nueva instrucción de la memoria antes de terminar la fase de la instrucción en curso. Algunos de los modernos MP pueden trabajar simultáneamente con varias instrucciones. La profundidad del canal será la medida del flujo de datos que puede aceptar el sistema. Digamos por ejemplo que el 80486 tiene una profundidad de canal de 4, o sea, que hasta 4 instrucciones pueden encontrarse en distintas etapas de canalización, ya en el pentium esa cifra es de 5 y crece en el diseño de CPU con tecnología MMX y otros equivalentes como el K6 y en superiores como el pentium II. La ejecución superescalar significa que el sistema posee más de un canal, lo que significa que puede procesar más de un grupo de instrucciones a la vez. Si bien técnicamente esto debería multiplicar el desempeño, en la práctica no es exactamente así, pues ocurre que un canal espera a que termine el otro. No obstante, en términos prácticos optimiza el funcionamiento del procesador. En la historia de los MP han existido dos filosofías de diseño: la CISC y la RISC. CISC (Complex Instruction Set Computing), creada por IBM como un software sencillo almacenado en el chip y que contenía las instrucciones para el procesador, permitió salvar el escollo que representó la complejidad sucesiva de las aplicaciones de software que en otras circunstancias habría llevado al cambio constante del hardware en función de los programas. Al ejecutarse, los programas CISC ocupaban menos espacio en memoria y esta última valía en los años 60 y 70 más que el oro. CISC se incluye en los procesadores Mainframe de IBM, los Motorola 680X0 y es emblemático de los procesadores Intel, principalmente de los X86 y todavía se utiliza en los pentium actuales. En el diseño RISC (Reduced Instruction-Set Computing), existen menos instrucciones, cada una tiene una longitud de 32 bits y se ejecuta en un solo ciclo de reloj. Con esta arquitectura, los procesadores incorporan una caché de memoria de alta velocidad en la que se almacenan la secuencia de instrucciones a ejecutar. El uso eficaz de tales datos depende en gran medida de la canalización, que en esta arquitectura adquiere un protagonismo indiscutible. Bajo esta concepción se desarrollaron algunas de las CPU más poderosas en la actualidad tales como los Power PC de Macintosh, incluido el célebre 750, más conocido como G3, los alpha de las estaciones Silicon Graphics y los SPARC de Sun Microsystem. Incluso hasta unidades tan sencillas como las máquinas de juego Nintendo, poseen en su interior uno de estos dispositivos. Por sus innumerables aplicaciones los microprocesadores han invadido los más diversos campos de la ciencia y la técnica, abarcando desde complejos sistemas de control o de computo hasta sencillos equipos electrodomésticos o de juguetería, 12
  • 14. incluyendo sistemas de comunicación de datos, diagnóstico médico, control numérico de máquinas herramientas y otros. Dentro de las ventajas de los sistemas con los microprocesadores podemos señalar las siguientes: a-) Pueden realizar muchas operaciones por software, en lugar de usar componentes electrónicos. b-) Reducción del tamaño, no sólo del microprocesador, sino del resto de los circuitos que lo complementan. c-) Aumento de la fiabilidad, ya que disminuye el número de componentes. d-) Flexibilidad en el diseño. e-) Disminución de los costos tanto en diseño, como de la producción y reparaciones. En cuanto a las desventajas mencionaremos: a-) El aprendizaje del software, pues cada microprocesador posee un juego de instrucciones a las cuales responde. b-) Los métodos difíciles de prueba que deben hacerse a la velocidad de trabajo del microprocesador. 2.1) Estructura típica de un microprocesador de 8 bits. ( ver esquema anexo). Aún el microprocesador más simple presenta una estructura compleja, pues en ella se encuentran un gran número de nudos y unidades tales como sumadores, decodificadores, registros de todo tipo, flip-flops, esquemas lógicos, etc. Por otra parte, la rapidez, potencia y complejidad de estos dispositivos se perfeccionan más cada día, por lo cual no es posible en un material de este tipo efectuar un estudio profundo de este aspecto, además de irse fuera de los objetivos que no hemos trazado con su escritura. Es por ello que para brindar una idea general de la estructura y lograr una comprensión más simple, analizaremos como se conforman los MP de 8 bits y para ello consideraremos la existencia de dos bloques funcionales dentro del microprocesador, a los cuales denominaremos como bloque, subsistema o unidad de procesamiento, y bloque, subsistema o unidad de control. 2.2) Bloque de Procesamiento. El núcleo fundamental del bloque de procesamiento lo constituye la unidad aritmética y lógica (ALU), la cual está conformada por un circuito combinacional capaz de realizar las operaciones aritméticas (suma y resta) y lógicas ( nd, or, not, etc) a indicadas en el código de la operación. Para poder realizar su función la ALU cuenta con la ayuda de varios registros. La ALU puede operar con los datos provenientes de uno o a lo sumo dos de los registros a la misma vez. Uno de estos registros es más versátil que los restantes y recibe el nombre de acumulador, mientras que los otros registros se denominan de propósito general. Estos registros se utilizan para: -almacenamiento temporal de datos y direcciones -su contenido se puede transferir entre ellos y con la memoria -sumar su contenido con el que existe en el acumulador -comparar su contenido con el que existe en el acumulador -incrementar o decrementar su contenido, etc. 13
  • 15. El acumulador además de las funciones antes mencionadas podrá: -rotar su contenido -complementar su contenido -aceptar o enviar datos a los PIO -realizar operaciones aritméticas y lógicas con el contenido de cualquiera de los registros de propósito general -en general el acumulador siempre es el origen de uno de los operandos y el destino del resultado. Los dispositivos encargados de transferir el contenido del registro seleccionado hacia la entrada de la ALU son los llamados multiplexores. Igualmente otros multiplexores serán los que muevan la información desde la salida de la ALU hacia un registro de destino, donde se mantiene la información hasta que sea requerida por algún circuito externo. Todas estas operaciones son controladas por un circuito secuencial el cual se acopla a todos los registros y multiplexores. Por ejemplo, para un microprocesador de 8 bits, el acumulador y los multiplexores son dispositivos capaces de manejar una longitud de palabra de 8 bits, aunque en el caso de los registros de propósitos generales pueden en ocasiones utilizarse por parejas y conformar una estructura de 16 bits. 2.2.1) Registro de Indicadores. Existe aquí además un registro sumamente importante denominado registro de indicadores o banderas, el cual trabaja muy vinculado a la ALU, ya que le va indicando a ésta el estado de las operaciones aritméticas o de rotación que va realizando. Por ejemplo en el MP 8080 el registro de indicadores posee 8 bits, pero sólo 5 de ellos son significativos de acuerdo a la estructura que se muestra a continuación: SIGNO ACARREO PARIDAD ACARREO S Z X A X P X C D7 D6 D5 C D3 D2 D1 D0 D4 CERO DO (ACARREO)-Se activa en 1 cuando al realizar una operación aritmética el resultado no cabe en el acumulador. Ejemplo: Binario Decimal 11011001 207 +10010001 145 Acarreo 101101010 452 Al realizar una operación de dos bytes se obtuvo como resultado un número de 9 bits, haciéndose necesario entonces un 1 en el indicador de acarreo. D2 (PARIDAD) - Si al efectuar una operación, el número de bits presente con el estado lógico 1 es par (2, 4, 6 u 8), se fija un 0 lógico en el bit de paridad. De la misma forma 14
  • 16. si el número de 1 lógicos en el acumulador es impar (1, 3, 5 ó 7), se fija un 1 lógico en dicho bit de paridad. Ejemplo: Si en el acumulador hay 11001100 entonces D2 es cero, pero si el contenido del acumulador es 10101000 entonces D2 es 1. D6 (INDICADOR DE CERO). - Se activa con 1 lógico cuando el resultado de la operación en el acumulador da 00000000, y presenta un 0 lógico en caso contrario. D7 (INDICADOR DE SIGNO). Si está en 1 lógico indica que el contenido del acumulador es negativo y el 0 lógico indica que es positivo. D4 (ACARREO AUXILIAR).- El programador no tiene acceso a él. Se utiliza para convertir un número de binario a BCD. En otros microprocesadores pueden emplearse otros tipos de indicadores. Algunos de ellos los relacionamos a continuación: E - se activa con la existencia de dos palabras de entrada iguales. GT-indica una palabra de entrada mayor que la existente en la otra entrada. GE- indica una palabra de entrada mayor o igual que la existente en la otra entrada. LT- indica una palabra de entrada menor que la existente en la otra entrada. LE - indica una palabra de entrada menor o igual que la existente en la otra entrada. 2.3) Bloque de Control. El bloque o unidad de control constituye el cerebro rector de todas las actividades dentro del microprocesador. Entre sus funciones fundamentales se encuentra el decodificar (interpretar) los códigos de operación de las instrucciones del programa, y el generar las señales que viajan por el bus de control, las cuales deben estar sincronizadas para su correcta manipulación por el resto de las unidades. Dentro de las secciones que constituyen esta unidad se encuentra el registro de instrucciones, el decodificador de instrucciones y el contador de programa. Un contador de programa típico para un microprocesador de 8 bits, almacena una palabra de 16 bits. El contenido de este contador se corresponde con la localización de memoria externa donde se encuentra la instrucción que se ejecuta por el microprocesador; o lo que es lo mismo, la dirección de la memoria que se encuentra activada. Este contador se incrementa automáticamente en una unidad durante cada ciclo de máquina. Cuando se inicia el proceso de ejecución de un programa, un circuito externo fija el contenido del contador de programa el cual será la dirección específica de la memoria en la cual se encuentra almacenada la primera instrucción del programa. Esta instrucción se lee en la memoria, y mediante el bus de datos se traslada al registro de instrucciones. El registro de instrucciones es el encargado de almacenar temporalmente la instrucción extraída de la memoria para que el decodificador de instrucciones determine cuál es la operación que se debe hacer. De acuerdo con ello este decodificador producirá las señales necesarias para encaminar los datos en un sentido o el otro, indicará que operación deberá hacer la ALU y si hay que producir algún cambio en el contador de 15
  • 17. programa, a la vez que emitirá las señales para entrelazar todos los diversos registros del microprocesador que son necesarios para la ejecución del una instrucción en particular. La unidad de control cuenta además con una sección de tiempo o sincronización que realiza una función muy importante, pues el MP como ya hemos señalado a partir de la salida del decodificador de instrucciones tiene que especificar los ciclos apropiados de máquina que son necesarios para la ejecución correcta de dicha instrucción. Todo esto es posible lograrlo mediante la generación de la señal de control y de tiempo internas apropiadas y su envío a los diferentes elementos y componentes dentro y fuera de MP. Para sincronizar todo este proceso los MP disponen de un generador interno de pulsos llamados pulsos de reloj, cuya frecuencia se controla exteriormente mediante una red RC o modernamente mediante un CRISTAL conectado a sus terminales . En el microprocesador se encuentran también presentes algunos registros adicionales que se utilizan para el almacenamiento temporal de datos. Por ejemplo, usualmente se coloca un registro entre el contador de programa y la memoria, que se denomina registro de direcciones de memoria (MAR); y entre la memoria y el registro de instrucciones en ocasiones se emplea un registro denominado registro de datos de memoria (MDR). Cada instrucción programada por un usuario requiere de la realización de un determinado número de operaciones internas denominadas microinstrucciones, y de aquí surge la necesidad de almacenar un cierto número de resultados intermedios. El conjunto particular de microinstrucciones de un microprocesador se almacena en una ROM llamada ROM de control o microROM, la cual generalmente se encuentra dentro del propio C.I. del microprocesador. 2.4) Temporización y Sincronización. En cada microprocesador, el tiempo de duración de los eventos, o sea, la velocidad a la cual se procesa, está determinado por los pulsos de reloj. Estos pulsos difieren de un MP a otro, utilizándose en algunos de los casos un sólo tren de pulsos, mientras que en otros se emplean dos. En el ejemplo representado en la figura se emplean dos trenes o grupos de sucesión de pulsos Q1 y Q2, suministrando por un generador de reloj, llamado comúnmente sólo como reloj. 1 2 Período de reloj Cada tren de pulsos está compuesto de pulsos cuadrados idénticos en amplitud, duración y frecuencia de repetición, pero la fase Q1 está desplazada de la fase Q2 por medio período, o sea, la salida de Q2 está demorada T/2 en relación con la salida de Q1. El cambio de un estado a otro del MP se produce en sincronización con estos pulsos de reloj. La secuencia de estados a través de los cuáles se desplaza el control 16
  • 18. durante el procesamiento de una instrucción, es a lo que se le denomina ciclo de instrucción. La sucesión de estados (generalmente entre 3 y 5) en los cuales se efectúa una comunicación con la memoria y se procesa el dato por este comunicado, constituye lo que se conoce con el nombre de ciclo de máquina. En general un ciclo de instrucción está compuesto de uno o varios ciclos de máquina en dependencia de su complejidad. 2.5) Instrucciones que alteran el contador de programa . Existen instrucciones que conllevan a una alteración del contenido del contador de programas. Dentro de ellas se encuentran la realización de las siguientes operaciones: a) salto incondicional (JMP) b) salto condicional (JNZ , JP) c) salto a subrutinas (CALL , CNC , CC) d) instrucciones de retorno (RET , RPU , RM) e) instrucciones de carga (PCHL) d) interrupción. Siempre que se realice un salto a subrutina debe, después de haberla ejecutado, aparecer una instrucción de retorno, y el contador de programa debe retornar a su valor original desde donde saltó para continuar la ejecución del programa. Para garantizar esto se crea una zona en memoria (RAM) llamada STACK (pila), llamada así por la estructura que tiene de almacenar los datos en forma de pila, donde el último dato que entra es el primero que sale (LIFO - last in first out). Cuando se realiza un salto a subrutina, el contenido del contador de programa (PC) se guarda en la pila; si dentro de esa subrutina salta a otra, se vuelve a guardar en la pila el contenido que tenia el contador de programa y así sucesivamente; esto permite que al ir terminando la ejecución de cada subrutina se vaya retornando hacia el programa principal con sólo llevar con cada instrucción de retorno el último dato que entró a la pila al PC. Pero existe un detalle muy importante. Es necesario saber en que localización de memoria se encuentra el último dato que queda en la pila. Es por ello que existe el puntero del stack. 17
  • 19. 2.5.1)Puntero del STACK (SP). Es un registro de 16 bits que se encuentra dentro del MP, encargado de indicar la próxima localización posible de memoria a ser ocupada dentro del stack. Este registro se carga inicialmente con el código que representa la primera capacidad de memoria vacía que será utilizada como pila y se irá decrementando en una unidad cada vez que se introduzca un dato de 8 bits. Por cada dato extraído se produce un incremento. Veamos cómo trabaja el puntero del stack mediante un esquema: PROGRAMA PILA SUBRUTINA A PILA SUBRUTINA B PRINCIPAL SP SP DR2 DR1 DR1 1 2 DR2 DR1 4 3 PILA PILA SP SP DR1 Si la salida del programa en lugar de ser por un salto a subrutina es por una interrupción, además de la dirección en que se estaba, en la pila se guardan los datos necesarios para poder continuar la ejecución del programa. 2.5.2) Interrupciones. Formalmente el tratamiento de interrupciones es bastante semejante al de salto a subrutina, pues en realidad es un salto a subrutina. Sin embargo, este es un nuevo mecanismo con una función diferente y, por cierto, muy utilizado en las aplicaciones con microprocesadores. En principio cuando un procesador ejecuta un programa no existe forma de alterar la frecuencia predeterminada (y que incluye, claro está, saltos y subrutinas). En estas condiciones la CPU sólo se entera de acontecimientos externos (por ejemplo llegada de datos o petición de resultados por parte de algún periférico), si se realiza por iniciativa del programa una verificación de dichos posibles acontecimientos. Ello obligaría al programador a incluir periódicamente subrutinas de comprobación de periféricos y llevar en todo momento control de los tiempos de ejecución. Las interrupciones son solicitudes de servicio que llegan por líneas especiales (en un mecanismo de hardware), y que pueden recabar la atención de la CPU en 18
  • 20. cualquier momento. Después será cuestión del procesador el decidir si dicho servicio es prioritario o no sobre lo que estaba haciendo, y romper la secuencia en curso. Como ya se ha dicho, formalmente una interrupción es muy parecida a un salto a subrutina, pero la llamada no se realiza por una instrucción especial sino activando asíncronamente una línea especial (puede haber varias). La CPU termina la instrucción en curso y después o sale hacia donde debe saltar o lo pregunta. Los detalles deben ser estudiados en relación a cada máquina en concreto. Existe sin embargo una diferencia muy importante entre el salto a subrutina dentro de un programa y el salto a la subrutina de atención a una interrupción. Cuando el procesador la recibe, está ejecutando una tarea que en cada momento está representada por un conjunto de informaciones de las cuales depende la evolución posterior de su trabajo, y que deben de ser preservadas si la tarea que está realizando ahora, más adelante ha de reemprenderse en el mismo punto en que se abandonó para atender la interrupción. Estas informaciones pueden ser resultados parciales o datos en memoria, datos presentados por el medio exterior, etc. que en principio no se pierden ni se alteran por el cambio de tarea pero también se necesita guardar todo el estado de la CPU, es decir, el contenido de sus registros, pues estos van a sufrir alteraciones. Por tanto en el salto a interrupción no basta con guardar el contenido de PC (dirección de retorno) sino que es necesario guardar en principio los contenidos del acumulador, registro de estado, registros generales de trabajo, etc. Para ello se utiliza también el stack. Según el microprocesador que se trate, la salvaguarda del estado se realiza automáticamente al aceptar la interrupción, o bien el mismo programador lo incluye como primeras instrucciones en la subrutina del servicio. De la misma forma la recuperación de estos datos puede ser automática con la instrucción RTI (retorno desde interrupción), o bien por instrucciones especiales antes de RET. Las instrucciones especiales son PUSH, guardar un dato en el STACK (al mismo tiempo que se decrementa el SP), o POP, recuperar un dato del STACK (incrementando previamente SP). Las operaciones de entrada-salida controladas por interrupción se deben utilizar cuando el tiempo de respuesta a la solicitud de atención por parte de un periférico ha de ser lo más rápido posible. La secue ncia de operaciones es la siguiente: - el periférico solicita señal de servicio a través de una señal que activa una de sus líneas de interrupción - la CPU completa la ejecución de la instrucción en curso, guarda el contenido del contador de programa (para asegurar la dirección de retorno) y salta a ejecutar la subrutina de interrupción, emitiendo una señal de reconocimiento a esta interrupción - la subrutina de interrupción deberá, a veces, determinar el circuito que ha solicitado servicio, y en consecuencia, la dirección del programa que realmente se debe ejecutar. También deberá guardar el contenido de los registros de trabajo, en el caso que no se haga en forma automática - se ejecuta el programa de atención al periférico - el contenido del contador de programa de los registros es restaurado y la ejecución del programa que se había interrumpido se reanuda. 19
  • 21. 2.6) Acceso directo a memoria. El acceso directo a memoria es un procedimiento hardware que permite la transferencia de datos entre un periférico y memoria, solo limitado por la velocidad de acceso a memoria y sin intervención de la CPU. Este procedimiento se utiliza en la transferencia de datos y tiene que ser muy rápido, por lo que no puede ser controlado por el microprocesador. Tal es el caso de los visualizadores con tubos de rayos catódicos, los cuales las velocidades de transferencia de datos que requieren son tan altas, que no las permite ningún tipo de PIO bajo el control directo del microprocesador y su programa asociado. La secuencia de operaciones que se utiliza es la siguiente: - el periférico provoca una interrupción en un circuito especial denominado controlador de DMA. - el controlador solicita la suspensión de la ejecución de trabajo al CPU mediante la señal de HOLD - la CPU completa la instrucción que está ejecutando en el momento de recibir la señal HOLD y entonces pone en tri-state (tercer estado) sus buses, y envía una señal de reconocimiento al controlador (HLDA) - el controlador utiliza los buses para iniciar la transferencia, llevando el control de la dirección de arranque y el número de bytes a trasmitir - terminada la transferencia, el controlador desactiva la señal de HOLD, permitiendo a la CPU reanudar su tarea. Existen circuitos integrados controladores de DMA que pueden gestionar varios canales de acceso a memoria. Algunos microprocesadores (8080, Z80, etc.) tienen independizado el acceso a la memoria y a las PIO mediante instrucciones diferentes (MOV A,M ; IN XX ; etc. ), esto implica la existencia de señales de control especializadas para cada tipo de acceso, de tal forma que se pueden diferenciar claramente los direccionamientos de memoria y de PIO. Por el contrario, existen otros (6800, etc.) que no tienen esta diferenciación y las PIO ocupan posiciones reales en el direccionamiento de memoria y son tratados como tales con el mismo tipo de instrucciones. El primer procedimiento tiene la ventaja fundamental de independizar los procesos de memoria y I/O y tiene el inconveniente de la falta de flexibilidad en el tratamiento de la información, ya que todos los intercambios se realizan a través del acumulador; el segundo procedimiento tiene las ventajas de flexibilidad que se derivan de considerar los PIO como verdaderas posiciones de memoria en funciones de entrada-salida. Los circuitos de I/O operan normalmente de una forma asíncrona respecto al modo de operación del microcomputador, y resulta necesario sincronizar la ejecución del programa con la operación de los circuitos I/O. El método adoptado depende del tiempo máximo de retraso que se permite en la atención a los acontecimientos que reflejan las I/O y de la posibilidad de intercalar las actividades de proceso con la de adquisición y emisión de datos. Las transferencias de datos de I/O se pueden organizar de las siguientes formas: 1) Operaciones de I/O por acceso directo a memoria (DMA). 2) Operaciones de I/O controladas por interrupción. 20
  • 22. 3) Operaciones de I/O controladas por programas. Los dos primeros casos ya han sido explicados con anterioridad. En el tercer caso es el microprocesador a instancias del programa el que inicia y controla todos los tipos de transferencia de datos, o sea, la CPU solicita información de entrada o envía información a la salida, posicionando las señales correspondientes de direccionamiento y de control. Tiene como ventajas la facilidad de implementación de hardware y software y la facilidad de intercambio, siendo su principal inconveniente su falta de validez para control de procesos en tiempo real. 2.7) Operación paso a paso de un Microprocesador. Aunque a primera vista el tratamiento de un MP como un elemento de circuito pudiera aparecer como una tarea muy compleja, cuando se mira como un dispositivo que pasa por múltiples estados, se simplifica notablemente y su operación paso a paso puede describirse en términos más simples, como ilustramos a continuación mediante un ejemplo . Veamos cuál es la actividad que se requiere realizar para imprimir un carácter el cual ha sido previamente cargado en el acumulador. Asumimos que el periférico a considerar es una impresora: El software que necesitamos está almacenado en la memoria y consta de tres palabras de 8 bits (3 bytes) que contienen el código de la operación a imprimir seguido de dos bytes que definen la dirección de la impresora . Para imprimir el carácter, el MP transita por los nueve estados que se muestran en la figura: M1-T1 M2-T1 M3-T1 M4-T1 M1-T2 M2-T2 M3-T2 M4-T2 M1-T3 Si nosotros asumimos por conveniencia que la frecuencia impuesta por el reloj es de 1 MHz, nuestro circuito cambiará sus estados cada vez que transcurra 1 microsegundo. La acción que se realiza en cada estado se explica a continuación: Estado M1-T1. El contador de programa se conecta al bus de direcciones y coloca en éste la dirección de memoria en la cual está almacenado el primer byte. Simultáneamente un pulso de lectura es generado por la unidad de tiempo y control y enviado por el bus de control a la memoria, causando que el primer byte, o sea, el código de operación, pueda ser leído de la memoria. 21
  • 23. Estado M1-T2. Asumamos que la memoria toma menos que un microsegundo en responder. Esto significa que cuando nuestro circuito entra en este estado, el primer byte ya se encuentra en los terminales de salida de la memoria. Es por ello que en este estado el registro de instrucciones (RI) se conecta al bus de datos, produciéndose el enlace directo entre la memoria y este RI, el cual recibirá la señal de control que le indica que debe almacenar la información existente en la memoria y que se le envía a través del bus de datos. Note que el bus de direcciones no está siendo usado en este estado. Estado M1-T3. En este estado el código de operación se decodifica. La salida del decodificador posibilitará la secuencia correcta de estados y las señales que debe generar la unidad de control para que la instrucción sea correctamente ejecutada. En nuestro caso ello implica transitar por los estados M2-T1 , M2-T2 , M3-T1 , M3-T2 , M4-T1 y M4-T2. En este estado ni el bus de control ni el de datos han sido utilizados. Estado M2-T1. La acción realizada en este estado es idéntica a la del estado M1-T1, con la excepción que el PC ha sido incrementado. Estado M2-T2. En este estado el DB se conecta al registro de direcciones y mediante un pulso correspondiente de control este graba el segundo byte en el lugar correspondiente (este es un registro de 16 bits). Estado M3-T1. La acción es semejante a los estados M1-T1 y M2-T2, con la excepción que el PC tiene la dirección del tercer byte. Estado M3-T2. Cuando el MP asume este estado, se obtiene el siguiente byte componente de la dirección, generándose por la unidad de control las señales apropiadas para grabar este byte en el lugar correspondiente del registro de direcciones. En el transcurso de esta secuencia de estados desde M1-T1 hasta M3-T2 hemos realizado el ciclo de búsqueda de la instrucción. En este punto dentro del MP se posee la información del código que define la operación, y la dirección de la impresora. Estado M4-T1. El registro de direcciones se conecta al AB por lo que la información que éste posee puede ser decodificada, generándose así la señal que permite identificar a que periférico se quiere acceder (en nuestro caso la impresora). Estado M4-T2. En este estado el acumulador se conecta al DB, y a través de éste y los interfaces correspondientes se envía la información a la impresora. Al mismo tiempo, el interface monitorea las señales de estado del MP en el bus de control, las cuales son usadas para generar las señales de control necesarias para activar la impresora y permitir así que el carácter en el acumulador se imprima. Para concretar ideas vamos a describir la ejecución de un corto programa referido a un microprocesador de 8 bits (m=8) y direcciones de 16 bits (n=16) que utiliza las instrucciones LDA (load acumulator, carga del acumulador con el contenido de un registro de memoria ), ADD ( add acumulator, suma al acumulador el contenido de un registro de memoria ) , y STA (store acumulator, guardar el contenido del acumulador en un registro de memoria ). El programa lee un dato de memoria en la dirección 006AH y lo guarda en el acumulador. Le suma el dato de al dirección 006BH y guarda el resultado en 0080H . 22
  • 24. El contenido de la memoria que nos afecta es el siguiente : DIRECCIÓN CONTENIDO DIRECCIÓN CONTENIDO C000 B6(LDA) 006A 02 C001 00 ---- -- C002 6A ---- -- C003 BB(ADD) 006B 05 C004 00 ---- -- C005 6B ---- -- C006 B7(STA) 0080 ? C007 00 ---- -- C008 80 ---- -- En la zona C000H a C008H está contenido el programa, mientras que en 006AH y 006BH están los datos que vamos a manejar. La secuencia de operaciones para la primera instrucción es: - El contador de programa PC coloca su contenido (C000H) en el bus de direcciones AB y de ahí se toma por el registro de direcciones de memoria MAR. A partir de ahí se desencadena una operación de lectura en memoria a consecuencia de la cual, el contenido de la dirección apuntada por PC (que es B6H) aparece en el registro de datos de memoria MDR. De éste es transferido al registro de instrucciones IR y simultáneamente, el PC se incrementa en 1. - La decodificación de B6H indica que se trata de una instrucción de carga en el acumulador del contenido de la dirección indicada (contenida) en los bytes siguientes C001H y C002H. Para ello PC se incrementa dos veces y se producen dos nuevas lecturas, siendo 00 el resultado de la primera y 6A de la segunda, y esta información se carga en un registro temporal de direcciones TAR. La fase de búsqueda de la instrucción ha terminado. - El contenido de TAR es enviado a MAR y se procede a una nueva lectura. El registro MDR coloca 02 en el bus de datos DB y de ahí pasa al acumulador. La primera instrucción ha sido ejecutada. - Para la segunda instrucción las tres primeras fases de búsqueda son idénticas y al final de ellas IR contiene BB y TAR 006B. En la fase de ejecución, el contenido de TAR es enviado a MAR y se procede a una nueva lectura. El MDR coloca 05 en DB y de ahí este contenido pasa a uno de los registros de utilización general RUG. La ALU procede a sumar el contenido de este RUG con el contenido del acumulador ( 05+02=07 ) y el resultado se guarda en el propio acumulador. En PC se encuentra el contenido C006H. - Para la tercera instrucción también las tres primeras fases (búsqueda) son iguales quedando IR con B7 y TAR con 0080: En la fase de ejecución el contenido de TAR se envía a MAR, mientras que el contenido del acumulador se lleva a MDR. Al final, en la posición 0080 queda escrito el resultado de 07 que es la suma de los datos almacenados en 006AH y 006BH. El programa analizado escrito en lenguaje nemotécnico sería: LDA 006AH ADD 006BH STA 0080H Observamos que en el programa analizado no se produce la ruptura de secuencia para la toma de decisiones, ni se ha hecho uso de subrutinas ni del mecanismo de interrupciones. El estudiante interesado en profundizar en el tema de programación de 23
  • 25. microprocesadores deberá consultar los textos de referencia que aparecen al final del presente material. 2.8-) Campo de aplicación de los microprocesadores Como ya se ha dicho un MP es básicamente una CPU de ordenador, integrada con tecnología LSI. Visto de esta forma no representa más que un avance tecnológico en el campo de los ordenadores, pero en realidad conlleva unas consecuencias revolucionarias, ya que representa una democratización de la informática y una generalización de su uso que se manifiesta por ejemplo, en la aparición de los ordenadores personales. Los efectos que se producen se aprecian clarísimamente en los campos de la automática, las comunicaciones y la instrumentación. Los Microprocesadores en efecto constituyen un pequeño mundo aparte. Su uso es diferente al de una microcomputadora, que en la gama de las máquinas de propósito general, sería la más próxima a ellos. En efecto la microcomputadora aparece generalmente como un sistema cerrado en el cual el usuario no interviene más que con mucho para conectarle algún periférico extra o dotarle de un software específico para su aplicación. En cambio el diseñador de aplicaciones con microprocesador desciende hasta un nivel más profundo para construir un sistema a la medida, sin llegar sin embargo a convertirse en arquitecto de sistemas. El MP realiza una aplicación específica y fija de por vida, el hardware y el software son los estrictamente necesarios a la aplicación y en particular no suele disponer de software ni terminales de interacción, lo cual plantea problemas específicos de mantenimiento. Las aplicaciones de los MP son fundamentalmente de control y de gestión sencilla. Una vez realizado el diseño, el programa queda fijo, es decir, en general no se espera reprogramar, aunque posiblemente sí realizar de tarde en tarde nuevas versiones del modelo, para lo cual interesa prever la expansión. Por lo general el programa de la aplicación va directamente albergado en memoria ROM, y una reducción del programa se traduce en reducción del número de pastillas de CI y por ende en una reducción del costo total. La consecuencia de esto es que la programación se cuida, en el sentido de acortarla, y, por ello, la programación en el ensamblador o incluso en el lenguaje de máquina se ha mantenido. Una de las áreas mayores de aplicación de los sistemas con MP es la concerniente a la sustitución de los circuitos electrónicos cableados en general a base de elementos de tecnología TTL. A partir de cierto grado de complejidad es interesante implementar el circuito a base de un sistema con MP. A la hora de la sustitución, hay que tener en cuenta algunas características, tales como la menor velocidad que suele acompañar al sistema con MP, al tener que ejecutar de forma secuencial las instrucciones del programa para obtener las salidas apropiadas, mientras que en los circuitos cableados, las entradas sólo tienen que atravesar los elementos operativos para originar las salidas. Si el sistema con MP supera la limitación de tiempo expuesta, por lo general en el resto de las consideraciones, supera al circuito cableado. Se destacan algunas de sus ventajas: 1-Menor tiempo requerido para el diseño y las pruebas del prototipo. 2-Posibilidad de emplear tarjetas estándar que conforman la mayor parte del sistema. En este caso se reduce en gran manera los costos de montaje y verificación. 3-Para cantidades muy importantes y bajo pedido directo al fabricante, existe la posibilidad de integrar en un solo chip la mayor parte del sistema. Esta alternativa reduce los costos de montaje, verificación y material, mejorando los aspectos relacionados con la reducción del volumen, aumento de fiabilidad y mayor 24
  • 26. competitividad. En estos casos ha de tenerse en cuenta que los fabricantes pueden producir bajo demanda, chips específicos para una determinada aplicación. 4-Posibilidad de introducir en el futuro cambios en el programa de trabajo del sistema (basta cambiar el programa de la memoria), así como ampliarle si es necesario. 5-Reducción de costos en mano de obra y verificación. 6-Importante aumento de la fiabilidad debido a la reducción de componentes en los sistemas con MP. 7-Reducción importante del volumen y del gasto de energía consumida. 8-Fácil introducción de programas de auto chequeo que facilitan la reparación y el mantenimiento del equipo. 9-Capacitación del personal en general de la empresa, que le permite desarrollar en el futuro nuevos y más avanzados productos que a veces serán permisibles a corto plazo. 10-Mejoría de la imagen del producto y de la empresa que lo fabrica. Una clasificación general de carácter básico que delimita algunos de los campos industriales de más interés y desarrollo de los sistemas basados en MP es la siguiente: 1-Industria en general. 2-Industria eléctrica y de electrodomésticos. 3-Instrumentación y medidas. 4-Terminales inteligentes. 5-Juegos y derivados. Los MP hoy en día cada vez más extienden su campo de aplicación y encuentran cada vez más un sin número de tareas que le son asignadas. De aquí que podamos ver a manera de ejemplo su amplio empleo en la instrumentación. Podemos preguntarnos ¿qué nos da el uso de los MP en los instrumentos? ¿ cuán eficiente resultan los sistemas de medición basados en los MP ? La respuesta a estas preguntas está dada por el hecho real que los MP están revolucionando la instrumentación electrónica, lo cual es verdad aunque suene un poco fantástico. El uso de los MP en la instrumentación ha mejorado notablemente la precisión que se alcanza, ha expandido sus capacidades, ha incrementado su confiabilidad y ha posibilitado la realización de tareas que anteriormente por su complejidad o duración prácticamente eran consideradas irrealizables. Debido a la presencia del MP, han podido construirse instrumentos cada vez más versátiles y se han desarrollado procedimientos para la medición que resultan cada vez más simples, en los cuales el ajuste, la calibración y la propia lectura, se realizan de forma automática. Todo ello posibilita una mejora sustancial del comportamiento del instrumento y de sus características metrológicas. El MP posibilita también el empleo de procedimientos de cómputo más eficiente, con un análisis estadísticos de los resultados y su posible linealización. En muchos instrumentos ha aparecido la posibilidad de programación, y lo que aún es más importante han llegado a ser inteligentes. La multifuncionalidad ha sido una consecuencia de la flexibilidad en la utilización de programas, pero paralelamente con esto, se ha logrado una reducción en el consumo de energía lo cual ha permitido el diseño de instrumentos cada vez más sencillos de operar por lo que el usuario puede lograra un gran ahorro de tiempo. 25
  • 27. En el esquema que a continuación mostramos está representado el diagrama de bloques simplificado de un voltímetro digital con el empleo de MP. Señal de Dispositivo Entrada Acomodador CAD Sistema Micro- de señal procesador de Salida El bloque acomodador de señal contiene principalmente un atenuador y un amplificador, aunque algunos instrumentos también presentan un circuito para rectificar la señal de corriente alterna. El conversor análogo digital CAD es imprescindible para cualquier voltímetro digital, incluyendo el que está basado en MP. Comúnmente el CAD que se emplea en los sistemas de medición viene totalmente en pastillas de circuito integrado de alta integración (LSI). El MP organiza el procedimiento de medición, controla la operación de los restantes bloques y ejecuta las operaciones aritméticas y lógicas con los datos procedentes del CAD. El programa bajo el cual el MP opera, es preparado por el fabricante y almacenado en ROM, permaneciendo inalterable aún bajo el caso de una falta de energía. La ROM almacena también algunas constantes usadas en varias subrutinas y los números requeridos para la calibración automática. La RAM se utiliza para guardar los datos obtenidos y temporalmente los resultados intermedios. El dispositivo de salida sirve para mostrar los datos de la medición en forma numérica, o sea, como un conjunto de dígito. El multímetro digital con MP es un instrumento multifuncional programable. Los programas y subrutinas que utiliza, determinan las funciones que este puede realizar. Los modelos ofertados por los fabricantes difieren unos de otros, pero en general tienen en común lo siguiente: - multiplicar un número por un factor de escala. - sustraer un valor constante a la lectura. - determinar la fracción de error en el resultado. - medir relaciones y presentar el resultado en tanto por uno o en decibeles. - procesar los datos estadísticamente. - calcular los valores estadísticos de los resultados (media, varianza, valor eficaz, etc.). En general podemos plantear que en la época actual los MP se aplican prácticamente en todas las ramas de la ciencia y la técnica, y con su ayuda es posible el diseño de fábricas totalmente automatizadas que son capaces de trabajar de forma ininterrumpida, con elevada productividad del trabajo y eficiencia. La base fundamental de estas fábricas se encuentra en los robots, que se están construidos en base a los MP; además de la introducción de los llamados sistemas de dirección automática de los procesos tecnológicos. Por otra parte, se trabaja de forma intensiva en la simplificación de la comunicación del hombre con esta técnica: Actualmente las instrucciones a la máquina se le dan fundamentalmente a través de un teclado, lo cual requiere de cierta preparación por parte del operador y dificulta un poco el empleo de esta técnica por parte del personal y los especialistas no totalmente identificados con su uso. 26
  • 28. La introducción de softwares cada vez más sencillos de operar y por ende más " amistosos" empleando el mouse, ha ayudado a simplificar la comunicación, pero se desea desarrollar circuitos analizadores y sintetizadores de voz que faciliten aún más la entrada y salida de la información de las computadoras. Cuando se logre que estos circuitos puedan fabricarse de manera compacta, y puedan ser reducidos a escala de los circuitos integrados, podremos darles las instrucciones a la máquina mediante la voz y con ello podemos comunicarnos con la máquina de manera semejante a como lo hacemos con otro ser humano. 2.9-) Desarrollo de los microprocesadores. La firma INTEL dio inicio a la fabricación de MP en 1972 con el 8008 y a partir de ahí ha desarrollado la fabricación de una larga serie de MP más potentes y complejos. El 8080 y su versión más desarrollada que apareció posteriormente, el 8085, formaron parte de múltiples estructuras y equipos y tuvieron en su tiempo una gran popularidad y demanda dentro de los MP de 8 bits. El 8086 fue el primer MP de 16 bits elaborado por INTEL y presenta un bus de datos de 16 bits, un bus de direcciones de 20 bits y emplea operandos de 16 bits. Fue diseñado de forma tal de que fuese compatible con el nivel de lenguaje ensamblador empleado por el 8080A, por lo que cualquier instrucción de este último puede ser simulada por una combinación de instrucciones del 8086 y en general el grupo de registros del 8080A es un subconjunto de los que posee el 8086. El 8088 es una versión en 8 bits del 8086 desde el punto de vista de los buses de entrada y salida, pero presenta registros internos d 16 bits, de igual forma que lo realiza el 8086. El 80186 constituye una versión mejorada del 8086 que posee en su interior el generador de los impulsos de sincronismo, la lógica de control de interrupciones, los esquemas de temporalización y los controladores del acceso directo a memoria. El esquema de este MP presenta un total de 68 terminales distribuidos en los 4 lados, y posee dos veces mayor productividad en comparación con el 8086, además de poseer mayor capacidad de carga en sus líneas fundamentales. El 80286 constituyó un perfeccionamiento mayor del 8086, con una estructura de 68 terminales que contiene también en su interior los esquemas para el control y borrado de la memoria. Existen modelos con frecuencias de trabajo de 8 y 10 MHz. y presenta un grupo de registros que no presenta el 8086 que le posibilita la ejecución de una serie de instrucciones adicionales. Posee una posibilidad mayor de direccionamiento de memoria pues su bus de direcciones es de 24 bits. En el desarrollo ulterior apareció en 1985 el 80386, que fue el primer procesador de 32 bits de Intel con bus de datos y tamaño de registro de 32 bits. En el momento en que hizo su aparición este MP la mayoría de las microcomputadoras eran compatibles AT, con bus de 16 bits. Esto hacía que montar una microcomputadora con un 386 fuese comparativamente caro ya que implicaba un rediseño total de la arquitectura existente y cambiarla para 32 bits, es decir, cambio de la memoria, buses, etc. El costo que implicaba era de por sí elevado, más aún teniendo en cuenta la no disponibilidad en el momento de partes 32 bits compatibles. 27
  • 29. El 80386 operaba con velocidad de 16 MHz., pero rápidamente subieron hasta 33, lo que le da la posibilidad de ejecutar de 3 a 5 millones de instrucciones por segundo, además de que su capacidad de direccionamiento de memoria física alcanza los 4 gigabytes. Los competidores de Intel, AMD y Cyrix llegaron a producirlo con velocidades de hasta 40 Mhz. Su arquitectura permite realizar simultáneamente operaciones de búsqueda de instrucciones, decodificación, ejecución y control de memoria. La aceptación y el éxito de este MP estuvo dado por mantener sus características de compatibilidad con sus predecesores 8086, 8088, 80186, 80286, pues prácticamente todos los programas que fueron elaborados para estos últimos, también son capaces de correr en el 80386. Las microcomputadoras basadas en el 80386 operan con una mayor velocidad y están capacitados para operar con sistemas operativos desarrollados especialmente para máquinas de 32 bits lo que las hace más poderosas por tener la posibilidad de operar con tareas independientes dentro de un sistema de tareas múltiples. INTEL produjo como alternativa el 386SX, que no es más que un 386 "normal", o sea, compatible en su juego de instrucciones, registros internos, etc., sólo que su comunicación con el exterior se hace por un bus de 16 bits. Por tanto la diferencia clásica entre 386 DX y 386 SX está en su bus externo. El 80486 ó I486 cómo se conoce al procesador desarrollado por INTEL es un MP tipo CISC (Complete Instruccion Set Computer) cuyas instrucciones más utilizadas transcurren en un sólo ciclo de reloj, que unido al alto grado de integración logrado hace que las frecuencias de reloj sean más altas y en eso han incidido versiones a 25, 33, 50 y 66 MHZ. En el 486 se utilizaron 1.25 millones de transistores (5 veces más que el 386). El I486 es un procesador de 32 bits interno y externo y está diseñado para trabajar con sistemas de caché (basados en el controlador del propio INTEL 82385) cosa que no tenía el 386 en ninguna de sus dos versiones. Este caché L1 de 8 K, está directamente incorporada al procesador, lo que significó disminuir significativamente los accesos a RAM y por tanto en funcionamiento más rápido y racional. Ante el empuje de la competencia, INTEL lanza una variante más económica, el 486 SX, que se diferenciaba del original porque no incluía el coprocesador matemático, o para ser más exactos, lo tenía desactivado. Para actualizar sus capacidades de punto flotante al 486SX, Intel vendía un chip llamado 80487SX que se instalaba en la placa, pero que en realidad se trataba de un DX con diferente patillaje que al ser instalado desconectaba el procesador original y asumía el control de la configuración. Cuando fue evidente que el 486 se había afianzado en el mercado y ante la facilidad de producir versiones cada vez a mayores velocidades, surgió un nuevo problema: la necesidad de cambiar continuamente la tarjeta del sistema para adecuarla a la nueva velocidad. Sin embargo, al ser los accesos a los dispositivos del sistema siempre mucho más lentos que la velocidad de operación del procesador, se podía pensar en aumentar exclusivamente la velocidad de estos, dejando externamente el sistema sin ningún cambio. Este fue el origen del 486 DX2 el cual opera al doble de la velocidad de su tarjeta madre, es decir, en su versión DX2 a 50 MHz. el 486 está operando a 50 MHz. en un sistema a 25 MHz. El aumento cada vez mayor de la velocidad ha hecho posible el surgimiento en 1994 de los DX4 y ya un DX4 a 100 28
  • 30. MHz. está montado sobre una tarjeta madre trabajando a la cómoda y más que suficiente velocidad de 25 MHz. ó 33 Mhz. y sin embargo su procesador opera a 100 MHz. Tales procesadores usaban un voltaje de 3.3 v con el fin de conservar bajos niveles de emisión del calor, aunque existieron versiones del DX4 a 5v que requirieron nuevas tarjetas madres y que llevaban ventiladores para refrescar el chip. La tecnología SL de INTEL fue originalmente desarrollada para lograr un medio razonable en la conservación de las baterías de las máquinas portátiles, pero se ha extendido hoy en día a la familia completa de procesadores I486 y pentium. La tecnología SL abarca una serie de requisitos y modos de operación que permiten reducir el consumo de energía y cumplen con el programa Energy Star. Entre ellas: 1- System Management Modem (SMM). Este es un nuevo modo operativo de los procesadores SL que permite la reducción del consumo energético apagando los perisféricos o el sistema completo cuando lleva tiempo sin utilizarse. 2.- Static Technology. Tecnología que permite a todos los procesadores SL detener su reloj, congelando el estado del mismo y el sistema de forma que puede ser reinicializado en el mismo punto donde se detuvo. 3.- Processor Clock Control. Permite colocar al procesador en un estado de letanía y bajo consumo, "Standby". 4.- Alimentación de 3.3 volts. El hecho de que estos procesadores sólo requieren 3.3 volts para su operación en vez de los típicos 5 volts, reduce el consumo energético en un 60 %. Todo este sistema permite una disminución del consumo desde unos 250 watts hasta unos 30 watts. Esta lógica de reducción de potencia constantemente está monitoreando al sistema buscando periféricos inactivos (Por ejemplo el disco duro). Una vez detectado un dispositivo en este estado, genera una interrupción (System Management Interrupt-SMI) al procesador el cual pasa de modo real a SMM. Aquí se toma una "instantánea" de todo el sistema y se almacena su estado en una zona de memoria llamada SM RAM . Esta zona es inviolable y no puede ser accedida por ningún SOFTWARE. El procesador ejecuta una rutina del BIOS que "apaga" al perisférico en cuestión. El proceso inverso ocurre al activarse nuevamente el perisférico y este procedimiento es virtualmente instantáneo. Ciryx con su 586 al que llamó M1 alcanzaba velocidades de 100 y 120 Mhz e incluía un bus interno de 64 bits, un canal de 6 etapas (una más que el 486 ) y era compatible con las tarjetas madres del 486. No obstante sus excelencias, llegó tarde al mercado ganado en aquel tiempo por la descomunal campaña de Intel para sus pentiums. INTEL sacó a la luz un nuevo MP conocido con el nombre de "Pentium" que seguía siendo un procesador de arquitectura CISC pero incluyó varias tecnologías RISC en su diseño que le permitieron alcanzar los 300 MIPS (millones de instrucciones por segundo). Todas las versiones de pentium poseen más de 3 millones de transistores integrados y requieren radiadores con ventilador para disipar el calor de su funcionamiento. El nuevo procesador ofrecía una arquitectura superescalar, dos canales en lugar de uno como el 486 y la tecnología de predicción de ramificaciones que le permitía minimizar las demoras que suceden cuando una instrucción compleja retrasa la ejecución de otras. También incrementó el ancho de banda del bus hasta 64 bits. Incluyó 29
  • 31. dos cachés de nivel 1 (L1) independientes, uno para los datos y otro para las instrucciones de cálculo decimal que constituyen la base para las aplicaciones gráficas y de multimedia. La competencia llegó, y AMD lanzó su K5 y Cyrix el 5X86. El K5 es un procesador RISC y a diferencia de las dos etapas de canales del Pentium ofrece seis. Es en opinión de muchos especialistas superior al Pentium, pero llegó tarde al mercado y no alcanzó los niveles de velocidad esperados, por lo que apenas logró difusión en la construcción de ordenadores. Por su parte el 5X86 es un procesador totalmente CISC con dos canales y seis etapas por cada uno de estos, lo que difiere del diseño del pentium con dos canales y cinco etapas y ofrece según los expertos una mejor predicción de ramificaciones y ejecución fuera de orden. Es en suma un buen procesador, pero tampoco logró hacerse con el mercado que siguió teniendo un único dueño. Intel sorpresivamente cambió el standard que hasta ese momento había seguido en la industria, ¿razones?, pues el auge de las aplicaciones multimedia y el peso que cobraron grandes programas con complicados efectos gráficos, como los juegos para ordenador, que exigieron un mejor desempeño del hardware y específicamente de las CPU. Así surge en 1997 el pentium MMX, (P-MMX) procesador que incorpora 57 instrucciones adicionales, diseñado para mejorar la capacidad multimedia. Además el canal aumentó de 5 a 6 etapas y los dos cachés L1 aumentaron de 8 a 16K y mejoró mucho la predicción de ramificaciones, por lo que el MMX no es un retoque del pentium, sino que es de por sí un nuevo diseño cualitativamente superior. En 1996, casi un año antes del P-MMX, Intel sacó el Pentium Pro (P-Pro). Parte en su diseño de una concepción similar al pentium, pero ofrece avances tales como: una nueva forma de ejecutar las instrucciones y un aumento de las etapas del canal de 5 a 14 con 3 canales en lugar de 2 a una velocidad de ejecución resultante mucho mayor. Incluye un caché integrado L2 de 256 K además de 2 cachés L1 de 16 K, que eleva en consideración sus prestaciones, pero también su precio, y ello automáticamente lo relegó para la construcción de grandes servidores, lejos de los sistemas PC de uso doméstico o profesional más modestos. En el centro del P-Pro existe un procesador RISC, mientras que las instrucciones CISCX86 se forman a partir de microinstrucciones RISC más sencillas y por consiguiente se ejecutan con mayor rapidez. Tiene 5.5 millones de transistores los cuales generan una considerable cantidad de calor lo que exige el uso de disipadores y micro ventiladores. La solución a los problemas de costo y desempeño del Pentium-Pro llegó con la aparición en 1996 (y lanzado en 1997) del pentium II, (P II) que duplica las caches L1 a 32 K y una nueva L2 de 512K, más grande, pero fuera del procesador como en el P-Pro. La nueva caché L2 se comunica con el chip por medio de un bus propio que trabaja a la mitad de la velocidad de este. P II incorpora también en las últimas versiones un bus de 100 MHz, lo que mejora notablemente sus prestaciones. Como resultado, Intel pudo ubicar en el mercado un procesador mas económico, aunque no tan rápido como el P- Pro, pero este inconveniente es mínimo pues se logró dejar atrás la barrera de los 450 Mhz. Posteriormente existió un P II conocido como Xeón, optimizado para trabajar en 30
  • 32. servidores, que fue aceptado por los especialistas como relevo del ya entonces algo desfasado P-Pro. En los predios del mercado apareció luego el esperado pentium III (P III) o Katmai que tenía como principal novedad la inclusión de 70 nuevas instrucciones conocidas como las MMX2 o KNI (Katmai New Instructions). Trabaja a voltajes de 1,8 volts, posee tamaño más reducido y menor consumo energético, gracias a la tecnología de 0.25 micras empleadas en su fabricación (próximamente a 0.18 micras). Los primeros modelos, con núcleo Katmai, se fabricaron todos en el mismo formato Slot 1 de los Pentium II, pero la actual revisión Coppermine de este micro utiliza mayoritariamente el Socket 370 FC-PGA. Muchos denominaron al Pentium III Coppermine "el auténtico Pentium III", porque al tener sus 256 KB de caché secundaria integrados en el núcleo del micro su rendimiento mejora en todo tipo de aplicaciones (incluso las no optimizadas). El Celeron (Pentium II light), resultó ser un Pentium II sin la caché secundaria, fue construido para liquidar el mercado de placas base tipo Pentium no II (con socket 7, que se dice) y liquidar definitivamente a AMD y otras empresas que usan estas placas. Sin embargo, resultaba realmente muy poco recomendable, por poseer un rendimiento mucho más bajo que el de Pentium II, pues era casi idéntico al del Pentium MMX. AMD logró a finales del 97 el K6 que de inmediato fue un formidable contrincante para el P-Pro, con su favorable handicap de menor costo. Presenta una caché L1 de 64K, una extensa tabla de predicción de ramificaciones, así como 7 unidades de ejecución paralela y el juego de instrucciones MMX. En las pruebas realizadas dejó atrás a los Pentium MMX de igual velocidad de reloj y se acercó notablemente al desempeño de los Pentium II. Posteriormente se puso a la venta el K 6-2, que incorpora tecnología de 0.25 micras y mejoraba notablemente el desempeño del procesador en cuanto a velocidad y capacidad multimedia, sentando un nuevo standard en las instrucciones 3Dnow (algo así como un MMX para 3D). El K6-III resultó ser un micro casi idéntico al K6-2, excepto por el "pequeño detalle" de que incluye 256 KB de caché secundaria integrada, corriendo a la velocidad del micro (es decir, a 400 MHz o más), al estilo de los Celeron Mendocino. Esto le hace mucho más rápido que el K6-2 (en ocasiones, incluso más rápido que el Pentium III) en aplicaciones que utilicen mucho la caché, como las ofimáticas o casi todas las de índole "profesional"; sin embargo, en muchos juegos la diferencia no es demasiado grande (y sigue necesitando el uso de las instrucciones 3DNow! para exprimir todo su potencial). El AMD Athlon (K7) resultó ser la gran apuesta de AMD: un micro con una arquitectura totalmente nueva, que le permitió ser en su tiempo el más rápido en todo tipo de aplicaciones. Con 128 KB de caché de primer nivel (cuatro veces más que el Pentium III), bus de 200 ó 266 MHz (realmente 100 ó 133 MHz físicos con doble aprovechamiento de cada señal), 512 ó 256 KB de caché secundaria (los 256 KB integrados le posibilitaban ser más rápido), instrucciones 3DNow! para multimedia... y el mejor micro de todos los tiempos en cálculos matemáticos. Su único y mínimo inconveniente radicaba en que necesita placas base específicamente diseñadas para él, debido a su novedoso bus de 200 MHz o más y a sus métodos de conexión, "Slot A" (físicamente igual al Slot 1 de Intel, pero incompatible con él... entre otras cosas porque Intel no quiso dar licencia a AMD para utilizarlo) o " Socket A" (un 31
  • 33. zócalo cuadrado similar al Socket 370, pero con muchos más pines). Los modelos actuales usan el núcleo Thunderbird, con la caché secundaria integrada. El AMD Duron resultó un micro casi idéntico al Athlon Socket A (no existe para Slot A) pero con menos memoria secundaria (64 KB), aunque integrada (es decir, más rápida, la caché va a la misma velocidad que el micro); Con él se obtuvo una fantástica relación calidad/precio. Cyrix por su parte presentó el M II que posee un diseño superescalar, dos canales separados, 64K de caché L1, una novedosa caché auxiliar de 256k que acelera notablemente el desempeño de la CPU y predicción múltiple de ramificaciones. Este es un procesador completamente CISC (a diferencia del K6 y del P II), que no llegó a alcanzar el desempeño del K 6, pero se situó dignamente en el sector de las llamada “máquinas de bajo costo”. La última apuesta de Intel, el Pentium 4, representó todo un cambio de arquitectura; pese a su nombre, internamente poco o nada tiene que ver con otros miembros de la familia Pentium. Se trata de un micro peculiar: su diseño permite alcanzar mayores velocidades de reloj (más MHz... y GHz), pero proporcionando mucha menos potencia por cada MHz que los micros anteriores; es decir, que un Pentium 4 a 1,3 GHz puede ser MUCHO más lento que un Pentium III a "sólo" 1 GHz. Para ser competitivo, el Pentium 4 debe funcionar a 1,7 GHz o más. Por otro lado, incluye mejoras importantes: bus de 400 MHz (100 MHz físicos cuádruplemente aprovechados) y nuevas instrucciones para cálculos matemáticos, las SSE2. Éstas son muy necesarias para el Pentium 4, ya que su unidad de coma flotante es MUCHÍSIMO más lenta que la del Athlon; si el software está específicamente preparado (optimizado) para las SSE2, el Pentium 4 puede ser muy rápido. Desde el punto de vista físico, el Pentium 4 necesita placas bases diseñadas específicamente para él. El chip en sí viene en formato zócalo y tiene 423 pines; por tanto, su zócalo se llama "Socket 423". Necesita una carcasa, una fuente de alimentación (ambas ATX 2.03) y un ventilador y un disipador específicos, todo ello por consideraciones de consumo y estabilidad, porque el sistema de fijación del sistema de refrigeración es bastante complicado y va anclado con tornillos a la carcasa. La caché L2, integrada en el micro y de 256 bits, es una mejora de la tecnología "Advanced Transfer Cache " estrenada con el Pentium III; puede alcanzar 48 GB/s en el modelo de 1,5 GHz. Esto representa el doble de lo que puede hacer un Pentium III de la misma velocidad, y es mucho más de lo que puede alcanzar un AMD Athlon, sobre todo porque en éste la caché L2 tiene un bus de sólo 64 bits. Finalmente, un detalle positivo: el núcleo del micro está mejor protegido que antes, gracias a un disipador de calor integrado sobre el mismo (por eso tiene ese aspecto metálico). Todos estos datos son para el Pentium 4 versión 1.0, pero el desarrollo de estos micros se ha venido perfeccionando En la actualidad existen procesadores mucho mas poderosos. La compañía Intel acaba de lanzar al mercado su nuevo procesador Intel Pentium 4 de 3.0GHz y ya hoy se anuncian versiones capaces de trabajar a velocidades mayores lo cual representa un salto bastante importante. 32