Upload
flamenquito
View
36
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD DE GUADALAJARA
CENTRO UNIVERSITARIO DE LA COSTA SUR
DIVISIÓN DE DESARROLLO REGIONAL
DEPARTAMENTO DE INGENIERÍAS
Ingeniero en Teleinformática
Técnico Superior Universitario en Teleinformática
ANTOLOGÍA
“Lecturas de Apoyo de Arquitectura de Computadoras”
Por: M. I. E. Jorge Arturo Pelayo López M. C. Karen Hernández Rueda
Junio de 2009
ANTOLOGÍA
Lecturas de Apoyo de Arquitectura de Computadoras
Ingeniero en Teleinformática
Técnico Superior Universitario en Teleinformática
Créditos:
M. I. E. Jorge Arturo Pelayo López M. C. Karen Hernández Rueda
Junio de 2009
i
ÍNDICE
Unidad 1: Introducción a la estructura de computadoras…..….………...….. 1
Introducción…………………………………...…………….…………….……… 2
El modelo de von Neumann………………..………………………………....…... 4
El modelo de interconexión a través de bus....……………………………………. 5
La arquitectura Harvard………………………………………….………….……. 7
Tipos de computadoras…………………………………………………….….….. 8
Lenguajes, compiladores e interpretadores…………………………………..…… 10
¿Qué es un microcontrolador?.................................................................................. 12
Unidad 2: Introducción al microprocesador Z80...……..……………..……… 17
Arquitectura del microprocesador Z80…….……………………………………… 18
Programación…………….………………..…………………………………..…... 27
Mnemónicos……………………………..………………………………………... 29
Modos de direccionamiento…...………………………………….………………. 20
Unidad 3: Introducción al microcontrolador ATtiny2313.…………………… 40
Características del Arquitectura microcontrolador ATtiny2313……..…………… 41
Configuración de los pines………………..…………………………………..…... 43
Diagrama de bloques……...……………..………………………………………... 44
Descripción de los pines…..…...………………………………….………………. 45
Memorias del microcontrolador ATtiny2313……………………………………... 46
El oscilador de cristal……………………………………………………………... 48
El reloj externo……………………………………………………………………. 49
Auto programador del flash……………………………………………………….. 50
Corriente vs frecuencia……………………………………………………………. 51
Mnemónicos del attiny2313………………………………………………………. 52
Características físicas del chip……………………………………………………. 54
Referencias bibliográficas……………………….....…….……………………… 55
ii
PRÓLOGO
La presente antología está dirigida a estudiantes que cursan la materia de Arquitectura de
Computadoras, asignatura que se imparte en las carreras de Ingeniero en Teleinformática y
Técnico Superior Universitario en Teleinformática que se ofertan en el Centro Universitario
de la Costa Sur. En la primera unidad se describe se describen las dos grandes arquitecturas de
computadoras como lo son la de von Neumann y la arquitectura Harvard. También se
muestra una clasificación de los tipos de computadoras existentes. Así mismo, define al
lenguaje de programación, a los compiladores e interpretes. Por ultimo se describe al
microcontrolador y la comparación con el microprocesador.
En la segunda se describe la arquitectura del microprocesador Z80. También se describe la programación y los mnemónicos así como los modos de direccionamiento para este microprocesador. En la tercera unidad se describe al microcontrolador ATtiny2313 de la familia Atmel. Se describen sus principales características, la configuración de sus pines, el diagrama de bloques. También se describen sus 120 mnemónicos para su programación. Finalmente en la sección de referencias bibliográficas se muestran las fuentes de donde se obtuvo la información para la elaboración de esta antología.
Antología de Arquitectura de Computadoras
1 INTEL Y TSUTEL
UNIDAD I
INTRODUCCIÓN A LA ESTRUCTURA DE COMPUTADORAS
RESUMEN
En esta unidad se describen las dos grandes arquitecturas de computadoras como lo son la
de von Neumann y la arquitectura Harvard. También se muestra una clasificación de los
tipos de computadoras existentes. Así mismo, define al lenguaje de programación, a los
compiladores e interpretes. Por ultimo se describe al microcontrolador y la comparación
con el microprocesador.
Antología de Arquitectura de Computadoras
2 INTEL Y TSUTEL
INTRODUCCIÓN
Fuente: monografias.com, (2009). Arquitectura de las computadoras. Extraído el 17 de
junio de 2009, desde http://www.monografias.com/trabajos17/arquitectura-
computadoras/arquitectura-computadoras.shtml
El concepto de arquitectura en el entorno informático proporciona una descripción de la
construcción y distribución física de los componentes de la computadora.
La arquitectura de una computadora explica la situación de sus componentes y permite
determinar las posibilidades de que un sistema informático, con una determinada
configuración, pueda realizar las operaciones para las que se va a utilizar.
En la actualidad es muy familiar el aspecto exterior de una computadora o, por lo menos, de
una microcomputadora; pero se ha de advertir que, salvando las diferencias de tamaño y la
posibilidad de teleproceso (manejo del sistema informático a grandes distancias a través de
líneas de comunicaciones de diferentes tipos), en general, los sistemas informáticos se
dividen físicamente en la unidad central del sistema y los periféricos que permiten
conectarlo al mundo exterior.
La Unidad Central del Sistema es un habitáculo en forma de caja donde se sitúa el
«cerebro» de la computadora, esto es, la unidad central de proceso (CPU), así como los
distintos componentes que van a ayudar al sistema informático en sus operaciones
habituales (bus, memorias, fuentes de alimentación eléctrica, etcétera).
La unidad central de proceso se compone de:
• Una Unidad de Control que manejará los diferentes componentes del sistema
informático así como los datos a utilizar en los diferentes procesos.
• Una Unidad Aritmético-Lógica que realizará las diferentes operaciones de cálculo
en las que la computadora basa su funcionamiento.
• Unos Registros del Sistema que sirven como área de trabajo interna a la unidad
central de proceso.
La unidad central de proceso se conecta a una serie de memorias que le sirven como
soporte para el manejo de los datos y programas que se han de utilizar mientras se
encuentre operativa.
Las diferentes memorias del sistema informático (Random Access Memory o RAM y Read
Only Memory o ROM) son componentes fundamentales de la computadora ya que van a
ser, en el caso de la RAM, el área de trabajo donde el microprocesador va a realizar las
diferentes operaciones en que se van a descomponer los procesos solicitados por el usuario,
mientras que la ROM va a servir para ayudar a la computadora a realizar las diferentes
Antología de Arquitectura de Computadoras
3 INTEL Y TSUTEL
operaciones de arranque del sistema informático previas a que el sistema operativo tome el
control de las diferentes tareas a realizar.
La unidad central de proceso y las memorias se conectan entre ellas por medio del bus.
El bus es un enlace de comunicaciones que conecta todos los componentes que configuran
el sistema informático y permite la transferencia de información entre ellos. Esta
información se compone de datos y órdenes de comandos para manipular los datos. Existen
varias tecnologías de diseño y construcción de buses entre las que se pueden distinguir las
arquitecturas ISA, EISA y MCA que se verán más adelante.
Otros componentes que se conectan al bus son los puertos de conexión de los diferentes
periféricos asociados a la unidad central del sistema de la computadora y que van a permitir
configurar el sistema informático para una serie diferente de operaciones funcionales que
siempre han de cubrir las necesidades del usuario.
Es evidente que la configuración de un sistema informático ha de realizarse en función de
los objetivos operativos que vaya a cubrir la citada computadora. Así, un sistema
informático que se va a dedicar exclusivamente a CAD/CAM (diseño asistido por
computadora) no tendrá una configuración similar a la de una computadora que va a
dedicarse a controlar los diferentes enlaces de comunicaciones que componen una red
informática.
Los diferentes periféricos que se pueden conectar a un sistema informático se dividen en
cuatro grupos principales:
• Periféricos de Entrada de Información.
• Periféricos de Almacenamiento de Información.
• Periféricos de Salida de Información.
• Periféricos de Comunicaciones.
Antología de Arquitectura de Computadoras
4 INTEL Y TSUTEL
EL MODELO DE VON NEUMANN
Fuente: Murdocca, M. J., (2002). Principios de arquitectura de computadoras. El modelo de
von Neumann. Editorial Prentice Hall. Pág. 4-6.
Las computadoras digitales convencionales presentan un aspecto común que se atribuye a
Von Neumann, aunque los historiadores coinciden en que el diseño en cuestión fue obra de
todo el equipo. El modelo de Von Neumann consta de cinco componentes principales, tal
como lo ilustra la siguiente figura. La unidad de entrada provee las instrucciones y los datos
requeridos por el sistema, los que se almacenan en la unidad de memoria. Las instrucciones
y los datos se procesan en la unidad aritmético-lógica (ALU) bajo la dirección de la unidad
de control. Los resultados obtenidos se envían a la unidad de salida. El conjunto construido
por las unidades aritmético-lógico y de control se designa habitualmente bajo el nombre de
unidad central de proceso (CPU). La mayoría de las computadoras comerciales pude
descomponerse en estas cinco unidades.
Una computadora digital según el modelo de Von Neumann. Las flechas gruesas representan rutas de datos.
Las flechas más finas representan rutas de control.
Unidad
de
memoria
Unidad
Aritmetico
-logica
Unidad
de Salida
Unidad
de
control
Unidad
de
Entrada
Antología de Arquitectura de Computadoras
5 INTEL Y TSUTEL
El programa almacenado es el aspecto más importante del modelo von Neumann. Los
programas se almacenan en la memoria de la computadora junto con los datos a procesar.
Si bien en la actualidad podemos plantear esto como un hecho concreto, antes del
desarrollo de las computadoras de programa almacenado, los programas se almacenaban en
un medio externo, tales como los tableros de clavijas-anteriormente mencionados-, cintas o
tarjetas perforadas. En la computadora de programa almacenado, el programa puede
manipularse como si se tratara de datos. Este concepto da origen a los compiladores y
sistemas operativos, y es la basa de la gran versatilidad del as computadoras modernas.
EL MODELO DE INTERCONEXIÓN A TRAVÉS DE BUS
Fuente: Murdocca, M. J., (2002). Principios de arquitectura de computadoras. El modelo de
von Neumann. Editorial Prentice Hall. Pág. 4-6.
Si bien el modelo von Neumann prevalece en la estructura de las actuales computadoras el
mismo ha sido modernizado. La siguiente figura muestra el modelo de una computadora
que utiliza el sistema de interconexión a través, de los que se denomina bus del sistema. El
modelo considera que el sistema de computación está constituido por tres subconjuntos la
CPU, la memoria y la entrada-salida (E/S). Este refinamiento del modelo con Neumann
combina a la ALU y la unidad de control en un solo bloque funcional, la CPU. Las
unidades de entrada y salida se combinan, asimismo, en una única unidad de entrada-salida.
Lo más importante de este modelo es que realiza las comunicaciones entre los componentes
por medio de un camino compartido conocido como bus del sistema, constituido a su vez
por un bus de datos (que transporta la información que se está trasmitiendo), un bus de
direcciones (que determina hacia donde está siendo enviada dicha información) y un de
control (que determina hacia donde está siendo enviada dicha información). Existe también
un bus de alimentación, que lleva energía eléctrica a los componentes. Este último no figura
en los esquemas pero se sobre entiende su presencia. Algunas arquitecturas pueden tener,
además de los anteriores, un bus de entrada-salida.
Físicamente, los buses están constituidos por conjuntos de cables agrupados de acuerdo con
su función. Un bus de datos de 32 bits contiene 32 cables individuales, cada uno de los
cuales trasporta un bit de datos (distinguiéndolo de la información de direcciones duales
clasificados de acuerdo con su función.
El bus de datos trasporta datos entre los componentes del sistema. Algunos sistemas tienen
buses de datos separados para el ingreso o la salida de información hacia o desde la CPU,
en cuyo caso existan un bus de entra de datos y otro bus de salida de datos. Pero más a
menudo, un único bus de datos cumple con la función de transportar los datos en una u otra
dirección, aunque nunca en ambas direcciones en forma simultánea.
Antología de Arquitectura de Computadoras
6 INTEL Y TSUTEL
El modelo de un sistema de computación basado en un bus. (Aportado por Donald Chiarulli, Universidad de
Pittsburg).
Si el bus tiene ser compartido por diferentes elementos que se comunican entre sí, los
elementos deben tener identidades distintas: direcciones. En algunas computadoras, todas
las direcciones se suponen direcciones de memoria sin importar que formen parte de las
memoria del sistema o que, en realidad, sean dispositivos de entrada-salida separadas.
La localización o dirección de memoria identifica una celda de memoria en la que se
almacena información, tal como se utiliza la dirección postal para identificar el lugar en que
un individuo recibe o envía correspondencia. Durante una operación de lectura o escritura
debe leerse o escribirse el dato. Debe notarse que las expresiones “lectura” y “escritura” se
plantean con respecto a la CPU: la CPU lee datos desde la memoria y los escribe en la
memoria. Si se requiere leer un dato desde la memoria, el bus de datos contendrá el valor
leído desde la celda de memoria seleccionada. Si la información se escribiera en memoria,
el bus de datos contendría el valor de dato que se pretende almacenar en la memoria.
El bus de control es algo bastante más complejo, por lo que el análisis de este bus que dará
diferido para capítulos posteriores. Por el memento, el bus de control pude considerarse
como el elemento que permite la coordinación de acceso a los buses de datos y de
direcciones, y la orientación de datos hacia componentes específicos.
CPU (ALU,
registros
y unidad
de control)
Memoria
Entrada-
Salida
(E/S)
Bus de datos
Bus de direcciones
Bus de control
Bu
s d
el
Sis
tem
a
Antología de Arquitectura de Computadoras
7 INTEL Y TSUTEL
LA ARQUITECTURA HARVARD
Fuente: Angulo Usategui, J. M., Angulo Martínez, I., (2003). Microcontroladores PIC
Diseño práctico de aplicaciones, tercera edición. ¿Qué es un microcontrolador?
Editorial Mc Graw Hill. Pág. 1-6.
En la arquitectura Harvard son independientes la memoria de instrucciones y la memoria
de datos cada una dispone de su propio sistema de buses de acceso. Esta dualidad, además
de propiciar el paralelismo, permite la adecuación del tamaño de las palabras y los buses a
los requerimientos específicos de las instrucciones y de los datos. También la capacidad de
cada memoria es diferente (siguiente figura).
En la arquitectura <<Harvard>> la memoria de instrucciones y la de datos con independientes, lo que
permite optimizar sus características y propiciar el paralelismo. En la figura, la memoria de instrucciones
tiene 1 K posiciones de 14 bits cada una, mientras que la de daros sólo dispone de 512 posiciones de un byte.
UCP
UCP
UCP
10
9
14
8
BUS DE DIRECCION
DE INSTRUCCIONES
BUS DE DATOS
BUS DIRECCION
DE DATOS
BUS DE
INSTRUCCIONES
Antología de Arquitectura de Computadoras
8 INTEL Y TSUTEL
TIPOS DE COMPUTADORAS
Fuente: Martínez Garza, J., Olvera Rodríguez, J. A., 2(000). Organización y arquitectura de
computadoras. Tipos de computadoras. Editorial Prentice Hall. Pág. 7-8.
De acuerdo con su capacidad, las computadoras digitales han catalogado tradicionalmente
como supercomputadoras, equipos principales (MAIN FREAMES), minicomputadoras y
microcomputadoras.
Las supercomputadoras tienen la mayor capacidad de cómputo y almacenamiento y su
costo es del orden de 10 veces el de un equipo principal. Estas maquinas generalmente se
utilizan en centros de investigación, algunas universidades y empresas que tienen necesidad
de procesar grandes volúmenes de información. Las aplicaciones a que se dedican son
cálculos científicos, diseño y simulación principalmente.
Los equipos principales incluyen computadoras digitales con gran capacidad tanto de
procesamiento como de memoria principal y almacenamiento secundario. Estos sistemas
computacionales son costosos y generalmente son utilizados como sistemas centrales
corporativos.
Las minicomputadoras son equipos que tienen capacitada de procesamiento y
almacenamiento en un rango intermedio. Originalmente, el termino se usaba para describir
computadoras digitales cuya unidad central de proceso, que es la que ejecuta las
instrucciones y controla la operación de la maquina, estaba contenida en una sola tarjeta de
circuito impreso. Su costo es del orden de 10 veces menor que el de los equipos principales.
Su aplicación es similar a los equipos centrales para empresas pequeñas o medianas.
Las microcomputadoras, en su definición original, son computadoras digitales con la
característica de que toda la unidad central de proceso esta contenida en un solo circuito
integrado. El costo de estos equipos es aproximadamente 100 veces menor que el de un
equipo principal pero su capacidad de computo y almacenamiento es menor que el de una
minicomputadora.
En la actualidad, las definiciones anteriores que no son tan claras, principalmente entre
minicomputadoras y microcomputadoras dado que los avances en electrónica de estado
sólido han permitido construir computadoras cuyo procesador esta en un solo circuito
integrado, pero que tienen una capacidad de computo similar a la que tenían los equipos
principales de hace 10 o 15 años.
Actualmente tiene mayor sentido pensar en términos de esta otra clasificación:
computadoras personales, estaciones de trabajo, equipos principales y supercomputadoras.
Las computadoras personales son microcomputadoras de bajo costo, entre las que se
incluyen computadoras de escritorio y computadoras portátiles. Tanto su capacidad de
computo como de almacenamiento continúan creciendo a medida que avanza la tecnología,
sin embargo, son las que tienen la menor capacidad de computo. Las principales que se
Antología de Arquitectura de Computadoras
9 INTEL Y TSUTEL
usan en estos equipos son procesamiento de texto hojas de cálculo, diseño de
presentaciones, agendas personales, correo electrónico, pequeñas bases de datos,
interconexión a redes de cómputo y aplicaciones de tipo personal.
Las estaciones de trabajo son computadoras cuyo costo es aproximadamente de 3 a 10
veces el de una computadora personal. Tienen mayor capacitada de cómputo y
almacenamiento, lo cual se les permite realizar tareas más complejas. Estos equipos en
general se enfocan a aplicaciones industriales o científicas y en la mayoría de las veces
están conectadas a unas computadoras principales. En las estaciones de trabajo se
visualizan los resultados de las aplicaciones que se ejecutan en un equipo principal y que
requieren gran capacidad de cómputo, como sistemas de diseño asistido por computadora.
Una característica importante de las estaciones de trabajo es que cuentan con pantallas de
video de alta resolución.
Actualmente, la definición de equipo principal y supercomputadora siguen siendo validos,
si bien es cierto que estas maquinas aumentan su capacidad de computo y almacenamiento
a pasos agigantados.
Dentro de las supercomputadoras también existen dos tipos principales: las computadoras
vectoriales y los multiprocesadores. Las computadoras vectoriales cuentan con
procesadoras vectoriales, los cuales pueden realizar una misma operación sobre un conjunto
de datos en forma simultánea. Por otro lado, los multiprocesadores son computadoras que
tienen varios procesadores independientes entre los cuales se distribuyen las operaciones
que tienen que realizarse para resolver un mismo problema.
Finalmente, existen cierto tipo de computadoras de propósito especial, como las utilizadas
en aplicaciones de control de dispositivos específico y videojuegos.
Antología de Arquitectura de Computadoras
10 INTEL Y TSUTEL
LENGUAJES, COMPILADORES E INTERPRETADORES
Fuente: Lenguajes de Programación, (2009). Lenguajes de programación. Extraído el 18 de
junio de 2009, desde http://www.lenguajes-de-programacion.com/lenguajes-de-
programacion.shtml
Los lenguajes de programación son herramientas que nos permiten crear programas y
software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc.
Una computadora funciona bajo control de un programa el cual debe estar almacenado en la
unidad de memoria; tales como el disco duro.
Los lenguajes de programación de una computadora en particular se conocen como código
de máquinas o lenguaje de máquinas
Estos lenguajes codificados en una computadora específica no podrán ser ejecutados en otra
computadora diferente.
Para que estos programas funcionen para diferentes computadoras hay que realizar una
versión para cada una de ellas, lo que implica el aumento del costo de desarrollo.
Por otra parte, los lenguajes de programación en código de máquina son verdaderamente
difíciles de entender para una persona, ya que están compuestos de códigos numéricos sin
sentido nemotécnico.
Los lenguajes de programación facilitan la tarea de programación, ya que disponen de
formas adecuadas que permiten ser leídas y escritas por personas, a su vez resultan
independientes del modelo de computador a utilizar.
Los lenguajes de programación representan en forma simbólica y en manera de un texto los
códigos que podrán ser leidos por una persona.
Los lenguajes de programación son independientes de las computadoras a utilizar. Existen estrategias que permiten ejecutar en una computadora un programa realizado en un
lenguaje de programación simbólico. Los procesadores del lenguaje son los programas que
permiten el tratamiento de la información en forma de texto, representada en los lenguajes
de programación simbólicos.
Hay lenguajes de programación que utilizan compilador.
La ejecución de un programa con compilador requiere de dos etapas:
1) Traducir el programa simbólico a código máquina
2) Ejecución y procesamiento de los datos.
Otros lenguajes de programación utilizan un programa intérprete o traductor, el cual analiza
directamente la descripción simbólica del programa fuente y realiza las instrucciones dadas.
Antología de Arquitectura de Computadoras
11 INTEL Y TSUTEL
El intérprete en los lenguajes de programación simula una máquina virtual, donde el
lenguaje de máquina es similar al lenguaje fuente.
La ventaja del proceso interprete es que no necesita de dos fases para ejecutar el programa,
sin embargo su inconveniente es que la velocidad de ejecución es más lenta ya que debe
analizar e interpretar las instrucciones contenidas en el programa fuente.
Antología de Arquitectura de Computadoras
12 INTEL Y TSUTEL
¿QUÉ ES UN MICROCONTROLADOR?
Fuente: Angulo Usategui, J. M., Angulo Martínez, I., (2003). Microcontroladores PIC
Diseño práctico de aplicaciones, tercera edición. ¿Qué es un microcontrolador?
Editorial Mc Graw Hill. Pág. 1-6.
Es un circuito integrado programable que contiene todos los componentes de un
computador. Se emplea para controlar el funcionamiento de una tarea determinada y,
debido a su reducido tamaño, suele ir incorporado en el propio dispositivo al que gobierna.
Esta ultima característica es la que le confiere la denominación de >>controlador
incrustado>> (embedded controller).
El microcontrolador es un computador dedicado. En su memoria solo reside un programa
destinado a gobernar una aplicación determinada; sus líneas de entrada/salida soportan el
conexionado de los censores y actuadotes del dispositivo a controlar, y todos los recuerdos
complementarios disponibles tienen como única finalidad atender sus requerimientos. Una
vez programado y configurado el microcontrolador solamente sirve para gobernar la tarea
asignada.
Un microcontrolador es un computador completo, aunque de ilimitadas prestaciones, que
está contenido en el chip de un circuito integrado y se destina a gobernar una sola tarea.
Diferencia entre microprocesador y microcontrolador
El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso
(UCP) también llamada procesador, de un computador. La UCP esta formada por la Unidad
de Control, que interpreta las instrucciones, y el Camino de Datos, que las ejecuta.
Las patitas de un microprocesador sacan al exterior las líneas de sus buses de direcciones,
datos y control, para permitir conectarle con la Memoria y los Módulos E/S y configurar un
computador implementado por varios circuitos integrados. Se dice que un microprocesador
es un sistema abierto porque su configuración es variable de acuerdo con la aplicación a la
que se destine
Un microprocesador es un sistema abierto con el que puede construirse un computador
con las características que se desee, acoplándole los módulos necesarios.
Un microcontrolador es un sistema cerrado que contiene un computador completo y de
prestaciones limitadas que no se pueden modificar.
Antología de Arquitectura de Computadoras
13 INTEL Y TSUTEL
Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de lo buses en el exterior
permite que se configure a la medida de la aplicación.
El microcontrolador en un sistema cerrado. Todas las partes del computador están contenidas en su interior
y sólo salen del exterior las líneas que gobiernan los periféricos.
Si sólo se dispusiese de un modelo de microcontrolador, éste debería tener muy potenciados
todos sus recursos para poderse adaptar a las exigencias de las diferentes aplicaciones. Esta
potenciación supondría en muchos casos un despilfarro. En la práctica cada fabricante de
microcontroladores oferta un elevado número de modelos diferentes, desde los más
MEMORIA
CONTROLADOR
1
CONTROLADOR
2
BUS DE
DATOS
BUS DE
DIRECCIONES
BUS DE
CONTROL
MICROPROCESADOR
PERIFÉRICOS
PERIFÉRICOS
μP
MICROCONTROLADOR
PERIFÉRICOS
PERIFÉRICOS
μC
Antología de Arquitectura de Computadoras
14 INTEL Y TSUTEL
sencillos hasta los más poderosos. Es posible seleccionar la capacidad de las memorias, el
número de líneas de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad de
funcionamiento, etc. Por todo aquello, un aspecto muy destacado del diseño es la selección
del microcontrolador a utilizar.
Arquitectura interna
Un microcontrolador posee todos los componentes de un computador, pero con unas
características fijas que no pueden alterarse.
Las partes principales de un microcontrolador son:
1. Procesador
2. Memoria no volátil para contener el programa
3. Memoria de lectura y escritura para guardar los datos
4. Línea de E/S para los controladores de periféricos:
a) Comunicación paralelo
b) Comunicación serie
c) Diversas puertas de comunicación (bus 12C, USB, etc.)
1. Recursos auxiliares:
a) Circuito de reloj
b) Temporizadores
c) Perro Guardián ( <<watchdog>>)
d) Conversores AD y DA
e) Comparadores analógicos
f) Protección ante fallos de la alimentación
g) Estado de reposo o de bajo consumo
A continuación se pasa revista a las características más representativas de cada uno de los
componentes del microcontrolador.
El procesador
La necesidad de conseguir elevados rendimientos en el procesamiento de las instrucciones
ha desembocado en el empleo generalizado de procesadores de arquitectura de Harvard
frente a los tradicionales que seguían la arquitectura de von Neumann. Esta última se
caracterizaba porque la UCP (Unidad Central de Proceso) se conectaba con una memoria
única, donde coexistían datos e instrucciones, a través de un sistema de buses (véase
siguiente figura).
Antología de Arquitectura de Computadoras
15 INTEL Y TSUTEL
En la arquitectura de <<von Neumann>> la UCP se comunicaba a través de un sistema de buses con la
Memoria, donde se guardaban las instrucciones y los datos.
En la arquitectura Harvard son independientes la memoria de instrucciones y la memoria
de datos cada una dispone de su propio sistema de buses de acceso. Esta dualidad, además
de propiciar el paralelismo, permite la adecuación del tamaño de las palabras y los buses a
los requerimientos específicos de las instrucciones y de los datos. También la capacidad de
cada memoria es diferente (siguiente figura).
En la arquitectura <<Harvard>> la memoria de instrucciones y la de datos con independientes, lo que
permite optimizar sus características y propiciar el paralelismo. En la figura, la memoria de instrucciones
tiene 1 K posiciones de 14 bits cada una, mientras que la de daros sólo dispone de 512 posiciones de un byte.
El procesador de los modernos microcontroladores responde a la arquitectura RISC
(Computadores de Juego de Instrucciones Reducido), que se identifica por poseer un
repertorio de instrucciones máquina pequeño y simple, de forma que la mayor parte de las
instrucciones se ejecutan en un ciclo de instrucción.
Otra aportación frecuente que aumenta el rendimiento del computador es el fenómeno del
paralelismo implícito, que consiste en la segmentación del procesador (pipe-line),
descomponiéndolo en etapas para poder procesar una instrucción diferente en cada una de
ellas y trabajar con varias a la vez.
UCP
UCP
UCP
10
9
14
8
BUS DE DIRECCION DE INSTRUCCIONES
BUS DE DATOS
BUS DIRECCION DE DATOS
BUS DE INSTRUCCIONES
UCP
MEMORIA
INSTRUCCIONES
+
DATOS
BUS COMÚN DE
DIRECCIONES
BUS DE DATOS E
INSTRUCCIONES
8
Antología de Arquitectura de Computadoras
16 INTEL Y TSUTEL
El alto rendimiento y elevada velocidad que alcanzan los modernos procesadores,
como el que poseen los microcontroladores PIC, se debe a la conjunción de tres técnicas:
Arquitectura Harvard
Computador tipo RISC
Segmentación
Antología de Arquitectura de Computadoras
17 INTEL Y TSUTEL
UNIDAD 2
INTRODUCCIÓN AL MICROPROCESADOR Z80
RESUMEN
En esta unidad se describe la arquitectura del microprocesador Z80. También se describe la
programación y los mnemónicos así como los modos de direccionamiento para este
microprocesador.
Antología de Arquitectura de Computadoras
18 INTEL Y TSUTEL
ARQUITECTURA DEL MICROPROCESADOR Z80
Fuente: Uruñuela M., J. M., (1989). Mircroprocesadores, Programación e interconexión,
segunda edición. Editorial Mc Graw Hill.
El Z80 fue el primero de la tercera generación, sin embargo es uno de los
microprocesadores de 8 bits más empleado hasta nuestros días, se encuentran versiones
mejores del mismo tales como Z80A, Z80B, Z80H, éstas se caracterizan por trabajar a
frecuencias superiores de 4 Mcps, 6.5 Mcps y 8 Mcps respectivamente, las características
fundamentales del Z80 son:
1. El transporte de señales se realiza sobre tres buses, el bus de direcciones, el bus de
datos, así como el bus de control.
2. Régimen de interrupción uniforme, con la posibilidad de encadenar las prioridades
de los circuitos periféricos.
3. Alto grado de programabilidad.
4. Reloj único.
5. Fuente de voltaje única de +5 Volts.
Un sistema con Z80 se completa con el empleo de memorias estándar de lectura y
memorias estáticas o dinámicas de lectura y escritura, además pertenecen al sistema,
puertos de entrada y salida paralelo, interfaces de comunicación serie, sistemas contadores
temporizadores y circuitos de acceso directo a memoria.
El funcionamiento del sistema consiste en que las instrucciones del microprocesador, que
están en la memoria ROM, se ejecutan en una forma secuencial de operación, la fuente de
datos es, la propia CPU, los periféricos o las memorias, la transferencia interna de datos es
a través del CPU, exceptuando la transferencia de datos en el proceso de acceso directo a
memoria.
El Z80 es una versión apreciablemente mejorada tanto en circuitería como en características
de programación del antiguo modelo INTEL 8080, el Z80 resulta ser un microprocesador
más rápido y sencillo en el desarrollo de sistemas ya que solo usa una fuente de
alimentación de +5 Volts, contiene íntegramente todo el conjunto de instrucciones del
8080, lo cual le permite ejecutar todos los programas escritos para el CPU 8080, contiene el
Z80 una expansión adicional de 80 instrucciones de ahí se deriva su nombre, su
repertorio suma un total de 156 instrucciones.
Antología de Arquitectura de Computadoras
19 INTEL Y TSUTEL
El microprocesador Z80 contiene las siguientes unidades funcionales;
1).- Unidad aritmética y lógica
2).- El contador de programa
3).- El apuntador del stack
4).- Registros de propósito general
5).- Registros de indice
6).- Registros de interrupciones
7).- Registro de banderas
8).- Registro para refrescar memorias dinámicas
LA UNIDAD ARITMÉTICA Y LÓGICA (ALU)
Las operaciones del CPU Z80 se realizan con un grupo de dispositivos lógicos conocidos
comúnmente como unidad aritmética y lógica (ALU) esta efectúa las siguientes
operaciones;
1. Suma binaria.
2. Operaciones lógicas.
3. Complementar a dos.
4. Corrimiento de un bit a la derecha o a la izquierda.
5. Registro de resultados importantes como el acarreo, signo, acarreo auxiliar, paridad
o si el resultado es cero.
6. Comparaciones
7. Poner, Limpiar o probar un bit
EL CONTADOR DE PROGRAMA (PC)
Es un registro de 16 bits, que continuamente tiene la dirección de la localidad de memoria
siguiente que se va a accesar, de esa localidad obtiene el código de la instrucción a
ejecutarse, en la CPU el PC se incrementa en uno, cada vez que el microprocesador lee el
código de la instrucción contenida en la localidad direccionada, de esta forma el contador
del programa direcciona secuencialmente las localidades de la memoria ROM, donde se
encuentra almacenado el programa.
Antología de Arquitectura de Computadoras
20 INTEL Y TSUTEL
EL APUNTADOR DEL STACK (SP)
El microprocesador Z80 cuenta con el registro de pila (SP) o stack pointer que contiene una
dirección de memoria RAM a partir de la cual y en forma descendente, se almacenan los
contenidos de un par de registros, o a partir del cual en forma ascendente se obtienen los
últimos dos datos de 8 bits almacenados en esa área, el SP es un registro de 16 bits, para
almacenar en el stack el contenido de un par de registros se utiliza la instrucción PUSH y
para cargar a un par de registros con los dos últimos bytes del stack se utiliza la instrucción
POP.
REGISTROS DE PROPÓSITO GENERAL
El microprocesador Z80 contiene 14 registros de 8 bits separados en dos grupos;
GRUPO 1; A, B, C, D, E, H, y L
GRUPO 2; A', B', C', D', E', H' y L
Todas las instrucciones trabajan con los registros del grupo 1, con las instrucciones EX y
EXX se logra el intercambio entre los contenidos de los registros del grupo 1 con los
contenidos de los registros del grupo 2, el grupo 2 se utiliza en cierta forma como stack del
grupo 1, dentro de la propia CPU.
Con los 14 registros de propósito general se efectúan por medio de las instrucciones las
siguientes funciones;
1. Recibir datos desde la memoria.
2. Enviar datos hacia la memoria.
3. Incrementar o decrementar en uno su contenido.
4. Formar una dirección con el contenido de un par de registros.
5. Transferir datos entre los registros.
6. Obtener un operando durante las funciones de la ALU.
REGISTROS DE ÍNDICE IX e IY.
Estos son registros de 16 bits cada uno y conservan direcciones base que se usan para modo
de direccionamiento indexado, en este modo un registro de índice se usa como base para
apuntar a una región de la memoria. La dirección efectiva de la localidad de memoria a
donde se va a depositar el dato o de donde se va a leer, se obtiene, al sumar el contenido del
registro de índice y el valor de 8 bits contenido en el campo de "desplazamiento" de las
instrucciones que emplean direccionamiento con índice, estos desplazamientos se
especifican con números enteros signados con el complemento a dos.
Antología de Arquitectura de Computadoras
21 INTEL Y TSUTEL
REGISTRO DE INTERRUPCIONES
El Z80 opera en modo de interrupción en el que responde como una "llamada" indirecta en
respuesta a una solicitud de interrupción. El registro I se usa para este propósito
almacenando los 8 bits más significativos de la dirección indirecta mientras que el
dispositivo que interrumpe proporciona los 8 bits menos significativos de la dirección
índice, esta característica permite que las rutinas servicio de las interrupciones se localicen
en cualquier parte de la memoria y que se puedan accesar en un tiempo muy corto.
BANDERAS DE ESTADO
El microprocesador Z80 tiene un registro de 8 Flips Flops, para monitorear ciertos
resultados de las operaciones de la ALU, a la información que almacenan estos flips-flops
se conoce como banderas de estado, las banderas se actualizan después de cada operación
con alguno de los registros, no todas las operaciones modifican a todas las banderas, de los
8 bits del registro de banderas, únicamente seis registran información útil para el
programador, cuatro de estas banderas se prueban, esto es, se usan como condiciones de
salto (JP), llamada (CALL), o regreso (RET), estas banderas son;
1. La paridad o sobreflujo (P/V). El registro "P" se utiliza para realizar funciones
auxiliares necesarias para el usuario, le sirven para interpretar los resultados, es uno
cuando el resultado de la operación lógica del complemento a dos produce un
acarreo, de otro forma es un cero lógico..
2. SIGN (S); Set if into the result of ALU operation the most significant bit = 1,
otherwise reset.
3. ZERO (Z); Set if result of ALU operation is zero otherwise it is reset.
4. AUXILIARY CARRY; Set if carry out results b3 into b4 otherwise reset.
5. CARRY (C); Set if result of addition or subtraction operation result in a carry or
borrow of the highest order bit, otherwise reset.
TERMINALES DEL MICROPROCESADOR Z80
El Z80 es un microprocesador de 8 bits y cuenta con 158 instrucciones y 10 modos de
direccionamiento. El circuito integrado del microprocesador Z80 se deposita en un
encapsulado Dual In Line de 40 terminales, de las cuales 5 son únicamente de entrada, 24
son de salida y 8 son bidireccionales, además, existen dos que sirven para conectar la fuente
de alimentación y otra más que es la entrada del reloj.
Antología de Arquitectura de Computadoras
22 INTEL Y TSUTEL
Todas ellas tienen características eléctricas compatibles con la tecnología TTL, el intervalo
de voltajes de entrada para un cero lógico es; 0.3 £ Vil £ 0.8 volts, el intervalo del voltaje
de entrada para un uno lógico es; 2.0 £ Vih £ Vcc, el voltaje máximo de salida para un cero
lógico es; Vol=0.4Volts, y el voltaje mínimo de salida para un uno lógico es; Voh=2.4Volts
El Z80 opera con una fuente de alimentación de +5.0 Volts conectada a la terminal 11, (pin
11), la tierra de la fuente se conecta a la terminal GND, (pin 29), el consumo típico de
corriente para el Z80 es de 90 mA.
Cuenta con 18 registros de 8 bits y 4 registros de 16 bits, todos los registros del Z80 se
implementan con una RAM estática, los registros incluyen 2 bancos de 6 registros de
propósito general, que se usan individualmente como registros de 8 bits, o en pares como
registros de 16 bits, existen también 2 bancos de registros denominados "acumulador" y
"banderas", además cuenta con 6 registros de propósito especial, 4 registros de 16 bits, PC,
SP, IX e IY, y 2 registros de 8 bits, el registro del refresh "R" y el registro de interrupciones
"I", la aritmética de 8 bits de las funciones, y las instrucciones lógicas de la CPU se
ejecutan en la ALU, la ALU realiza las siguientes funciones son;
1. Sumar.
2. Restar.
3. Función lógica AND.
4. Función lógica OR.
5. Función lógica OR-EX.
6. Comparación.
7. DespIazamientos a la derecha y a la izquierda.
8. Incrementar bytes.
9. Decrementar bytes.
10. Poner bits en uno lógico.
11. Poner bits en cero lógico y
12. Comprobar el estado de los bits
Antología de Arquitectura de Computadoras
23 INTEL Y TSUTEL
LÍNEAS DE DIRECCIONES (A0 - A15), Pines 30-40, 1-5 respectivamente
Se forman con 16 líneas de direcciones, tienen la facultad de establecerse en tercer estado,
estas señales proporcionan las direcciones correspondientes a intercambios de datos entre la
memoria, la CPU y los puertos de los periféricos, la capacidad de direccionamiento con 16
bits es de 64 Kbytes y 256 puertos de entrada y salida, son activas en estado alto, los 8 bits
menos significativos se usan para permitirle al usuario seleccionar los 256 puertos E/S,
(A0-A7), en donde A0 es el bit menos significativo.
LÍNEAS DE DATOS (DO - D7), Pines 14, 15, 12, 8, 7, 9, 10 y 13
Se forman con 8 líneas de datos bidireccionales con capacidad del tercer estado, son activas
en nivel alto, se utilizan para el intercambio de datos con la memoria, y periféricos de E/S.
CICLO DE MAQUINA UNO (M1),
Salida activa en nivel bajo, indica que en este ciclo de máquina uno el microprocesador va
a obtener el código operacional de una instrucción, en las instrucciones que tienen un
código operacional de 2 bytes esta señal se opera al obtener cada uno de los bytes del
código operacional, al igual que para indicar el reconocimiento de un ciclo de interrupción
cuando ocurre (IORQ)'.
REQUERIMIENTO DE MEMORIA (MREQ)', Pin 19
Salida activa en nivel bajo, esta señal indica una petición que interrelaciona a la memoria
con la CPU, obtiene una dirección valida de las líneas de direccionamiento, esta terminal
tiene capacidad del tercer estado.
REQUERIMIfNTO DE E/S (IORQ), Pin 20
Es salida triestado activa en nivel bajo, esta señal indica que la mitad baja del bus de
direcciones mantiene una dirección válida de E/S, para efectuar una operación de lectura o
escritura de E/S, se genera esta señal cuando el ciclo de maquina 1 (M1) reconoce una
interrupción, indica que el vector de respuesta de la interrupción se coloca en el bus de
datos, las operaciones de reconocimiento de interrupción ocurren durante el ciclo de
maquina 1, mientras que las operaciones de E/S nunca se producen durante este ciclo.
Antología de Arquitectura de Computadoras
24 INTEL Y TSUTEL
LECTURA (RD), Pin 21
Salida triestado activa en nivel bajo, indica que la CPU desea leer datos desde la memoria
de un dispositivo externo de E/S, el dispositivo E/S se direcciona a la memoria o al
periférico, se usa esta terminal para dirigir los datos al bus de datos de la CPU.
ESCRITURA (WR)', pin 22
Salida triestado activa en nivel bajo, indica que el bus de datos de la CPU va a obtener
datos válidos para ser almacenados en la memoria o en algún dispositivo de E/S.
REFRESCO DE LA MEMORIA DINÁMICA (RFSH)', Pin 28
Salida activa en nivel bajo, indica que los siete bits inferiores de las líneas de
direccionamiento contienen una dirección válida de refresco de memoria, se utiliza para el
mantenimiento de datos en memorias dinámicas, con esta se efectúa una lectura de
refrescamiento para todas las memorias dinámicas.
PARO (HALT), Pin 18
Salida que activa en nivel bajo, indica que la CPU realiza una instrucción por software de
paro (HALT), y que espera una interrupción (NMI)' o (INT)' antes de que continúe la
operación, mientras permanezca en este estado la CPU ejecuta operaciones NOP, para
mantener activo el refresco de las memorias dinámicas, al aplicarse un reset se continua con
la operación.
ESPERA (WAIT), Pin 24
çEs una entrada activa en nivel bajo, le indica al microprocesador que la memoria
direccionada o los dispositivos periféricos de E/S no son tan rápidos como para realizar una
transferencia de datos a la velocidad de la CPU, o no están listos para una transferencia de
información, la CPU continua con el estado de espera durante todo el tiempo que esta
terminal es activa, esto les permite a los otros dispositivos sincronizarse con la CPU.
Antología de Arquitectura de Computadoras
25 INTEL Y TSUTEL
REQUISICIÓN DE INTERRUPCIÓN MASCARABLE (INT), Pin 16
Entrada activa en nivel bajo, esta terminal se acciona con dispositivos E/S externos, una
requisición (INT)' se atiende al final de la instrucción que se ejecuta, si el enable interno del
Flip Flop de interrupción IFF1 controlado por software se encuentra habilitado, y si la
requisición de bus no está activa, al aceptar la CPU una interrupción envía una señal de
reconocimiento, la petición de E/S se realiza durante el ciclo de máquina 1, al principio del
siguiente ciclo de instrucción, esta petición solo es válida bajo control del programa
interno, reconociendo la CPU tres modos diferentes de interrupción.
INTERRUPCIÓN NO MASCARABLE (NMI)', Pin 17
Entrada que se activa con un flanco de bajada mediante un impulso que identifica una
interrupción obligada, posiciona al contador de programa (PC) en la dirección 0066h desde
donde continua el proceso, esta tiene una prioridad más alta que la interrupción (INT)' y
siempre se reconoce al final de la instrucción que se ejecuta, independientemente del estado
del IFF1, el contador de programa PC se almacena automáticamente en el stack pointer
externo de forma que el usuario regrese al programa en el mismo punto del que fué
interrumpido.
REHABILITACIÓN (RESET), Pin 26
Entrada que se activa con un flanco de bajada mediante un impulso, obliga a la CPU a
reiniciar su actividad, coloca al contador de programa (PC) en la localidad de inicio de
memoria 0000h, desde donde empieza el proceso, durante este tiempo el bus de direcciones
y el bus de datos adquieren el estado de alta impedancia y todas las terminales de control de
salida adquieren el estado inactivo.
REQUERIMIENTO DE LAS TERMINALES DE LA CPU (BUSRQ), Pin 25
Esta entrada es activa en nivel bajo, le indica a la CPU que coloque todas sus líneas en
estado de alta impedancia, (tan pronto el ciclo de maquina 1 actual termine), a petición del
periférico externo que desea tomar el control del sistema, regresa el control a la CPU
cuando esta señal (BUSRQ)' pasa al nivel alto, se utiliza para pedir que el bus de
direcciones, el bus de datos y las terminales de salida triestado del bus de control vayan a
un estado de alta impedancia de tal forma que otros dispositivos controlen esos buses.
Antología de Arquitectura de Computadoras
26 INTEL Y TSUTEL
ENTREGA DE LAS TERMINALES DE LA CPU (BUSAK)', Pin 23
Salida activa en nivel bajo, es una indicación para el periférico que efectúa una petición
(BUSRQ)' de que su petición ha sido concedida por parte del microprocesador, sirve para
indicar al dispositivo que solicita este reconocimiento, que el bus de direcciones, el bus de
datos y el bus de las terminales de control triestado han sido puestos en su estado de alta
impedancia y que el dispositivo externo puede ahora controlar estas terminales.
RELOJ (CK), Pin 6
Entrada configurada por un tren de impulsos útiles, es la diferencia que permite la
secuencia de tiempos de operación, se implanta físicamente con un oscilador de onda
cuadrada cuya frecuencia depende del tipo de características de la CPU Z80, requiere
oscilación de una fase con niveles TTL, una forma de satisfacer todos los requerimientos de
voltaje es por medio de una resistencia de activación "pull up" de 330 ohms conectada entre
+Vcc y la terminal de salida de un oscilador implantado con circuitos TTL que generen
oscilaciones.
ALIMENTACIÓN POSITIVA DE +5 VOLTS (Vcc), Pin 11
Esta es una entrada de alimentación de tensión de +5 volts con un 5 % de tolerancia.
TIERRA (GND), Pin 29
Terminal de alimentación negativa, requiere un potencial de 0.0 volts que sirven de
referencia para la interconexión de los dispositivos.
Antología de Arquitectura de Computadoras
27 INTEL Y TSUTEL
PROGRAMACIÓN
Fuente: Manuales, Cursos, Tutoriales y Apuntes..., (2009). Arquitectura del
microprocesador Z80. Extraído el 18 de junio de 2009, desde http://proton.ucting.udg.mx/dpto/maestros/mateos/z80/arquitectura/arquitectura.html
Una operación es una acción específica que realiza el microprocesador siempre que ejecuta
una instrucción. Existen diferentes operaciones que realiza el microprocesador, las
operaciones asociadas con el Z80 son:
Transferencia de información
Operaciones aritméticas
Operaciones lógicas
Subrutinas
Entradas y salidas
Incrementar y decrementar bytes
Realizar saltos
Comprobar, poner en uno o en cero a los bits
Realizar ajustes a BCD
Ejecutar interrupciones
LENGUAJE MÁQUINA
Se dice que un programa se forma con un grupo de patrones binarios, por ejemplo sumar
las localidades 1500H y 3020H y almacenar el resultado en la localidad 3000H el programa
a ejecutar es el siguiente:
0011 1010
0000 0000
0001 0101
0100 0111
0011 1010
0010 0000
0011 0000
1000 0000
0011 0010
0000 0000
0011 0000
A estos patrones binarios se les conoce como "lenguaje máquina" ya que este es el único
lenguaje que entienden las computadoras.
Antología de Arquitectura de Computadoras
28 INTEL Y TSUTEL
PROBLEMAS CON LOS PATRONES BINARIOS
1. Es muy difícil para el programador entender o depurar los programas.
2. El proceso de cargar el programa en la computadora es muy lento ya que se tiene
que alimentar bit por bit.
3. El programa no describe la tarea que realiza de una forma fácil de entender para el
usuario.
4. Los programas largos son cansados en su elaboración.
5. Existe una gran posibilidad de que el programador se equivoque en la redacción del
programa, produciendo de esta forma, una gran dificultad para encontrar los errores.
6. Si en el programa binario existiera un bit erróneo sería laborioso el detectarlo y
corregirlo.
Antología de Arquitectura de Computadoras
29 INTEL Y TSUTEL
MNEMÓNICOS
Fuente: Manuales, Cursos, Tutoriales y Apuntes..., (2009). Arquitectura del
microprocesador Z80. Extraído el 18 de junio de 2009, desde http://proton.ucting.udg.mx/dpto/maestros/mateos/z80/arquitectura/arquitectura.html
Un método de mejorar el manejo de las instrucciones para el programador consiste en
asignar un nombre a cada instrucción, por ejemplo a la instrucción de decrementar se le
nombra como "DEC" y a la de cargar un dato se nombra como "LD", a los nombres de las
instrucciones se les conoce como "MNEMÓNICOS", se escogen de tal manera que
orienten en forma fácil al programador.
Es más fácil recordar que INC A es el mnemónico de la instrucción para incrementar en
uno el contenido del registro acumulador que recordar que 3Ch es el código operacional
correspondiente a la misma instrucción, cada fabricante de microprocesadores proporciona
una serie de mnemónicos para el conjunto de instrucciones de cada microprocesador, el
programa anterior queda en la forma siguiente al usar los mnemónicos del Z80:
PROGRAMA OBJETO PROGRAMA FUENTE
1000 3A 0015 LD A, (1500)
1003 47 LD B,A
1004 3 20030 LD A, (3000)
1007 80 ADD B
1008 32 0030 LD (3000),A
Esta representación del programa es más comprensible que la que usa patrones binarios, en
este caso ya que se identifican qué partes son instrucciones y qué partes son direcciones o
datos, a la representación de las instrucciones de un programa usando mnemónicos se le
conoce como "programa fuente".
Antología de Arquitectura de Computadoras
30 INTEL Y TSUTEL
MODOS DE DIRECCIONAMIENTO
Fuente: Manuales, Cursos, Tutoriales y Apuntes..., (2009). Arquitectura del
microprocesador Z80. Extraído el 18 de junio de 2009, desde http://proton.ucting.udg.mx/dpto/maestros/mateos/z80/arquitectura/arquitectura.html
Una parte importante en la programación es el de entender las formas de direccionamiento
para las localidades de memoria que contienen los datos que se procesan como
instrucciones, la CPU Z80 tiene 10 modos diferentes para direccionar los datos
almacenados en la memoria y en los registros:
Implícito o inherente
Inmediato
Inmediato extendido
Registro
Registro indirecto
Extendido
Página zero modificada
Relativo
Bit
Indexado
Con el apuntador de pila
DIRECCIONAMIENTO IMPLÍCITO O INHERENTE Este modo de direccionamiento se refiere a operaciones en donde el código operacional
implica automáticamente a uno o más registros de la CPU, el código operacional es fijo y
no tiene campos variables de tal forma que la instrucción siempre ejecuta la misma
operación.
Ejemplos de este modo de direccionamiento son las instrucciones CPL y RRA.
El código operacional de CPL es 2Fh, ésta instrucción toma el contenido del acumulador, lo
complementa a uno, cambia los ceros por unos y los unos por ceros, y deposita el resultado
en el acumulador, las bandeas de condiciones no se afectan, la fuente y el destino siempre
son fijos;
Antología de Arquitectura de Computadoras
31 INTEL Y TSUTEL
DIRECCIONAMIENTO INMEDIATO
Este modo no constituye un direccionamiento propiamente dicho, pues aquí la instrucción
no contiene ninguna dirección, en su lugar figura un operando sobre el cual se realiza la
operación que indica la instrucción, no hay necesidad del ciclo de memoria (ejecute) de
ejecución, una denominación más precisa es la de operando inmediato.
Una instrucción con direccionamiento inmediato es la que contiene en el byte 2 o en el byte
3 de la propia instrucción en el dato de la transferencia, es decir, el dato es parte integral de
los bytes que constituyen la instrucción.
OP-CODE <----- uno o más bytes
OPERANDO
Este tipo de direccionamiento es útil al cargar o efectuar una operación aritmética o lógica
con un dato constante.
Ejemplo: Para cargar 07h en el acumulador se utiliza la instrucción LD A,N
x 3E LD A,N
x + 1 N A ß 07h
El código operacional de la instrucción es 3Eh y el segundo byte es el dato que se va a
cargar en el acumulador, en este caso N = 07h, los movimientos que realiza el CPU Z80
son los siguientes:
1. El contenido de la localidad op-code que apunta el contador del programa (PC) se
carga en el registro de instrucciones IR y se incrementa el PC en uno.
2. La unidad de control ordena, después de decodificar la instrucción que el contenido
de la localidad (dato inmediato u operando) que apunta el PC se cargue en el
registro "r" indicado por el código de la instrucción, el PC se incrementa en uno y
apunta a la próxima instrucción a ejecutarse.
Antología de Arquitectura de Computadoras
32 INTEL Y TSUTEL
En general este tipo de direccionamiento lo utilizan las instrucciones aritméticas y lógicas
de 8 bits, ejemplo de estas son: ADD N, XOR N, AND N, etc.
DIRECCIONAMIENTO INMEDIATO EXTENDIDO
Este modo de direccionamiento como su nombre lo indica es una extensión del
Direccionamiento Inmediato, este tipo de direccionamiento permite cargar con un dato de
16 bits a un registro par y obtiene la dirección donde continua el procesamiento en forma
inmediata.
x OP-CODE
x + 1 BYTE BAJO
x + 2 BYTE ALTO
Este modo de direccionamiento lo utilizan las instrucciones del grupo "cargar 16 bits" y del
grupo de instrucciones "saltos, llamadas y regresos", (JP, CALL y RET).
El primero de los dos bytes del dato o de la dirección contiene los bits menos significativos
(LSB) y el segundo byte contiene los bits más significativos (MSB).
Ejemplo:
X 01
x + 1 68 NN = 7968
x + 2 79
Los movimientos de esta instrucción son los siguientes:
1. El contenido de la localidad "x" apuntada por el contador de programa (PC) se
carga en el registro de instrucciones IR y se incrementa el contador de
programa, (PC ß PC + 1)
2. La unidad de control después de decodificar la instrucción ordena que el
contenido de la localidad "x + 1" apuntada por el PC se cargue en el registro B,
y se incrementa el contador de programa ( PC ß PC + 1)
3. La unidad de control ordena que el contenido apuntado por el PC se cargue en el
registro C, se incrementa el contador de programa, (PC ß PC + 1) y el PC apunta
a la siguiente instrucción a ejecutarse.
Antología de Arquitectura de Computadoras
33 INTEL Y TSUTEL
DIRECCIONAMIENTO DE REGISTRO
Muchas instrucciones utilizan los registros del Z80 para recibir o proporcionar un dato, el
código de la instrucción tiene un campo que se usa para especificar el ó los registros que se
utilizan en la ejecución de la instrucción.
Ejemplo: LD r,s
Esta instrucción ordena que el contenido del registro "s" se deposite en el registro "r".
R ß registro destino
S ß registro fuente
"r" y "s" pueden ser cualquiera de los registros activos o primarios de 8 bits de la CPU Z80,
el movimiento de la información de esta instrucción es:
1. El contenido de la localidad apuntada por el PC se deposita en el registro de
instrucciones IR, la unidad de control ordena copiar en el registro r el contenido del
registro s, PC ß PC + 1, y el contador de programa apunta a la siguiente instrucción
a ejecutarse.
Los grupos de instrucciones que utilizan este tipo de direccionamiento de registro, son los
de aritmética y lógica de 8 bits y de 16 bits como son:
1. Rotar
2. Girar
3. Poner en uno
4. Poner en cero y
5. Probar bits
DIRECCIONAMIENTO DE REGISTRO INDIRECTO
Este tipo de direccionamiento utiliza el contenido de un registro par, como la dirección de
una localidad de memoria, los registros pares son BC, DE y HL, en donde los registros B,
D y H contienen los bits menos significativos, el código operacional de la instrucción puede
ser de uno o de dos bytes:
Ejemplo: LD r, (HL)
Los movimientos de esta instrucción son:
El contenido de la localidad que contiene el código operacional, al cual apunta el contador
de programa PC, se deposita en el registro de instrucciones IR y se incrementa el contador
de programa. PC ß PC + 1.
Antología de Arquitectura de Computadoras
34 INTEL Y TSUTEL
La unidad de control envía los 16 bits del registro par HL por el bus de direcciones, lee el
contenido de la localidad con esta dirección y deposita su contenido sobre el registro r.
Este tipo de direccionamiento permite apuntar a cualquier localidad de memoria, antes de
usar instrucciones que utilicen este tipo de direccionamiento se debe cargar el registro par
con el valor de la dirección requerida.
DIRECCIONAMIENTO EXTENDIDO
En este tipo de direccionamiento la dirección de la palabra de instrucción contiene la
dirección eficaz de la memoria, este es, las instrucciones que utilizan direccionamiento
extendido proporcionan los 16 bits de la dirección eficaz de la memoria, el campo de la
dirección eficaz contiene un operando, con este modo de direccionamiento se pueden
accesar directamente todas las localidades de memoria desde 0000h hasta FFFFh, el primer
byte contiene los 8 bits menos significativos (LSB) de la dirección eficaz y el segundo byte
contiene los 8 bits más significativos (MSB) de la dirección eficaz.
Ejemplo: LD A, (1580h)
OP - CODE ß 3A
LSB ß 80
MSB ß 15
Los movimientos que se producen son los siguientes:
1. La localidad apuntada por el contador de programa PC contiene el código
operacional, este se deposita en el registro de instrucciones IR, el contador de
programa se incrementa. PC ß PC+ 1.
1. La unidad de control ordena que el contenido de la localidad (dirección LSB) se
deposite en un registro temporal, y se incrementa el contador de programa PCß PC
+ 1.
2. La unidad de control ordena que el contenido de la localidad (dirección MSB) se
deposite en otro registro temporal, y se incrementa el contador de programa PC ß
PC + 1.
3. La unidad de control envía por el bus de direcciones la dirección recién leída de 16
bits, lee el contenido de la localidad de memoria de esa dirección y deposita el
operando en el acumulador.
Antología de Arquitectura de Computadoras
35 INTEL Y TSUTEL
Con este tipo de direccionamiento se pueden hacer transferencias de datos de 16 bits, LD
(1580h), HL
DIRECCIONAMIENTO DE PAGINA ZERO MODIFICADA
Este tipo de direccionamiento se usa únicamente con la instrucción RESTAR (RST), esta
instrucción causa que el procedimiento del programa continúe en una de ocho localidades
posibles y bien especificadas de la pagina zero.
La pagina zero se define como área de menor memoria que se puede accesar con 8 bits del
bus de direcciones, esto es las 256 localidades obtenidas con ocho combinaciones posibles,
desde la 00h hasta la FFh, todas estas direcciones constituyen la pagina zero.
El código operacional de "RST" m" se encuentra como sigue:
11xxx111 RST m
Localidad m
0000 0
0008 1
0010 2
0018 3
0020 4
0028 5
0030 6
0038 7
Las direcciones especificas de la pagina zero se obtienen al multiplicar por 8 el valor
binario de la variable m, por ejemplo si m = 2 la dirección es 10h.
RST m OP-CODE
RST 0 C7
RST 8 CF
RST 10 D7
RST 18 DF
RST 20 E7
Antología de Arquitectura de Computadoras
36 INTEL Y TSUTEL
RST 28 EF
RST 30 F7
RST 38 FF
DIRECCIONAMIENTO RELATIVO
En el direccionamiento relativo a la dirección proporcionada por el registro de instrucciones
se le añade una dirección de referencia, normalmente esta dirección de referencia es el
contador de programa PC, es posible obtener dos modos diferentes de direccionamiento
relativo:
1).- Relativo hacia adelante
2).- Relativo hacia atrás
En las direcciones de salto, este tipo de direccionamientos permite reducir el número de
bytes para especificar la dirección y reducir así el largo del programa, se usa el byte que
sigue al código operacional relativo para especificar un desplazamiento a partir del valor
actual del contador de "programa más dos", el resultado de la operación es una dirección a
la cual el programa salta para continuar el procesamiento en esta nueva dirección.
El direccionamiento relativo permite el acceso a 256 localidades alrededor de la dirección
de la siguiente instrucción, el valor del operando es un valor con signo entre +128 y -127,
tomando como punto de partida del desplazamiento a la localidad de memoria donde está la
siguiente instrucción:
Antología de Arquitectura de Computadoras
37 INTEL Y TSUTEL
El direccionamiento relativo se usa en la CPU Z80 únicamente con el grupo de
instrucciones de salto, permitiendo saltos condicionales o incondicionales que se obtienen
de la resta o la suma respectivamente, del contador de programa actual más el operando.
-DIRECCIONAMIENTO DE BIT-
La CPU Z80 tiene instrucciones que permiten probar, poner en cero y poner en uno a los
bits de un operando:
1. BIT b, r
2. RES b, r
3. SET b, r
Estas instrucciones efectúan operaciones a nivel de bits sobre los contenidos de las
localidades de memoria o los registros de la CPU Z80 seleccionados por medio de uno de
tres tipos de direccionamiento, de registro, de registro indirecto e indexado, con tres bits del
código operacional se especifica cual de los 8 bits del operando es el involucrado.
Ejemplo: SET b, r
En donde "b" puede ser cualquier numero del 0h al 7h y "r" es cualquier registro primario,
acumulador, registro par HL o registro de índice IX o IY.
Antología de Arquitectura de Computadoras
38 INTEL Y TSUTEL
CAMPO b BIT =1
000 xxxx xxx1
001 xxxx xx1x
010 xxxx x1xx
011 xxxx 1xxx
100 xxx1 xxxx
101 xx1x xxxx
110 x1xx xxxx
111 1xxx xxxx
Ejemplo: SET 5, B
El bit "5" del registro B toma el valor de "1" los otros siete bits no sufren alteración alguna,
en este caso se esta usando direccionamiento de registro.
1000 1000 antes (B) ß 88
1010 1000 después (B) ß A8
DIRECCIONAMIENTO INDEXADO
Con este modo se obtiene la dirección efectiva haciendo la suma de:
1. El contenido de un registro especial del Z80 denominado "registro de índice".
2. El registro de índice se suma con el operando que proporciona la instrucción.
La indexación permite tratar bucles durante un programa, si se dispone de varios registros
de índice se pueden añadir varios bucles, normalmente el registro de índice se incrementa
por software después de cada operación.
Las instrucciones que utilizan direccionamientos indexado usan byte que sigue al código
operacional para especificar el desplazamiento que suma a uno de los dos registros de
índice del Z80, para formar la dirección efectiva de la memoria, el contenido del registro de
índice no se altera.
Antología de Arquitectura de Computadoras
39 INTEL Y TSUTEL
Ejemplo:
REGISTRO DE INDICE + OPERANDO = DIRECCION EFICAZ
1200h + 08h = 1208h
Los movimientos son:
1. El contenido de la localidad 1000h apuntada por el PC se deposita en el registro I R , PC
ß PC + 1, la unidad de control reconoce que debe cargar otra vez el contenido de la
localidad 1001h sobre el I R, PC ß PC + 1.
2. El código operacional en IR le ordena a la unidad de control leer en un registro temporal
el contenido de la localidad apuntada por el PC, PC ß PC + 1.
3. La unidad de control envía por el bus de direcciones la dirección que resulta al sumar el
registro de índice x con el contenido del registro temporal, lee el contenido de esa localidad
y lo carga en
el acumulador.
DIRECCIONAMIENTO CON EL APUNTADOR DE PILA (STACK POINTER)
El contenido de un registro por (BC, DE o HL), o el contenido del contador de programa
(PC), puede transferirse a una área de memoria llamada "stack pointer" y se puede realizar
la función inversa, las localidades de memoria que reciben el dato se direccionan por medio
de un registro de 16 bits denominado "apuntador de pila o stack pointer", existen
únicamente dos operaciones que se realizan con el apuntador de pila, cargar un dato de 16
bits en la pila de la memoria por medio de la instrucción denominada PUSH y la operación
de leer un dato de 16 bits por medio de la instrucción llamada POP, es importante aclarar
que las direcciones a las que se esta seleccionando con el apuntador de pila (SP) debe ser
memorias de leer y escribir, esto es, memorias tipo RAM.
Antología de Arquitectura de Computadoras
40 INTEL Y TSUTEL
UNIDAD 3
INTRODUCCIÓN AL MICROCONTROLADOR ATTINY2313
RESUMEN
En esta unidad se describe al microcontrolador ATtiny2313 de la familia Atmel. Se
describen sus principales características, la configuración de sus pines, el diagrama de
bloques. También se describen sus 120 mnemónicos para su programación.
Antología de Arquitectura de Computadoras
41 INTEL Y TSUTEL
CARACTERÍSTICAS DEL MICROCONTROLADOR ATTINY2313
Fuente: ATMEL, (2009). El microcontrolador ATtiny2313. Extraído el 23 de junio de
2009, desde http://www.atmel.com/dyn/resources/prod_documents/2543S.pdf
Características Generales
Utiliza la Arquitectura AVR® RISC.
AVR-Alto rendimiento y Arquitectura de RISC de de baja potencia
120 Instrucciones poderosas
Más Sola Ejecución de Ciclo de Reloj
32 x 8 Propósito del General los Registros Activos
El Funcionamiento totalmente Estático
Los Datos y un programa no-volátil además Datos de memoria.
2K Bytes de En-sistema la Misma memoria Programable Flash.
Duración: 10,000 Ciclos de Write/Erase.
128 bytes dentro del sistema Programable EEPROM
Duración: 100,000 Ciclos de Write/Erase.
128 bytes internos de SRAM.
Programando la Cerradura para el Programa Flash y Seguridad de Datos de
EEPROM
Características Periféricas
Uno de 8-bit Timer/Counter con Separado Prescalado y Modo de Comparación.
Uno de 16-bit Timer/Counter con Separado Prescalado, Comparación y Modo
de Captura.
Cuatro canales de PWM.
El Comparador Analógico On-chip.
El Cronómetro del Perro guardián programable con el Oscilador del On-chip.
USI la Interfaz de serie Universal.
Bidireccional USART.
Características Especiales del Microcontrolador
La Depuración de On-chip de debugWIRE.
Dentro del sistema Programable vía el Puerto de SPI.
Las Fuentes de la interrupción externas e Interiores.
Antología de Arquitectura de Computadoras
42 INTEL Y TSUTEL
El de baja potencia Ocioso, Energía de apagado, y los Modos de suspensión.
Mejorado la Energía del encendido del Circuito de reinicio.
Programable Castaño-fuera el Circuito de Descubrimiento
El Oscilador Calibrado interior.
Dispositivos E/S y Paquetes
18 Líneas programables de E/S.
El 20-pin PDIP, 20-pin SOIC, 20-pad QFN/MLF
Voltajes de operación
1.8 - 5.5V (ATtiny2313V)
2.7 - 5.5V (ATtiny2313)
Velocidad
ATtiny2313V: 0 - 4 MHz @ 1.8 - 5.5V, 0 - 10 MHz @ 2.7 - 5.5V
ATtiny2313: 0 - 10 MHz @ 2.7 - 5.5V, 0 - 20 MHz @ 4.5 - 5.5V
La potencia de Consumo Típica
En Modo activo
1 MHz, 1.8V: 230 µA
32 kHz, 1.8V: 20 µA (incluso el oscilador)
En Modo Apagado
< 0.1 µA a las 1.8V
El ATtiny2313 es un microcontrolador de 8-bits de baja potencia CMOS, basado en la
arquitectura AVR mejorada de RISC. Ejecuta poderosas instrucciones en un solo ciclo del
reloj, el ATtiny2313 alcanza rendimientos de procesamiento que se acercan a 1 MIPS por
MHz que permite al diseño del sistema para optimizar el consumo máximo contra la
velocidad de procesamiento.
Antología de Arquitectura de Computadoras
43 INTEL Y TSUTEL
CONFIGURACIÓN DE LOS PINES
Fuente: ATMEL, (2009). El microcontrolador ATtiny2313. Extraído el 23 de junio de
2009, desde http://www.atmel.com/dyn/resources/prod_documents/2543S.pdf
Pines de Salida ATtiny2313.
Antología de Arquitectura de Computadoras
44 INTEL Y TSUTEL
DIAGRAMA DE BLOQUES
Antología de Arquitectura de Computadoras
45 INTEL Y TSUTEL
Los AVR combinan un conjunto de instrucciones de propósito general con 32 registros
activos. Los 32 registros se conectan directamente a la Unidad Lógica Aritmética (ALU),
permitiendo dos registros independientes para ser accedido, en una instrucción de ejecución
y un ciclo de reloj. La arquitectura resultante es más código eficaz mientras logra los
movimientos a diez veces más rápido que el microcontrolador de CISC convencional.
El ATtiny2313 AVR es soportado con una colección llena de programas desarrollados por
el sistema con herramientas que incluyen: los Compiladores C, Macro Ensambladores, el
Programa Debugger/Simulators (Simulador), emuladores del circuito, y equipos de
evaluación.
DESCRIPCIÓN DE LOS PINES
Fuente: ATMEL, (2009). El microcontrolador ATtiny2313. Extraído el 23 de junio de
2009, desde http://www.atmel.com/dyn/resources/prod_documents/2543S.pdf
VCC: El voltaje del suministro Digital.
GND: Tierra.
Puerto A (PA2..PA0): El Puerto A es un 3-bit bidireccional con puertas de E/S. Las salidas
del Puerto A tienen las características simétricas con ambos fregaderos altos y capacidad de
la fuente. Los pins del Puerto A tienen tres estados cuando una condición de reinicio se
pone activa, aun cuando el reloj no corre.
Puerto B (PB7..PB0): el Puerto B es un 8-bit bidireccional con puertas de E/S. Las salidas
del Puerto B tienen las características simétricas con ambos fregaderos altos y capacidad de
la fuente. Los pins del Puerto B tienen tres estados cuando una condición de reinicio se
pone activa, aun cuando el reloj no corre.
Puerto D (PD6..PD0): el Puerto D es un 7-bit bidireccional con puertas de E/S. Las salidas
del Puerto D tienen las características simétricas con ambos fregaderos altos y capacidad de
la fuente. Los pins del Puerto D tienen tres estados cuando una condición de reinicio se
pone activa, aun cuando el reloj no corre.
RESET: Restableciendo la entrada. Un nivel bajo en este pin más largo que la longitud del
pulso mínima generará una reinicialización, aun cuando el reloj no corre. No se garantizan
que los pulsos más cortos generen una reinicialización.
XTAL1: Entrada para invertir al amplificador del Oscilador y entrada al reloj interno del
circuito que opera. XTAL1 es una función alterna para PA0.
XTAL2: Salida para invertir al amplificador del Oscilador. XTAL2 es una función alterna
para PA1.
Antología de Arquitectura de Computadoras
46 INTEL Y TSUTEL
MEMORIAS DEL MICROCONTROLADOR ATTINY2313
Fuente: ATMEL, (2009). El microcontrolador ATtiny2313. Extraído el 23 de junio de
2009, desde http://www.atmel.com/dyn/resources/prod_documents/2543S.pdf
Esta sección describe los recuerdos diferentes en el ATtiny2313. La arquitectura de AVR
tiene dos memoria principal espacia, la Memoria del Datos y el espacio de memoria del
Programa. En la suma, el ATtiny2313 ofrece una Memoria del EEPROM para el
almacenamiento de datos. Toda la tres memoria los espacios son lineales y regulares.
La memoria instantánea tiene una paciencia de por lo menos 10,000 ciclos del write/erase.
El ATtiny2313 Programa Contador (PC) es 10 bits ancho, mientras dirigiéndose el 1K
programa así las situaciones de memoria. Pueden asignarse las mesas constantes dentro del
espacio de dirección de memoria de programa entero.
Los Datos de Memoria de la SRAM
La siguiente figura muestras cómo la memoria SRAM del ATtiny2313 es organizada.
Las 224 situaciones de memoria de datos se dirigen ambos al Archivo del Registro, la
memoria del E/S, la memoria del E/S extendida, y los datos interiores SRAM. Las primeras
32 situaciones se dirigen el Archivo del registro, la próxima 64 situaciones en la memoria
del E/S normal, y las próximas 128 situaciones diríjase SRAM a los datos interiores.
Los cinco modos dirigiéndose diferentes para la tapa de memoria de datos: Directo,
Indirecto con el Desplazamiento, Indirecto, Indirecto con el Pre-decremento, e Indirecto
con el Poste-incremento. En el Archivo del Registro, registra R26 a R31 ofrezca los
registros del indicador dirigiéndose indirectos. Los alcances dirigiéndose directos el espacio
de datos entero. El Indirecto con el modo del Desplazamiento alcanza 63 situaciones de
dirección de la base dirección dada por el Y o Z registro.
El 32 propósito general los registros activos, 64 E/S Registra, y los 128 bytes de interior los
datos SRAM en el ATtiny2313 son todo accesibles a través de todos éstos dirigiéndose los
modos.
El Mapa de la memoria de datos.
Antología de Arquitectura de Computadoras
47 INTEL Y TSUTEL
La Memoria de Datos de EEPROM
El ATtiny2313 contiene 128 bytes de memoria de EEPROM de datos. Es organizado como
un separado los datos espacian en que pueden leerse los solos bytes y pueden escribirse. El
EEPROM tiene un la paciencia de por lo menos 100,000 ciclos del write/erase
(escritura/borrado). El acceso entre el EEPROM y el CPU se describe lo siguiente en,
mientras especificando los Registros de dirección del EEPROM, el Registro de Datos de
EEPROM, y el EEPROM Controla el Registro. Para una descripción detallada de datos De
serie que transmiten al EEPROM.
El Acceso a la EEPROM Read/Write
El acceso al registro de EEPROM es accesible en el espacio del E/S. El escriba el tiempo
de acceso para el EEPROM se da en Mesa 1. Una función de la mismo-elección del
momento adecuado, sin embargo, permite el software del usuario descubrir cuando el
próximo byte puede escribirse. Si el código del usuario contiene instrucciones que escriben
el EEPROM, algunas precauciones deben tomarse. En las fuentes de alimentación
pesadamente filtradas, VCC es probable subir o caerse despacio adelante poder-up/down.
Esto las causas el dispositivo para algún período de tiempo para correr a un voltaje baja que
especificado como el mínimo para la frecuencia del reloj usada. Vea “Previniendo la
Corrupción del EEPROM”.
Programación del Byte Atómico
La programación del Byte Atómico es el modo más simple. Al escribir un byte al
El EEPROM, el usuario debe escribir la dirección en el Registro de EEAR y datos en
EEDR el registro. Si los pedazos de EEPMn son el cero, mientras escribiéndole a EEPE
(dentro de cuatro ciclos después de que EEMPE es escrito) activará el funcionamiento del
erase/write. Ambos el borre y escriba ciclo se hace en un funcionamiento y el tiempo de la
programación total se da en Mesa 1. El EEPE mordió los restos ponga hasta el borre y
escriba se completan los funcionamientos. Mientras el dispositivo está ocupado con
programando, no es posible hacer cualquier otro funcionamiento del EEPROM.
Antología de Arquitectura de Computadoras
48 INTEL Y TSUTEL
EL OSCILADOR DE CRISTAL
Fuente: ATMEL, (2009). El microcontrolador ATtiny2313. Extraído el 23 de junio de
2009, desde http://www.atmel.com/dyn/resources/prod_documents/2543S.pdf
XTAL1 y XTAL2 son entrada y salida, respectivamente, de un amplificador invirtiendo
que puede se configure para el uso como un Oscilador del on-chip, como mostrado en
siguiente figura, un cristal de cuarzo o un resonador cerámico pueden usarse.
C1 y C2 siempre deben ser iguales para cristales y resonadores. El valor óptimo de los
condensadores depende del cristal o resonador en el uso, la cantidad de capacitancia
perdido, y el ruido electromagnético del ambiente. Algunos firman con iniciales las pautas
para se dan condensadores escogiendo para el uso con cristales. Para la cerámica los
resonadores, deben usarse los valores del condensador dados por el fabricante.
Las Conexiones del Oscilador de Cristal
El Oscilador puede operar en tres modos diferentes, cada uno perfeccionó para una
frecuencia específica en el rango.
Antología de Arquitectura de Computadoras
49 INTEL Y TSUTEL
EL RELOJ EXTERNO
Fuente: ATMEL, (2009). El microcontrolador ATtiny2313. Extraído el 23 de junio de
2009, desde http://www.atmel.com/dyn/resources/prod_documents/2543S.pdf
Para manejar el dispositivo de una fuente del reloj externa, XTAL1 debe manejarse como
mostrado en la siguiente figura. Para ejecutar el dispositivo en un reloj externo, los Fusibles
de CKSEL deben programarse a “0000.”
La Configuración del Reloj externo
Cuando esta fuente del reloj es seleccionada, salida-a tiempos es determinado por los
Fusibles de SUT.
Al aplicar un reloj externo, se exigía evitar los cambios súbitos en el aplicado la frecuencia
del reloj para asegurar funcionamiento estable del MCU. Una variación en la frecuencia de
más que 2% de un ciclo del reloj al próximo pueden llevar a la conducta imprevisible. Es
exigido asegurar que el MCU se guarda en la Reinicialización durante cosas así cambia en
el reloj la frecuencia.
Antología de Arquitectura de Computadoras
50 INTEL Y TSUTEL
AUTO PROGRAMADOR DEL FLASH
Fuente: ATMEL, (2009). El microcontrolador ATtiny2313. Extraído el 23 de junio de
2009, desde http://www.atmel.com/dyn/resources/prod_documents/2543S.pdf
El dispositivo mantiene un mecanismo Auto programador transmitiendo y transfiriendo el
código del programa por el propio MCU. El Auto programador puede usar cualquier datos
disponible la interfaz y el protocolo asociado para leer el código y escribir (el programa)
ese código en el Programa a la memoria.
La memoria del Programa se pone al ciclo en una página por la actualidad del suceso.
Antes de programar una pagina con los datos guardados en el limpiador de la página
temporal, la página debe borrarse. El limpiador de la página temporal está llena en el
momento que usa SPM y el pulidor puede llenarse o antes de la Página Borre el orden o
entre una Borre y Escribe.
Si sólo una parte de la página necesita ser cambiada, el resto de la página debe guardarse
(para ejemplo en el limpiador de la página temporal) antes de que se borre, y se re-escriba.
Cuando la alternativa 1 se usa, el Cargador proporciona una eficaz Leer-modificar-escribir
el rasgo qué permite el software del usuario primero lectura de la página, haga los cambios
necesarios, y entonces escriba los datos modificados atrás. Si alternativa 2 se usa, no es
posible leer los datos viejos mientras este cargando desde la página y es borrada. La Página
realizada Borra por SPM.
Antología de Arquitectura de Computadoras
51 INTEL Y TSUTEL
CORRIENTE VS FRECUENCIA
Fuente: ATMEL, (2009). El microcontrolador ATtiny2313. Extraído el 23 de junio de
2009, desde http://www.atmel.com/dyn/resources/prod_documents/2543S.pdf
Lo siguientes mapas muestran la conducta típica. Estas figuras no se prueban durante la
fábrica. Todas las medidas del consumo de corriente se realizan con todos los pines de E/S
configurado como las entradas y con pull-up interior habilitado. Un generador de onda de
seno con el rail to rail. El rendimiento de la barra se usa como la fuente del reloj.
El consumo máximo en Power-down el modo es independiente de selección del reloj.
El consumo de corriente es una función de varios factores como: el voltaje al que opera, la
frecuencia que opera, cargando de pines de E/S, cambiando la proporción de pines de E/S,
el código que ejecutó y la temperatura ambiente. Los factores dominando son voltaje que
opera y frecuencia. La corriente deducida de capacitive cargado pueden estimarse los pines
como CL*VCC*f dónde CL = el capacitance de carga, VCC = el voltaje que opera y f = el
medio cambiante de valores la frecuencia de pines de E/S.
Las partes se caracterizan superiores a las frecuencias que los límites de la prueba. No se
garantizan las partes para funcionar propiamente superior a las frecuencias que el código de
la clasificación indica.
El Suministro activo Actual vs. La frecuencia (0.1 - 1.0 MHz)
Antología de Arquitectura de Computadoras
52 INTEL Y TSUTEL
MNEMÓNICOS DEL ATTINY2313 Fuente: ATMEL, (2009). El microcontrolador ATtiny2313. Extraído el 23 de junio de
2009, desde http://www.atmel.com/dyn/resources/prod_documents/2543S.pdf
Antología de Arquitectura de Computadoras
53 INTEL Y TSUTEL
Antología de Arquitectura de Computadoras
54 INTEL Y TSUTEL
CARACTERÍSTICAS FÍSICAS DEL CHIP
Fuente: ATMEL, (2009). El microcontrolador ATtiny2313. Extraído el 23 de junio de
2009, desde http://www.atmel.com/dyn/resources/prod_documents/2543S.pdf
Antología de Arquitectura de Computadoras
55 INTEL Y TSUTEL
REFERENCIAS BIBLIOGRÁFICAS
Angulo Usategui, J. M., Angulo Martínez, I., (2003). Microcontroladores PIC Diseño
práctico de aplicaciones, tercera edición. ¿Qué es un microcontrolador? Editorial Mc
Graw Hill. 1-6.
ATMEL, (2009). El microcontrolador ATtiny2313. Extraído el 23 de junio de 2009, desde
http://www.atmel.com/dyn/resources/prod_documents/2543S.pdf
Lenguajes de Programación, (2009). Lenguajes de programación. Extraído el 18 de junio
de 2009, desde http://www.lenguajes-de-programacion.com/lenguajes-de-
programacion.shtml
Manuales, Cursos, Tutoriales y Apuntes..., (2009). Arquitectura del microprocesador Z80.
Extraído el 18 de junio de 2009, desde
http://proton.ucting.udg.mx/dpto/maestros/mateos/z80/arquitectura/arquitectura.html
Martínez Garza, J., Olvera Rodríguez, J. A., (2000). Organización y arquitectura de
computadoras. Tipos de computadoras. Editorial Prentice Hall. 7-8.
monografias.com, (2009). Arquitectura de las computadoras. Extraído el 17 de junio de
2009, desde http://www.monografias.com/trabajos17/arquitectura-
computadoras/arquitectura-computadoras.shtml
Murdocca, M. J., (2002). Principios de arquitectura de computadoras. El modelo de von
Neumann. Editorial Prentice Hall. 4-6.
Uruñuela M., J. M., (1989). Mircroprocesadores, Programación e interconexión, segunda
edición. Editorial Mc Graw Hill.
UNIVERSIDAD DE GUADALAJARA
CENTRO UNIVERSITARIO DE LA COSTA SUR
DIVISIÓN DE DESARROLLO REGIONAL
DEPARTAMENTO DE INGENIERÍAS
La presente antología está dirigida a estudiantes que cursan la materia de
Arquitectura de Computadoras, asignatura que se imparte en las carreras
de Ingeniero en Teleinformática y Técnico Superior Universitario en
Teleinformática que se ofertan en el Centro Universitario de la Costa Sur
Consta de tres unidades:
Unidad 1: Introducción a la estructura de computadoras
Unidad 2: Introducción al microprocesador Z80
Unidad 3: Introducción al microcontrolador ATtiny2313
M. I. E. Jorge Arturo Pelayo López, M. C. Karen Hernández Rueda