Está en la página 1de 12

Universidad Autónoma de Zacatecas

Unidad Académica de Ingeniería Eléctrica


Ingeniería en Robótica y Mecatrónica

Sistema digitales 3
“Diferencias entre arquitecturas”
- Princeton vs Hardvard
- CISC vs RISC
- Microprocesadores y microcontroladores

Docente.-
Dr. en C. Remberto Sandoval Arechiga

Alumno.-
Luna Martinez Boni Uriel

8/31/12
Von Neuma vs Harvard

VON NEUMANN
La arquitectura de von Neumann es una familia de arquitecturas de
microprocesadores que utilizan el mismo dispositivo de almacenamiento tanto para
las instrucciones como para los datos (a diferencia de la arquitectura Harvard).
Estos microprocesadores con arquitectura Von Neuma constan de cinco partes:
-Unidad aritmético-lógica o ALU
-Unidad de control,
-La memoria,
-Dispositivo de entrada/salida y
-Bus de datos

Un microprocesador con esta arquitectura realiza o emula los siguientes pasos


secuencialmente:

1. Enciende el microprocesador 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.
2. Aumenta el contador de programa en la longitud de la instrucción para apuntar a
la siguiente.
3. Decodifica 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.
4. 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.

HARVARD
Originalmente, el término Arquitectura Harvard hacía referencia a las arquitecturas
de microprocesadores que utilizaban dispositivos de almacenamiento físicamente
separados para las instrucciones y para los datos (a diferencia de la Arquitectura de
von Neumann). El término proviene de la computadora Harvard Mark I, que
almacenaba las instrucciones en cintas perforadas y los datos en interruptores.
Todos los microprocesadores constan principalmente de dos partes, el procesador
de datos, y la memoria que guarda los datos. Cuando hablamos de memoria
manejamos dos parámetros, los datos en sí, y el lugar donde se encuentran
almacenados (o dirección). Los dos son importantes para el procesador, pues
muchas instrucciones frecuentes se traducen a algo así como "coge los datos de
ésta dirección y añádelos a los datos de ésta otra dirección", sin saber en realidad
qué es lo que contienen los datos

Arquitectura Von Neumann


• Los datos y las instrucciones se almacenan en una misma memoria de
lectura/escritura.
• No se pueden diferenciar entre datos e instrucciones al examinar una posición
de memoria.
• Los contenidos de la memoria son direccionados por su ubicación, sin Importar el
tipo de datos contenido.
• La ejecución ocurre en modo secuencial mediante la lectura de instrucciones
consecutivas desde la memoria.

Arquitectura Harvard
• Las instrucciones y los datos se almacenan en caches separadas para mejorar el
rendimiento.
• Por otro lado, tiene el inconveniente de tener que dividir la cantidad de cache entre
los dos, por lo que funciona mejor sólo cuando la frecuencia de lectura de
instrucciones y de datos es aproximadamente la misma.
• Esta arquitectura suele utilizarse en DSPs, o procesador de señal digital, usados
habitualmente en productos para procesamiento de audio y video.

RISC vs CISC
RISC (Reduced instrution set computer) computadoras con un set de
instrucciones reducido.

RISC a diferencia de los CISC tiene un set de instrucciones simples requiriendo uno
o pocos ciclos de ejecución. Estas instrucciones pueden ser utilizadas más
eficientemente que la de los procesadores CISC con el diseño del software
apropiado, resultando en operaciones más rápidas.

La comparación entre CISC y RISC no es solo una cuestión de diferencias en el


conjunto de set de instrucciones, puesto que es fundamental resaltar el mejor uso
y aprovechamiento de los recursos del silicio, es decir, menor tiempo de diseño y
empleo de menor número de componentes, lo que redunda en menor número de
errores de diseño y menor tiempo de para instrucciones individuales. Las
características comunes a todos los procesadores RISC, fuente de sus capacidades
de altas prestaciones, son:
Modelo de conjunto de instrucciones Load/Store (Cargar/Almacenar). Solo las
instrucciones Load/Store acceden a memoria; las demás operaciones en un RISC,
tienen lugar en su gran conjunto de registros. Ello simplifica el direccionamiento y
acorta los tiempos de los ciclos del procesador, y además facilita la gestión de los
fallos de páginas en entornos de memoria virtual. Además, permite un elevado nivel
de concurrencia a consecuencia de la independencia de las operaciones de
Load/Store de la ejecución del resto de las instrucciones

CISC (complex instruction set computer) computadoras con un set de


instrucciones complejo)

La arquitectura CISC se refiere a los microprocesadores tradicionales que operan


con grupos grandes de instrucciones de procesador. Este tipo de arquitectura tiene
un set de instrucciones complejas por lo cual requieren varios ciclos para completar
su operación.

Destruyen la información que existe en alguno de los registros, como consecuencia


de la ejecución normal de instrucciones; esto es debido a su arquitectura de dos
direcciones, por la cual el resultado de una operación sobrescribe uno de los
registros que contenga a los operandos. Por contra, las instrucciones RISC, con tres
direcciones, contienen los campos de los dos operandos y de su resultado. Por lo
tanto, tanto los operandos origen como el destino, son mantenidos en los registros
tras haber sido completada la operación. Esta arquitectura "no destructiva" permite
a los compiladores organizar las instrucciones de modo que mantengan llenos los
conductos del chip, y por tanto reutilizar los operandos optimizando la concurrencia.

Microcontroladores vs microprocesadores

Los microcontroladores (µC o MCU). Podemos decir que un µC es un circuito


integrado capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto
de varios bloques funcionales, los cuales cumplen una tarea específica.

Incluye en su interior las tres unidades funcionales principales de una


computadora: unidad central de procesamiento (CPU), memoria y periféricos de
entrada y salida.

Microcontroladores de la familia PIC del fabricante Microchip.


A diferencia de los microprocesadores de propósito general, como los que se usan
en los computadores PC, los µC son unidades auto-suficientes y más económicas.

El funcionamiento de los µC está determinado por el programa almacenado en su


memoria.

Este puede escribirse en distintos lenguajes de programación. Además, la mayoría


de los µC actuales pueden programarse repetidas veces. Son utilizados como el
cerebro de una gran variedad de sistemas embebidos que controlan máquinas,
componentes de sistemas complejos, como aplicaciones industriales de
automatización y robótica, domótica, equipos médicos, sistemas aeroespaciales, e
incluso dispositivos de la vida diaria como automóviles, hornos de microondas,
teléfonos y televisores.

Sus principales características son:

 Unidad de Procesamiento Central (CPU): Típicamente de 8 bits, pero también


las hay de 4, 32 y hasta 64 bits con arquitectura Harvard, con memoria/bus de
datos separada de la memoria/bus de instrucciones de programa, o arquitectura
de von Neumann, también llamada arquitectura Princeton, con memoria/bus de
datos y memoria/bus de programa compartidas.

 Memoria de Programa: Puede ser una memoria ROM (Read-Only Memory),


EPROM (Electrically Programmable ROM), EEPROM (Electrically
Erasable/Programmable ROM) o Flash que almacena el código del programa
que típicamente puede ser de 1 kilobyte a varios megabytes.

 Memoria de Datos: Es una memoria RAM (Random Access Memory) que


típicamente puede ser de 1, 2 4, 8, 16, 32 kilobytes.

 Generador del Reloj: Usualmente un cristal de cuarzo de frecuencias que genera


una señal oscilatoria de entre 1 a 40 MHz, o también resonadores o circuitos
RC.

 Interfaz de Entrada/Salida: Puertos paralelos, seriales (UARTs, Universal


Asynchronous Receiver/Transmitter), IC (Inter-Integrated Circuit), Interfaces de
Periféricos Seriales (SPIs, Serial Peripheral Interfaces), Red de Área de
Controladores (CAN, Controller Area Network), USB (Universal Serial Bus).

Proceso de Desarrollo

El proceso de desarrollo de una aplicación basada en microcontroladores se


compone de las siguientes etapas principales:
 Desarrollo de software: Esta etapa corresponde a la escritura y
compilación/ensamblaje del programa que rige las acciones del µC y los
sistemas periféricos conectados a este.

 Programación del µC: En esta etapa el código de máquina correspondiente al


programa desarrollado en la etapa anterior se descarga en la memoria del µC.

 Prueba y verificación: Por último, el µC debe conectarse al circuito base y


someterse a pruebas para verificar el funcionamiento correcto del programa.

Desarrollo del software

En esta etapa consiste en escribir y compilar/ensamblar el programa que determinar


a las acciones del µC y su funcionamiento. Existen distintas maneras de desarrollar
el programa, dependiendo del lenguaje inicial que se utiliza para escribir el programa:

En la siguiente figura se muestran las dos alternativas típicas que tiene un


desarrollador para generar el código de máquina que es entendido por el
microcontrolador.

El método básico es escribir el programa en lenguaje Assembler (lenguaje


Ensamblador, un lenguaje de bajo nivel, muy cercano al lenguaje máquina) en un
archivo de texto con extensión .asm y luego utiliza un compilador para generar un
archivo en lenguaje de máquina, también denominado código de máquina o código
objeto (object code), compuesto por instrucciones en código binario que son
directamente entendidas por la CPU del microcontrolador.

El compilador de Assembler normalmente genera un archivo con extensión .hex (por


hexadecimal), .o (por objeto), .bin (por binario),o .coff (common object file format)
dependiendo del programa.
Otra alternativa es emplear un lenguaje de alto nivel con una mayor cantidad de
abstracciones, la cuales son más fáciles de usar y reducen los tiempos de desarrollo.

Tal vez los lenguajes de alto nivel más comunes para la programación de
microcontroladores son C y C++, pero también existen otros lenguajes variantes del
BASIC y el Pascal.

Una vez escrito el programa en el lenguaje de alto nivel, será necesario emplear un
compilador para traducir, ya sea a lenguaje Assembler o directamente a lenguaje de
máquina.

Microprocesadores
Continuamos con los microprocesadores o µP, éste es la parte de la computadora
diseñada para llevar a cabo o ejecutar los programas. Este viene siendo el cerebro
de la computadora, el motor o el corazón de esta máquina.

Este ejecuta instrucciones que se le dan a la computadora a muy bajo nivel haciendo
operaciones lógicas simples, como sumar, restar, multiplicar y dividir.

Microprocesadores variados

El microprocesador, es el cerebro del computador. Es un chip, un tipo de


componente electrónico en cuyo interior existen miles o millones de elementos
llamados transistores, cuya combinación permite realizar el trabajo que tenga
encomendado el chip.

El µP en su interior contiene la Unidad de Procesamiento Central (CPU), también


llamada procesador, de un computador.

La CPU está 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
de Entrada/Salida 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, por ejemplo, como la
siguiente imagen:

En otras palabras, el microprocesador es como la computadora digital porque ambos


realizan cálculos bajo un programa de control. Consiguientemente, la historia de la
computadora digital nos ayudará a entender el microprocesador.
En un microprocesador se pueden diferenciar diversas partes:

 El encapsulado: es lo que rodea a la oblea de silicio en sí, para darle


consistencia, impedir su deterioro y permitir el enlace con los conectores
externos que lo acoplaron a su zócalo a su placa base.

 La memoria caché: es una memoria ultrarrápida que emplea el µP para tener a


mano ciertos datos que predeciblemente serán utilizados en las siguientes
operaciones sin tener que acudir a la memoria RAM reduciendo el tiempo de
espera.

 ALU o Coprocesador Matemático: Es la parte del micro especializada en esa


clase de cálculos matemáticos, antiguamente estaba en el exterior del µP en
otro chip. Esta parte está considerada como una parte “lógica” junto con los
registros, la unidad de control, memoria y bus de datos.

 Los registros: son básicamente un tipo de memoria pequeña con fines


especiales que el µP tiene disponible para algunos usos particulares. Hay varios
grupos de registros en cada procesador. Un grupo de registros está diseñado
para control del programador y hay otros que no son diseñados para ser
controlados por el µP pero que la CPU los utiliza en algunas operaciones. En
total son treinta y dos registros.

 La memoria: es el lugar donde el procesador encuentra sus instrucciones de


programa y sus datos. Tanto los datos como las instrucciones están
almacenados en memoria, y el procesador los toma de ahí. La memoria es una
parte interna de la computadora y su función esencial es proporcionar un espacio
de trabajo para el µP.

 Puertos: es la manera en que el µP se comunica con el mundo externo. Un


puerto es parecido a una línea de teléfono. Cualquier parte de la computadora
con la cual el procesador necesita comunicarse, tiene asignado un número de
puerto que el procesador utiliza como un número de teléfono para llamar al
circuito o a partes especiales.
Breve evolución de los microprocesadores de Intel

Cuadro de desarrollo de microprocesadores de Intel hasta el 2008

Como se puede observar en el año 1971 los ingenieros de Intel lograron algo que
parecía imposible, introducir en un chip la cantidad de 2300 transistores, creando el
primer microprocesador (si, fue el primero) en la actualidad ya pasan de siete mil
millones de transistores por chip. Impresionante.
Cuadro comparativo Microprocesadores vs. Microcontroladores

Así mismo, el tiempo de desarrollo de aplicaciones basadas en microcontroladores


es mucho menor que el tiempo que consume desarrollar en un microprocesador,
incluso para los expertos.
Conclusión

En conclusión, el microcontrolador es un dispositivo que puede desempeñar distintas


tareas específicas según su programación, siendo éste muy versátil dado que puede
interactuar con el mundo exterior a través de sus periféricos adaptados según sea el
requerimiento. Todo esto aunado a su pequeño tamaño de encapsulado y a su bajo
costo comparado con otros equipos, específicamente con el microprocesador. Por
otra parte el microprocesador es la base del microcontrolador, siendo este el cerebro
de los computadores y ordenadores de uso general. Sin embargo estos no funcionan
por sí solos, necesitan la integración de memorias, osciladores, convertidores, etc.
lo cual por un lado resulta en un aumento de costos pero por otra parte significa
flexibilidad dado que se pueden elegir distintos tipos de componentes siempre y
cuando sean compatibles, y escalabilidad dado que según su arquitectura, la
capacidad de memoria se puede expandir de acuerdo a los requerimientos, tarea
que no es posible en los microcontroladores.

Bibliografía:
https://medium.com/@aploopve/microcontroladores-vs-microprocesadores-
9e8c7edfb746
https://prezi.com/-tdeblbr13zp/1-establecer-la-diferencia-entre-la-arquitectura-von-
neuma/
http://spdtrabajomicroprocesadores.blogspot.com/2010/05/diferencias-entre-
arquitecturas-risc-y.html

También podría gustarte