Sunteți pe pagina 1din 14

TECNOLOGICO NACIONAL DE MEXICO

INSTITUTO TECNOLOGICO DE TUXTLA


GUTIERREZ

INGENIERIA ELECTRONICA

ASIGNATURA
MICROCONTROLADORES
DOCENTE
ING. HERNANDEZ SOL ALVARO
TRABAJO
ARQUITECTURA VON NEUMANN
Y ARQUITECTURA HARVARD
EQUIPO
4
ESTUDIANTES
DOMINGUEZ REYES JOSE ANGEL
GOMEZ GOMEZ ULIVARI ALEXANDER
OCAÑA SANCHEZ RODRIGO ANDRES
SANTIAGO SOLORZANO SERGIO ALEXANDER

TUXTLA GUTIERREZ, CHIAPAS A 18 DE MARZO DE 2019


Microprocesadores y microcontroladores
Para comprender mejor la arquitectura de los microcontroladores
empezaremos describiendo las diferencias entre un microcontrolador y
un microprocesador.
En la siguiente figura se muestra el esquema general básico de un
microcomputador. Se compone de tres bloques fundamentales: la CPU,
la memoria, y la entrada y salida. Los bloques se conectan entre sí
mediante grupos de líneas eléctricas denominados buses. Los buses
pueden ser de direcciones (si se transportan direcciones de memoria o
de entrada y salida), de datos (si transportan datos o instrucciones) o
de control (si transportan señales de control diversos).

La CPU es el cerebro del microcomputador y actúa bajo el control el


programa almacenado en la memoria. La CPU se ocupa básicamente
de traer las instrucciones del programa desde la memoria interpretarlas
y hacer que se ejecuten. La CPU también incluye los circuitos para
realizar operaciones aritméticas y lógicas elementales con los datos
binarios, en la denominada Unidad Aritmética y Lógica (ALU).
Es un microcomputador, la CPU no es otra cosa que el
microprocesador, el circuito integrado capaz de realizar las funciones
antes mencionadas. Un microcontrolador es un microcomputador
realizado en un circuito integrado (chip).
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 de E/S y configurar un computador
implementado por varios circuitos integrados. Se dice que un
microprocesador es un sistema abierto por que 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.

Figura 1.2. Estructura de un sistema abierto basado en un


microprocesador. La disponibilidad de los buses en el exterior permite
que se configure a la medida de la aplicación.
Figura 1.3. El microcontrolador en un sistema cerrado. Todas las partes
del computador están contenidas en su interior y sólo salen al exterior
las líneas que gobiernan los periféricos.
Componentes de un microcontrolador
Un microcontrolador combina los recursos fundamentales disponibles
en un microcomputador, es decir, la unidad central de procesamiento
(CPU), la memoria y los recursos de entrada y salida, en único circuito
integrado.

Figura 1.4 Diagrama de bloques de un microcontrolador.


Los microcontroladores disponen de un oscilador que genera los pulsos
que sincronizan las operaciones internas. El oscilador puede ser del tipo
RC, aunque generalmente se prefiere que esté controlado por un cristal
de cuarzo (XTAL) debido a su gran estabilidad de frecuencia. La
velocidad de ejecución de las instrucciones del programa está en
relación directa con la frecuencia del oscilador del microcontrolador.
La CPU es el “cerebro” del microcontrolador. Esta unidad trae las
instrucciones del programa, una a una, desde la memoria donde están
almacenadas, las interpreta(decodifica) y hace que se ejecuten. En la
CPU se incluyen los circuitos de la ALU para realizar operaciones
aritméticas y lógicas elementales con los datos binarios.
La CPU de un microcontrolador dispone de diferentes registros, algunos
de propósito general y otros para propósitos específicos. Entre estos
últimos están el Registro de instrucción, el Acumulador, El Registro de
Estado, el Contador de Programa, el Registro de Direcciones de Datos
y el Puntero de la Pila.
El Registro de Instrucción (RI) almacena la instrucción que está siendo
ejecutada por la CPU. El RI es invisible para el programador.
El Acumulador (ACC: Acumulador) es el registro asociado a las
operaciones aritméticas y lógicas que se pueden realizar en la ALU. En
cualquier operación, uno de los datos debe estar en el ACC y el
resultado se obtiene en el ACC. El ACC no existe en los
microcontroladores PIC, que tienen en cambio el registro W.
El Registro de Estados (STATUS) agrupa los bits indicadores de las
características del resultado de las operaciones aritméticas y lógicas
realizadas en la ALU. Entre estos indicadores están el signo el resultado
(si es positivo o negativo), si el resultado es cero, si hay acarreo o
préstamo, el tipo de paridad (par o impar) del resultado.
El Contador de Programa (PC) es el registro de la CPU donde se
almacenan direcciones de instrucciones. Cada vez que la CPU busca
una instrucción en la memoria, el PC se incrementa, apuntando así a la
siguiente instrucción.
El registro de Direcciones de Datos (RDD) almacenas direcciones de
datos situados en la memoria. Este registro es indispensable para e
direccionamiento indirecto de datos en la memoria.
El Puntero de la Pila (SP) es el registro que almacena direcciones de
datos en la pila.
La memoria del microcontrolador es el lugar donde son almacenadas
las instrucciones del programa y los datos que manipula. En un
microcontrolador encontraremos dos tipos de memoria: la memoria
RAM y la memoria ROM. La memoria RAM es una memoria de lectura
y escritura, que además es volátil, es decir pierde la información
almacenada cuando falta energía que alimenta la memoria. La memoria
ROM es una memoria de solo lectura y no volátil. Las diferentes
tecnologías para realizar las memorias de solo lectura (ROM, EPROM,
EEPROM, OTP, FLASH). Tanto la memoria RAM como la memoria
ROM son de acceso aleatorio se refiere a que el tiempo necesario para
localizar un dato no depende del lugar de la memoria donde esté
almacenado. En las memorias de acceso secuencial, en cambio,
cuando más alejado esté un dato de la posición a la que se ha accedido
por última vez tarda para localizarlo.
La entrada y salida es particularmente importante en los
microcontroladores, pues a través de ella el microcontrolador
interacciona con el exterior. Forman parte de la entrada y salida los
puertos paralelo y serie, los temporizadores y la gestión de las
interrupciones, puede incluir entradas salidas analógicas asociadas a
convertidores A/D Y D/A.
El perro guardián (WDT: Watchdog Timer) consta de un oscilador y un
contador binario de N bits. El oscilador puede ser el oscilador principal
del microcontrolador, aunque se prefiere un oscilador independiente. La
salida de la última etapa va conectada al circuito de reset del
microcontrolador

Figura 1.5 Esquema básico del perro guardián.


El oscilador envía sus pulsos periódica y permanentemente a la entrada
de reloj del contador. Si el contador llega a contar los N pulsos, se
desborda, su salida se activa y produce el reset del microcontrolador.
El reset es una acción con la se inicia el trabajo de los
microprocesadores y microcontroladores. Esta acción se ejcuta cuando
se aplica una señal denominada de reset a una terminal, designado
también como reset. El efecto práctico de la señal es poner el contador
de programa (PC) en un valor predeterminado haciendo así que el
microprocesador o microcontrolador comience a ejecutar las
instrucciones que están a partir de esa posición de memoria apuntada
por el PC.
Arquitectura Von Neumann y Harvard
En la memoria de un ordenador, un microcomputador o un
microcontrolador, se almacenan instrucciones y datos, las instrucciones
deben pasar secuencialmente a la CPU para su descodificación y
ejecución, en tanto que algunos datos en memoria son leídos por la
CPU y otros son escritos en la memoria desde la CPU. Puede intuirse
que la organización de la memoria y su comunicación con la CPU son
dos aspectos que influyen en el nivel de prestaciones del ordenador.
Las arquitecturas von Neumann y Harvard son modelos generales del
hardware de los ordenadores que representan dos soluciones
diferentes al problema de la conexión de la CPU con la memoria y la
organización de la memoria como almacén de instrucciones y datos.
La arquitectura von Neumann utiliza una memoria única para
instrucciones y datos. Esto significa que con un mismo bus de
direcciones se localizan (direccionan) instrucciones y datos y que por
único bus de datos transitan tanto instrucciones como datos. La misma
señal del control que emite la CPU para leer un dato, sirve para leer una
instrucción. No hay señales de control diferentes para datos e
instrucciones. Debe quedar claro que, aunque se use memoria ROM
para almacenar el programa y RAM para los datos, para la CPU no hay
tal distinción, sino que ROM y RAM forman un conjunto único (una
memoria de lectura y escritura) para la cual la CPU emite señales de
control, de dirección y de datos.
La arquitectura von Neumann Se caracteriza por que la CPU se
conectaba a una memoria única, donde coexistían datos e
instrucciones, a través de un sistema de buses.

Figura 1.6. 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.

Figura 1.7 La arquitectura von Neumann utiliza una memoria única que
se conecta a la CPU mediante los buses de direcciones (BDIR), datos
(BDAT) y control (BCON)
Las computadoras con arquitectura Von Neumann se realizan a partir
de tres conceptos claves, que son:
1.- Los datos y las instrucciones se almacenan en una sola memoria de
lectura - escritura.
2.- Los contenidos de esta memoria se direccionan indicando su
posición, sin considerar el tipo de dato contenido en la misma.
3.- La ejecución se produce siguiendo una secuencia de instrucción tras
instrucción (a no ser que dicha instrucción se modifique explícitamente).
1.- LA UNIDAD ARITMÉTICO-LÓGICA O ALU Es el dispositivo digital
encargado de efectuar las operaciones aritméticas y lógicas en los
microprocesadores.
2.- LA UNIDAD DE CONTROL Es el dispositivo encargado de activar o
desactivar los diversos componentes del microprocesador.
3.- LA MEMORIA Son circuitos integrados capaces de almacenar
información digital, a los que tiene acceso el microprocesador del equipo
de computación. Las memorias podemos dividirlas en:
4.- UN DISPOSITIVO DE ENTRADA/SALIDA
Entrada: Son los que envían información a la unidad de procesamiento,
en código binario. Ejemplos: Teclados, sensores
Salida: Son los dispositivos que reciben información que es procesada
por la CPU y la reproducen para que sea perceptible para la persona.
Ejemplo: Monitores.
Todo ellos unidos por Buses de datos proporciona un medio de
transporte de los datos entre las distintas partes.
Una computadora con arquitectura von Neumann realiza o emula los
siguientes cuatros pasos generando ciclos:
PRIMERO. - Enciende el ordenador y obtiene la siguiente instrucción
desde la memoria en la dirección indicada por el contador de programa
y la guarda en el registro de instrucción.
SEGUNDO. - Aumenta el contador de programa en la longitud de la
instrucción para apuntar a la siguiente.
TERCERO. - Descodifica la instrucción mediante la unidad de control.
Ésta se encarga de coordinar el resto de componentes del ordenador
para realizar una función determinada.
CUARTO. - Se ejecuta la instrucción. Ésta puede cambiar el valor del
contador del programa, permitiendo así operaciones repetitivas. El
contador puede cambiar también cuando se cumpla una cierta condición
aritmética, haciendo que el ordenador pueda 'tomar decisiones', que
pueden alcanzar cualquier grado de complejidad, mediante la aritmética
y lógica anteriores
La arquitectura Harvard utiliza memorias separadas para
instrucciones y datos. En este caso la memoria de programa (que
almacena instrucciones) tiene su bus de direcciones (de instrucciones),
su propio bus de datos (más bien es un bus de instrucciones) y su bus
de control. Por otra parte, la memoria de datos tiene sus propios buses
de direcciones, datos y control, independientemente de los buses de la
memoria de programa. La memoria de programa es sólo de lectura,
mientras que en la de datos se pueden leer y escribir.

Figura 1.8 La arquitectura Harvard utiliza memorias separadas para


instrucciones y datos, las cuales se conectan a la CPU mediante los
buses de direcciones de instrucciones (BDIR-I) y de direcciones de
datos (BDIR-D) y los buses de instrucciones (BINST) y de datos (BDAT)
y los buses de control de instrucciones (BCON-I) y de datos (BCON-D)
Figura 1.9. En la arquitectura Harvard la memoria de instrucciones y la
de datos son independientes, lo que permite optimizar sus
características y propiciar el paralelismo en esta figura, la memoria de
instrucciones tiene 1 K de 14 bits cada una, mientras que la de datos
sólo dispone de 512 posiciones de un byte.
Podemos resumir que el proceso de ejecución de las arquitecturas es
la siguiente:
1.- Búsqueda de instrucción: Lo tomo del PC y lo mando al bus de
dirección, mando la señal al bus de control hasta que lo encuentra y lo
coloca en el bus de datos y lo manda a IR e incremento a PC.
2.- Decodificación (Interpretar): Aquí lo dice si lo guardo en registro o
memoria, IR interpreta primero la instrucción, ósea que operación va
hacer, quienes son los operandos que intervienen (a,b), (c o d), pueden
ser datos que están almacenados en la memoria de datos y por ultimo
a donde voy a mandar o guardar el resultado.
3.- Ejecución: ya se genera el código de control, que operación va a
resultar de lo que le decimos a la ALU, si los operadores son registros
la palabra es única, pero si uno es memoria, la unidad de control tienen
que mandar a la dirección a encontrarlo después al bus de datos y
mandarlo a la ALU.
4.- Almacenamiento: Puede ser en ellos registros o la memoria de datos,
en uno de los registros de la salida de la ALU, pero si lo guardo en una
memoria de la ALU lo manda a donde se vaya a guardar.
cuando se guarda el resultado se empieza de nuevo el proceso. En el
caso de la arquitectura Von Neumann la CPU puede estar bien leyendo
una instrucción o leyendo/escribiendo datos desde/hacia la mamemoria
pero ambos procesos no pueden ocurrir al mismo tiempo y en la
arquitectura Harvard la CPU puede tanto leer una instrucción como
realizar un acceso a la memoria de datos al mismo tiempo, incluso sin
una memoria caché.

La arquitectura Von Neumann requiere menos líneas que la Harvard


para conectar la CPU con la memoria, lo cual significa una conexión
más simple entre ambas. Pero con esta arquitectura es imposible
manipular simultáneamente datos e instrucciones, debido a la
estructura de buses únicos, algo que si posible en la arquitectura
Harvard, que tiene buses separados. Esto confiere a la arquitectura
Harvard la ventaja de una mayor velocidad de ejecución de los
programas.

Arquitecturas Ventajas Desventajas


Permite el diseño de La longitud de las
programas con instrucciones está
código limitada
Von Neumann automodificable
Es eficiente en la La velocidad de
utilización de la operación está
memoria limitada
El tamaño de las Deben poseer
instrucciones está instrucciones
relacionado con el de especiales
los datos
Harvard El tiempo de acceso Disminuye el
de las instrucciones rendimiento en caso
puede superponerse de que las
con el de los datos instrucciones no
tengan el mismo
espacio
Comparaciones
Arquitectura Von Neuman Harvard
Velocidad A pesar de ser la mas E tener una memoria
utilizada en nuestros de programa y una
días es más lenta que memoria de datos la
la arquitectura de hace una arquitectura
Harvard, esto se debe mucho más estable y
a su flexibilidad para con más velocidad,
el uso de diferentes aunque no sea tan
tipos de programas utilizada
Uso de la memoria Las instrucciones y Se utiliza una sola
los datos se caché para datos e
almacenan en cachés instrucciones
separadas para (programas), lo cual
mejorar el merma el desempeño
rendimiento
Es utilizada en: Es la variante Por excelencia se
adecuada para las utiliza en
PC. Ya que es lenta supercomputadoras,
pero flexible, en los
adaptable y microcontroladores.
modificable en ciertos
casos.
Costos Es la variante Consume muchas
adecuada en PC por líneas de E/S del
que permite ahorrar procesador, por lo
una buena cantidad que en sistemas
de líneas de E/S, que donde el procesador
son bastantes está ubicado en su
costosas. propio encapsulado,
solo se utiliza en
supercomputadoras.

S-ar putea să vă placă și