microcontrolador: procesador integrado en un...
TRANSCRIPT
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
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
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
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
•
•
•
•
•
•
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
▪ 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!