Componentes Del Microprocesador

25
 COMPONENTES DEL MICROPROCESADOR Un microprocesador es un circuito donde se encuentran integrados una serie de bloques que le permiten realizar las funciones para las que ha sido fabricado. Los bloques fundamentales son: • Unidad de control (Control Unit) • Unidad aritmético lógica • Registros internos. • Buses internos. • Interrupciones. El funcionamiento básico de un microprocesador consiste en leer y ejecutar paso a paso todas y cada una de las órdenes programadas por el diseñador del sistema. El proceso de funcionamiento es el siguiente: 1. - El microprocesador, al iniciarse, como todos los sistemas secuenciales, se ini ci ali zaen una pos ici ón de memo ria defin ida , desde donde empie za el proceso. 2. - El sistema lee el dato que hay en esa posición y lo envía a la unidad de control. 3. - La unidad de control decodifica la instrucción y la ejecuta dando las señales adecuadas. 4. - Se incrementa el contador de programa (registro interno que se encarga de indicar a qué posición de memoria hay que ir). 5. - Y se vuelve a repetir desde el punto 2 y así sucesivamente hasta que una señal exterior interrumpa el proceso.  Unidad de control (Control Unit) Se podría decir que es el cerebro del microprocesador, ya que genera todas las señales tanto de control interno como externo. A él le llegan unos códigos (una combina ción de bits ) que son decodificados y ejec utados. Estos códi gos, en general, pueden ser instrucciones de los siguientes tipos: 1. - La realización de una operación aritmético-lógica. En este caso además de la instrucción, hay que indicar al sistema dónde se encuentran los datos a operar. 2. - Cargar o leer datos. Esto puede servir para leer datos como temperatura, posición de una pieza, etc. O bien accionar un motor, visualizar datos a través de led o visualizadores, etc. 3. - Salt os o in ter rupc io nes. Me dia nte este tip o de instruccio nes , el microprocesador hace que el programa siga en otra zona de memoria o que realice lo que se llama una subrutina. La subrutina no es más que un programa con una func ión esp ecif ica y que se ejec uta desde var ias pos icio nes. Cuand o termina de ejec utar se la subr utin a, el micr opr oces ador regres a a la pos ició n siguiente a la que estaba cuando se produjo la interrupción.  Registros internos. Dentro del microprocesador hay una serie de memorias que, al estar internas, éste maneja de for ma espec ial. Estas pos ici ones de memoria inter na lla madas registros, pueden tener una utilidad general o una utilidad específica. Los registros más generalizados son:

Transcript of Componentes Del Microprocesador

Page 1: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 1/25

COMPONENTES DEL MICROPROCESADOR

Un microprocesador es un circuito donde se encuentran integrados una serie debloques que le permiten realizar las funciones para las que ha sido fabricado. Losbloques fundamentales son:• Unidad de control (Control Unit)• Unidad aritmético lógica• Registros internos.• Buses internos.• Interrupciones.El funcionamiento básico de un microprocesador consiste en leer y ejecutar paso apaso todas y cada una de las órdenes programadas por el diseñador del sistema.El proceso de funcionamiento es el siguiente:1. - El microprocesador, al iniciarse, como todos los sistemas secuenciales, seinicializará en una posición de memoria definida, desde donde empieza elproceso.2. - El sistema lee el dato que hay en esa posición y lo envía a la unidad de

control.3. - La unidad de control decodifica la instrucción y la ejecuta dando las señalesadecuadas.4. - Se incrementa el contador de programa (registro interno que se encarga deindicar a qué posición de memoria hay que ir).5. - Y se vuelve a repetir desde el punto 2 y así sucesivamente hasta que unaseñal exterior interrumpa el proceso. Unidad de control (Control Unit)Se podría decir que es el cerebro del microprocesador, ya que genera todas lasseñales tanto de control interno como externo. A él le llegan unos códigos (una

combinación de bits) que son decodificados y ejecutados. Estos códigos, engeneral, pueden ser instrucciones de los siguientes tipos:1. - La realización de una operación aritmético-lógica. En este caso además de lainstrucción, hay que indicar al sistema dónde se encuentran los datos a operar.2. - Cargar o leer datos. Esto puede servir para leer datos como temperatura,posición de una pieza, etc. O bien accionar un motor, visualizar datos a través deled o visualizadores, etc.3. - Saltos o interrupciones. Mediante este tipo de instrucciones, elmicroprocesador hace que el programa siga en otra zona de memoria o querealice lo que se llama una subrutina. La subrutina no es más que un programacon una función especifica y que se ejecuta desde varias posiciones. Cuandotermina de ejecutarse la subrutina, el microprocesador regresa a la posiciónsiguiente a la que estaba cuando se produjo la interrupción. Registros internos.Dentro del microprocesador hay una serie de memorias que, al estar internas, éstemaneja de forma especial. Estas posiciones de memoria interna llamadasregistros, pueden tener una utilidad general o una utilidad específica. Los registrosmás generalizados son:

Page 2: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 2/25

1. - Registros de datos. Son los utilizados para las operaciones aritmético-lógicas,manipulación de datos, etc.2. - Registros de direcciones. Son aquellos que el microprocesador utiliza paraacceder a una posición del mapa de memoria. Hay fundamentalmente tres:A.- Contador de programa, es el registro que normalmente se utiliza para leer oescribir datos del programa.B.- Puntero de pila, es el registro que el microprocesador utiliza para guardar yrecuperar datos de uso fundamentalmente interno. El registro define la posición dememoria donde se encuentra dichos datos.C.- Registros índices, son utilizados para acceder a posiciones de memoria deforma relativa.3. - Registro de estado, es un registro en el cual cada bits da una informaciónespecifica como puede ser que la última operación a dado resultado positivo,negativo, ha sido cero. Etc. Buses internos.Al igual que para direccionar memorias y leer datos, es necesario que se

organicen buses, internamente también son necesarios para acceder a lasdiferentes partes del circuito.Vectores.Cuando en un sistema de microprocesador se da una dirección de memoria, esnecesario hacerlo en varias posiciones de memoria. Estas son función del númerode líneas que posea el bus de datos y el de direcciones. En el caso delmicroprocesador R6502, el bus de direcciones lo forman 16 líneas y el de datos 8.Por tanto, para tener una dirección en memoria, es necesario escribirla en dosposiciones consecutivas. Se dice que en estas posiciones tenemos un vector (dirección). El R6502 forma un vector colocando en primer lugar el byte de menor peso y a continuación el de mayor peso. Si en la posición 2102 y 2103 hay un

vector, la dirección resultante será 5234. Interrupciones.Todos los microprocesadores disponen de unas entradas especiales parainterrumpir la secuencia de programa y realizar un programa especial. Estas líneasse utilizan solo para casos especiales.Microprocesador 6502. Bloques internosDentro de la amplia gama de microprocesadores que hay en el mercado, se va aanalizar el R6502; aunque es un modelo antiguo cumple los objetivos de este libro.1. - la unidad de control con sus circuitos asociados: bloque de interrupciones,control de tiempos y el registro P.a.- Las interrupciones son tres:- Entrada de inicialización (/R/E/S), se activa cuando le llega un nivel bajo (0)bloqueando el funcionamiento del microprocesador hasta que esta señal nocambia hacia un nivel alto. En ese instante el microprocesador lee los datos quehay en las direcciones FFFC h y FFFD h (vector de reset), los carga en el contador de programa (PCL y PCH respectivamente) y empieza a funcionar leyendo elcódigo de operación que hay en esa dirección.- /I/R/Q. Es una interrupción enmascarable, es decir, se puede programar para quela atienda o para que no lo haga según le interese al programador. Se activa al

Page 3: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 3/25

recibir un nivel bajo; en ese momento termina de realizar la instrucción queestuviera realizando y seguidamente interrumpe la secuencia del programa pararealizar una subrutina. La dirección de esta subrutina está en las direcciones FFFEh y FFFF h. Una vez realizada la subrutina, el microprocesador continúarealizando el programa en el mismo punto en que lo dejó.- /N/M/I. Es una interrupción no enmascarable (la atiende siempre); realiza unafunción similar a la de la /I/R/Q. La dirección de la subrutina está en lasdirecciones FFFA h y FFFB h.b.- El registro de estado está compuesto por ocho bits, donde cada uno actúaindicando si se cumple o no una condición.2. - Registros. Como se aprecia tiene los siguientes registros:a.- Registros índice X e Y. Los utiliza para acceder a unas posiciones de memoriade forma que el contenido de estos registros, normalmente, hay que sumarlos conotro dato y ello nos da la dirección final.b.- Puntero de pila S. Es utilizado para el manejo de una zona de memoria comopila, donde el microprocesador guarda y recoge datos temporales necesarios parasu funcionamiento. En el R6502, esta zona es la comprendida entre el 0100 h y el

01FF h (página uno).c.- Registro A o acumulador. Es un registro de datos, lo utiliza para transferir orecibir datos y para casi todas las operaciones con la unidad aritmético-lógica.d.- Los registro del contador de programa PCL y PCH. Son dos porque losregistros son de 8 Bits y se necesitan 16 bits para direccionar toda la memoria.3 - Unidad aritmético-lógica (ALU). Realiza las siguientes operaciones: suma,resta, incremento, decremento, giro y rotaciones.

ARQUITECTURA BÁSICA. R6502.Buses.Una de las características de los microprocesadores, es que los datos, direcciones

y otras líneas de control pueden ser compartidas por diferentes circuitos, por loque hay que organizarlos como buses.En un sistema de microprocesadores hay tres buses:1. - Bus de direcciones. Por el se selecciona la posición de memoria o eldispositivo al que se va a escribir o leer los datos. La dimensión o número delíneas que lo componen, depende del microprocesador que utilicemos.

2. - Bus de datos. Es el conjunto de líneas por donde se transmiten los datos. Alos microprocesadores se les suele dividir en función del número de bits queforman el dato.Inicialmente eran de 4 bits; después se fueron fabricando circuitos con mayor capacidad como los de 8, 16, 32 y 64 bits. Esta evolución ha sido forzada por lainformática, que cada vez necesita unas prestaciones mayores. Industrialmente sesiguen utilizando los de 8 y 16 bits.

3. - Bus de Control. Además de datos y direcciones, hay otras líneas que sirvepara controlar el sistema. Una de esas líneas es la de reset (inicialización delmicroprocesador)Arquitectura básica del microprocesador.

Page 4: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 4/25

En un sistema con microprocesador existen fundamentalmente los siguientescomponentes:Memoria ROM. Contiene el programa de control del sistema, dependiendo delmicroprocesador que se use; puede estar en cualquier lugar del mapa de memoriao en una zona determinada. Por ejemplo, en el R6502, una ROM debe de ocupar la parte alta, ya que es allí donde se encuentran los vectores de reset einterrupciones (FFFA h, FFFB h, FFFC h, FFFD h, FFFE h Y FFFF h).Memoria RAM. Memoria donde el sistema puede contener datos o el programa.Dependiendo del microprocesador que utilicemos puede utilizar una o variaszonas del mapa de memoria. El R6502, debe de tener memoria RAM al menos enla página uno (0100 h a 01FF h), ya que esa zona la utiliza el registro S necesariay obligatoriamente para guardar datos.Circuitos de entrada-salida (I/O devices). Circuitos que permiten la comunicaciónentre el microprocesador y el exterior. Aquí se pueden incluir visualizadores,teclados, convertidores analógico-digital (A/D) o digital-analógico (D/A), etc.Además de estos elementos fundamentales en cualquier sistema, debe de haber el circuito oscilador, que es el que va sincronizando el funcionamiento del sistema

y el circuito de inicialización, que activará una de las líneas de control (entrada deinicialización del microprocesador).

ARQUITECTURA CISC La tecnología CISC (Complex Instruction Set Computer) nació de la mano de Intel,creador en 1971 del primer microchip que permitiría el nacimiento de la informáticapersonal. Más concretamente, sería en 1972 cuando aparecería el 8080, primer chip capaz de procesar 8 bits, suficiente para representar números y letras. Con laposibilidad de colocar todos los circuitos en un solo chip y la capacidad de manejar número y letras nacería la cuarta generación de ordenadores, la de los conocidos

como PC u ordenadores personales.Los microprocesadores CISC tienen un conjunto de instrucciones que secaracteriza por ser muy amplio y permitir operaciones complejas entre operandossituados en la memoria o en los registros internos.Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que enla actualidad la mayoría de los sistemas CISC de alto rendimiento implementan unsistema que convierte dichas instrucciones complejas en varias instruccionessimples, llamadas generalmente microinstrucciones.La microprogramación es una característica importante y esencial de casi todaslas arquítecturas CISC. La microprogramación significa que cada instrucción demáquina es interpretada por un microprograma localizado en una memoria en elcircuito integrado del procesador. Las instrucciones compuestas son decodificadasinternamente y ejecutadas con una serie de microinstrucciones almacenadas enuna ROM interna. Para esto se requieren de varios ciclos de reloj, al menos unopor microinstrucción. Es así entonces como los chips CISC utilizan comandos queincorporan una gran diversidad de pequeñas instrucciones para realizar una únicaoperación.Cuando el sistema operativo o una aplicación requiere de una de estas acciones,envía al procesador el nombre del comando para realizarla junto con el resto deinformación complementaria que se necesite. Pero cada uno de estos comandos

Page 5: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 5/25

de la ROM del CISC varían de tamaño y, por lo tanto, el chip debe en primer lugar verificar cuanto espacio requiere el comando para ejecutarse y poder asíreservárselo en la memoria interna. Además, el procesador debe determinar laforma correcta de cargar y almacenar el comando, procesos ambos que ralentizanel rendimiento del sistema. El procesador envía entonces el comando solicitado a una unidad que lodescodifica en instrucciones más pequeñas que podrán ser ejecutadas por unnanoprocesador, una especie de procesador dentro del procesador. Y al no ser lasinstrucciones independientes, pues son instrucciones menores procedentes de ladescodificación de una instrucción mayor, sólo puede realizarse una instruccióncada vez.A través de la compleja circuitería del chip, el nanoprocesador ejecuta cada unade las instrucciones del comando. El desplazamiento por esta circuitería tambiénralentiza el proceso. Para realizar una sola instrucción un chip CISC requiere decuatro a diez ciclos de reloj.Entre las bondades de CISC destacan las siguientes:

• Reduce la dificultad de crear compiladores.• Permite reducir el costo total del sistema.• Reduce los costos de creación de sftware.• Mejora la compactación de código.• Facilita la depuración de errores.Ejemplo de microprocesadores basados en la tecnología CISC:• Intel 8086, 8088, 80286, 80386, 80486.• Motorola 68000, 68010, 68020, 68030, 6840.ARQUITECTURA RISC Buscando aumentar la velocidad del procesamiento se descubrió en base a

experimentos que, con una determinada arquitectura de base, la ejecución deprogramas compilados directamente con microinstrucciones y residentes enmemoria externa al circuito integrado resultaban ser mas eficientes, gracias a queel tiempo de acceso de las memorias se fue decrementando conforme semejoraba su tecnología de encapsulado.La idea estuvo inspirada también por el hecho de que muchas de lascaracterísticas que eran incluidas en los diseños tradicionales de CPU paraaumentar la velocidad estaban siendo ignoradas por los programas que eranejecutados en ellas. Además, la velocidad del procesador en relación con lamemoria de la computadora que accedía era cada vez más alta.Debido a que se tiene un conjunto de instrucciones simplificado, éstas se puedenimplantar por hardware directamente en la CPU, lo cual elimina el microcódigo y lanecesidad de decodificar instrucciones complejas.La arquitectura RISC funciona de modo muy diferente a la CISC, su objetivo no esahorrar esfuerzos externos por parte del software con sus accesos a la RAM, sinofacilitar que las instrucciones sean ejecutadas lo más rápidamente posible. Laforma de conseguirlo es simplificando el tipo de instrucciones que ejecuta elprocesador. Así, las instrucciones más breves y sencillas de un procesador RISCson capaces de ejecutarse mucho más aprisa que las instrucciones más largas y

Page 6: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 6/25

complejas de un chip CISC. Sin embargo, este diseño requiere de mucha másRAM y de una tecnología de compilador más avanzada.La relativa sencillez de la arquitectura de los procesadores RISC conduce a ciclosde diseño más cortos cuando se desarrollan nuevas versiones, lo que posibilitasiempre la aplicación de las más recientes tecnologías de semiconductores. Por ello, los procesadores RISC no solo tienden a ofrecer una capacidad deprocesamiento del sistema de 2 a 4 veces mayor, sino que los saltos de capacidadque se producen de generación en generación son mucho mayores que en losCISC.Los comandos que incorpora el chip RISC en su ROM constan de variasinstrucciones pequeñas que realizan una sola tarea. Las aplicaciones son aquí lasencargadas de indicar al procesador qué combinación de estas instrucciones debeejecutar para completar una operación mayor.Además, los comandos de RISC son todos del mismo tamaño y se cargan yalmacenan del mismo modo. Al ser estas instrucciones pequeñas y sencillas, nonecesitan ser descodificadas en instrucciones menores como en el caso de loschips CISC, pues ya constituyen en sí unidades descodificadas. Por ello, el

procesador RISC no gasta tiempo verificando el tamaño del comando, endescodificarlo ni en averiguar cómo cargarlo y guardarlo.El procesador RISC puede además ejecutar hasta 10 comandos a la vez pues elcompilador del software es el que determina qué comandos son independientes ypor ello es posible ejecutar varios a la vez. Y al ser los comandos del RISC mássencillos, la circuitería por la que pasan también es más sencilla. Estos comandospasan por menos transistores, de forma que se ejecutan con más rapidez. Paraejecutar una sola instrucción normalmente les basta con un ciclo de reloj.Entre las ventajas de RISC tenemos las siguientes:• La CPU trabaja mas rápido al utilizar menos ciclos de reloj para ejecutar instrucciones.

• Utiliza un sistema de direcciones no destructivas en RAM. Eso significa quea diferencia de CISC, RISC conserva después de realizar sus operaciones enmemoria los dos operandos y su resultado, reduciendo la ejecución de nuevasoperaciones.• Cada instrucción puede ser ejecutada en un solo ciclo del CPUEjemplo de microprocesadores basados en la tecnología CISC:• MIPS, Millions Instruction Per Second.• PA-RISC, Hewlett Packard.• SPARC, Scalable Processor Architecture, Sun Microsystems.• POWER PC, Apple, Motorola e IBM.• Procesadores: CISC y RISC• Los procesadores se agrupan hoy en dos familias, la más antigua y comúnde las cuales es la "CISC" o "Complex InstructionSet Computer": computador deset complejo de instrucciones. Esto corresponde a procesadores que son capacesde ejecutarun gran número de instrucciones pre-definidas en lenguaje de máquina(del orden del centenar).• Desde hace unos años se fabrican y utilizan en algunas máquinasprocesadores "RISC" o "Reduced Instruction Set Computer",es decir con unnúmero reducido de instrucciones. Esto permite una ejecución más rápida de lasinstrucciones pero requierecompiladores (o sea traductores automáticos de

Page 7: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 7/25

programas) más complejos ya que las instrucciones que un "CISC" podríaadmitir pero no un "RISC", deben ser escritas como combinaciones de varias instrucionesadmisibles del "RISC". Se obtieneuna ganancia en velocidad por el hecho que elRISC domina instrucciones muy frecuentes mientras son operacionesmenosfrecuentes las que deben descomponerse.• Dentro de muy poco los usuarios dejaran de hacerse la pregunta ¿ RISC OCISC ?, puesto que la tendencia futura, nos lleva a pensar que ya no existiran losCISC puros.• Hace ya tiempo que se ha empezado a investigar sobre microprocesadores"hibridos", es decir, han llevado a cabo el que las nuevas CPU's no sean en sucien por cien CISC, sino por el contrario, que estas ya contengan algunosaspectos de tecnologia RISC. Este proposito se ha realizado con el fin de obtener ventajas procedentes de ambas tecnologias (mantener la compatibilidad x86 delos CISC, y a la vez aumentar las prestaciones hasta aproximarse a un RISC), sinembargo, este objetivo todavia no se ha conseguido, de momento se hanintroducido algunos puntos del RISC, lo cual no significa que hayan alcanzado unnivel optimo.

• Realmente, las diferencias son cada vez mas borrosas entre lasarquitecturas CISC y RISC. Las CPU's combinan elementos de ambas y no sonfaciles de encasillar. Por ejemplo, el Pentium Pro traduce las largas instruccionesCISC de la arquitectura x86 a microoperaciones sencillas de longitud fija que seejecutan en un nucleo de estilo RISC. El UltraSparc-II de Sun, acelera ladecodificacion MPEG con unas instrucciones especiales para graficos; estasinstrucciones obtienen unos resultados que en otros procesadores requeririan 48instrucciones.• Por lo tanto a corto plazo, en el mercado coexistiran las CPU's RISC y losmicroprocesadores hibridos RISC - CISC, pero cada vez con diferencias masdifusas entre ambas tecnologias. De hecho, los futuros procesadores lucharan en

cuatro frentes :• -Ejecutar mas instrucciones por ciclo.• -Ejecutar las instrucciones en orden distinto del original para que lasinterdependencias• entre operaciones sucesivas no afecten al rendimiento del procesador.• -Renombrar los registros para paliar la escasez de los mismos.• -Contribuir a acelerar el rendimiento global del sistema, ademas de lavelocidad de la• CPU.• A continuacion pasaremos a comentar brevemente algunas de las CPU's,recien salidas o proximas a salir:• 3. Kripton - 5 O K5 De Amd• Estado Actual : Muestras comerciales.• Velocidad Prevista : 120 Mhz• Rendimiento Estimado : Entre 109 y 115 SPECint92.• Proceso de Fabricacion : CMOS de tres capas de metal.• Tamaño de la Tecnologia de Proceso : 0'35 micras• Ventajas Tecnologicas :• Microarquitectura superescalar de cuatro vias• Nucleo de tipo RISC desacoplado

Page 8: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 8/25

• Ejecucion especulativa con reordenacion de instrucciones• Desventajas Tecnologicas :• Velocidades de reloj inferiores a las inicialmente previstas• Las extensas pruebas de compatibilidad han retrasado el lanzamiento• Donde Consultar : http : // www.amd.com• 4. Pentium pro de intel• Estado Actual : Inicios de produccion.• Velocidad Prevista : 150 Mhz• Rendimiento Estimado : Entre 220 SPECint92; 215 SPECfp92• Proceso de Fabricacion : BiCMOS.• Tamaño de la Tecnologia de Proceso : 0'6 micras• Ventajas Tecnologicas :• Paquete multichip que integra una cache secundaria de 256 KB que secomunica con la CPU a la misma velocidad del procesador • Microarquitectura superescalar con reordenacion de instrucciones• Superpipelines incluidos para permitir altas velocidades de reloj.• Desventajas Tecnologicas :

• Alto precio de fabricacion del paquete multichip• Microarquitectura optimizada para software de 32 bits, que tienenrendimiento pobre con codigo de 16 bits• Consumo de energia y disipacion de calor totalmente inapropiadas paraordenadores portatiles• Donde Consultar : http : // www.intel.com• 5. Mips• Estado Actual : Primeras pruebas de produccion• Velocidad de reloj Prevista : 200 Mhz• Rendimiento Estimado : 300 SPECint92 y 600 SPECfp92• Proceso de Fabricacion : CMOS

• Tamaño de la Tecnologia de Proceso : 0'35 micras• Ventajas Tecnologicas :• Este chip de 64 bits tiene cinco pipelines funcionales, por lo que puedellegar a ejecutar cinco instrucciones por ciclo de reloj. Con dos unidades de comaflotante de precision doble, el R10000 esta optimizado para sostener un altorendimiento de coma flotante.• Desventajas Tecnologicas :• Para optimizar el rendimiento, la memoria cache secundaria externa tieneque fabricarse con costosa tecnologia

¿ COMO SURGE EL RISC ?• Los ordenadores etiquetados como CISC gozan de los privilegios y defectosdel microcodigo. La CPU es considerablemente mas rapida que la memoriaprincipal. Esto significa que conviene manejar un amplio abanico de instruccionescomplejas cuyo significado equivalga al de varias instrucciones simples,disminuyendo asi los accesos a memoria. A esto se le añade la tandencia deaumentar el grado de complejidad de las instrucciones para acercarlas a loslenguajes de alto nivel.

Page 9: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 9/25

• Sin embargo, como resultado de icertos estudios en los que se examino lafrecuencia de utilizacion de las diferentes instrucciones, se observo que el 80 %del tiempo era consumido por solo el 20 % de las instrucciones, con prioridad delos almacenamientos (STORE), cargas (LOAD) y bifurcaciones (BRANCH).• Instrucciones mas usadas• Esto significa que se poseian soberbias memorias de control cuyocontenido era muy poco utilizado. Se estaba penalizando la velocidad derespuesta en aras de tener informacion poco util.• La alternativa RISC se basa en esto y propone procesadores cableados conun repertorio simple de instrucciones sencillas y frecuentes; todo codigo complejopuede descomponerse en varios congeneres mas elementales en los que, paraevitar los terribles efectos sobre los retardos de la memoria principal (MP), serecurre a numerosos registros y a memorias cache. Un registro es una unidad dealmacenamiento enclavada en la CPU y, por tanto, tan rapida como esta. Lasmemorias cache son pequeñas memorias de alta velocidad, se alimentan de laMP, de la que toman la informacion que esta siendo mas frecuentemente utilizada.Otro de los objetivos del RISC fue lograr que a cada instruccion correspondiera un

solo ciclo de reloj, a excepcion, de aquellos casos que hay que mover datos.• - Disminuye la probabilidad de fallo.• - Reduce el tamaño de la CPU, que puede entonces albergar mas recursos(registros).• - Facilita el diseño.• - Permite maquinas mas compactas y con menor consumo.• - A menor complejidad... menor coste.• Aun asi con todos los datos obtenidos a favor y en contra del CISC y delRISC, hay que tener en cuenta otro factor importante : la eficacia del software.• 10. Compiladores optimizados del risc• Es cierto que un procesador RISC es mas veloz que uno CISC, pero

tambien lo es que, al ser mas simples las instrucciones, necesita mas de estaspara emular funciones complejas, por lo que los programas son mas largos yvoluminosos. Es decir, el codigo objeto generado, ocupa mas memoria y, al ser mas extenso, emplea mas tiempo• en ser procesado. Los partidarios argumentan que el factor volumen dememoria incide poco en el precio,ademas estiman que el aumento de codigo notoma dimensiones importantes por el uso de coprocesadores y compiladoresoptimizados.• Los segundos destacan dos aspectos :• 1.- Al existir menor variedad en el codigo generado, el proceso decompilacion es mas rapido. El motivo es que hay menor numero de reglas yposibilidades entre las que elegir ( no existira la disyuntiva de construir la mismaaccion por diferentes caminos, solo habra una forma unica ) evitando laexploracion de grandes tablas de instrucciones en busca del sujeto correcto.• " En un ordenador convencional, la misma instruccion de lenguaje de altonivel puede ejecutarse de diversa formas, cada una con sus inconvenientes yventajas, pero en el RISC solo hay una forma de hacer las cosas "• 2.- Al traducir los lenguajes de alto nivel mediante unidades de extremasimplicidad, se incremente la eficiencia. Si se emplean instrucciones potentes se

Page 10: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 10/25

corre el riesgo de no aprovecharlas en su totalidad y potencia, menor es laadaptacion a los diferentes casos particulares• 11. ¿ Risc o cisc ?• El conflicto surge al evaluar las ventajas netas ¿ que es mas apropiado,usar muchas instrucciones de un solo ciclo aprovechadas al maximo, o pocas demultiples pasos de reloj en las que existe infrautilizacion ?• La cuestion, es que hasta el momento, el estudio de prestaciones de ambastecnologias, nos ha llevado a concluir que hoy en dia los RISC obtienen masprestaciones, es decir, son mas potentes y rapidos que los CISC. Sin embargo, elmercado se ha decantado por la tecnologia CISC en cuanto a volumen de ventas.¿ Por que ?• 1.- Por experiencia propia, podemos comprobar que un CISC tiene un coste"razonable", que es alcanzado a nivel de usuario. Esto mismo, no ocurre con losRISC, que por el contrario tienen un coste elevado, por esto mismo esta tecnologiaha sido enfocada a ventas a nivel de empresa y equipos de gama alta.• 2.- La utilidad que se le de a la maquina es muy importante, ya que elusuario debe de encontrar un nivel optimo en cuanto a calidad - precio. Y por que

pagar mas si realmente no se le va a sacar partido al cien por cien.• 3.- El software utilizado es otro de los factores importantes, dado que unRISC no utiliza el mismo software que un CISC. Estos ultimos, por lo generaltienen un software mas asequible.• 4.- Dada la compatibilidad hacia atras de la familia CISC x86, los usuarioshan podido renovar sus equipos sin por ello tener que abandonar software que yaconocian, y reutilizar sus datos. Asi mismo, los fabricantes han tenido en cuentaeste factor, puesto que seguir con otra linea de procesadores suponia no solo uncambio muy radical, sino que ademas podia llevar un riesgo en cuanto a ventas.• Estos son algunos de los motivos. Sin embargo, tambien hay que tener encuenta el conflicto de intereses de algunos fabricantes, asi como la opinion de

distintas revistas, algunas de ellas asociadas a diferentes marcas.• Se estan estudiando las tendencias futuras, como pueden ser los hibridos,mejoras en los microprocesadores CISC, mejoras en los RISC, ...

CLASIFICACION DE LOS LENGUAJES DE PROGRAMACIÓNLENGUAJE MÁQUINA:El lenguaje máquina es el único que entiende directamente la computadora, yaque esta escrito en lenguajes directamente inteligibles por la máquina(computadora), utiliza el alfabeto binario, que consta de los dos únicos símbolos 0y 1, denominados bits (abreviatura inglesa de dígitos binarios). Sus instruccionesson cadenas binarias (cadenas o series de caracteres de dígitos 0 y 1) queespecifican una operación y, las posiciones (dirección) de memoria implicadas enla operación se denominan instrucciones de máquina o código maquina. Fue el

Page 11: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 11/25

primer lenguaje utilizado en la programación de computadoras, pero dejo deutilizarse por su dificultad y complicación, siendo sustituido por otros lenguajesmás fáciles de aprender y utilizar, que además reducen la posibilidad de cometer errores. El lenguaje máquina es el conocido código binario. Generalmente, en lacodificación de los programas se empleaba el sistema hexadecimal parasimplificar el trabajo de escritura. Todas las instrucciones preparadas en cualquier lenguaje máquina tienen por lo menos dos partes. La primera es el comando uoperación, que dice a las computadoras cual es la función que va a realizar. Todaslas computadoras tienen un código de operación para cada una de las funciones.La segunda parte de la instrucción es el operando, que indica a la computadoradonde hallar o almacenar los datos y otras instrucciones que se van a manipular,el número de operándoos de una instrucción varia en distintas computadoras.Ventajas del lenguaje máquina: posibilidad de cargar (transferir un programa a lamemoria) sin necesidad de traducción posterior, lo que supone una velocidad deejecución superior a cualquier otro lenguaje de programación.Desventajas del lenguaje máquina: dificultad y lentitud en la codificación. Pocafiabilidad. Gran dificultad para verificar y poner a punto los programas. Los

programas solo son ejecutables en el mismo procesador (CPU). En la actualidad,las desventajas superan a las ventajas, lo que hace prácticamente norecomendables a los lenguajes máquina.

LENGUAJES DE BAJO NIVEL:Son más fáciles de utilizar que los lenguajes máquina, pero al igual que ellos,dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia esel ensamblador. El lenguaje ensamblador es el primer intento de sustituir ellenguaje maquina por otro más similar a los utilizados por las personas. Esteintenta desflexibilizar la representación de los diferentes campos. Esa flexibilidadse consigue no escribiendo los campos en binario y aproximando la escritura al

lenguaje. A principios de la década de los 50 y con el fin de facilitar la labor de losprogramadores, se desarrollaron códigos mnemotécnicos para las operaciones ydirecciones simbólicas. Los códigos mnemotécnicas son los símbolos alfabéticosdel lenguaje maquina. La computadora sigue utilizando el lenguaje maquina paraprocesar los datos, pero los programas ensambladores traducen antes lossímbolos de código de operación especificados a sus equivalentes en el lenguajemaquina. En la actualidad los programadores no asignan números de direcciónreales a los datos simbólicos, simplemente especifican donde quieren que secoloque la primera localidad del programa y el programa ensamblador se encargade lo demás, asigna localidades tanto para las instrucciones como los datos. Estosprogramas de ensamble o ensambladores también permiten a la computadoraconvertir las instrucciones en lenguaje ensamblador del programador en su propiocódigo maquina. Un programa de instrucciones escrito en lenguaje ensamblador por un programador se llama programa fuente. Después de que el ensamblador convierte el programa fuente en código maquina a este se le denomina programaobjeto. Para los programadores es más fácil escribir instrucciones en un lenguajeensamblador que en código de lenguaje maquina pero es posible que se requierandos corridas de computadora antes de que se puedan utilizar las instrucciones delprograma fuente para producir las salidas deseadas.

Page 12: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 12/25

El lenguaje de bajo nivel es el lenguaje de programación que el ordenador puedeentender a la hora de ejecutar programas, lo que aumenta su velocidad deejecución, pues no necesita un intérprete que traduzca cada línea deinstrucciones.Visto a muy bajo nivel, los microprocesadores procesan exclusivamente señaleselectrónicas binarias. Dar una instrucción a un microprocesador supone enrealidad enviar series de unos y ceros espaciadas en el tiempo de una formadeterminada. Esta secuencia de señales se denomina código máquina. El códigorepresenta normalmente datos y números e instrucciones para manipularlos. Unmodo más fácil de comprender el código máquina es dando a cada instrucción unmnemónico, como por ejemplo STORE, ADD o JUMP. Esta abstracción da comoresultado el ensamblador, un lenguaje de muy bajo nivel que es específico decada microprocesador.Los lenguajes de bajo nivel permiten crear programas muy rápidos, pero que son,a menudo, difíciles de aprender. Más importante es el hecho de que los programasescritos en un bajo nivel sean altamente específicos de cada procesador. Si selleva el programa a otra maquina se debe reescribir el programa desde el principio.

Ventajas del lenguaje ensamblador frente al lenguaje máquina: mayor facilidad decodificación y, en general, su velocidad de calculo, ahorran tiempo y requierenmenos atención a detalles. Se incurren en menos errores y los que se cometenson más fáciles de localizar. Tanto el lenguaje maquina como el ensamblador gozan de la ventaja de mínima ocupación de memoria y mínimo tiempo deejecución en comparación con el resultado de la compilación del programaequivalente escrito en otros lenguajes. Los programas en lenguaje ensamblador son más fáciles de modificar que los programas en lenguaje máquina.Desventajas del lenguaje ensamblador: dependencia total de la maquina lo queimpide la transportabilidad de los programas (posibilidad de ejecutar un programaen diferentes máquinas). El lenguaje ensamblador del PC es distinto del lenguaje

ensamblador del Apple Machintosh. La formación de los programadores es máscompleja que la correspondiente a los programadores de alto nivel, ya que exigeno solo las técnicas de programación, sino también el conocimiento del interior dela maquina El programador ha de conocer perfectamente el hardware del equipo,ya que maneja directamente las posiciones de memoria, registros del procesador ydemás elementos físicos. Todas las instrucciones son elementales, es decir, en elprograma se deben describir con el máximo detalle todas las operaciones que sehan de efectuar en la maquina para la realización de cualquier proceso.Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centranbásicamente en aplicaciones de tiempo real, control de procesos y de dispositivoselectrónicos.Vistos a muy bajo nivel, los microprocesadores procesan exclusivamente señaleselectrónicas binarias. Dar una instrucción a un microprocesador supone enrealidad enviar series de unos y ceros espaciadas en el tiempo de una formadeterminada. Esta secuencia de señales se denomina código máquina. El códigorepresenta normalmente datos y números e instrucciones para manipularlos. Unmodo más fácil de comprender el código máquina es dando a cada instrucción unmnemónico, como por ejemplo STORE, ADD o JUMP. Esta abstracción da comoresultado el ensamblador, un lenguaje de muy bajo nivel que es específico decada microprocesador.

Page 13: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 13/25

Los lenguajes de bajo nivel permiten crear programas muy rápidos, pero que son amenudo difíciles de aprender. Más importante es el hecho de que los programasescritos en un bajo nivel sean altamente específicos de cada procesador. Si selleva el programa a otra máquina se debe reescribir el programa desde el principio.Lenguaje ensamblador (le):Este intenta deflexibilizar la representación de los diferentes campos, esaflexibilidad se consigue no escribiendo los campos en binario y aproximando laescritura al lenguaje

LENGUAJES DE ALTO NIVEL:Estos lenguajes son los mas utilizado por los programadores. Están diseñadospara que las personas escriban y entiendan los programas de un modo muchomas fácil que los lenguajes máquina y ensamblador. Un programa escrito enlenguaje de alto nivel es independiente de la máquina (las instrucciones nodependen del diseño del hardware o de una computadora en particular), por lo queestos programas son portables o transportables. Los programas escritos enlenguaje de alto nivel pueden ser ejecutados con poca o ninguna modificación en

diferentes tipos de computadoras. Son lenguajes de programación en los que lasinstrucciones enviadas para que el ordenador ejecute ciertas órdenes sonsimilares al lenguaje humano. Dado que el ordenador no es capaz de reconocer estas ordenes, es necesario el uso de un intérprete que traduzca el lenguaje dealto nivel a un lenguaje de bajo nivel que el sistema pueda entender.Por lo general se piensa que los ordenadores son máquinas que realizan tareasde cálculos o procesamiento de texto. La descripción anterior es sólo una formamuy esquemática de ver una computadora. Hay un alto nivel de abstracción entrelo que se pide a la computadora y lo que realmente comprende. Existe tambiénuna relación compleja entre los lenguajes de alto nivel y el código máquina.Los lenguajes de alto nivel son normalmente fáciles de aprender porque están

formados por elementos de lenguajes naturales, como el inglés. En BASIC, ellenguaje de alto nivel más conocido, los comandos como “IF CONTADOR=10THEN STOP” pueden utilizarse para pedir a la computadora que pare siCONTADOR es igual a diez. Por desgracia para muchas personas esta forma detrabajar es un poco frustrante, dado que a pesar de que las computadoras parecencomprender un lenguaje natural, lo hacen en realidad de una forma rígida ysistemática.Los lenguajes de alto nivel, también denominados lenguajes evolucionados,surgen con posterioridad a los anteriores (lenguaje máquina, lenguajes de bajonivel o ensamblador) con los siguientes objetivos, entre otros:Lograr independencia de la maquina, pudiendo utilizar un mismo programa endiferentes equipos con la única condición de disponer de un programa traductor ocompilador, que es suministrado por el fabricante, para obtener el programaejecutable en lenguaje binario de la maquina que se trate. Además, no se necesitaconocer el hardware especifico de dicha maquina. Aproximarse al lenguajenatural, para que el programa se pueda escribir y leer de una forma más sencilla,eliminando muchas de las posibilidades de cometer errores que se daban en ellenguaje maquina, ya que se utilizan palabras (en ingles) en lugar de cadenas desímbolos sin ningún significado aparente.

Page 14: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 14/25

Incluir rutinas de uso frecuente, como las de entrada / salida, funcionesmatemáticas, manejo de tablas, etc., que figuran en una especie de librería dellenguaje, de manera que se puedan utilizar siempre que se quiera sin necesidadde programarlas cada vez.Ventajas de los lenguajes de alto nivel: el tiempo de formación de losprogramadores es relativamente corto comparado con otros lenguajes. Laescritura de programas se basa en reglas sintácticas similares a los lenguajeshumanos, nombres de las instrucciones tales como READ, WRITE, PRINT, OPEN,etc. Las modificaciones y puestas a punto de los programas son más fáciles.Reducción del costo de los programas. Transportabilidad. Permiten tener unamejor documentación. Son más fáciles de mantener.Por lo general se piensa que los ordenadores son máquinas que realizan tareasde cálculos o procesamiento de textos. La descripción anterior es sólo una formamuy esquemática de ver una computadora. Hay un alto nivel de abstracción entrelo que se pide a la computadora y lo que realmente comprende. Existe tambiénuna relación compleja entre los lenguajes de alto nivel y el código máquina.Los lenguajes de alto nivel son normalmente fáciles de aprender porque están

formados por elementos de lenguajes naturales, como el inglés. En BASIC, ellenguaje de alto nivel más conocido, los comandos como "IF CONTADOR = 10THEN STOP" pueden utilizarse para pedir a la computadora que pare siCONTADOR es igual a 10. Por desgracia para muchas personas esta forma detrabajar es un poco frustrante, dado que a pesar de que las computadoras parecencomprender un lenguaje natural, lo hacen en realidad de una forma rígida ysistemática.Desventajas de los lenguajes de alto nivel: incremento del tiempo de puesta apunto al necesitarse diferentes traducciones del programa fuente para conseguir elprograma definitivo. No se aprovechan los recursos internos de la maquina que seexplotan mucho mejor en lenguajes máquina y ensambladores. Aumento de la

ocupación de memoria. El tiempo de ejecución de los programas es mucho mayor.Se puede decir que el principal problema que presentan los lenguajes de alto niveles la gran cantidad de ellos que existen actualmente en uso, además de lasdiferentes versiones o dialectos que se han desarrollado de algunos de ellos. Esdifícil establecer una clasificación general de los mismos, ya que en cualquieraque se realice habrá lenguajes que pertenezcan a mas de uno de los gruposestablecidos. Una clasificación muy extendida, atendiendo a la forma de trabajar de los programas y a la filosofía con que fueron concebidos, es la siguiente:• Lenguajes imperativos. Utilizan instrucciones como unidad de trabajo de losprogramas (Cobol, Pascal, C, Ada).• Lenguajes declarativos. Los programas se construyen mediantedescripciones de funciones o expresiones lógicas (Lisp, Prolog).• Lenguajes orientados a objetos. El diseño de los programas se basa masen los datos y su estructura. La unidad de proceso es el objeto y en el se incluyenlos datos (variables) y las operaciones que actúan sobre ellos (Smalltalk, C++).• Lenguajes orientados al problema. Diseñados para problemas específicos,principalmente de gestión, suelen ser generadores de aplicaciones.• Lenguajes naturales. Están desarrollándose nuevos lenguajes con elprincipal objetivo de aproximar el diseño y construcción de programas al lenguajede las personas.

Page 15: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 15/25

Otra clasificación que se puede hacer es la de atendiendo al desarrollo de loslenguajes desde la aparición de las computadoras, que sigue un cierto paralelismocon las generaciones establecidas en la evolución de las mismas:• Primera generación. Lenguajes maquina y ensambladores.• Segunda generación. Primeros lenguajes de alto nivel imperativo(FROTRAN, COBOL).• Tercera generación. Lenguajes de alto nivel imperativo. Son los masutilizados y siguen vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA).• Cuarta generación. Orientados básicamente a las aplicaciones de gestión yal manejo de bases de datos (NATURAL, SQL).• Quinta generación. Orientados a la inteligencia artificial y al procesamientode los lenguajes naturales (LISP, PROLOG).Para la mejor compresión se harán unas definiciones:Programa: es un conjunto de instrucciones escritas en un lenguaje deprogramación que indican a la computadora la secuencia de pasos, para resolver un problema.Código fuente: esta creado en algún lenguaje de alto nivel, por lo que es entendido

100% por el ser humano. Este debe estar complementado por su documentación omanuales donde se indica el desarrollo lógico del mismo.Código objeto: es creado por los compiladores y nos sirve como enlace entre elprograma fuente y el ejecutable.Arquitectura básica

Una PC embebida posee una arquitectura semejante a la de un PC. Brevementeéstos son los elementos básicos:

Microprocesador Es el encargado de realizar las operaciones de cálculo principales del sistema.

Ejecuta código para realizar una determinada tarea y dirige el funcionamiento delos demás elementos que le rodean, a modo de director de una orquesta.Memoria

En ella se encuentra almacenado el código de los programas que el sistemapuede ejecutar así como los datos. Su característica principal es que debe tener un acceso de lectura y escritura lo más rápido posible para que elmicroprocesador no pierda tiempo en tareas que no son meramente de cálculo. Alser volátil el sistema requiere de un soporte donde se almacenen los datos inclusosin disponer de alimentación o energía.

CachéMemoria más rápida que la principal en la que se almacenan los datos y el

código accedido últimamente. Dado que el sistema realiza microtareas, muchasveces repetitivas, la caché hace ahorrar tiempo ya que no hará falta ir a memoriaprincipal si el dato o la instrucción ya se encuentra en la caché. Dado su altoprecio tiene un tamaño muy inferior (8–512 KB) con respecto a la principal (8–256MB). En el interior del chip del microprocesador se encuentra una pequeña caché(L1), pero normalmente se tiene una mayor en otro chip de la placa madre (L2).Disco duro

Page 16: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 16/25

En él la información no es volátil y además puede conseguir capacidades muyelevadas. A diferencia de la memoria que es de estado sólido éste suele ser magnético. Pero su excesivo tamaño a veces lo hace inviable para PC embebidas,con lo que se requieren soluciones como unidades de estado sólido. Otroproblema que presentan los dispositivos magnéticos, a la hora de integrarlos ensistemas embebidos, es que llevan partes mecánicas móviles, lo que los haceinviables para entornos donde estos estarán expuestos a ciertas condiciones devibración. Existen en el mercado varias soluciones de esta clase (DiskOnChip,CompactFlash, IDE Flash Drive, etc.) con capacidades suficientes para la mayoríade sistemas embebidos (desde 2 MB hasta más de 1 GB). El controlador del discoduro de PC estándar cumple con el estándar IDE y es un chip más de la placamadre.Disco flexible

Su función es la de almacenamiento, pero con discos con capacidades muchomás pequeñas y la ventaja de su portabilidad. Normalmente se encontraban encomputadora personal estándar pero no así en una PC embebida. Llevan variosaños en total desuso en PC comunes.

BIOS-ROMBIOS (Basic Input & Output System, sistema básico de entrada y salida) es

código que es necesario para inicializar la computadora y para poner encomunicación los distintos elementos de la placa madre. La ROM (Read OnlyMemory, memoria de sólo lectura no volátil) es un chip donde se encuentra elcódigo BIOS.CMOS-RAM

Es un chip de memoria de lectura y escritura alimentado con una pila donde sealmacena el tipo y ubicación de los dispositivos conectados a la placa madre(disco duro, puertos de entrada y salida, etc.). Además contiene un reloj enpermanente funcionamiento que ofrece al sistema la fecha y la hora.

ChipsetChip que se encarga de controlar las interrupciones dirigidas almicroprocesador, el acceso directo a memoria (DMA) y al bus ISA, además deofrecer temporizadores, etc. Es frecuente encontrar la CMOS-RAM y el reloj detiempo real en el interior del Chip Set.Entradas al sistema

pueden existir puertos para mouse, teclado, vídeo en formato digital,comunicaciones serie o paralelo, etc.Salidas del sistema

puertos de vídeo para monitor o televisión, pantallas de cristal líquido,altavoces, comunicaciones serie o paralelo, etc.Ranuras de expansión para tarjetas de tareas específicas

que pueden no venir incorporadas en la placa madre, como pueden ser máspuertos de comunicaciones, acceso a red de computadoras vía LAN (Local AreaNetwork, red de área local) o vía red telefónica: básica, RDSI (Red Digital deServicios Integrados), ADSL (Asynchronous Digital Subscriber Loop, Lazo DigitalAsíncrono del Abonado), Cable, etc. Un PC estándar suele tener muchas másranuras de expansión que una PC embebida. Las ranuras de expansión estánasociadas a distintos tipos de bus: VESA, ISA, PCI, NLX (ISA + PCI), etc.

Page 17: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 17/25

Hoy en día existen en el mercado fabricantes que integran un microprocesador ylos elementos controladores de los dispositivos fundamentales de entrada y salidaen un mismo chip, pensando en las necesidades de los sistemas embebidos (bajocoste, pequeño tamaño, entradas y salidas específicas, etc.). Su capacidad deproceso suele ser inferior a los procesadores de propósito general pero cumplencon su cometido ya que los sistemas donde se ubican no requieren tanta potencia.Los principales fabricantes son STMicroelectronics (familia de chips STPC), AMD(familia Geode), Motorola (familia ColdFire) e Intel.

En cuanto a los sistemas operativos necesarios para que un sistema basado enmicroprocesador pueda funcionar y ejecutar programas suelen ser específicospara los sistemas embebidos. Así nos encontramos con sistemas operativos debajos requisitos de memoria, posibilidad de ejecución de aplicaciones de tiemporeal, modulares (inclusión sólo de los elementos necesarios del sistema operativopara el sistema embebidos concreto), etc. Los más conocidos en la actualidad sonWindows CE, QNX y VxWorks de WindRiver.

DEBUG

Nota: "Bug" significa fallo, defecto en un programa; "debug" significa depurar (escrutar y eliminar fallos). La palabra ha quedado como verbo (depurar), de laque han derivado otras. Por ejemplo: "Debugger" (depurador). Por extensión,todos los programas y utilidades que sirven para escudriñar los datos y el código abajo nivel, se identifican genéricamente con esta denominación.§1 Sinopsis

DEBUG.EXE es un ejecutable que, hasta 2001, acompañó a todas las versionesde MS-DOS, a partir de la 2.0, y de Windows [1]. Es sin duda un programa

antiguo pero de enorme potencial didáctico para el principiante. En adelante nosreferiremos a él como debug simplemente.

Se trata de una utilidad interactiva de exploración de bajo nivel, pero que tambiénpuede utilizarse para ciertas funciones. Por ejemplo, como un tosco traductor desentencias ensamblador a lenguaje máquina. Como todos los programas de sutipo, debe utilizarse con cierto cuidado. En especial si utiliza el comando W [4] (sepuede borrar todo un disco duro con un simple comando erróneo). Para utilizarlobasta invocarlo desde MS-DOS o desde una ventana DOS de Windows. Aunqueen este último caso algunas de sus funcionalidades más interesantes nos estaránvetadas.

Nota: Es importante recordar que muchos usos de estas utilidades de bajo nivel,requieren un funcionamiento stand-alone. Es decir, fuera de un Sistema Operativomulti usuario, ya que éstos encapsulan y ocultan (virtualizan) muchos aspectos delhardware.Opciones

Una vez que el programa está en ejecución, el indicador ("prompt") es un guión "-",indicando que el "Shell" ( H1.7.1w3) espera recibir órdenes. Para salir basta

Page 18: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 18/25

pulsar una Q. Como muchos programas de su género, sus comandos empiezanpor una letra o combinación de ellas (pueden usarse indistintamente mayúsculas ominúsculas) y ciertos parámetros opcionales (no es imprescindible separar la letrade opción de los parámetros opcionales que siguen). La opción más sencilla es lainterrogación ?, cuyo resultado es una lista resumida de las opciones disponibles:

ensamblar A [dirección]comparar C dirección de intervalovolcar D [intervalo]escribir E dirección [lista de valores]llenar F lista de intervalosir G [=dirección] [direcciones]hex H valor1 valor2entrada I puertocargar L [dirección] [unidad] [primer_sector] [número]mover M dirección de intervalonombre N [nombre_ruta] [lista_argumentos]

salida O byte de puertoproceder P [=dirección] [número]salir Qregistrar R [registrar]buscar S lista de intervalosseguimiento T [=dirección] [valor]desensamblar U [intervalo]escribir W [dirección] [unidad] [primer_sector] [número]asignar memoria expandida XA [#páginas]desasignar memoria expandida XD [identificador]asignar páginas de memoria expandida XM [Lpágina] [Ppágina] [identificador]

mostrar estado de la memoria expandida XS

La mayoría de los comandos de debug ejecutan una acción y vuelven al indicador del shell, pero si es un comando largo, como puede ser mostrar un trozo grandede código, puede detenerse pulsando CTRL-Pausa o interrumpirse con CTRL-Cpara volver al shell.

Una característica poco conocida, es que debug puede aceptar entradas desde unfichero "Script", que puede ser un simple fichero de texto ASCII en el que cadacomando esté separado del anterior por un INTRO. Después del último, que debeser una "Q" para salir de debug, es conveniente dejar una línea en blancopulsando INTRO dos veces. Las líneas pueden contener comentarios. Cualquier cosa a partir del carácter punto y coma (;) hasta el final de la línea, será ignorado.

; esto es un comentario

D ; aquí se mostrará algo...

Page 19: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 19/25

Suponiendo que tengamos un fichero "Script" de nombre Ordenes.txt, puede ser utilizado como entrada para debug mediante un comando de redirección en lasiguiente forma:

DEBUG < Ordenes.txt

También puede conseguirse que el programa redireccione la salida hacia unfichero que puede ser inspeccionado más tarde. Aunque tiene la dificultad detener que trabajar "a ciegas", puede ser de utilidad en determinadascircunstancias. Por ejemplo, cuando se desea un volcado de determinadas zonasde la memoria. En el caso anterior podría obtenerse un fichero Result.txt con elsiguiente comando:

DEBUG < Ordenes.txt > Result.txt

REPRESENTACIÓN DE DATOS NUMÉRICOS EN EL ORDENADOR. COMAFIJA Y COMA FLOTANTE:

Todos los datos el ordenador los representa en sistemas basados en elsistema binario, ya que sólo utiliza dos estados estables.Los números reales se clasifican en tres tipos:

  Enteros.- Positivos y negativos.  Racionales.- Se pueden expresar como cociente de dos enteros.  Irracionales.- Resto de números que no pueden expresarse como cociente de

dos enteros.Cualquier conjunto de números reales es infinito, por lo que, dadas las limitacionesdel espacio material de representación de las computadoras, no es posiblerepresentar a todos. Por el mismo motivo, serán irrepresentables los númerosirracionales, que precisan de un número infinito de bits.

Generalmente, en una computadora se asigna un número fijo de n bits pararepresentar un número, siendo n el tamaño de la palabra, u otro tamañoprivilegiado. Esta limitación define el rango de representación, o sea, los límites.Consecuentemente, los números racionales se expresarán con un número finitode cifras fraccionarias, lo que dará lugar a una cierta precisión en larepresentación.Dada esta limitación de bits, existen diversos métodos de representar los datosnuméricos que optimizan la utilización de estos bits para determinadasaplicaciones.Vamos a estudiar los llamados métodos posicionales, en los cuales los númerosse representan en dígitos sucesivos, teniendo cada dígito un peso o valor quedepende del lugar donde se encuentra. Los pesos son potencias sucesivas de unabase.El valor de un número X formado por los dígitos: xn...x3x2x1x0.x-1x-2...x-mtomando como pesos las potencias sucesivas de una base r será:

X = xnrn + ... + x3r3 + x2r2 + x1r1 + x0r0 + x-1r-1 + x-2r-2 + ...+ x-mr-m =Por ejemplo, el número 913.4 en base 10 (r = 10), se puede descomponer:913.4 = 9 x 102 + 1 x 101 + 3 x 100 + 4 x 10-1

Page 20: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 20/25

El número binario 1011, se descompondrá:1011 = 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 11(10Los dígitos xi son siempre positivos y menores que la base (0 " xi < r ). En elsistema decimal, con r = 10; 0 " xi < 10 y en el sistema binario con r = 2; 0 " xi < 2.

Si dos bases r1 y r2 cumplen la condición r1 =, entonces:(xn... x2 x1x0.x-1x-2...x-m)(r1 = (ak...a2a1a0.a-1a-2...a-v)(r2 siendo: aj = (xpj+p-1xpj+p-2... xpj+1 xpj).De esta propiedad se deduce que los dígitos de la base r1 se obtienen agrupandolos dígitos de la base r2 en grupos de longitud p, empezando a partir del puntodecimal. Cada una de estas cadenas de la base menor es un número de la basemayor. Esta propiedad se puede aplicar para pasar un número binario a octal,agrupando los bits de 3 en 3, o a hexadecimal, agrupando los bits de 4 en 4.Por ejemplo para pasar a hexadecimal el número 101101110.1011(2 agrupamoslas cifras en los siguientes grupos: 1 0110 1110 1011 con lo que obtendríamos16E.B(16

A veces, un número racional tiene una representación exacta en una base,mientras que en otra es de tipo periódica; por ejemplo: (1/5)(10 = 0.2(10 =0.0011001100110011...(2Al tener que encajar los números en un tamaño fijo de n bits, se trunca o pierde elperiodo y el ordenador produce resultados con un cierto error.A continuación se estudian los métodos más corrientes de representación deenteros y racionales en el sistema posicional, que pueden dividirse en lossiguientes grupos:

  Coma fija sin signo. Binario puro sin signo. Enteros Positivos.  Coma fija con signo. Binario puro con signo. Enteros.  Coma fija con complemento restringido a la base. Complemento a uno.

Enteros.  Coma fija con complemento a la base. Complemento a dos. Enteros.  Coma fija BCD. Enteros.  Coma flotante. Racionales.

En todos los formatos supondremos que estamos trabajando en base 2 yque el número de bits que tiene una palabra (es decir el número de bits conlos que opera el ordenador) es n.Coma fija sin signo. Binario puro sin signo.Es el formato más simple para representar números enteros positivos y respondea la siguiente forma:Si las cifras del número entero X son xn-1xn-2...x2x1x0,

El valor de X es: X = 2n-1xn-1 + 2n-2xn-2 + ...+ 22x2 + 21x1 + 20x0 =El rango de valores que admite un número X expresado en este formato es: 0 " X< 2nModificando el bit menos significativo, el número variará en una unidad, y, por tanto, la precisión es de una unidad .Este formato tiene el inconveniente de que, al realizar sumas, se puede perder elbit más significativo del resultado cuando no cabe en el tamaño de la palabra

Page 21: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 21/25

(desbordamiento). El ordenador puede disponer de un mecanismo para avisar cuando se produce esta eventualidad.Coma fija con signo. Binario puro con signo.Es igual al formato anterior, pero reservando un bit para indicar el signo. Este bit,si es un 0, define al número como positivo y si es un 1, como negativo.El mayor número, en valor absoluto, que se puede formar teniendo en cuenta queuno de los n bits es el de signo, es 2n-1-1. Por tanto el rango es: -(2n-1-1) " X "(2n-1-1).

Representación de números en Coma Flotante: La coma flotante aparece para larepresentación de números reales con un rango de representación mayor que elque nos ofrece la representación en coma fija, permitiendo el tratamiento denúmeros muy grandes y muy pequeños.

Se basa en la representación en notación científica comúnmente utilizada enmatemáticas, en la que una cantidad se representa de la forma:

No=mbc

Donde: No = Número representado

m = Mantisa (fracción con signo)

b = Base de exponenciación o raíz

c = Exponente o característica (número entero con signo)

Un número en esta notación tiene infinitas representaciones, de las que se toma

como representación del mismo la denominada normalizada, que es aquella en laque la mantisa no tiene parte entera y la primera cifra o dígito a la derecha de lacoma es distinta de 0, salvo en la representación del número 0.

Por ejemplo, representación de 123,4 con base 10.

123,4 = 123,4 x 100 = 12,34 x 101 = 1,234 x 102 = 0,1234 x 103

representación normalizada

Ejemplo, utilizando base 2:

123, = 123,4 x 20 = 61,7 x 21 = 30,85 x 22 = 15,425 x 23 = 7,7125 x 24 = 3,85625x 25 = 1,928125 x 26 = 0,9640625 x 27

representación normalizada

Cada fabricante de ordenadores define para la arquitectura de sus máquinas unformato de coma flotante para lo que se denomina simple precisión, donde el

Page 22: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 22/25

número de bits corresponde a una palabra, y otro para la doble precisión, dondese utiliza una doble palabra. En general, se suelen seguir las siguientes reglas:

El exponente se representa en las notaciones MS o exceso a 2N-1, siendo unnúmero entero con signo.

La mantisa es un número real normalizado (sin parte entera) con la coma implícitaa la izquierda representada en MS, C-1 o C-2. El signo suele estar situado en el bitde más a la izquierda.

La base de exponenciación también denominada raíz es una potencia de 2determinada por el fabricante (2, 8 o 16).

Existen muchos formatos de representación en coma flotante, variando la longitudde la palabra del computador, la base de exponenciación, el número de bitsreservados para la mantisa y para el exponente, el sistema de representar lamantisa y el exponente, etc. La coma flotante para cada caso viene determinada

por el fabricante, siendo las definiciones más comunes:

- Para simple precisión (en computadores de 32 bits de palabra):

SIGNO

EXPONENTE

MANTISA

31 30 23 22 0

1 bit 8 bits 23 bits

signo mantisa

- Para doble precisión (doble palabra de 64 bits):

SIGNO

EXPONENTE

MANTISA

63 62 52 51 0

1 bit 11 bits 52 bits

Page 23: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 23/25

signo mantisa

El rango de representación en la coma flotante tiene la siguiente forma:

mNN MNN 0 mNP MNP

mNN mínimo número negativo que podemos representar y que se correspondecon: mNN = -máxima mantisa x base máximo exponente.

MNN máximo número negativo que se corresponde con: MNN = -mínimamantisa x base -máximo exponente.

mNP mínimo número positivo, que se corresponde con: mNP = mínima mantisax base -máximo exponente.

MNP máximo número positivo que se corresponde con: MNP = máxima mantisa

x base máximo exponente.

Es estas representaciones además de existir huecos (números no representables)entre dos cualesquiera, existen cuatro zonas en las que no se pueden representar los números existentes en ellas. Estas zonas son:

Desbordamiento positivo: Números mayores que MNP.

Subdesbordamiento positivo: Números entre 0 y mNP.

Subdesbordamiento negativo: Números entre MNN y 0.

Desbordamiento negativo: Números menores que mNN.

Por ejemplo, un computador de 32 bits utiliza el siguiente formato para registrar números en coma flotante con simple precisión:

Los bits del 23 al 30 para el exponenete, que se representa en exceso a 128

Los bits del 0 al 22 para la mantisa normalizada, que se representa en C-1 conel punto a las izquierda.

El bit 31 para el signo de la mantisa.

Base de exponenciación 2.

El 0 se representa con todos los bits a 0.

Formatos Estándar: Los formatos de coma flotante normalizados paracomputadores de 32 bits según el estándar IEEE P754 son:

Page 24: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 24/25

Para simple precisión:

SIGNO 

EXPONENTE 

MANTISA

31 30 23 22 0

1 bit 8 bits 23bits

signo mantisa exceso fracción en binario puro

Para doble precisión (doble palabra de 64 bits):

SIGNO 

EXPONENTE 

MANTISA

63 62 52 51 0

1 bit 11 bits 52 bits

signo mantisa exceso fracción en binario puro

  SISTEMAS DE CODIFICACIÓN: Información, en su sentido más amplio, sepuede considerar como un conjunto de datos con significado propio constituido por cadenas de caracteres (cifras, letras y caracteres especiales) que para ser tratados de forma automática por medio de un computador necesitan ser físicamente transformados a un código manejable por ellos.

La información que necesita ser tratada por un ordenador se presenta en undeterminado sistema de representación que utiliza un alfabeto(entrada) y por medio de un sistema de codificación la transformaremos en información codificadaque utiliza su correspondiente alfabeto de salida y que será directamentereconocible y tratable por el equipo.

Todo sistema de codificación lleva consigo un código que se define como laley de correspondencia biunivoca entre los datos que se van a representar y sucodificación.

Page 25: Componentes Del Microprocesador

5/13/2018 Componentes Del Microprocesador - slidepdf.com

http://slidepdf.com/reader/full/componentes-del-microprocesador 25/25

En los computadores se utilizan sistemas de codificación binarios numéricosde los que ya hemos visto algunos (BCD natural, por ejemplo), y alfanuméricos.

- Código Alfanuméricos: Son códigos utilizados por los ordenadores paraguardar y transmitir información, así como para enviar órdenes entre dispositivos.En ellos podemos definir las siguientes características:

Conjunto de caracteres:

Las 10 cifras del sistema decimal (0 al 9)

Las letras del alfabeto (mayúsculas y minúsculas)

Los signos de puntuación (, . : ; + * /).

Los caracteres de control (órdenes entre dispositivos)

Longitud de un código binario. Es el número de bits que utiliza paracodificar un carácter.

Número máximo del conjunto de caracteres.

En estos códigos, en general, se representa cada carácter por medio de 8bits, con lo cual, todo tipo de información puede ser utilizada internamenteformando cadenas de bytes sucesivos que representan cadenas de caracteres.

Los primeros códigos utilizados fueron los de 6 bits que permitían larepresentación de 64 caracteres. Estos eran:

26 mayúsculas

10 numéricos

28 especiales

Más tarde se pasó a los 7 bits, entro los que podemos citar el código ASCII(American Estándar Code for Information Interchange). En la actualidad se utilizanexclusivamente códigos de 8 bits, entre los que podemos citar el código EBCDIC(Extended Binary Coded Decimal Interchange Code) y el ASCII extendido