Sei sulla pagina 1di 32

MICROCONTROLADORES

UNIDAD IV
02/01/2012 INSTITUTO TECNOLOGICO DE LAZARO CARDENAS Soto Prez Ezequiel

Integrantes Soto Prez Ezequiel Hctor Ral Manuel

Pgina 0

INDICE
No se encontraron elementos de tabla de contenido.

Unidad IV

Pgina 1

MICROCONTROLADORES 4.1 - ARQUITECTURA Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clsica de von Neumann, en el momento presente se impone la arquitectura Harvard. La arquitectura de von Neumann se caracteriza por disponer de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a travs de un sistema de buses nico (direcciones, datos y control). La arquitectura Harvard dispone de dos memorias independientes una, que contiene slo instrucciones y otra, slo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultneamente en ambas memorias.

La arquitectura Harvard dispone de dos memorias independientes para datos y para instrucciones, permitiendo accesos simultneos. Los microcontroladores PIC responden a la arquitectura Harvard. 4.1.1 - TERMINALES Dispositivo del hardware electrnico o electromecnico que se usa para introducir o mostrar datos de una computadora. Su funcin es mostrar y recibir datos con capacidad significativa del procesador de datos, puede ser llamado Terminal inteligente o cliente ligero . Una computadora puede ejecutar software que envi la funcin de un terminal en ocasiones permitiendo el uso simultaneo de programas locales y acceso a un servidor. El microcontrolador nace cuando las tcnicas de integracin han progresado lo bastante para permitir su fabricacin; pero tambin porque, muy a menudo, tanto en las aplicaciones domsticas como industriales, se tiene la necesidad de sistemas inteligentes o, al menos programables. Un ejemplo muy simple es el programador de una lavadora, el cual debe controlar una cierta cantidad de elementos con ciclos y cadencias perfectamente definidas, pero variables en funcin del programa seleccionado. Otras aplicaciones ms tcnicas tienen, igualmente, necesidad de sistemas programables. Por ejemplo, una fotocopiadora debe controlar permanentemente un gran nmero de elementos y de funciones. Gracias a la llegada de los

Unidad IV

Pgina 2

microcontroladores, tarjetas que contenan varias decenas de circuitos lgicos clsicos se han visto reducidas a dos o tres microcontroladores.

En cualquiera de los dos modos, las terminales del microprocesador se pueden agrupar de la siguiente forma: y y y y y Alimentacin Reloj Control y estado Direcciones Datos

Los Microprocesadores cuentan con tres terminales de alimentacin: tierra (GND) en las terminales 1 y 20 y Vcc=5V en la terminal 40. En la terminal 19 se conecta la seal de reloj, la cual debe provenir de un generador de reloj externo al microprocesador. 4.1.2 CPU

Es el elemento ms importante del microcontrolador y determina sus principales caractersticas, tanto a nivel hardware como software. Se encarga de direccionar la memoria de instrucciones, recibir el cdigo OP de la instruccin en curso, su decodificacin y la ejecucin de la operacin que implica la instruccin, as como la bsqueda de los operandos y el almacenamiento del resultado. Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales. CISC: Un gran nmero de procesadores usados en los microcontroladores estn basados en la filosofa CISC (Computadores de Juego de Instrucciones Complejo). Disponen de ms de 80

Unidad IV

Pgina 3

instrucciones mquina en su repertorio, algunas de las cuales son muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecucin. Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas que actan como macros. RISC: Tanto la industria de los computadores comerciales como la de los microcontroladores estn decantndose hacia la filosofa RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones mquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan en un ciclo. La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador. SISC: En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, adems de ser reducido, es especfico , o sea, las instrucciones se adaptan a las necesidades de la aplicacin prevista. Esta filosofa se ha bautizado con el nombre de SISC (Computadores de Juego de Instrucciones Especfico).

4.1.3 ESPACIO DE MEMORIA

El tipo de memoria utilizada en microcontroladores, podr ser grabada o borrada elctricamente a nuestro antojo desde el programador. La memoria tipo Flash tiene la caracterstica de poderse borrar en bloques completos y no podrn borrarse posiciones concretas o especficas. Este tipo de memoria no es voltil, es decir, no pierde los datos si se interrumpe la energa. La memoria para almacenar el programa nos resultar perfecta para realizar pruebas y experimentos, adems de para la programacin "on-board" o "in-circuit", esto es, nos permite la programacin del dispositivo o actualizacin del programa sin necesidad de retirarlo del circuito donde va montado.

Unidad IV

Pgina 4

La memoria del programa comienza en la posicin 0000h y termina en la posicin 03FFh. Esto es 1Kbyte, es decir, 1024 bytes (210). En la figura tambin se muestra el PC (Contador de Programa o Program Counter). Que apunta a la direccin de memoria de la instruccin en curso y permite que el programa avance cuando se incrementa. Tambin se muestra la pila o stack, de 8 niveles (Nivel Pila 1 a Nivel Pila 8). Se utiliza cuando ejecutamos un subproceso o subrutina, es decir, un conjunto de instrucciones que hemos aislado de las dems para simplificar. En este caso el contador de programa (PC) dejar de incrementarse y apuntar a la posicin de memoria de programa donde empieza la subrutina; en el primer nivel de la pila se almacenar esta llamada, hasta que se acaben de ejecutar las instrucciones que contiene, momento en el cual se seguir con las instrucciones desde donde haba sido llamada. Por eso es necesario saber dnde se qued el programa almacenndose la direccin en la pila. Podemos hacer hasta 8 llamadas a subrutinas una dentro de otra, como si de muecas rusas se tratase. A esto se le llaman subrutinas anidadas. El vector de reset se encuentra en la posicin 0000h y el de interrupcin en la 0004h. Debido a que el PIC16F84A tiene un contador de programa de 13 bit puede direccionar un espacio de memoria de 8K x 14, sin embargo slo el primer 1K x 14 (0000h-03FFh) est implementado fsicamente.

Unidad IV

Pgina 5

Tener acceso a una localizacin por encima de la direccin fsicamente implementada producir un solapamiento. Por ejemplo, para las localizaciones 20h, 420h , 820h, C20h, 1020h, 1420h, 1820h, y 1C20h, la direccin real ser la misma, as 20h es 32d y 420h es 1056d, 1056d menos 1024d es igual a 32d, es decir, se direcciona realmente la localizacin 20h, en binario 20h es 100000b y 420h es 10000100000b, 1K se direcciona con 10 bits (210 = 1024) de manera que de 10000100000b si slo se tienen en cuenta 10 bits queda 0000100000b que es 20h. Con esto debe quedar claro que despus de 3FF, al incrementarse el PC y pasar a 400, se direccionar de nuevo la posicin 0h Existen varias versiones de memoria de programa para los PIC16f84A: y Versin Flash. Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar. A diferencia de la memoria de tipo ROM, la memoria FLASH es programable en el circuito. Es ms rpida y de mayor densidad que la EEPROM. Esta versin es idnea para la enseanza y la Ingeniera de diseo. Versin OTP. ("One Time Programmable") "Programable una sola vez". Slo se puede grabar una vez por el usuario sin la posibilidad de borrar lo que se graba. Resulta mucho ms econmica en la implementacin de prototipos y pequeas series. Versin QTP. Es el propio fabricante el que se encarga de grabar el cdigo en todos los chips que configuran pedidos medianos y grandes. Versin SQTP. El fabricante solo graba unas pocas posiciones de cdigo para labores de identificacin, nmero de serie, palabra clave, checksum, etc.

Las memorias FLASH han sustituido a las EEPROM y son muy tiles al permitir que los microcontroladores que las incorporan puedan ser reprogramados "en circuito", es decir, sin tener que sacar el circuito integrado de la tarjeta. As, un dispositivo con este tipo de memoria incorporado al control del motor de un automvil permite que pueda modificarse el programa durante la rutina de mantenimiento peridico, compensando los desgastes y otros factores tales como la compresin, la instalacin de nuevas piezas, etc. La reprogramacin del microcontrolador puede convertirse en una labor rutinaria dentro de la puesta a punto.

4.1.4 ENTRADA/SALIDA

La principal utilidad de las patitas que posee la cpsula que contiene un microcontrolador es soportar las lneas de E/S que comunican al microcontrolador con los perifricos exteriores. Segn los controladores de perifricos que posea cada modelo de microcontrolador, las lneas de E/S se destinan a proporcionar el soporte a las seales de entrada, salida y control.

Unidad IV

Pgina 6

Seal de Corriente de Entrada: Considerada como estmulo aplicado a un sistema desde una fuente de energa externa con el propsito de que el sistema produzca una respuesta especfica. Seal de Corriente de Salida: Respuesta obtenida por el sistema que puede o no relacionarse con la respuesta que implicaba la entrada

4.1.5 CARACTERSTICAS ESPECIALES

Cada fabricante oferta numerosas versiones de una arquitectura bsica del microcontrolador. En algunas ampla las capacidades de las memorias, en otras incorpora nuevos recursos, en otras reduce las prestaciones al mnimo para aplicaciones muy simples, etc. La labor del diseador es encontrar el modelo mnimo que satisfaga todos los requerimientos de su aplicacin. De esta forma, minimizar el coste, el hardware y el software. Los principales recursos especficos que incorporan los microcontroladores son: y y y y y y y y y y Temporizadores o "Timers". Perro guardin o "Watchdog". Proteccin ante fallo de alimentacin o "Brownout". Estado de reposo o de bajo consumo. Conversor A/D. Conversor D/A. Comparador analgico. Modulador de anchura de impulsos o PWM. Puertas de E/S digitales. Puertas de comunicacin.

Temporizadores o Timers : Se emplean para controlar periodos de tiempo y para llevan la cuenta de acontecimientos que ocurren en el exterior.

Unidad IV

Pgina 7

Para la medida de tiempos se carga un registro con el valor adecuado y a continuacin dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj o algn mltiplo hasta que se desborde y llegue a 0, momento en el que se produce un aviso. Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en alguna de las patitas del microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dichos impulsos. Perro guardin o Watchdog : Cuando el computador personal se bloquea por un fallo del software u otra causa, se pulsa el botn del reset y se reinicializa el sistema. Pero un microcontrolador funciona sin el control de un supervisor y de forma continuada las 24 horas del da. El Perro guardin consiste en un temporizador que, cuando se desborda y pasa por 0, provoca un reset automticamente en el sistema. Se debe disear el programa de trabajo que controla la tarea de forma que refresque o inicialice al Perro guardin antes de que provoque el reset. Si falla el programa o se bloquea, no se refrescar al Perro guardin y, al completar su temporizacin, "ladrar y ladrar" hasta provocar el reset. Brownnout: Se trata de un circuito que resetea al microcontrolador cuando el voltaje de alimentacin (VDD) es inferior a un voltaje mnimo ("brownout"). Mientras el voltaje de alimentacin sea inferior al de brownout el dispositivo se mantiene reseteado, comenzando a funcionar normalmente cuando sobrepasa dicho valor. Estado de reposo o de bajo consumo: Son abundantes las situaciones reales de trabajo en que el microcontrolador debe esperar, sin hacer nada, a que se produzca algn acontecimiento externo que le ponga de nuevo en funcionamiento. Para ahorrar energa, (factor clave en los aparatos porttiles), los microcontroladores disponen de una instruccin especial (SLEEP en los PIC), que les pasa al estado de reposo o de bajo consumo, en el cual los requerimientos de potencia son mnimos. En dicho estado se detiene el reloj principal y se "congelan" sus circuitos asociados, quedando sumido en un profundo sueo al microcontrolador. Conversor A/D: Los microcontroladores que incorporan un Conversor A/D (Analgico/Digital) pueden procesar seales analgicas, tan abundantes en las aplicaciones. Suelen disponer de un multiplexor que permite aplicar a la entrada del CAD diversas seales analgicas desde las patitas del circuito integrado. Conversor D/A: Transforma los datos digitales obtenidos del procesamiento del computador en su correspondiente seal analgica que saca al exterior por una de las patitas de la cpsula. Existen muchos efectores que trabajan con seales analgicas. Comparador Analgico: Algunos modelos de microcontroladores disponen internamente de un Amplificador Operacional que acta como comparador entre una seal fija de referencia y otra variable que se aplica por una de las patitas de la cpsula. La salida del comparador proporciona un nivel lgico 1 0 segn una seal sea mayor o menor que la otra. Tambin hay modelos de microcontroladores con un mdulo de tensin de referencia que proporciona diversas tensiones de referencia que se pueden aplicar en los comparadores.

Unidad IV

Pgina 8

Modulador de anchura de impulsos: Son circuitos que proporcionan en su salida impulsos de anchura variable, que se ofrecen al exterior a travs de las patitas del encapsulado. Puertos de E/S digitales: Todos los microcontroladores destinan algunas de sus patitas a soportar lneas de E/S digitales. Por lo general, estas lneas se agrupan de ocho en ocho formando Puertos. Las lneas digitales de los Puertos pueden configurarse como Entrada o como Salida cargando un 1 un 0 en el bit correspondiente de un registro destinado a su configuracin. Puertos de comunicacin: Con objeto de dotar al microcontrolador de la posibilidad de comunicarse con otros dispositivos externos, otros buses de microprocesadores, buses de sistemas, buses de redes y poder adaptarlos con otros elementos bajo otras normas y protocolos. Algunos modelos disponen de recursos que permiten directamente esta tarea, entre los que destacan: y y y UART: Adaptador de comunicacin serie asncrona. USART: Adaptador de comunicacin serie sncrona y asncrona. Puerta paralela esclava para poder conectarse con los buses de otros microprocesadores. USB (Universal Serial Bus): Es un moderno bus serie para los PC.

4.2 PROGRAMACIN

FALTA TEMAS
4.2.3 Modos de direccionamiento
Se les llama modos de direccionamiento a las distintas formas de combinar los operandos segn el acceso que se hace a memoria. Dicho de otra manera, un modo de direccionamiento ser una forma de parmetro para las instrucciones. Una instruccin que lleve un parmetro, por lo tanto, usar un modo de direccionamiento, que depender de cmo direccionar (accesar) al parmetro; una instruccin de dos parmetros, combinar dos modos de direccionamiento. Direccionamiento implcito

Unidad IV

Pgina 9

Depende solamente de la instruccin, es decir, la instruccin no lleva parmetros. Particularmente en instrucciones que no accedan memoria, o bien que tienen una forma especfica de acezarla. Ejemplos: PUSHF, POPF, NOP Modo registro Usa solamente registros como operadores. Es el ms rpido, pues minimiza los recursos necesarios (toda la informacin fluye dentro del EU del CPU) Ejemplo: MOV AX, BX Modo inmediato Tiene dos operandos: un registro y una constante que se usa por su valor. El valor constante no se tiene que buscar en memoria, pues ya se obtuvo al hacer el fetch de la instruccin. Por tanto, es rpido aunque no tanto como el modo registro; requiere ir al BIU por el dato. Ejemplo: MOV AH, 9 Modo directo Uno de los operandos involucra una localidad especfica de memoria. El valor constante se tiene que buscar en memoria, en la localidad especificada. Es ms lento que los anteriores, pero es el ms rpido para ir a memoria, pues ya sabe la localidad, la toma de la instruccin y no la tiene que calcular. Ejemplo:

Unidad IV

Pgina 10

MOV AH, [0000] MOV AH, Variable Estas dos instrucciones seran equivalentes, si Variable est, por ejemplo, en la localidad 0 de memoria. En la forma primitiva del lenguaje de mquina, como el primer ejemplo, se tiene que indicar mover a AH el contenido (indicado por los corchetes), de la localidad 0 de los datos (lo de los datos es implcito). El lenguaje Ensamblador, sin embargo, nos permite la abstraccin del uso de variables, pero como una variable tiene una localidad determinada en memoria, para el procesador funciona igual. La nica diferencia consiste en que el programador no tiene que preocuparse por la direccin, ese manejo lo hace automticamente el Ensamblador. Modo indirecto Se usan los registros SI, DI como apuntadores. El operando indica una localidad de memoria, cuya direccin (slo la parte desplazamiento) est en SI o DI. Es ms lento que los anteriores, pues tiene que calcular la localidad Ejemplos: MOV AL, [SI] MOV BL, ES:[SI] ; Aqu se dice que se usa un segment override , donde se indica que en vez de usar el segmento de datos por defecto, se use en su lugar como referencia el segmento extra. Modo indexado de base Formato: [ BX o BP + SI o DI (opcionales) + constante (opcional) ]

Unidad IV

Pgina 11

BX o BP indica una localidad base de la memoria A partir de BX o BP, se puede tener un desplazamiento variable y uno constante La diferencia es el segmento sobre el que trabajan por defecto: BX por defecto en el segmento de datos BP por defecto en el segmento de pila. Ejemplos: MOV AX, [BX] MOV DX, [BX+2] MOV CX, [BX+DI] MOV DL, [BX+SI+3]

4.2.4 EL LENGUAJE ENSAMBLADOR.


1.- UN EJEMPLO CLASICO. En esta parte se describe lo que es el lenguaje ensamblador, no al ensamblador o al proceso de ensamblado. Aqu se tratar todo lo concerniente con el lenguaje ensamblador y el conjunto de directivas del Microsoft Macro Assembler v4.0. Si bien esto puede resultar bastante extenso y complejo, aqu slo se describirn las instrucciones y directivas bsicas. Para comenzar veamos un pequeo ejemplo que ilustra el formato del programa fuente. Este ejemplo est completamente desarrollado en lenguaje ensamblador que usa servicios o funciones de MS-DOS (system calls) para imprimir el mensaje Hola mundo!! en pantalla. ; HOLA.ASM ; Programa clsico de ejemplo. Despliega una leyenda en pantalla. STACK SEGMENT STACK DW 64 DUP (?) ; Segmento de pila ; Define espacio en la pila

Unidad IV

Pgina 12

STACK DATA SALUDO DATA CODE

ENDS SEGMENT ; Segmento de datos

DB "Hola mundo!!",13,10,"$" ; Cadena ENDS SEGMENT ; Segmento de Codigo

ASSUME CS:CODE, DS:DATA, SS:STACK INICIO: MOV AX,DATA MOV DS,AX MOV DX,OFFSET SALUDO MOV AH,09H INT 21H ; Punto de entrada al programa ; Pone direccion en AX ; Pone la direccion en los registros ; Obtiene direccion del mensaje ; Funcion: Visualizar cadena ; Servicio: Funciones alto nivel DOS ; Funcion: Terminar

MOV AH,4CH INT CODE 21H

ENDS ; Marca fin y define INICIO

END INICIO

La descripcin del programa es como sigue: 1.- Las declaraciones SEGMENT y ENDS definen los segmentos a usar. 2.- La variable SALUDO en el segmento DATA, define la cadena a ser desplegada. El signo del dolar al final de la cadena (denominado centinela) es requerido por la funcin de visualizacin de la cadena de MS-DOS. La cadena incluye los cdigos para carriage-return y line-feed. 3.- La etiqueta START en el segmento de cdigo marca el inicio de las instrucciones del programa. 4.- La declaracin DW en el segmento de pila define el espacio para ser usado por el stack del programa. 5.- La declaracin ASSUME indica que registros de segmento se asociarn con las etiquetas declaradas en las definiciones de segmentos.

Unidad IV

Pgina 13

6.- Las primeras dos instrucciones cargan la direccin del segmento de datos en el registro DS. Estas instrucciones no son necesarias para los segmentos de cdigo y stack puesto que la direccin del segmento de cdigo siempre es cargado en el registro CS y la direccin de la declaracin del stack segment es automticamente cargada en el registro SS. 7.- Las ltimas dos instrucciones del segmento CODE usa la funcin 4CH de MS-DOS para regresar el control al sistema operativo. Existen muchas otras formas de hacer esto, pero sta es la ms recomendada. 8.- La directiva END indica el final del cdigo fuente y especifica a START como punto de arranque. 2.- EL FORMATO DEL ENSAMBLADOR. De acuerdo a las convenciones y notacin seguidas en el manual del Microsoft Macro Assembler, y que usaremos nosotros tambin, tenemos: Notacin Negritas Itlicas ?A ,,, letra chica Significado Comandos, smbolos y parmetros a ser usados como se muestra. Todo aquello que debe ser reemplazado por el usuario Indican un parmetro opcional Denota un parmetros que puede repetirse varias veces Separa dos valores mutuamente excluyentes Usada para ejemplos. Cdigo y lo que aparece en pantalla.

Cada programa en lenguaje ensamblador es creado a partir de un archivo fuente de cdigo ensamblador. Estos son archivos de texto que contienen todas las declaraciones de datos e instrucciones que componen al programa y que se agrupan en reas o secciones, cada una con un propsito especial. Las sentencias en ensamblador tienen la siguiente sintaxis: [nombre] mnemnico [operandos] [;comentarios] En cuanto a la estructura, todos los archivos fuente tienen la misma forma: cero o ms segmentos de programa seguidos por una directiva END. No hay una regla sobre la estructura u orden que deben seguir las diversas secciones o reas en la creacin del cdigo fuente de un programa en ensamblador. Sin embargo la mayora de los programas tiene un segmento de datos, un segmento de cdigo y un segmento de stack, los cuales pueden ser puestos en cualquier lugar. Para la definicin de datos y declaracin de instrucciones y operandos el MASM reconoce el conjunto de caracteres formado por letras maysculas, letras minsculas (excluyendo caracteres acentuados, , ), nmeros, y los smbolos: ? @ _ $ : . [ ] ( ) { } + - / * & % ! ~ \ = # ; , " La declaracin de nmeros requiere tener presente ciertas consideraciones. En el MASM un entero se refiere a un nmero entero: combinacin de dgitos hexadecimales, octales, decimales

Unidad IV

Pgina 14

o binarios, ms una raz opcional. La raz se especifica con B, Q u O, D, o H. El ensamblador usar siempre la raz decimal por defecto, si se omite la especificacin de la raz (la cual se puede cambiar con la directiva .RADIX). As nosotros podemos especificar un entero de la siguiente manera: digitos, digitosB, digitosQ o digitosO, digitosD, digitosH. Si una D o B aparecen al final de un nmero, stas siempre se considerarn un especificador de raz, e.g. 11B ser tratado como 112 (210), mientras que si se trata del nmero 11B16 debe introducirse como 11Bh. Para los nmeros reales tenemos al designador R, que slo puede ser usado con nmeros hexadecimales de 8, 16, 20 digitos de la forma digitosR. Tambin puede usarse una de las directivas DD, DQ, y DT con el formato [+-]digitos.digitos[E[+-]digitos]. Las cadenas de carcter y constantes alfanumricas son formadas como caracteres o "caracteres" . Para referencias simblicas se utilizan cadenas especiales denominadas nombres. Los nombres son cadenas de caracteres que no se entrecomillan y que deben comenzar con una A..Z a..z _ $ @ los caracteres restantes pueden ser cualquiera de los permitidos, y solamente los 31 primeros caracteres son reconocidos. 3.- DIRECTIVAS. El MASM posee un conjunto de instrucciones que no pertenecen al lenguaje ensamblador propiamente sino que son instrucciones que nicamente son reconocidas por el ensamblador y que han sido agregadas para facilitar la tarea de ensablamblado, tanto para el programador como para el programa que lo lleva a cabo. Dichas instrucciones son denominadas directivas. En general, las directivas son usadas para especificar la organizacin de memoria, realizar ensamblado condicional, definir macros, entrada, salida, control de archivos, listados, cross-reference, direcciones e informacin acerca de la estructura de un programa y las declaraciones de datos. El apndice D proporciona una lista completa de estas directivas. Conjunto de instrucciones: Dentro de las directivas ms importantes, tenemos las que establecen el conjunto de instrucciones a soportar para un microprocesador en especial: .8086(default) .8087(default) .186 .286c .289p .287 Activa las instrucciones para el 8086 y 8088 e inhibe las del 80186 y 80286. Activa instrucciones para el 8087 y desactiva las del 80287. Activa las instrucciones del 80186. Activa instrucciones del 80286 en modo no protegido. Activa instrucciones del 80286 en modo protegido y no protegido. Activa las instrucciones para el 80287

Declaracin de segmentos: En lo que respecta a la estructura del programa tenemos las directivas SEGMENT y ENDS que marcan el inicio y final de un segmento del programa. Un segmento de programa es una coleccin de instrucciones y/o datos cuyas direcciones son todas relativas para el mismo registro de segmento. Su sintaxis es: nombre SEGMENT [alineacin] [combinacin] [clase]

Unidad IV

Pgina 15

nombre ENDS El nombre del segmento es dado por nombre, y debe ser nico. Segmentos con el mismo nombre se tratan como un mismo segmento. Las opciones alineacin, combinacin, y clase proporcionan informacin al LINK sobre cmo ajustar los segmentos. Para alineacin tenemos los siguientes valores: byte (usa cualquier byte de direccin), word (usa cualquier palabra de direccin, 2 bytes/word), para (usa direcciones de parrfos, 16 bytes/parrfo, deafult), y page (usa direcciones de pgina, 256 bytes/page). Combinacin define cmo se combinarn los segmentos con el mismo nombre. Puede asumir valores de: public (concatena todos los segmentos en uno solo), stack (igual al anterior, pero con direcciones relativas al registro SS, common (crea segmentos sobrepuestos colocando el inicio de todos en una misma direccin), memory (indica al LINK tratar los segmentos igual que MASM con public, at address (direccionamiento relativo a address). clase indica el tipo de segmento, sealados con cualquier nombre. Cabe sealar que en la definicin est permitido el anidar segmentos, pero no se permite de ninguna manera el sobreponerlos. Fin de cdigo fuente: Otra directiva importante es la que indica el final de un mdulo. Al alcanzarla el ensamblador ignorar cualquier otra declaracin que siga a sta. Su sintaxis es: END [expresin] La opcin expresin permite definir la direccin en la cual el programa iniciar. Asignacin de segmentos: La directiva ASSUME permite indicar cuales sern los valores por default que asumirn los registros de segmento. Existen dos formas de hacer esto: ASSUME registrosegmento:nombre,,, ASSUME NOTHING NOTHING cancela valores previos. Etiquetas: Las etiquetas son declaradas nombre: donde nombre constituye una cadena de caracteres. Declaracin de datos: Estos se declaran segn el tipo, mediante la regla [nombre] directiva valor,,, Donde directiva puede ser DB (bytes), DW (palabras), DD (palabra doble), DQ (palabra cudruple), DT (diez bytes). Tambin pueden usarse las directivas LABEL (crea etiquetas de instrucciones o datos), EQU (crea smbolos de igualdad) , y el smbolo = ( asigna absolutos) para declarar smbolos. Estos tienen la siguiente sintaxis:

Unidad IV

Pgina 16

nombre = expresion nombre EQU expresin nombre LABEL tipo donde tipo puede ser BYTE, WORD, DWORD, QWORD, TBYTE, NEAR, FAR. Declaracin de estructuras: Para la declaracin de estructuras de datos se emplea la directiva STRUC. Su sintaxis es: nombre STRUC campos nombre ENDS 4.- CONJUNTO DE INSTRUCCIONES. El juego completo de instrucciones reconocidas por los procesadores intel 8086 a 80286, junto con los coprocesadores 8087 y 80287, se enlistan en el apendice E. Como puede verse en dicho apndice, la mayora de las instrucciones requieren algunos operandos o expresiones para trabajar, y lo cual es vlido tambin para las directivas. Los operandos representan valores, registros o localidades de memoria a ser accesadas de alguna manera. Las expresiones combinan operandos y operadores aritmticos y lgicos para calcular en valor o la direccin a acceder. Los operandos permitidos se enlistan a continuacin: Constantes: Pueden ser nmeros, cadenas o expresiones que representan un valor fijo. Por ejemplo, para cargar un registro con valor constante usaramos la instruccin MOV indicando el registro y el valor que cargaramos dicho registro. mov ax,9 mov al,c mov bx,65535/3 mov cx,count count slo ser vlido si este fue declarado con la directiva EQU. Directos: Aqu se debe especificar la direccin de memoria a acceso en la forma segmento:offset. mov ax,ss:0031h mov al,data:0

Unidad IV

Pgina 17

mov bx,DGROUP:block Relocalizables: Por medio de un smbolo asociado a una direccin de memoria y que puede ser usado tambin para llamados. mov ax, value call main mov al,OFFSET dgroup:tabla mov bx, count count slo ser vlido si fue declarado con la directiva DW. Contador de localizacin: Usado para indicar la actual localizacin en el actual segmento durante el ensamblado. Representado con el smbolo $ y tambin conocido como centinela. help DB OPCIONES,13,10 F1 DB F1 . . . F10 DB F10 DISTANCIA = $-help Registros: Cuando se hace referencia a cualquiera de los registros de propsito general, apuntadores, ndices, o de segmento. Basados: Un operador basado representa una direccin de memoria relativa a uno de los registros de base (BP o BX). Su sintaxis es: desplazamiento[BP] desplazamiento[BX] [desplazamiento][BP] [BP+desplazamiento] [BP].desplazamiento exit,13,10,$ salva pantalla,13,10

Unidad IV

Pgina 18

[BP]+desplazamiento En cada caso la direccin efectiva es la suma del desplazamiento y el contenido del registro. mov ax,[BP] mov al,[bx] mov bx,12[bx] mov bx,fred[bp] Indexado: Un operador indexado representa una direccin de memoria relativa a uno de los registros ndice (SI o DI). Su sintaxis es: desplazamiento[DI] desplazamiento[SI] [desplazamiento][DI] [DI+desplazamiento] [DI].desplazamiento [DI]+desplazamiento En cada caso la direccin efectiva es la suma del desplazamiento y el contenido del registro. mov ax,[si] mov al,[di] mov bx,12[di] mov bx,fred[si] Base-indexados: Un operador base-indexado representa una direccin de memoria relativa a la combinacin de los registros de base e ndice. Su sintaxis es: desplazamiento[BP][SI] desplazamiento[BX][DI] desplazamiento[BX][SI] desplazamiento[BP][DI]

Unidad IV

Pgina 19

[desplazamiento][BP][DI] [BP+DI+desplazamiento] [BP+DI].desplazamiento [DI]+desplazamiento+[BP] En cada caso la direccin efectiva es la suma del desplazamiento y el contenido del registro. mov ax,[BP][si] mov al,[bx+di] mov bx,12[bp+di] mov bx,fred[bx][si] Estructuras: Su sintaxis es variable.campo. variable es el nombre con que se declar la estructura, y campo es el nombre del campo dentro de la estructura. date STRUC mes DW ? dia aa date ENDS actual date ja,01,84 mov mov ax,actual.dia actual.aa, 85 DW ? DW ?

Operadores y expresiones: Se cuenta con los siguientes operadores: Aritmticos: expresin1 * expresin2 expresin1 / expresin2 expresin1 MOD expresin2

Unidad IV

Pgina 20

expresin1 + expresin2 expresin1 - expresin2 + expresin - expresin De corrimiento: expresin1 SHR contador expresin1 SHL contador Relacionales: expresin1 EQ expresin2 expresin1 NE expresin2 expresin1 LT expresin2 expresin1 LE expresin2 expresin1 GT expresin2 expresin1 GE expresin2 De bit: NOT expresin expresin1 AND expresin2 expresin1 OR expresin2 expresin1 XOR expresin2 P De ndice: [expresin1] [expresin2] ejemplos: mov mov al, string[3] string[last],al

Unidad IV

Pgina 21

mov De apuntador:

cx,dgroup:[1] ; igual a mov cx,dgroup:1

tipo PTR expresin

tipo puede ser BYTE 1, WORD 2, DWORD 4, QWORD 8, TBYTE 10, NEAR 0FFFFh, FAR 0FFFEh. Ejemplos: call FAR PTR subrout3 mov BYTE ptr [array], 1 add al, BYTE ptr [full_word] De nombre de campo: estructura.campo

ejemplos: inc month.day mov time.min,0 mov [bx].dest De propsito especial: OFFSET expresin: Regresa el desplazamiento del operando mov bx, OFFSET dgroup:array mov bx, offset subrout3 SHORT etiqueta: Para un salto de menos de 128 bytes jmp SHORT loop

R LENGTH variable: Regresa el nmero de elementos de variable segn su tipo mov cx,length array

Unidad IV

Pgina 22

R SIZE variable: Regresa el tamao en bytes alojados para variable. mov cx,size array R SEG expresin: Regresa el valor del segmento para expresin mov ax, SEG saludo 5.- MACROS Y PROCEDIMIENTOS. La manera ms fcil de construir el programa en mdulos, es dividirlo en dos o ms partes. Para esto, es necesario que datos, smbolos, y dems valores de un mdulo sean reconocidos por el otro u otros mdulos. Para este tipo de declaraciones globales existen dos directivas: PUBLIC nombre,,, programas. que hace la variable, etiqueta o smbolo absoluto disponible para todos los

EXTRN nombre:tipo,,, que especifica una variable, etiqueta o smbolo externos identificados por nombre y tipo (que puede ser BYTE, WORD, DWORD, QWORD, TBYTE, NEAR, FAR, o ABS, ste ltimo para nmeros absolutos). El siguiente ejemplo ilustra el uso de las directivas. El primer listado corresponde al mdulo principal, mientras que el segundo al mdulo que contiene una rutina. Ambos mdulos son archivos que se editan por separado, se ensamblan por separado, pero se ligan juntos. MODULO PRINCIPAL: MAIN.ASM NAME main

PUBLIC exit EXTRN print:near

stack SEGMENT word stack 'STACK' DW stack ENDS data data code SEGMENT word public 'DATA' ENDS SEGMENT byte public 'CODE' ASSUME cs:code, ds:data 64 DUP(?)

Unidad IV

Pgina 23

start: mov ax,data mov ds,ax jmp print exit: mov ah,4ch int 21h ; carga localizacion del segmento ; en el registro DS ; va a PRINT en el otro modulo

code ENDS END start SUBMODULO: TASK.ASM NAME task

PUBLIC print EXTRN data exit:near

SEGMENT word public 'DATA' "Entrando a un submodulo....",13,10,"$" ".......saliendo del submodulo.",01,07,13,10,"$"

entrada DB salida data code DB ENDS

SEGMENT byte public 'CODE' ASSUME cs:code, ds:data

print: mov mov mov mov ah,06h al,0 cx,0 dh,24d ; Funcion para borrar pantalla ; todas las lineas ; de 0,0

Unidad IV

Pgina 24

mov mov int mov mov int mov int jmp code ENDS END

dl,79d bh,0 10h ; atributo en lineas vacias ; Servicio de e/s video

dx, OFFSET entrada ah,09h 21h dx, OFFSET salida 21h exit ; Regresa al otro modulo

La declaracin de macros se hace a travs de las directivas MACRO y ENDM. Su sintaxis es:

nombre MACRO [parmetros,,,] declaraciones ENDM Los parmetros son los valores que se substituirn en la macro cada vez que se haga referencia a sta. Para la definicin de procedimientos se emplean las directivas PROC y ENDP. Su sintaxis es: nombre PROC [distancia] sentencias nombre ENDP La distancia, que puede ser NEAR (default) o FAR permiten indicar el tipo de acciones a realizar en brincos y llamados a subrutinas. nombre se puede usar como direccin en llamados o brincos. 6.- INTERRUPCIONES.

Unidad IV

Pgina 25

Como se mencion anteriormente la PC esta constituida lgicamente por su BIOS y sistema operativo. La mayora de las rutinas que controlan al computador estn grabadas en el ROM del BIOS, aunque muchas rutinas son establecidas por el sistema operativo y se cargan en RAM al momento de encender al computador. Estas rutinas son denominadas interrupciones y son activadas mediante la instruccin: INT nmero. Una interrupcin es una operacin que invoca la ejecucin de una rutina especfica que suspende la ejecucin del programa que la llam, de tal manera que el sistema toma control del computador colocando en el stack el contenido de los registros CS e IP. El programa suspendido vuelve a activarse cuando termina la ejecucin de la interrupcin y son restablecidos los registros salvados. Existen dos razones para ejecutar una interrupcin: (1) intencionalmente como peticin para la entrada o salida de datos de un dispositivo, y (2) un error serio y no intencional, como sobreflujo o divisin por cero. El operando de una interrupcin indica cual es la rutina a activar. La direccin de la rutina es localizada por medio de una tabla que el sistema mantiene a partir de la direccin 0000:0000h. Existen 256 entradas de 4 bytes de longitud, y cada interrupcin proporciona varias funciones. Las interrupciones de 00h a 1Fh corresponden al BIOS y de 20h a FFh son del DOS y BASIC. El apndice F proporciona una lista de las interrupciones para equipo XT. 7. Importancia del lenguaje ensamblador La importancia del lenguaje ensamblador radica principalmente que se trabaja directamente con el microprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja de que en el se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar. Otro punto sera que los programas en ensamblador ocupan menos espacio en memoria. 8. Ventajas y desventajas del Lenguaje Ensamblador Ventajas 1. .- Como trabaja directamente con el microprocesador al ejecutar un programa, pues como este lenguaje es el ms cercano a la mquina la computadora lo procesa ms rpido. 2. Eficiencia de tamao .- Un programa en ensamblador no ocupa mucho espacio en memoria porque no tiene que cargan libreras y dems como son los lenguajes de alto nivel 3. Flexibilidad .- Es flexible porque todo lo que puede hacerse con una mquina, puede hacerse en el lenguaje ensamblador de esta mquina; los lenguajes de alto nivel tienen en una u otra forma limitantes para explotar al mximo los recursos de la mquina. O sea que en lenguaje ensamblador se pueden hacer tareas especficas que en un lenguaje de alto nivel no se pueden llevar acabo porque tienen ciertas limitantes que no se lo permite Desventajas Tiempo de programacin .- Como es un lenguaje de bajo nivel requiere ms instrucciones para realizar el mismo proceso, en comparacin con un lenguaje de alto nivel. Por otro lado, requiere de ms cuidado por parte del programador, pues es propenso a que los errores de lgica se reflejen ms fuertemente en la ejecucin. Programas fuente grandes .- Por las mismas razones que aumenta el tiempo, crecen los programas fuentes; simplemente requerimos ms instrucciones primitivas para describir procesos equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los programas, y nuevamente reduce la productividad de los programadores.

Unidad IV

Pgina 26

Peligro de afectar recursos inesperadamente .- Que todo error que podamos cometer, o todo riesgo que podamos tener, podemos afectar los recursos de la maquina, programar en este lenguaje lo ms comn que pueda pasar es que la mquina se bloquee o se reinicialize. Porque con este lenguaje es perfectamente posible (y sencillo) realizar secuencias de instrucciones invlidas, que normalmente no aparecen al usar un lenguaje de alto nivel. Falta de portabilidad.- Porque para cada mquina existe un lenguaje ensamblador; por ello, evidentemente no es una seleccin apropiada de lenguaje cuando deseamos codificar en una mquina y luego llevar los programas a otros sistemas operativos o modelos de computadoras. 9. Relacin del lenguaje ensamblador con los componentes internos del procesador y En la memoria se almacena la informacin en celdas especiales llamados registros los cuales tienen un nivel alto y un nivel bajo. y Unidad aritmtica y lgica es la responsable de realizar como su nombre lo indica operaciones aritmticas y lgicas. y Unidad de control Se encarga de coordinar que los otros componentes ejecuten las operaciones correctamente. y Bus interno son los canales por donde pasa la informacin que la mquina va a procesar (bus de entrada) o procesada (bus de salida). Registros de uso general AX = Registro acumulador, dividido en AH y AL (8 bits cada uno).- Interviene en las operaciones aritmticas y lgicas, despus de la operacin arroja un resultado. BX = Registro base, dividido en BH y BL.- Se utiliza en transferencias de datos entre la memoria y el procesador. CX = Registro contador, dividido en CH y CL.- Se utiliza como contador en bucles(LOOP), en operaciones con cadenas(REP), y en desplazamientos(CL). DX = Registro de datos, dividido en DH y DL.- Se utiliza en operaciones de multiplicacin y divisin junto con Ax y en operaciones de entrada y salida de puertos, su mitad inferior DL contiene el nmero de puertos. Registros de Estado Hay nueve indicadores de un bit en este registro de 16 bits. Los cuatro bits ms significativos estn indefinidos, mientras que hay tres bits con valores determinados: los bits 5 y 3 siempre valen cero y el bit 1 siempre vale uno. CF (Carry Flag, bit 0): Si vale 1, indica que hubo "arrastre" (en caso de suma) o "prstamo" (en caso de resta). Este indicador es usado por instrucciones que suman o restan nmeros que ocupan varios bytes. Las instrucciones de rotacin pueden aislar un bit de la memoria o de un registro ponindolo en el CF.

Unidad IV

Pgina 27

PF (Parity Flag, bit 2): Si vale uno, el resultado tiene paridad par, es decir, un nmero par de bits a 1. Este indicador se puede utilizar para detectar errores en transmisiones. AF (Auxiliary carry Flag, bit 4): Si vale 1, indica que hubo "arrastre" o "prstamo" del nibble (cuatro bits) menos significativo al nibble ms significativo. Este indicador se usa con las instrucciones de ajuste decimal. ZF (Zero Flag, bit 6): Si este indicador vale 1, el resultado de la operacin es cero. SF (Sign Flag, bit 7): Refleja el bit ms significativo del resultado. Como los nmeros negativos se representan en la notacin de complemento a dos, este bit representa el signo: 0 si es positivo, 1 si es negativo. TF (Trap Flag, bit 8): Si vale 1, el procesador est en modo paso a paso. En este modo, la CPU automticamente genera una interrupcin interna despus de cada instruccin, permitiendo inspeccionar los resultados del programa a medida que se ejecuta instruccin por instruccin. IF (Interrupt Flag, bit 9): Si vale 1, la CPU reconoce pedidos de interrupcin externas. Si vale 0, no se reconocen tales interrupciones DF (Direction Flag, bit 10): Si vale 1, las instrucciones con cadenas sufrirn "auto-decremento", esto es, se procesarn las cadenas desde las direcciones ms altas de memoria hacia las ms bajas. Si vale 0, habr "auto-incremento", lo que quiere decir que las cadenas se procesarn de "izquierda a derecha". OF (Overflow flag, bit 11): Si vale 1, hubo un desborde en una operacin aritmtica con signo, esto es, un dgito significativo se perdi debido a que tamao del resultado es mayor que el tamao del destino. 10. Relacin entre el cdigo binario y el lenguaje ensamblador En el cdigo binario se utilizan ceros y unos, mientras que el lenguaje ensamblador es una coleccin de smbolos mnemnicos que representan: operaciones, nombres simblicos, operadores y smbolos especiales. La relacin entre estos dos lenguajes sera que el binario es el lenguaje que la mquina entiende y el ensamblador se acerca ms lenguaje de esta. Manejo de la memoria: Direccionamiento (interno y externo) El manejo de la memoria depende de que procesador tenga la mquina, entre los cuales a continuacin se mencionan los siguientes: y y y y Memoria de Programa Memoria Externa de Datos Memoria Interna de Datos Registros de Funciones Especiales

Unidad IV

Pgina 28

Memoria de Bit.

El espacio de la Memoria de Programa contiene todas las instrucciones, datos, tablas y cadenas de caracteres (strings) usadas en los programas. Esta memoria se direcciona principalmente usando el registro de 16 bits llamado Data Pointer. El tamao mximo de la Memoria de Programa es de 64 Kbytes. La Memoria Externa de Datos contiene todas las variables y estructuras de datos que no caben en la memoria interna del Microprocesador. Esta memoria se direcciona principalmente por el registro de 16 bits Data Pointer , aunque tambin se puede direccionar un banco de Memoria Externa de Datos de 256 bytes usando los dos primeros registros de propsito general . El espacio de Memoria Interna de Datos funcionalmente es la memoria de datos ms importante, ya que ah es donde residen cuatro bancos de registros de propsito general; la pila o stack del programa; 128 bits de los 256 bits de un rea de memoria direccionable por bit y todas las variables y estructuras de datos operadas directamente por el programa. El tamao mximo de la Memoria Interna de Datos es de 256 bytes. Contiene un espacio para los denominados Registros de Funciones Especiales destinado para los puertos de entrada/salida, temporizadores y puerto serie del circuito integrado. Estos registros incluyen al Stack Pointer; al registro de la palabra de estado del programa y al Acumulador. La cantidad mxima de Registros de Funciones Especiales es 128. Todos los Registros de Funciones Especiales tienen direcciones mayores a 127 y se ubican en los 128 bytes superiores de la Memoria Interna de Datos. Estas dos reas de la Memoria Interna de Datos se diferencian por el modo de direccionamiento usado para accesarlas. Los Registros de Funciones Especiales solo se pueden accesar usando el modo de direccionamiento Directo, mientras que los 128 bytes superiores solo se pueden accesar con el modo de direccionamiento Indirecto. Por otra parte, el espacio de Memoria de Bit se usa para almacenar variables y banderas de un bit. El tamao mximo de la Memoria de Bit es de 256 bits, 128 de los bits comparten su espacio con 16 bytes del espacio de la Memoria Interna de Datos y los otros 128 bits lo hacen con los Registros de Funciones Especiales.

4.3 Aplicaciones
Un micro-controlador es, esencialmente, una computadora llevada a una escala liliputiense, de varios centmetros cuadrados en el peor de los casos. Por supuesto que carece de monitor, teclado y mouse, pero dentro de sus circuitos, cuenta generalmente con ROM, RAM, puertos de comunicaciones seriales y convertidores Analgico / Digitales. Lo que los hace tiles, como su nombre lo indica, para controlar otros dispositivos sin comprometer el espacio. Aunque claro, su pequea escala no solo se re ere a sus dimensiones fsicas, sino que tambin a la capacidad de sus prestaciones: tienen un espacio de memoria muy pequeo y velocidades de procesamiento escasas en comparacin con una computadora personal comn. Pero debido a su costo y tamao, son muy tiles para manejar un conjunto reducido de funciones. Por ejemplo: A pesar de que muchos de los aparatos de hoy estn controlados por una computadora, casi nadie se imaginara

Unidad IV

Pgina 29

un servidor XServe de Apple conectado al horno de microondas o al tostador de pan para controlarlos. Las computadoras de ese tipo estn diseadas para realizar tareas de tipos muy diversos, muchas veces simultneamente; por si fuera poco, resultara imprctico e increblemente costoso. En el caso del horno de microondas, solo necesitamos algo que controle unas cuantas funciones como son: el display del horno, la potencia del magnetrn, la interfaz de los botones y, tal vez, guardar algunos datos en memoria como podran ser tiempos decoccin favoritos . Justo aqu sera til un microcontrolador (de hecho esta es una de sus tantas aplicaciones), dado que requerimos monitorear algunas entradas y en base a esto, controlar algunas salidas con el objeto de realizar acciones espec cas sobre otros dispositivos como podran ser: controlar el display y desplegar algn texto, hacer sonar algn bip - bip o mover algn motor para evitar que pueda abrirse la puerta del horno, etctera. El uso de microcontroladores para controlar dispositivos, inici alrededor de 1971 con el desarrollo y comercializacin del microcontrolador Intel 4004,un dispositivo que encerraba todas las partes esenciales de una computadora en un solo componente .En principio se desarroll para cumplir la funcin de un total de12 chips para controlar una calculadora y su capacidad de procesamiento era mayor que el de la computadora ENIAC(1947).La utilizacin de micro-controladores para dotar a mquinas y aparatos con funciones inteligentes, contino a partir de la introduccin del 4004,pero en realidad su utilizacin masiva se encuentra hasta los aos noventa, dnde los costos de produccin y diseo se abarataron importantemente. Hoy en da podemos encontrarlos en juguetes, aparatos electrodomsticos, equipos de audio y video, incluyendo la tele, estreos, equipos perifricos de cmputo como impresoras y aviones y cualquier otra mquina quiera de algn control concierto grado de inteligencia. Una aplicacin que vale la pena mencionar es el que tienen los microcontroladores en la industria automotriz, probablemente su campo de aplicacin ms importante. Un auto comn usa entre 30 y 40 microcontroladores que sirven para manejar el sistema de suspensin, la mezcla de aire-gasolina, la sincronizacin y frecuencia de la ignicin en los cilindros, los frenos ABS y desplegar informacin al usuario a travs del tablero entre otras cosas. Un auto ms costoso puede incluir hasta 80microcontroladores, mucha ms potencia de cmputo que la que era posible en las primeras naves espaciales.

4.3.1 Como sistema independiente


Un microcontrolador es, como ya se ha comentado previamente, un sistema completo, con unas prestaciones limitadas que no pueden modificarse y que puede llevar a cabo las tareas para las que ha sido programado de forma autnoma.

4.3.2 Como subsistema de una computadora


El rendimiento de los sistemas no depende nicamente del microprocesador, sino que tambin afectan a los resultados los componentes de hardware y software como el sistema operativo, el

Unidad IV

Pgina 30

subsistema de grficos y el subsistema de E/S, el software de aplicaciones y la memoria. Por esta razn, es que se muestra el rendimiento del procesador.

Unidad IV

Pgina 31

Potrebbero piacerti anche