Microcontrolador: procesador integrado en un...

32

Transcript of Microcontrolador: procesador integrado en un...

Microcontrolador: procesador integrado en un CI

Clasificación de los

microcontroladores

Descripción

Según el tamaño de datos 4,8,16,32,64 bits

Según la arquitectura interna • Von Neuman,

• Hardvard

Según la arquitectura del

procesador

• CISC

• RISC

• ASIC

LOS MICROPROCESADORES RISC PUEDEN CONSUMIR MUY BAJA POTENCIA

DEBIDO A LA SIMPLICIDAD DE SU ARQUITECTURA

CISC RISC

Muchas instrucciones Pocas Instrucciones

Instrucciones tienen longitud variable Instrucciones tienen longitud fija

Muchas instrucciones puede acceder

a memoria

Pocas instrucciones puede acceder

a memoria (e.j. load y store)

En muchas instrucciones el

procesador puede leer y escribir en

memoria en la misma instrucción

En ninguna instrucción el procesador

puede leer y escribir en memoria.

Pocos y más especializados registros

(ej. Registros de datos, de

instrucciones)

Muchos registros de propósito general

Muchos tipos de modos de

direccionamiento

Limitado número de modos de

direccionamiento

CPU MEMORIA

E/S de

Puertos

Paralelo

Entrada de puertos A/D

MEMORIAROM RAM

CPU

Datos

PUERTOS E/S

Controll

Direcciones

8

16

88

Arquitectura

Von NeumannLas instrucciones (programa) y los

datos se encuentran en una misma

memoria

CPUMEMORIA

PROGRAMAMEMORIA

DATOS

Direcciones

RAMROMPUERTOS

E/S

Control

8

16

8 8

CPU

8

16

Control

Entrada de puertos A/D

Datos de

Memoria

de

programa

DATOS DE MEMORIA

Direcciones

Arquitectura HarvardLas instrucciones (programa) y los datos se encuentran separadas en diferentes memorias

FECHA MICROPROCESADOR TIPO

1971 INTEL 4004 CISC PRIMER MICROPROCESADOR 4 BITS

1972 INTEL 8008 CISC PRIMER MICROPROCESADOR 8 BITS

1974 INTEL 8080 CISC PRIMER MICROPROCESADOR 8 BIT CANAL N

1974 MOTOROLA 6800 CISC +5 VOLTS

1975 IBM 801, RISC IBM proyecto RAN

1976 INTEL 8048 CISCPRIMER MICROCOMPUTADORA EN 1 C.I.

DE 8 BIT

1979 MOTOROLA 68000 CISC 68000 TRANSISTORES

1979 INTEL 8088 CISCPRIMER MICROPROCESADOR DE 8 BIT CON ARQUITECTURA

INTERNA DE 16 BITS

1981 IBM PC usa INTEL 8088 CISC

1981 MIPS RISC UNIVERSIDAD DE STANFORD

RISC II RISC UNIVERSIDAD DE BERKELEY

-- - - -

1985 Arcon Computers ARM-1 RISC ARM

FAMILIA DE MICROCONTROLADORES CON EL

PROCESADOR CORTEX-M

TAREAS QUE SE PUEDEN EJECUTAR EN PARALELO TM4C1294

ICODE BUS: EXTRAE CÓDIGO DE ROM

DCODE BUS: LEE DATOS CONSTANTES DE LA ROM

SYSTEM BUS: LEE/ESCRIBE DATOS DE RAM O DE E/S, EXTRAE CÓDIGO DE RAM

PPB: LEE/ESCRIBE DATOS DE PERIFÉRICOS INTERNOS

AHB: LEE/ESCRIBE DATOS DE PUERTOS DE E/S DE ALTA VELOCIDAD

Periféricos internos

BusAdvancedHigh-pref

Bus

PPB

ProcesadorARM Cortex-M

Bus

ICode

Bus del sistema

ROM Flash Instrucciones

RAMDatos

Puerto

de

entrada

Puerto

de

salida

Bus

DCodeArquitectura Harvard de un Microprocesador

basado en ARM Cortex M

ARQUITECTURA

DE UN

MICROCONTROL

ADOR CON EL

PROCESADOR

CORTEX-M

Su funcionamiento radica en los pulsos de reloj (internos o externos) para generar un Ciclo Máquina, estos se producen para las señales de control a partir de un oscilador o reloj maestro, (μP es una máquina secuencial);Es capaz de responder a señales externas (interrupciones)

BUS DE DIRECCIONES

DIRECCION (ADDRESS) 8 BITS

SELECTOR DE

PROGRAMA

BUS DE DATOS

HABILITADOR DEL

RELOJ DEL

ACUMULADOR

RELOJ DEL

ACUMULADOR

CARGA (SALTO)

8 BITS DIRECCION

(DIRECCION-DATOS)

CODIGO DE

OPERACION

HABILITADOR DEL

BUFFER DE LA

MEMORIA

SELECTOR DE

PROGRAMA

Código de

Operación 4

Bits MSB

Carry/Zero

Señales de

Control (13)

Load o salto de

dirección

Registro

acumulador

Registro

datos

Registro de

entradaRegistros / puertos de

salida

▪ Realiza operaciones lógicas NAND y

sumas aritméticas con los datos

binarios;

▪ Contiene un registro (conjunto de flip-

flops) llamados BANDERAS los cuales

guardan información relacionada con el

resultado de una operación lógica-

aritmética (ej. Indica si el resultado es

cero)

Sumador

Conjunto de NOR

Registro

acumulador

Circuito verificador

Carry/zero

compiladorun compilador es un tipo de

traductor que transforma un

programa entero de un

lenguaje de programación

(llamado código fuente) a

lenguaje objeto (código

máquina), aunque también

puede ser traducido a un

código intermedio

(bytecode) o a texto

MICROPROCESADORES ARM

• ACORN COMPUTERS – 1985

• REQUIERE REALIZAR COMPUTADORAS BARATAS PARA EL SECTOR EDUCATIVO

• DISEÑA UNA ARQUITECTURA DE PROCESADOR CON POCOS TRANSISTORES-

• ACORN RISC MACHINE - ARM 1, 2

• LA ARQUITECTURA CONSUME POCA ENERGÍA Y LA HACE IDEAL PARA DISPOSITIVOS MÓVILES

• APPLE - ARCON- VLSI TECHNOLOGY 1991

• PROCESADOR PARA UN ASISTENTE DIGITAL PERSONAL (PDA, POR SUS SIGLAS EN INGLÉS)

• ADVANCED RISC MACHINES LTD. DISEÑA EL NÚCLEO DEL PROCESADOR Y VENDE LOS

• DERECHOS PARA MANUFACTURAR SU PROCESADOR A OTRAS COMPAÑÍAS – “INTELLECTUAL PROPERTY”— IP

• (VLSI TECHNOLOGY)

ARMVX : VERSIÓN DE LA ARQUITECTURA.

ARMX : FAMILIA DE PROCESADORES BASADOS EN LA MISMA ARQUITECTURA PERO CON IMPLEMENTACIONES

DIFERENTES.

ARMV7: DE LAS ÚLTIMAS VERSIONES DE LA ARQUITECTURA, CON VARIOS DISEÑOS DIFERENTES QUE DAN LUGAR A

VARIAS FAMILIAS

MICROPROCESADORES ARM CORTEX

• “CORTEX” SE DIVIDE EN TRES SEGMENTOS:

• “CORTEX A” - DISEÑADO PARA ALTO DESEMPEÑO PARA

PLATAFORMAS ABIERTAS

• SMARTPHONE, TABLETS

• “CORTEX R” – DISEÑADO PARA APLICACIONES EN TIEMPO

REAL

• AUTOS, IMPRESORAS, SWITCHES DE RED

• “CORTEX M” – DISEÑADO PARA SISTEMAS

MICROCONTROLADORES ALTAMENTE EMBEBIDOS

MAPA DE MEMORIA DEL TM4C1294

1024k

FLASH ROM

256k RAM

PUERTOS

E/S INTERNOS (PPB)

PUERTOS

E/S

0x0000.0000

0x000F.FFFF

0x2000.0000

0x2003.FFFF

0x4000.0000

0x400F.FFFF

0xE000.0000

0xE004.1FFF

REGISTROS EN EL PROCESADOR ARM CORTEX M

“MODELO DE PROGRAMACIÓN”

R0

R8

R2

R4

R6

R5

R1

R7

R3

R9

R11

R12

R10

R13 (MSP)

R14 (LR)

R15 (PC)

R13 (PSP)

PSR

FAULTMASK

CONTROL

PRIMASK

BASEPRI

Registros

de

propósito

general

Apuntador de pila

Registro de liga

Contador de programa

Registros especiales

Registro de estatus de programa

Registro de CONTROL

Registros de mascaras con excepciones

DIAGRAMA DE TIEMPOS DEL PROCESADOR DE ARM CORTEX M4 ARQUITECTURA PIPELINE (ENCAUZAMIENTO (FETCH)) DE 3 ETAPAS

Búsqueda de

instrucciónDecodificación

de instrucción

Ejecución de

instrucción

Decodificación

de instrucción

Decodificación

de instrucción

Ejecución de

instrucción

Búsqueda de

instrucción

Ciclos

de reloj

¡Se ejecuta una instrucción cada ciclo de reloj!

Búsqueda de

instrucciónEjecución de

instrucción

ALMACENAMIENTO EN MEMORIA

SI SE CUENTA CON BANCOS DE MEMORIA DE 8 BITS (1 BYTE) POR CADA DIRECCIÓN

¿CÓMO ALMACENAR NÚMEROS DE 16 BITS?

POR EJEMPLO → 1000 = 0X03E8

0x030x2000.0450

0x2000.0451 0xE8

Dirección Datos

Almacenar el Byte más significativo

en la dirección inferior

Almacenar el Byte menos significativo

en la dirección inferior

0x2000.0450

0x2000.0451 0x03

Dirección Datos

0xE8

¡Las instrucciones en ARM se almacenan en este formato!

ALMACENAMIENTO EN MEMORIANÚMERO DE 32 BITS (0X12345678)

DE LA DIRECCIÓN 0X2000.0450 A LA 0X2000.0453

Almacenar el Byte más significativo

en la dirección inferior

0x120x2000.0450

0x2000.0451

0x2000.0452

0x2000.0453

0x34

Dirección Datos

0x56

0x78

Almacenar el Byte menos significativo

en la dirección inferior

0x780x2000.0450

0x2000.0451

0x2000.0452

0x2000.0453

0x56

Dirección Datos

0x34

0x12

¡Las instrucciones en ARM se

almacenan en este formato!