Está en la página 1de 27

BI2001B - Diseño de sistemas de

bioinstrumentación digital
Arquitectura de microcontroladores y microprocesadores

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Evolución de los microprocesadores y
microcontroladores
Evolución
Transistor size

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Evolución
Transistor count

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Evolución
Transistor clock frequency

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Unidades básicas, Arquitectura y
Estructura básica
Estructura básica
Microcontrolador

• Un microcontrolador incluye en su interior las tres principales unidades


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

• Un microcontrolador (abreviado µC, UC o mCU) es un circuito integrado


programable, capaz de ejecutar las órdenes grabadas en su memoria.

• La característica definitoria de un microcontrolador es que incorpora todos


los componentes informáticos necesarios en un solo chip. La CPU, la
memoria, los controles de interrupción, el temporizador, los puertos serie,
los controles de bus, los puertos periféricos de E / S y cualquier otro
componente necesario están presentes en el mismo chip y no se requieren
circuitos externos

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Estructura básica
Microprocesador
• Un microcontrolador incluye en su interior las tres principales unidades
funcionales: Unidad de control, Unidades de I/O, Unidad aritmética
lógica (ALU), Registros, Cache (memoria)

• Encargado de ejecutar todos los programas, desde el sistema


operativo hasta las aplicaciones de usuario

• Ejecuta instrucciones en lenguaje binario, realizando operaciones


aritméticas y lógicas simples

• Puede contener una o más unidades centrales de procesamiento (CPU)


constituidas, esencialmente, por registros, una unidad de control, una
unidad aritmético lógica (ALU)

• El microprocesador consta de una CPU y varios chips de soporte que


suministran la memoria, la interfaz en serie, las entradas y salidas, los
temporizadores y otros componentes necesarios.

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Arquitectura
Diferencias

The key difference here is that microcontrollers are self-contained. All of the necessary computing peripherals are internal to
the chip, where microprocessors deal with external peripherals.

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Unidades básicas
Diferencias
Microprocessor Microcontroller
Intensive processing, personal computers, laptops, It used where the task is fixed and predefined. It is used
Application
mobiles, video games, etc. in the washing machine, alarm, etc.
It has only the CPU in the chip. Other devices like I/O
CPU, Memory, I/O port and all other devices are
port, memory, timer is connected externally.
connected on the single chip.
Structure The structure of the microprocessor is flexible. Users can
The structure is fixed. Once it is designed the user cannot
decide the amount of memory, the number of I/O port
change the peripheral devices.
and other peripheral devices.
Clock speed 1 GHz to 4 GHz. 1 MHz to 300 MHz.
RAM (Random Access Memory) - Memoria de acceso
512 MB to 32 GB. 2 KB to 256 KB.
aleatorio
ROM (Read-only memory) - Memoria de solo lectura 128 GB to 2 TB. 32 KB to 2 MB.

Peripheral interface USB, UART, and high-speed Ethernet. I2C, SPI, and UART.
Can change for different applications. Difficult compared The program for the microcontroller is fixed once it is
Programming
to the microcontroller. designed.
Bit size 32-Bit and 64-bit. 8-bit, 16-bit, and 36-bit.
Cost High compared to the microcontroller. It is cheaper.
Power consumption High. Less compared to microprocessor.
Size Large. Small compared to microprocessor

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Arquitecturas
4, 8, 16, 32 y 64 bits
• Cuando se habla de CPUs o microprocesadores de 4, 8, 16, 32, 64 bits, se refiere al tamaño, en número de bits,
que tienen los registros internos del procesador y también a la capacidad de procesamiento de la Unidad
aritmético lógica (ALU).

• Un microprocesador de 4 bits tiene registros de 4 bits y la ALU hace operaciones con los datos en esos registros
de 4 bits, mientras que un procesador de 8 bits tiene registros y procesa los datos en grupos de 8 bits.

• Los procesadores de 16, 32 y 64 bits tienen registros y ALU de 16, 32 y 64 bits respectivamente, y generalmente
pueden procesar los datos, tanto en el tamaño en bits de sus registros como, dependiendo de su diseño

• Así, un procesador de 16 bits puede procesar los datos en grupos de 8 y 16 bits, comportándose como si fuera
un procesador tanto de 8 como de 16 bits.

• Un procesador de 32 bits puede procesar los datos en grupos de 8, 16 y 32 bits, y el procesador de 64 bits
puede procesar los datos en grupos de 8, 16, 32 y 64 bits, generalmente con registros divididos en otros
registros más pequeños. Así, los registros de un procesador de 32 bits, por ejemplo, pueden estar divididos a su
vez en registros de 16 y 8 bits y puede hacer operaciones aritméticas, lógicas, de comparaciones, y otras, con
cualquiera de sus registros en cualquiera de estos tamaños.

• La denominación de "microprocesador de 32 bits" no se refiere al tamaño del bus de datos del CPU ni del bus de
direcciones, sino a su capacidad de trabajar normalmente con los datos en el número máximo de bits (salvo
alguna excepción).

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Arquitectura Arduino Uno
Arquitectura
Arduino Uno

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Oscilador
16MHz Quartz crystal

• El oscilador de cristal soldado Arduino proporciona una señal de reloj al


microcontrolador Atmega 328. Esto proporciona una señal de onda cuadrada
que determina el tiempo requerido para cada estado T. Como en general,
Arduino tiene un cristal de frecuencia de 16 Mhz, por lo que se necesita
1/16µs de uso para ejecutar un estado 1T.

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Registros
4, 8, 16, 32 y 64 bits
• Son un espacio de memoria donde se toman los datos para varias operaciones del
procesador o controlador. Los registros sirven para almacenar los resultados de la
ejecución de instrucciones, cargar datos desde la memoria externa o almacenarlos en ella.

• Cuando escuchamos que un procesador es de 4, 8, 16, 32 o 64 bits, nos estamos refiriendo


a procesadores que realizan sus operaciones con registros de datos de ese tamaño

• Mientras mayor sea el número de bits de los registros de datos, mayores serán sus
prestaciones, en cuanto a poder de cómputo y velocidad de ejecución. Por ejemplo, no
tiene sentido tener una ALU de 16 bits en un procesador de 8 bits.

• Registros de datos - guardan números enteros.


• Registros de memoria - guardan exclusivamente direcciones de memoria.
• Registros de propósito general - guardan tanto datos como direcciones.
• Registros de coma flotante guardan datos en formato de coma flotante.
• Registros constantes tienen valores creados por hardware de sólo lectura.
• Registros de propósito específico - guardan información específica del estado del sistema

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Perifericos
Entradas y salidas de propósito general E/S
• Agrupadas en puertos de 8 bits de longitud (generalmente)

• Permiten leer datos del exterior o escribir en ellos desde el interior del
microcontrolador

• Cualquier pin de E/S puede ser considerada E/S de propósito general

• Para usar un pin con cualquiera de las características a él asignadas


debemos configurarlo mediante los registros destinados a ellos

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Procesador en detalle
Temporizadores y contadores
• Son circuitos sincrónicos para el conteo de los pulsos que llegan a
su poder para conseguir la entrada de reloj.

• Si la fuente de un gran conteo es el oscilador interno del


microcontrolador es común que no tengan un pin asociado, y en
este caso trabajan como temporizadores. Por otra parte, cuando la
fuente de conteo es externa, entonces tienen asociado un pin
configurado como entrada, este es el modo contador.

• Los temporizadores se utilizan para


• Medición de frecuencia
• Implementación de relojes
• Base estable de tiempo

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Procesador en detalle
Buses
• Medio de comunicación para intercambiar información entre sí

• En el caso de microcontroladores, se destinan básicamente a las


E/S de propósito general y periféricos del sistema.

Existen tres tipos de buses:


• Dirección – uso para seleccionar al dispositivo con el cual se
quiere trabajar o en el caso de las memorias, seleccionar el dato
que se desea leer o escribir.
• Datos – uso para mover los datos entre los dispositivos
de hardware (entrada y salida).
• Control – uso para gestionar los distintos procesos de escritura
lectura y controlar la operación de los dispositivos del sistema.

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Puertos de comunicación
Puerto serie UART, SPI, I2C, USB
• Puerto serie - periférico presente en casi cualquier microcontrolador,
normalmente en forma de UART (Universal Asynchronous Receiver
Transmitter). El destino común de este periférico es la comunicación con otro
microcontrolador o con una PC

Existen varias versiones de bus de transferencia de información

• SPI - usado para la transferencia de información entre circuitos integrados en


equipos electrónicos. Es un estándar para controlar casi cualquier dispositivo
electrónico digital que acepte un flujo de bits serie regulado por un reloj
(comunicación sincrónica).
• I2C – usado internamente para la comunicación entre diferentes partes de un
circuito, por ejemplo, entre un controlador y circuitos periféricos integrados
• USB - bus de comunicaciones que sigue un estándar que define los cables,
conectores y protocolos usados en un bus para conectar, comunicar y
proveer de alimentación eléctrica entre computadoras, periféricos y
dispositivos electrónico

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Ciclo del programa/máquina
Ciclo del programa/máquina
Ciclo de maquina • Ciclo de máquina - tiempo requerido para que
el microprocesador acceda a la memoria o un
dispositivo I/O, ya sea para una operación de
Periodo del reloj
lectura o una operación de escritura.

• Consiste en 6 estados (S1 a S6 en este caso)

• Cada estado esta formado de dos periodos de


la señal de reloj, que se llama fases

• Viendo la figura, teniendo en cuenta que cada


ciclo de maquina tiene 12 periodos (6 estados
en 2 fases), si la frecuencia del oscilador es de
12 MHz, la duración de ciclo de maquina es
de 1µs (es calculada como 12/12 MHz)

• Mientras que el periodo del reloj es de 83.3


ns (es calculada como 1/12 MHz)

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Ciclo del programa/máquina
Diagrama de tiempo

• Un diagrama de tiempo en el campo de los sistemas


integrados se refiere a una representación gráfica de los
procesos que ocurren con respecto al tiempo.

• En otras palabras, la representación de los cambios y


variaciones en el estado de las señales con respecto al
tiempo se denomina diagrama de tiempos.

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Ciclo del programa/máquina
Pasos de Ciclo de máquina

• Ir a buscar
Unidad de control mira el registro del contador del programa (PC) para obtener Ciclo de
la dirección de memoria de la siguiente instrucción. El procesador primero tiene búsqueda
que leer de la memoria la instrucción que se va a ejecutar. Este proceso de leer el
código de la instrucción a ejecutar se denomina ciclo de busqueda. Podemos
(Fetch)
decir que durante este ciclo, la instrucción a ejecutar se recupera de la memoria

• Decodificar
Unidad de control verifica la instrucción que ahora está almacenada dentro del
registro de instrucciones (IR). Observa la instrucción, que es solo una secuencia
de 0 y 1, y decide lo que se debe hacer. ¿Dice la instrucción que sume dos
números? ¿Dice cargar un valor de la memoria? ¿Dónde en la memoria? La
unidad de control interpreta la instrucción binaria para responder preguntas como
estas.
Ejecutar Decodificación

• Ejecutar
Ahora la unidad de control envía las señales, la memoria y otras señales de los
componentes para hacer que realicen el trabajo correcto.

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Ciclo del programa/máquina
Tipos de Ciclo de máquina

Sr. No. Machine cycle IO/M S1S0 Other control signals


1 Opcode fetch machine cycle* 0 11 RD = 0
2 Memory read machine cycle / Operand Fetch machine cycle 0 10 RD = 0
3 Memory write machine cycle 0 01 WR = 0
4 IO read machine cycle 1 10 RD = 0
5 IO write machine cycle 1 01 WR = 0
6 Interrupt acknowledge machine cycle 1 11 INTA = 0
7 Bus Idle machine cycle 0 00 INTA = RD = WR = 1

*El ciclo de la máquina de búsqueda de código de operación (Opcode fetch machine cycle) implica la búsqueda del código de operación de la
instrucción a ejecutar y el proceso de decodificación de ese código de operación. Por lo general, consta de cuatro estados.

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Ciclo del programa/máquina
Ejemplo: Escribir en Memoria
ALE son las siglas de Address Latch Enable.
Esta señal de salida proporcionada por el microprocesador nos dice si el AD0-AD7 lleva la
ALE dirección o está disponible para la transferencia de datos.
ALE = 0 (AD0-AD7 está disponible para transferencia de datos)
ALE = 1 (AD0-AD7 lleva los ocho bits inferiores de la dirección)
Nos dice si una operación en particular (o un ciclo de máquina) está relacionada con la memoria o
un dispositivo IO.
IO/M
IO / M = 1 (el microprocesador está hablando con un dispositivo IO)
IO / M = 0 (el microprocesador está hablando con la memoria))
Lleva datos
Disponible para
Nos dice si se está realizando una operación de lectura / escritura o no.
transferencia de datos S1 y S0 = 00 (Detener)
S1 y S0 S1 y S0 = 01 (una operación de escritura)
S1 y S0 = 10 (una operación de lectura)
S1 y S0 = 11 (Recuperación de código de operación o reconocimiento de interrupción)

WR es una señal baja activa y simplemente nos dice si es una operación de escritura cuando es baja
µC hablando con memoria.
Operación de escritura

RD es una señal baja activa y simplemente nos dice si es una operación de lectura cuando es baja.
Operación de
escritura

8085 Microprocesador/Diagrama de tiempo completo

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics


Ciclo del programa/máquina
Ejercicio
Describe los procesos de Opcode fetch, memory read and memory write

Prof. Dr.-Ing. Diego Luján Villarreal, Department of Mechatronics

También podría gustarte