texto10tecsup

download texto10tecsup

of 10

Transcript of texto10tecsup

  • 7/28/2019 texto10tecsup

    1/10

    Circuitos Digitales110

    UNIDAD X

    INTRODUCCIN A LOS MICROPROCESADORES

    Esta seccin es una breve introduccin a los microprocesadores. Naturalmente, loque se va a cubrir en este nico mdulo es muy limitado pues fcilmente se podradedicar uno o ms captulos a las secciones que la componen. Sin embargo elobjetivo es proporcionarle unos conocimientos bsicos que le sirva para poderprepararlo para estudios posteriores.

    1. MICROPROCESADOR Y MICRO COMPUTADOREl Microprocesador es un circuito integrado digital que puede programarsecon una serie de instrucciones, con el propsito de que realice alguna funcinespecfica. Cuando a este elemento se la proporciona un dispositivo dememoria y se le provee de los medios para poder transferir informacin(datos) al medio exterior, se tiene un sistema denominado micro -computador.

    El microprocesador est bsicamente compuesto de tres partes constitutivas:

    a.

    La unidad Aritmtico

    Lgica.- Tambin denominada ALU, es dondese realizan todas las operaciones matemticas y lgicas

    b. Unidad de Registro.- Un registro es una dispositivo de almacenamientotemporal de datos, durante la ejecucin de las instrucciones es necesarioguardar los datos temporalmente en algn lugar.

    c. Unidad de Control.- Esta unidad proporcione las seales de control ytemporizacin para todas las operaciones que realice elmicroprocesador.

    Pero el microprocesador no est slo ni aislado del exterior, el comparteinformacin con otros dispositivos; esta operacin de transferencia yrecepcin de informacin los realiza por medio de los denominados buses.

    a. El Bus de Direcciones.- Es un conjunto de lneas en donde lainformacin se transfiere en paralelo y en un solo sentido, a travs delcual el microprocesador enva un cdigo de direccin a una memoria o aun dispositivo externo. El tamao o ancho del bus de direcciones seespecifica mediante el nmero de bits que puede manejar.

    b. El Bus de Datos.- Es un conjunto de lneas en donde la informacin setransfiere en paralelo y en doble sentido. A travs de este bus loscdigos de instruccin y de datos se transfieren al microprocesador.

  • 7/28/2019 texto10tecsup

    2/10

    Circuitos Digitales 111

    c. Bus de control.- Por este conjunto de lneas que pueden ser de entrada ysalida, el microprocesador coordina sus operaciones con los dispositivosexternos.

    Los dispositivos externos con los que se inter-relaciona el microprocesadorlos podemos denominar:

    - Unidades de Memoria- Unidades de entrada- Unidades de Salida.

    Un esquema de todo este sistema conformando un micro computador lomostramos a continuacin.

    Figura N 1

    2. HISTORIA DEL MICROPROCESADORLa historia de los microprocesadores est ligada a dos fabricantes; por unlado tenemos a Intel Corporation y a Motorola.

    - 1971 Intel introduce un microprocesador de 4 bits con la denominacin 4004,posteriormente le sigui el 8008 de 8 bits, el 8080 y el 8085 los cuales podan

    direccionar 64 k bytes de memoria con su bus de direcciones de 16 lneas.

  • 7/28/2019 texto10tecsup

    3/10

    Circuitos Digitales112

    - 1978 Se introduce la arquitectura 80 X 86, desde ese momento estaarquitectura ha tenido cinco fases fundamentales de evolucin.

    - El 8086 fue la base de los microprocesadores siguientes, este contaba con unbus de datos de 16 bits y 20 lneas de direccin, su frecuencia de reloj era de5MHz, 8 MHz 10MHz.

    - El 8080 es en esencia un 8086 pero con el bus de datos de 16 bitsmultiplexado como bus de datos externo de 8 bits.

    - El 80186 es un 8086 con varias funciones de soporte integradas en el chip,tales como generador de reloj, controlador de sistema, controlador deinterrupciones y controlador de acceso directo a memoria. Su frecuencia dereloj se aumento a 12,5 MHz

    - 1982 Aparece el 80286, con 24 lneas de direccionamiento de memoria, conun modo de operacin avanzado denominado modo protegido que seincorpor por primera vez en el 80286, su frecuencia de reloj era la mismaque la del 80186.

    - 1985 Se presento el microprocesador de 32 bits. El 80386 tiene un bus dedatos de 32 bits y un bus de direcciones de 32 bits. Introdujo un aumento ensu velocidad con el uso de mtodo de pipeline de las instrucciones. Estemtodo permite al microprocesador comenzar a trabajar en una nuevainstruccin antes de completar la instruccin en curso. Existen versiones del

    80386 que trabajan a frecuencias de reloj de 16MHz, 20MHz, 25MHz y33MHz.

    Existen versiones de menor performance como son el 80386SX y el 80386SLque tenan el bus de datos multiplexado a 16 bit y el de direcciones a 24 bits.Todas las versiones del 80386 pueden funcionar con un coprocesadormatemtico como apoyo en la realizacin de operaciones con punto flotante.

    - 1989 Se presento el 80486 con la introduccin de una memoria denominada cache(memoria de almacenamiento temporal) de 8 Kbyte en el chip. Estamemoria reduce el tiempo de acceso a memoria, almacenando las

    instrucciones recin usadas o los datos en una SRAM, se incorpor ademsun coprocesador matemtico interno, pudiendo funcionar algunas versionescon un reloj superior a 66 MHz

    - 1993 Hizo su aparicin el Pentium, con un bus de direcciones de 32 bits, perocon un bus de datos de 64 bits. Posee memorias cache separadas para datos ydirecciones de 8 Kbyte; un mtodo de doble pipeline, conocida comoarquitectura sper escalar, lo que genera un aumento en la velocidad deprocesar las instrucciones. Su reloj puede llegar a frecuencias de 166MHz yaun se encuentra sujeta a cambios y mejoras.

    De los microprocesadores Motorola:

  • 7/28/2019 texto10tecsup

    4/10

    Circuitos Digitales 113

    - 1975 Apareci el 6800 con una frecuencia de reloj de 2MHz, bus de 8 bits dedatos y bus de direcciones de 16 bits. Luego salieron el 6802, con unamemoria RAM de 12Kbytes; el 6803 con una frecuencia de reloj de 3.58MHz

    al cual se le aadi una UART (Transmisor / Receptor Asncrono Universal)para las comunicaciones en serie. El ltimo microprocesador de 8 bits fue el6809, que ofreca un juego de instrucciones mayor, incluyendo lamultiplicacin.

    - 1978 De dio a conocer el 68000, microprocesador de 16 bits datos y 24 delneas de direcciones. Con una frecuencia de reloj de 16 MHz, era ms rpidoque sus contemporneos Intel.Posteriormente tenemos el 68020 con 32 bits y una memoria cache de 256bytes. Su frecuencia de reloj era de 33MHz.

    - Luego tenemos al 68030, el que se aadi una memoria cache de 256 bytespara los datos con lo que la velocidad de operacin se incremento a 50 MHz

    - En el 68040, la memoria cache para instrucciones y datos se aumenta a 4Kbyte, y se incorpora al chip un coprocesador matemtico.

    - El 68060, tiene una arquitectura sper escalar, con instrucciones de pipelinemltiple y dos memorias cache de 8 Kbyte, la frecuencia mxima de reloj esde 66 MHz

    Finalmente el PowerPC MPC601, con 64 bits con arquitectura sper escalar

    capaz de ejecutar efectivamente hasta tres instrucciones por ciclo de reloj,dispone de 32 Kbyte de memoria cache y de coprocesador matemticointerno. Este es un microprocesador matemtico interno del tipo RISC(Computador con conjunto de instrucciones reducida), un mtodo quereduce el nmero de instrucciones, lo cual se traduce en un funcionamientomejorado.

    3. PROGRAMACIN DEL MICROPROCESADORTodos los computadores deben de programarse para realizar la ms

    elemental de las tareas. La circuitera y componentes fsicos de unmicroprocesador son intiles sin un programa. El programa es una lista deinstrucciones de computador organizadas para obtener un resultadoespecfico. Podemos hacer una semejanza entre las instrucciones y laspalabras codificadas que usaban los espas aliados en la segunda guerramundial de tal manera que cada instruccin que no es otra cosa que unasecuencia de nmeros binarios (de unos y ceros) que deben de ser traducidospor el microprocesador y en el proceso de traduccin realizan o ejecutan unadeterminada accin. Estas instrucciones estn organizadas y almacenadas enmemoria de tal manera que para poder indicar la ejecucin de unadeterminada instruccin debemos de ubicarla adecuadamente en unaposicin de memoria para que el microprocesador pueda localizarlo y leerlo.

  • 7/28/2019 texto10tecsup

    5/10

    Circuitos Digitales114

    Cuando tenemos esta secuencia de instrucciones adecuadamente organizaday enlistada una detrs de la otra, lo denominamos programa.Cuando se ejecuta un programa en un microprocesador este debe de ser

    inicialmente cargado en un dispositivo de almacenamiento (generalmenteuna memoria) y se desarrollan bsicamente los siguientes pasos:

    a. Cargar el cdigo de operacin de la instruccin desde la memoriadonde ste se encuentra almacenado

    b. Decodificar el cdigo de operacin, lo cual indicara al microprocesadorla accin a realizar

    c. Finalmente pasar a la siguiente posicin de memoria donde seencuentra la siguiente instruccin.

    Obviamente, cubrir el juego completo de instrucciones no es el objetivo que

    perseguimos, adems de que s bien estn organizadas estas instruccionessuelen tener diferencias de un microprocesador a otro.No es muy fcil hacer un programa escribiendo directamente una secuenciade unos y ceros lo cual es denominado lenguaje de mquina, por tanto sesuele usar un lenguaje alfanumrico ms accesible para nosotros llamadolenguaje ensamblador, donde cada instruccin est representado por unmnemnico (ejemplo: IN, ADD, OUT, etc.). Las Instrucciones se suelenagrupar en tres categoras principalmente:

    - Transferencia de Datos.- Se usan para mover un bit, un byte o unapalabra de un lugar de memoria a otro.

    - Aritmticas.- Existen instrucciones para las operaciones de suma,sustraccin, multiplicacin y divisin.

    - Manipulacin de bits.- Este grupo incluye aquellas que se emplean paratres tipos de operaciones: lgicas (Booleanas), de desplazamiento yrotacin.

    Otras categoras son las de manejo de cadenas, transferencia de programas ycontrol del procesador.

    4. LA CPULa unidad central de proceso (CPU) est formado por un microprocesador yvarios circuitos integrados asociados, denominados circuitos de soporte.Como se muestra a continuacin para el microprocesador 8088.

    En este caso este microprocesador posee un bus de datos de 8 bits y uno dedireccionamiento de 20 bits. Para el 8088 los circuitos de soporte sonbsicamente dos, el generador de corresponde al CI 8284 y el controlador debus que corresponde al CI 8288 adems del latch de direcciones y el bus dedatos XCVR (Transmisor/Receptor del bus de datos de tres estados)controlados por el 8288.

  • 7/28/2019 texto10tecsup

    6/10

    Circuitos Digitales 115

    Figura N 2

    El generador de reloj proporciona las seales de temporizacin bsicas demicroprocesador y a otras partes del sistema. Tambin proporciona la seal

    de RESET para inicializar la circuitera interna del 8088. Adems de la sealde REDY para sincronizar el microprocesador con el resto del sistema. Seutiliza un cristal resonante externo de 14.31818 MHz para establecer lafrecuencia de oscilacin, un contador divisor proporciona frecuenciasmenores en los terminales CLK y PCLK.El controlador de bus se usa apara relevar al microprocesador de la mayorparte de las funciones de control del bus, de modo que se maximice laeficiencia del proceso.

    5. LA MEMORIAEn un micro

    computador tpico, una parte del espacio total de memoria se

    asigna a la RAM y la ROM y otra parte a los puestos de entrada y salida. Unaasignacin de memoria usual para el 8088 es desde 0000016 a BFFFF16 para laRAM (786,431 posiciones) y desde C000016 a FFFFF16 para la ROM (262,143posiciones).

    Dentro de la RAM y de la ROM, las direcciones se segmentan en reas paradiferentes propsitos, tales como programas del sistema, programas delusuario, datos y diversos tipos de informacin relativas al sistema.

    Dos operaciones importantes entre la CPU y las memorias son:

  • 7/28/2019 texto10tecsup

    7/10

    Circuitos Digitales116

    a. El Ciclo de lectura de memoria.- En este proceso le CPU lee deuna posicin determinada de la memoria un dato, para ellotiene que poder darle a la memoria todas las seales de control

    que esta requiera para que pueda colocar la informacin en elbus de datos para que la CPU lo pueda recepcionar de maneraeficiente y sin error. Las lneas de control dependen del tipo dememoria usado.

    b. El ciclo de escritura en memoria.- En este proceso le CPUcolocara el dato en el bus de datos y activar la memoria paraque sea guardado el dato en una posicin determinada, paraello tiene que poder darle a la memoria todas las seales decontrol que esta requiera para que pueda recepcionar lainformacin sin error y mantenerla. Las lneas de control

    dependen del tipo de memoria usado.

    6. LOS PUERTOS DE ENTRADA Y SALIDAUn puerto de entrada ya salida proporciona una interfaz entre elcomputador y el mundo exterior de los equipos perifricos. Pueden ser dedos tipos: dedicados o mapeados en memoria.

    Un puerto de entrada y salida dedicado est asignado a una nica direccindentro del espacio de direcciones de E/S del computador y para la

    comunicacin se usan comandos de E/S dedicados. Los podemos organizaren:

    - Puerto de Entrada- Puerto de Salida- Puerto BidireccionalUn segundo mtodo para acceder a los puertos de E/S es el puerto mapeadoen memoria. En su implementacin es muy similar a la de los puertosdedicados, excepto en dos cosas:

    - Los puertos mapeados en memoria estn asignados a direcciones dentro delespacio de direcciones de la memoria del computador, por lo tanto la CPUlos ve como posiciones de memoria.

    - Los comandos usados para que la CPU pueda acceder a un puerto de E/Smapeado en memoria son distintos a los usados en los puertos de E/Sdedicados.

    En muchos sistemas se utilizan dispositivos especiales para implementar lospuertos de E/S. Uno de estos dispositivos es la interfaz perifricaprogramable (PPI) el cual posee puertos de entrada salida, lneas dedirecciones y lneas de control. Estos CIs se pueden programar para tenerdiversas combinaciones de puertos de entrada, salida o bidireccionales;

  • 7/28/2019 texto10tecsup

    8/10

    Circuitos Digitales 117

    adems pueden ser usados tanto para puertos dedicados como paramapeados en memoria.

    7. INTERRUPCIONESSi bien sabemos que para el intercambio de datos entre un dispositivoperifrico y la CPU el medio es precisamente un puerto de E/S, es necesarioconocer de qu manera se realiza el establecimiento de esta comunicacin.Hay dos mtodos por Sondeo y por Interrupcin.

    Uno de los mtodos de servicio se denomina sondeo (polling) . Este mtodoconsiste en que la CPU comprueba secuencialmente cada perifrico adeterminados intervalos, para saber si necesitan o estn preparados para elservicio. La CPU selecciona secuencialmente a cada dispositivo perifrico a

    travs de un multiplexor. Algunos dispositivos pueden necesitar servicio aintervalos de tiempo irregulares e impredecibles, sin embargo la CPU debede sondear al dispositivo a la velocidad ms alta.

    Cada vez que se realiza el sondeo la CPU debe de detener el programa queest procesando, ir a la secuencia de sondeo, proporcionar el servicio en casosea necesario y volver al punto en que dejo el programa en curso.

    Adems si dos o ms dispositivos necesitan el servicio al mismo tiempo, elprimero al que se sondee ser el primero en recibir el servicio y los demsdeben de esperar aunque precisen el servicio de manera ms urgente que el

    seleccionado.

    Figura N 3

  • 7/28/2019 texto10tecsup

    9/10

    Circuitos Digitales118

    El otro mtodo usado es por interrupcin, en este caso la CPU responde a lanecesidad de servicio slo cuando el dispositivo perifrico solicita el servicio.De esta manera la CPU puede dedicarse a la ejecucin del programa en

    curso, sin necesidad de interrumpirlo innecesariamente para ver si losperifricos necesitan servicio.

    La solicitud de servicio de un dispositivo perifrico se denominainterrupcin. Cuando la CPU recibe una interrupcin, para temporalmente elprograma en curso y carga desde la memoria un programa especialdenominado rutina de servicio, para el dispositivo en particular que hagenerado la interrupcin. Cuando se completa la rutina de servicio, la CPUregresa al punto donde estaba en la ejecucin del programa en curso.

    Un dispositivo denominado controlador programable de interrupciones (

    PIC ) maneja las interrupciones en funcin de prioridades, aceptandosolicitudes de servicio de los perifricos. Si dos o ms perifricos solicitanservicio al mismo tiempo, el que tenga asignada la prioridad ms alta recibeprimero el servicio y luego el que tenga la siguiente prioridad ms alta y assucesivamente.

    Cuando se enva una seal de interrupcin a la CPU, el PIC proporciona a laCPU la direccin de comienzo en memoria de la rutina de servicioapropiada. Este proceso se denomina vectorizacin.

    Figura N 4

  • 7/28/2019 texto10tecsup

    10/10

    Circuitos Digitales 119

    8. ACCESO DIRECTO A MEMORIA.El acceso directo a memoria no es otra cosa que una tcnica de transferencia

    de datos. Pero hasta ahora todas se realizaban a travs de la CPU. Pero parabloques de datos largos, las paradas intermedias del microprocesadorconsumen mucho tiempo. Por esta razn, muchos sistemas utilizan la tcnicade Acceso Directo a Memoria ( DMA ). Para acelerar a la transferencia entrela RAM y determinados dispositivos perifricos. En especial para ciertostipos de transferencia de datos, el acceso directo a memoria ignora a la CPU.

    En este proceso se usa un dispositivo denominado controlador de DMA, quetoma control de los buses del sistema y permite que los datos fluyandirectamente entre la RAM y los perifricos.En particular, la transferencia entre la unidad de disco y la RAM se hacen

    con este mtodo, debido a la gran cantidad de datos implicados.

    Figura N 5