Resumen Cap. IV y v Luis Mar Roman

17
INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICA INGENIERIA EN SISTEMAS COMPUTACIONALES MATERIA: Sistemas Programables NOMBRE DEL TRABAJO Resumen Capitulo IV: Organización de la Memoria. Capítulo V: Arquitectura Interna DOCENTE: M. en C. Ricardo Venegas Guzmán PRESENTA: Luis Mar Román

description

ghgjgjgjgjgjgjjgjgj

Transcript of Resumen Cap. IV y v Luis Mar Roman

Page 1: Resumen Cap. IV y v Luis Mar Roman

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICA

INGENIERIA EN SISTEMAS COMPUTACIONALES

MATERIA:Sistemas Programables

NOMBRE DEL TRABAJO

ResumenCapitulo IV: Organización de la Memoria.

Capítulo V: Arquitectura Interna

DOCENTE:

M. en C. Ricardo Venegas Guzmán

PRESENTA:

Luis Mar Román

POZA RICA DE HGO., VER. 24 de Agosto de 2015

Page 2: Resumen Cap. IV y v Luis Mar Roman

4.1 ARQUITECTURA INTERNA DEL PIC16F84.La figura 4-1 representa el diagrama de bloques del PIC16F84. Destacan los siguientes componentes que serán explicados más adelante:

Memoria de programación tipo ROM flash de 1 k X 14 bits Memoria de datos dividida en 2 áreas:

Área RAM construida por 22 registros de propósito específico (SFR) y 68 de propósitos general.

Área EEPROM de datos formada por 64 registros de 8 bits.

Capitulo IV:

Organización de la Memoria.

Page 3: Resumen Cap. IV y v Luis Mar Roman

4.2 ORGANIZACIÓN DE LA MEMORIA.Dentro del PIC16F84 se distinguen en tres bloques de memoria:

Memoria de programa. En sus 1024 posiciones contiene el programa con las instrucciones que gobierna la aplicación. Es del tipo no volátil, es decir, el programa se mantiene aunque desaparezcan la alimentación.

Memoria de datos RAM. Se destina a guardar las variables de datos. es volátil, es decir, los datos almacenados se borran cuando desaparecen la alimentación.

Memoria EEPROM d datos. Es una pequeña área de memoria de datos de lectura y escrita no volátil, gracias a la cual, un corte de suministro de la alimentación no ocasionada la pedida de la información, que estará disponible al reinicializarse el programa.

Page 4: Resumen Cap. IV y v Luis Mar Roman

4.3 MEMORIA DE PROGRAMA.El microcontrolador está diseñado para que en su memoria de programa almacenen todas las instrucciones del programa de control. El programa a ejecutar siempre es el mismo, por tanto, debe estar grabado de forma permanente. Esta caracterización de “no volatilidad” garantiza que la memoria mantenga su contenido aun sin alimentación e forma que el programa no necesite volver a ser cargado en el sistema cada vez que se utilice.

A este proceso se le llama programar o grabar el microcontrolador.

Page 5: Resumen Cap. IV y v Luis Mar Roman

4.4. EL CONTADOR DE PROGRAMA (PC).Un programa está compuesto por instrucción que generalmente se ejecutan de forma secuencial. El PIC16F84 cada una de estas instrucción ocupa una posición de memoria del programa.

El contador de programa o PC (Program Counter) es un registro interno que se utiliza para direccionar las instrucciones del programa de control que están almacenadas en la memoria de programa.

El microcontrolador PIC16F84 dispone de un contador de programa que le permite direccionar los 1k X 14 bits de memoria de programa implementada, desde la posición 000h hasta 3FFh.

4.5 MEMORIA DE DATOS.En esta memoria se almacenan los datos que se manejan en un programa. Estos datos varían continuamente, por lo que esta memoria debe ser lectura y escrita. Se utiliza memoria denominada RAM que es de tipo volátil, con lo cual los datos se borran en caso de que desaparezca la alimentación

La figura 4-1 muestra la estructura dela memoria de datos RAM donde se aprecia que está dividida en dos partes:

Registro de Funciones Especiales SFR (Special función Registers). Son los primeros registros, cada uno de ellos cumplen un propósito especial en el control de microcontrolador.

Registro de Propósito General GPR (General Purpose Registers). Son registros de uso general que se pueden usar para guardar datos temporales del programa que se está ejecutando. Tiene 68 posiciones.

La memoria de datos cuenta con dos bancos de memoria, Banco 0 y Banco 1:

Registros del SFR esta agrupados entre la direcciones 00h a 0Bh para el Banco 0 y entre las direcciones 80h hasta 8Bh para el Banco 1. Algunos

4.6 DIFERENCIAS ENTRE EL PIC16F84A Y EL PIC16C84.El microcontrolador PIC16C84 es un microcontrolador anterior al PIC16F84A y totalmente compatible con él, la diferencia principal es que su memoria de datos tiene menor tamaño. El PIC16C84 tiene 32 registros de propósito general (c1 mapa de memoria de datos llega

Page 6: Resumen Cap. IV y v Luis Mar Roman

hasta 2Fh) frente a los 68 registros disponibles en el PIC16F84. El PIC16C84 fue remplazado por el PIC16F84A de modo que los diseños que lo utilicen como elemento de control deben ser actualizados.

4.7 REGISTROS DEL SFREstos registros se describen en su totalidad en el apéndice E y se irán explicancando a lo largo del libro.

4.8 REGISTROS RELACIONADOS CON LOS PUERTOS.Los registros relacionados directamente con los puertos son:

PORTA, En posición 05h del Banco 0. Puerto de entrada/salida de 5 bits (pines RA4:RA0).

Puerto A puede leerse y escribirse, como si se entrase un registro cualquiera

El registro que controla el sentido (entrada o salida) de sus pines se llama TRISA y está localizado en la dirección del Banco 1.

PORTB, en posición 06h del Banco 0. Puerto de entrada/salida de 8 bits (pines RB7:RA0).

El Puerto B puede leerse o escribirse como si se tratara de un registro cualquier.

El registro que controla el sentido (entrada o salida) de sus pines se llama TRISB y está localizado en la dirección 86h del Banco 1.

TRISA, posición 85h del Banco 1. Registro de configuración de las líneas del puerto A.

Es el registro de control para el Puerto A.

4.9 REGISTRO DE PCL Y CONTROLADOR DEL PROGRAMA.El PIC16F84 dispone de un contador de programa de 13 bits construido por dos registros.

PCL ( Program Counter Low Byte), Implementado en la posición de memoria RAM 02h (y duplicado en la posición 82h del Banco 1). Su contenido corresponde con los 8 bits más bajo del contador de programa. Este registro puede ser leído o escrito.

PCH (Program Counter High Byte), Los cinco bits de mayor peso del PC corresponde con este registro. No puede ser leído ni escrito directamente.

Page 7: Resumen Cap. IV y v Luis Mar Roman

4.10 REGISTRO DE TRABAJO W.El registro de trabajo W (Work) es el registro principal y participa en la mayoría de las instrucciones. Se localiza dentro de la CPU del PIC16F84 como se aprecia en la figura.

La misma figura muestra como el microcontrolador posee una ALU (Arithmetic Logic Unit) de 8 bits. Esta se encarga de realizar operaciones lógicas o aritméticas que requiere la ejecución del programa con dos operandos, uno que proviene del registro W el otro en cualquier otro registro.

4.11 REGISTRO DE ESTADO O STATUS.El registro de estado o STATUS ocupa la posición 03h del Banco 0 o la 83h del Banco 1 y es uno de los registros más importantes y utilizados. Los bits de este registro indican el estado de la última operación aritmética o lógica realizada, la causa de reset y los bits de selección de banco para la memoria de datos. A los bits del registro de estado se les suele denominar flags o banderas.

4.12 ESTADO DE LOS REGISTROS TRAS UN RESET.Después de un reset, los registros se encontraran en el estado que se indica en la tabla 4-3 en la que las dos primeras columnas muestran datos más importantes que son:

Conexión a la alimentación. Estado de los registros inmediatamente después de conectar la alimentación.

MCLR modo normal. Estado de los registros después de llevar pin MCLR a masa funcionamiento normal.

Page 8: Resumen Cap. IV y v Luis Mar Roman

4.13 REGISTRO DE CONFIGURACIÓN.El PIC16F84A dispone de una palabra de configuración (Configuration Word) de 14 bits que se escribe durante el proceso de grabación del microcontrolador y que no se puede modificar durante la ejecución de un programa. Dichos bits ocupan la posición reserva da de memoria de programa 2007h.

FOSC<1:0> (flags Oscilator Selection). Selección el tipo de oscilador:

FOSC = 00. Oscilador de bajo consimo LP (32 kHz – 200 kHz) FOSC = 01. Oscilador estándar XT (100kHz – 4 MHz) FOSC = 10. Oscilador de alta velocidad HS ( 4 MHz – 20 MHz) FOSC = 11. Oscilador de bajo coste RC.

WDTE (Watchdog Enable). Bit de habilitación Del Watchdog. WDTE = 0. Watchdog deshabilitado. WDTE = 1. Watchdog Habilitado.

PWRTE (Power-up timer Enable). Activación del temporizador Power-Up.

PWRTE = 0. Temporizador Power-Up deshabilitado. PWRTE = 1. Temporizador Power-Up habilitado.

CP (Code Protection Bit). Bit de protección de código. CP = 0. Toda la memoria de programa está protegida contra

lecturas indeseables. CP = 1. La memoria e programa se puede leer. No está

protegida.

Page 9: Resumen Cap. IV y v Luis Mar Roman

ARQUITECTURA INTERNA.Al igual qe los demás miembros de su familia, el PIC16F84 se caracteriza por:

Tener una arquitectura Harvard. Su procesador es segmentado o Pipeline. Su procesador es tipo RISC. El formato de las instrucciones es Ortogonal.

Capitulo V:

Arquitectura Interna

Page 10: Resumen Cap. IV y v Luis Mar Roman

La arquitectura está basada en banco de registros.

5.1 MICROPROCESADOR Y MICROCONTROLADORUn microprocesador es básicamente un chip que contiene la CPU (Central Procesing Unit) que se encarga de controlar todo el sistema.

El sistema digital basado en un microprocesador es un sistema abierto ya que su configuración define según la aplicación a la que se destine.

Se puede acoplar los módulos necesarios para la configurarlo con las características qe e desee.

Un microcontrolador es un sistema cerrado lo que quiere decir que en un solo circuito integrado se encierran un sistema digital programable completo.

Este dispositivo se destina a gobernar una sola tarea que no se puede modificar, los microcontroladores disponen de los bloques esenciales:

CPU. Memorias de datos y programa. Reloj. Periféricos de entrada/salidas.

La diferencia fundamental entre ambos:

Un microcontrolador es un sistema digital y está formado por un solo circuito integrado lo que reduce notablemente el tamaño y coste.

Un microprocesador está compuesto por varios circuitos integrados para soportar las memorias y los módulos de entrada/salida, tiene mayor tamaño, más coste y menos fiabilidad.

Page 11: Resumen Cap. IV y v Luis Mar Roman

5.2. ARQUITECTURA DE VON NEUMANN.La arquitectura tradicional de sistemas digitales programables se basa en el esquema compuesto de John Von Neumann. Este modelo la unidad central de proceso o CPU está conectada a una memoria única que contiene las instrucciones del programa y los datos.

5.3 ARQUITECTURA HARVARD.Tradicionalmente los sistemas digitales programables se basaban en la arquitectura de Von Neumann, caracterizada por disponer de una única memoria en la que se almacenan tanto los datos como las instrucciones A esta memoria se accede a través de un sistema de buses único. La única ventaja que posee es que simplifica la lógica del microcontrolador.

Los microcontroladores PIC utiliza la arquitectura Harvard que dispone de dos memorias independientes a las que se conecta mediante dos grupos de buses separadas:

Memoria de datos. Memoria de programa.

Sus principales ventajas que la arquitectura Harvard son:

El tamaño de las instrucciones no está relacionado con el de los datos y por lo tanto puede ser optimizado para cualquier instrucción ocupe una sola posición de memoria de programa.

El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad de operación.

5.4 PROCESADOR SEGMENTADO.Un procesador segmentado o Pipeline realiza simultáneamente la ejecución de una instrucción y la búsqueda de código de la siguiente de esta manera se puede ejecutar una instrucción en un ciclo.

Page 12: Resumen Cap. IV y v Luis Mar Roman

Este sistema acompañada de una estructura Harvard permite que las instrucciones se ejecutan en un solo ciclo maquina (4 ciclos de reloj), salvo en el caso de saltos de programa.

5.5 PROCESADOR RISC.Las CPU’s atendiendo al tipo de instrucciones que utilizan pueden clasificarse fundamentalmente en:

CISC (Complex Instruction Set Computer). Son procesadores con un juego de instrucciones complejo.

RISC (Reduced Instruction Set Computer). Son microprocesadores con un repetorio de instrucciones reducido.

SISC (Specific Instruction Set Computer). Estos procesadores poseen un juego de instrucciones específico para cada aplicación.

5.6 ARQUITECTURA ORTOGONAL.Es un microprocesador con arquitectura ortogonal una instrucción puede utilizar cualquier elemento de la arquitectura como fuerte o destino, es una diferencia muy específica de otros microcontroladores.

Este diagrama representa un diagrama simplificado interna del camino de los datos en la CPU de los microcontroladores PIC frente a los tradicionales.

La salida de la ALU va solamente a la entrada del acumulador, el resultado de cualquier operación siempre quedara en este registro.

Page 13: Resumen Cap. IV y v Luis Mar Roman

5.7 PUERTOS.El PIC16F84 dispone de dos puertos se pueden programar individualmente como entradas o como salidas se utilizan casi de la misma forma. Debido al escaso encapsulado, con solo 18 pines, determinadas líneas de estos puertos se comporten con otros recursos internos.

5.8 PUERTO A.Este puerto A esta construido por 5 líneas RA4:RA0 cuyo sentido de trabajo es controlado mediante el registro TRISA, en el que un bit a “0” configura la línea correspondiente como salida y un bit “1” como entrada.

Después de un reset todos los bits del registro TRISA quedan a uno por lo que todas las líneas del Puerto A quedan configuradas como entradas.

5.9 PUERTO B.El puerto b es un producto bidireccional de 8 bits completo en el que solo la línea RBO/INT tiene dos funciones multiplexadas:

Entrada/Salida. Petición de interrupción externa.

Page 14: Resumen Cap. IV y v Luis Mar Roman

La línea RB0 a RB3 adoptan una estructura distinta las de las líneas RB4 a RB7 según se aprecia a continuación.