viernes, 27 de marzo de 2009

microprocesador

MICROPROCESADOR:

El microprocesador es un
circuito integrado que contiene algunos o todos los elementos necesarios para conformar una (o más) "unidad central de procesamiento" UCP, también conocido como CPU (por sus siglas en inglés: Central Process Unit). En la actualidad este componente electrónico está compuesto por millones de transistores, integrados en una misma placa de silicio.
Se debe distinguir entre el concepto de procesador, que es un dispositivo de hardware, y el de CPU, que es un concepto lógico. Una CPU puede estar soportada por uno o varios microprocesadores, y un microprocesador puede soportar una o varias CPU.


ESTRUCTURA DEL MICROPROCESADOR:

Unidad de control:

Tendrá que ser capaz de ir siguiendo, paso a paso lo que está descripto en los microprogramas. Saber que cables poner activos y cuales no.
Tendra que saber:
En que relglon o linea está parda.
Que instrucción tiene que ejecutar.
Tener en cuenta los flags de memoria.
tiene un contador: tiene sieryas entradas que son pulsos de un reloj, los cuales son contados, para decir en que renglon o linea está parada.
Otra serie de entradas le dira que instrucción ejecutar, otras entradas serán los flags de la ALU.
Cada microoperacion será un cablecito.
Cada cablesito es la salida de una compuerta, tendremos tantas compuertas como microoperaciones.
El contador nos indica donde está parada, es puesto en cero cada vez que se ejecuta un END, o se hace un RESET.
El tamañ o de dicho contador, debe ser capaz de contener los renglones de las instrucciones mas largas.
Otra de las enradas será que instrucción debe ejecutar, esta instrucción está en el Campode Operaciones del RI, es un numer binario que indicará la instrucción y el modo de direccionamiento. Hay un decodificador que decodifica el C Op. de RI si tiene 8 entradas tendra 256 salidas 28, que se activará de a una por vez. Un cable activado indicará que instrucción realizar.
Mediante una ecuacion, usando compuertas AND y OR, podemos describir un circuito para la generacion de los microprogramas. Tenemos una ecuacion para cada microoperacion .
Lo que se hace es reconocer todas las intrucciones y ver en que renglon están, se escribe en que condicion se puede dar es microoperacion. Es decir el tiempo (Tn) y el nombre de la instrucción (renglon).
RBM out= T2+T4 . LD AC + T3 . ADDDIR+.......
Caracteristicas: es muy rigida, pero es mas rapida.
Falencia cada vez que queremos sacarle o agregarle algo, tenemos que cabiar todo.
Unidad de Control Microprogramada
Tomo todas las instrucciones y las unió con las microoperaciones y formó los microprogramas.
Todo renglon es una microinstruccion y las lineas verticales las microoperaciones.
El microprograma se divide en modulos.
El registro guarda las direcciones de la proxima microinstruccion y se decocifica quedando activada una linea horizontal con una linea vertical automaticamente.
Las fuentes de direcciones de cada microinstruccion son 2
El campo que indica la proxima microinstruccion (celda de dir.).
El codigo de operaciones del RI
multiplexor contrario a un decodificador, cuatro entradas dos salidas, tiene una llave rotativa que conecta en funcion de las dos entradas.
C0, C1 a A B C D
Se colocó para solucionar el problema de los saltos condicionales, se conecto el campo de direcciones del RI al MPC.
No se pudo llevar a la practica, devido a impedimentos electronicos del momento.
En realidad este fue el modelo de una memoria de lectura, es decir una memoria ROM.


Unidad Aritmetica Logica:

Complemento a la Base
Lo que le falta al numero para llegar a la base.
Se utiliza para realizar la resta, en si lo que se realiza con un circuito sumador, es hacer la resta sumando el complemento del numero que resta.
A-B = A+CB Base = A+ 2n -B
Si A>=B el numero queda dentro del rango A-B = A+2n -B= 2n+(A-B)
Si A
Si el bits de carry es 1 la resta esta bien
es 0 el resultado dio negativo
A>=B 9-6 = 3
1001 1001
- +
0110 complemento 1010
10011 el bits de carry dio 1 resultado correcto
A
0101 0101
- +
0111 complemento 1001
0110 el bits de carry dio 0 resultado negativo
base -(B-A)
16-(7-5)= 14
2 = 14
14 = 2 = A-B
Complemento a la Base-1
Es lo que le falta al nro para llegar al nro mas grande que se puede escribir en el registro.
CNB-1= 2n -1- A = CNB-1
CNB = CNB-1+1
Se reemplazan los ceros por unos y los unos por ceros. Sacando el complemento a la base-1 podemos obtener el complemento a la base sumandole 1 al complemento a la base-1.
Resta
A-B = A+ CNB-1 = A+2n-1-B = 2n+(A-B)-1
Si A>= B => A-B = A+ CNB-1 = A+2n+1-B = 2n+(A-B)-1
Si A< b =""> A-B = A+ CNB-1 = A+2n -1-B = 2n-(B-A)-1
Si el carry es 1 al resultado debo sumarle 1
es 0 me queda el complemento a la base-1 dando buelta los operandos al resultado siempre le sumo el carry.
A>=B 10-6 = 4
1010 1010
- +
0110 complemento 1001
a la base-1 10011 le sumo el carry 1
+ 1
0100 = 4
A
1011 1011
- +
1101 complemento 0010
a la base-1 01101 => 1101 CB-1 0010
Overflow: el flags de carry no me sirve para detectar overflows. Podemos decir que para que no haya overflow en los dos transportes, de la penultimaa la ultima etapa y de la ultima etapa hacia fuera deben ser iguales para que no haya overflow o 0,0 o 1,1 de lo contrario será overflow 0,1 o 1,0.



Bus:

Es un conjunto de cables que transportan información.

bus de datos:

conjunto de lineas de un bit cada una que conforman la capacidad de transmision de datos del sistema.

bus de direcciones:

conjunto de lineas de un bit que conformn la capacidad de transmision de direccionamiento del dispositivo.

bus de control:

conjunto de lineas encargadas de la gestion del sistema, lectura, escritura,etc.

Registro:

Lugar donde se puede guardar temporalmente un nro. binario (palabra de memoria), los registros no tienen un direccionamiento, sino que son controlados por una unidad de control. Su tiempo de acceso es mucho más rápido.
Registros específicos:
PC, RDM, RBM, RI, SP, IX
Registros generales: R0.......Rn

MICROCONTROLADOR:

Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S.

Un microcontrolador difiere de una CPU normal, debido a que es más fácil convertirla en una computadora en funcionamiento, con un mínimo de chips externos de apoyo. La idea es que el chip se coloque en el dispositivo, enganchado a la fuente de energía y de información que necesite, y eso es todo. Un microprocesador tradicional no le permitirá hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los modulos de entrada/salida (puertos) y la memoria para almacenamiento de información


ESTRUCTURA DEL PIC

Veamos la estructura interna de un microcontrolador, en concreto el PIC16F84:

Memoria de Programa (Program Memory). Su función es almacenar el programa. Las instrucciones se almacenan de forma ordenada para su ejecución. Es tan importante la instrucción en sí misma como la posición que ocupa en la memoria, es decir, la dirección. Cuando comienza el programa, la primera instrucción que se ejecuta es la que se encuentra en la dirección 0x00. A esta dirección se le llama vector de reset (Reset Vector). También existe el vector de interrupción (Interrupt Vector) que corresponde a la dirección 0x04. Cuando se produce una interrupción, el programa pasará a ejecutar la instrucción de la dirección 0x04. La capacidad de la memoria de programa es variable según el microcontrolador. Suele estar entre 512 instrucciones para los más pequeños hasta 8K (y más) para los más grandes. Existen varios tipos de memoria de programa. Las familias que contienen la F como el PIC16F84 tienen memoria de programa FLASH, que es reprogramable. Y las familias C como el 12C508 tienen memoria EPROM, que sólo la podemos programar una vez.


Puntero de programa (Program Counter, PC). Es un registro de 13 bits que apunta a la memoria de programa. Contiene la dirección de la siguiente instrucción a ejecutar. Cuando se produce un reset, el PC pasa al valor 0 y de este modo apunta a la dirección 0 de la memoria de programa; la instrucción que se encuentre en esta dirección será extraída para su ejecución. Después de ejecutar la instrucción, el PC se incrementa automáticamente para apuntar a la siguiente instrucción y así sucesivamente. Existen instrucciones para variar el valor del PC y lograr así crear bucles y saltos en el programa. Estas instrucciones son, por ejemplo, GOTO, CALL, interrupciones e instrucciones que sobreescriban el propio PC. En el caso de una interrupción el PC pasará al valor 0x04 que es la dirección del vector de interrupción, a partir de esta dirección debemos colocar el código asociado a la interrupción.


Pila del PC (Stack). En el transcurso normal de un programa, el PC se va incrementando y va apuntando cada vez a la siguiente instrucción. Sin embargo, Cuando se produce un salto en el programa, como por ejemplo una interrupción o llamada a subrutina, el PC cambia de valor para saltar a otro lugar del programa. En ese caso, se guarda el valor del PC para poder continuar la ejecución del programa donde lo dejó. Para ello el microcontrolador utiliza la Pila, guarda el valor del PC antes de saltar a otro lugar del programa y lo recupera cuando termina el salto. En el caso del PIC16F84, la pila tiene una capacidad de 8 niveles esto quiere decir que podemos hacer hasta 8 llamadas a subrutinas una dentro de la otra.


Memoria de Datos o registros (RAM file registers). Esta memoria se usa para almacenar datos con los que operar durante la ejecución del programa. En la RAM guardaremos, variables, contadores, y otros datos de trabajo. El PIC16F84 dispone de 68 bytes de RAM para uso general. A la posición que ocupa un dato en la RAM se le llama dirección. En cada dirección de RAM podemos guardar un dato de 8 bits (un valor desde 0 hasta 255). Cuando queramos guardar un dato en RAM, especificaremos la dirección donde queremos escribirlo y el valor que queremos escribir en ese lugar. Del mismo modo, al leer un dato de RAM, especificaremos qué dirección queremos leer.

El PIC16F84 dispone de 68 bytes de RAM para uso general. Estos datos están dispuestos en dos bancos de memoria. El siguiente gráfico es el mapa de la memoria RAM, en la cual, también se encuentran los registros especiales que se explicarán más adelante.


Modos de direccionamiento. Los datos se almacenan en la memoria RAM. Guardar un dato en RAM El acceso a la memoria RAM puede realizarse de dos formas:

  • Direccionamiento directo: Se accede a la RAM de forma inmediata. La dirección de RAM a la que se quiere acceder está implícita en la propia instrucción. Por ejemplo: MOVWF 0x20 realiza una operación de escritura en la dirección 0x20. Este modo de direccionamiento es el más habitual.

  • Direccionamiento indirecto: En este modo de direccionamiento se utilizan dos registros especiales: FSR y INDF. FSR es un puntero de RAM, es decir, contiene la dirección de memoria a la que se desea acceder. El registro INDF, utiliza el valor del registro FSR para acceder al registro deseado. Por ejemplo: si escribimos 0x20 en FSR y después escribimos 215 en INDF, habremos escrito un 215 en la dirección de memoria 0x20 (que era la que contenía FSR). El direccionamiento indirecto se usa para manejar tablas ó manipular segmentos de memoria. Por ejemplo, Podemos programar un bucle, en el cual, incrementamos el valor de FSR para acceder a unas direcciones de memoria consecutivas.


Registros especiales (Special Function Registers, SFR). Son registros que controlan e informan sobre el estado de las características especiales del microcontrolador, como los temporizadores, convertidores analógico-digital, puertos, puertos serie, etc. Se encuentran en la propia RAM y son accesibles como cualquier otro dato de la RAM. Cada uno de estos registros tiene un mobre especial, por ejemplo, TMR0, STATUS, OPTION, etc. y cada uno de ellos tiene su función específica. En la tabla anterior podemos ver un mapa de memoria con los nombres de los registros especiales, sus direcciones y el banco de memoria al que pertenecen. Los registros especiales son la clave para obtener el máximo rendimiento a un microcontrolador, pues es a través de ellos se controlan todas sus características especiales.


El registro STATUS. Informa sobre el estado de la unidad aritmeticológica, el motivo de RESET y los bits de selección del banco de memoria RAM. Cada bit de este registro tiene su finción específica. Por ejemplo, para saber si el resultado de una suma ha superado el rango de valores de un byte (es decir, si es mayor de 255) consultaremos el estado del bit Carry. Si dicho bit está a 1 habremos superado el rango y si está a 0 no lo habremos superado. En la siguiente tabla vemos la función de cada bit del registro STATUS:

BIT Nombre Función

7-6

IRP, RP1

No se usan en el PIC16F84, deben mantenerse a 0.

5

RP0

Selecciona el banco de memoria RAM a direccionar.
1: selecciona el banco 1.
0: selecciona el banco 0.

4

TO

Bit de Time-Out.
1: después de RESET, instrucción CLRWDT ó instrucción SLEEP.
0: al sobrepasar WDT (temporizador llamado "perro guardián").

3

PD

Bit de Power-Down.
1: después de RESET, instrucción CLRWDT.
0: al ejecutar la instrucción SLEEP.

2

Z

Bit de Cero (ZERO).
1: cuando el resultado de una instrucción aritmeticológica es 0.
0: cuando el resultado de una instrucción aritmeticológica es distinto de 0.

1

DC

Bit de Digit_Carry (Carry significa "me llevo una" cuando sumamos o restamos).
1: cuando el 4º bit ha sobrepasado por una operación de suma o resta.
0: cuando el 4º bit no ha sobrepasado por dichas operaciones.

0

C

Bit de Carry ("me llevo una").
1: cuando el 8º bit sobrepasa por una operación de suma o resta.
0: cuando el 8º bit no sobrepasa por dichas operaciones.


El registro W (también llamado acumulador). Este registro es de vital importancia. La mayoría de las instrucciones aritmeticológicas utilizan este registro. Observar en el gráfico de la estructura que está situado justo debajo de la unidad artitmeticológica. Cuando ejecutemos una instrucción, podremos guardar el resultado en este registro, bien para volver a operar con él inmediatamente o bien para guardarlo en RAM.


Unidad aritmeticológica (ALU). Es la encargada de realizar las operaciones. A ella le llegan los datos a operar y se le indica el tipo de operación que debe realizar con ellos. El resultado de la operación se guardará en el registro W o en algún registro de la RAM. La ALU puede ejecutar diversas instrucciones: aritméticas (sumar y restar), lógicas (AND, OR, XOR), orientadas a bits (activar o desactivar un bit, mover bits), etc. El registro STATUS se ve modificado por el resultado de una operación de la ALU. Por ejemplo, el bit Z (zero) del registro STATUS cambiará a 1 cuando el resultado de una operación sea 0; Del mismo modo el bit C (carry, que significa "me llevo una") cambiará a 1 cuando el resultado de una suma sea superior a 255 (que es el valor máximo).


Puertos de Entrada/Salida (I/O Ports). Son registros especiales que conectan el microcontrolador con el mundo exterior, a través de las patillas del integrado. Al escribir un dato en un puerto, por ejemplo en el registro PORTB, cada bit que hemos escrito, aparece en las patillas del microcontrolador. Del mismo modo, al leer un puerto, estamos leyendo el estado de las patillas y guardando este valor en RAM. Antes de poder usar un puerto para escribir en él o leer de él, debemos configurarlo. Configurar un puerto consiste en definir si el puerto será de entradas o de salidas o de forma combinada. Para ello se utilizan los registros TRISA y TRISB. Cada bit de estos registros configura el bit correspondiente del puerto A o B como entrada o salida.


El TMR0, Temporizador/Contador. EL TMR0 es un registro perteneciente a la RAM. Puede ser configurado como temporizador o contador. En modo temporizador, se incrementará automáticamente en cada instrucción. En modo contador se incrementa a través de la patilla RA4. El vuelco de 0xFF a 0x00 puede producir interrupción si configuramos las interrupciones de modo apropiado. También disponemos de un divisor (prescaler) para aumentar el rango de valores. Si configuramos el prescaler a un valor de 8, por ejemplo, el incremento de TMR0 se producirá cada 8 pulsos de señal (ya sea como contador o temporizador). La configuración del TMR0 se realiza mediante el registro OPTION.

Si queremos utilizar la interrupción del TMR0, deberemos confirgurar el registro INTCON activando el bit GIE y el bit T0IE. El bit T0IF indica el vuelco del TMR0 y es el responsable de la interrupción. Antes de salir de la interrupción debemos poner este bit a 0 para que no se produzca inmediatamente otra interrupción.


Reloj del sistema. El microcontrolador necesita de una señal de reloj para funcionar. Esta señal marca el ritmo de trabajo, es decir, la velocidad de proceso. Podemos configurar el reloj de formas distintas. Generalmente se utiliza un oscilador de cuarzo de 4MHz. También puede usarse un oscilador tipo RC, resistencia-condensador. Algunos microcontroladores disponen de oscilador interno y simplifican el montaje por no necesitar componentes externos que generen esta señal. El tipo de reloj utilizado se configurará cuando programemos el PIC.



jueves, 4 de diciembre de 2008

venezuela

país posee además una sólida infraestructura de servicios que propicia en gran medida el desarrollo del turismo, facilitando el acceso y permanencia del visitante, tales como cinco aeropuertos con facilidades para la recepción de vuelos internacionales; una amplia red vial; una planta hotelera cercana a los cuatrocientos hoteles turísticos de diversa clasificación y otros 1.600 establecimientos del tipo motel, hospedaje y posada, número aún limitado para la demanda creciente del turismo internacional. En este sentido, el Estado venezolano promueve políticas que facilitan la inversión nacional y extranjera en proyectos turísticos y desarrollos hoteleros, lo que en breve ampliará esta oferta.

A la par con el desarrollo del turismo de hotelería se ha ido incrementando las actividades turísticas relacionadas con el disfrute de la diversidad ambiental de nuestro territorio; es así como el turismo de aventura ha encontrado campo propicio para su desarrollo en las selvas de la Orinoquia, en las cordilleras andinas, en los caudalosos ríos e inmensas sabanas llaneras, las grandes extensiones de Parques Nacionales, algo más del 15% del territorio, las numerosas cuevas y fondos coralinos de las islas, se prestan igualmente para el desarrollo del turismo de aventura y científico.

Siendo un país caribeño, también es andino, atlántico y amazónico. Debido a ello, el Fondo Mundial de la Fauna Silvestre (WWF) ubica a Venezuela entre los seis países de mayor diversidad del Continente americano. Más del 40% del territorio se encuentra bajo condiciones de Zonas Protegidas, Refugios y Reservas de Faunas, Monumentos naturales y Reservas Forestales. Existen 43 Parques Nacionales y 20 Monumentos Naturales que ocupan aproximadamente el 16% la extensión territorial.

Los climas son isotermos, es decir, que no presentan mayores diferencias de temperaturas medias mensuales. Las precipitaciones anuales determinan la existencia de dos estaciones: estación de lluvia o invierno (mayo-octubre) y la estación de sequía o verano (noviembre-abril). No obstante, se mantiene un clima templado y en Caracas, Capital de la República, es siempre primavera.

Venezuela ofrece

La actividad turística en Venezuela se ha desarrollado considerablemente en las últimas décadas, particularmente por su favorable posición geográfica, la variedad de paisajes, la riqueza de la flora y fauna, el temperamento alegre y cordial de su población, las manifestaciones artísticas y su privilegiado clima, que permite disfrutar de cada región (especialmente las playas) durante todo el año.

Playas

De occidente a oriente, el país cuenta con tres mil (3.000) kilómetros de playas caribeñas, sol tropical, arenas blancas, rojas o plateadas. Lugares frecuentados o territorios solitarios. Unas con aguas mansas y tranquilas; otras con olas enormes. Constituyen sitios ideales para practicar deportes acuáticos. Gran parte de estas playas se ubican dentro de áreas protegidas, como por ejemplo el Parque Nacional Mochima y el Parque Nacional Península de Paria (Estado Sucre), el Parque Nacional Morrocoy (Estado Falcón), y el Parque Nacional Henri Pittier (Estado Aragua).

El Caribe venezolano ofrece 311 islas e islotes de insuperable belleza. Por su tamaño, se destacan la Isla de Margarita, la mayor de las tres islas que conforman el Estado Nueva Esparta, y el Parque Nacional Los Roques, único atolón coralino del Caribe Sur.

Montañas

La variedad de relieves montañosos ofrece distintos tipos de clima, particularmente en la Región Andina, en la cual existen altos picos, numerosas lagunas, hermosos valles y mesetas donde se encuentran emplazados un gran número de pintorescos pueblos.

El Pico Espejo de la Sierra Nevada, constituye una de las atracciones turísticas, ya que el Teleférico de Mérida, el más alto del mundo, permite su accesibilidad. En el oriente del país destaca la belleza natural que ofrece la Cueva del Guácharo (Estado Monagas). Al sur, en el Estado Bolívar, resalta el Macizo Guayanés, la formación orogénica más antigua del planeta conocida como "la isla perdida", del cual destacan los tepuyes. Uno de ellos, el Auyantepuy aloja la caída de agua más alta del mundo, el Salto Angel o Churúm Meru, de 979 metros de altura.

Llanos

Los Llanos es la región de tierras bajas, situada en la depresión central del país entre los Andes, la Cordillera de la Costa y el Macizo Guayanés, en la cual el turista encontrará una aventura natural inolvidable: fauna, flora y una rica cultura representada en su música y baile del joropo y pasaje. Grandes ríos atraviesan las extensas sabanas, los cuales forman pastizales, esteros lagunas y morichales.

Por razones geomorfológicas, se dividen en Llanos Orientales (Estados Anzoátegui y Monagas), donde predomina el relieve de mesas; Llanos Centrales (Estados Guárico y Cojedes), con cerros y lomas; Llanos Occidentales (Estados Portuguesa y Barinas) y Meridionales (Estado Apure) con escasas elevaciones.

Selva y Sabanas

La naturaleza selvática venezolana es mucho más que paisajes maravillosos para recrearse. Es un extraordinario pulmón vegetal y una valiosa e inmensa reserva de agua dulce. Además, es el hábitat de incontables especies vegetales y animales, así como el reservorio de cuantiosas riquezas minerales. Por otra parte, es el hogar de más de una docena de etnias indígenas, cada una con su propia lengua y cultura ancestrales. La Selva Amazónica, que cubre casi un 20% del territorio venezolano, cuenta con ríos impetuosos que conforman dos cuencas hidrográficas internacionales: Orinoquia y Amazonia, banco genético único de extraordinarias reservas de recursos naturales.

Quieres conocer a Venezuela

Visas: Para ingresar al país se requiere pasaporte vigente expedido en el país de origen, visa otorgada por un Consulado de Venezuela y/o tarjeta de turismo, y pasaje de ida y vuelta.

Vacunas: No se requieren vacunas especiales para ingresar al país. Aquellas personas que viajen a zonas selváticas o deseen mayor protección, pueden vacunarse contra la fiebre amarilla, malaria, y cólera, previa consulta médica.

El clima de Venezuela es caluroso, pero fácilmente soportable. Se sugiere llevar consigo ropa ligera, pero siempre es bueno incluir algún suéter o un abrigo liviano, particularmente si viaja a los Andes.