ARMando el rompecabezas
|
|
|
- Belén Ávila Araya
- hace 9 años
- Vistas:
Transcripción
1 ARMando el rompecabezas Una piedra de Rosetta para descifrar las arquitecturas ARM para microcontroladores y su terminología, más allá del marketing 1/43
2 ARM no fabrica procesadores. ARM se dedica a vender Propiedad Intelectual en la forma de licencias para poder implementar procesadores Se compra, se implementa Debemos distinguir tres elementos fundamentales Arquitectura Set de instrucciones (ISA) Soporte de memoria virtual/protegida (VMSA, PMSA) Procesador Arquitectura Arquitectura de bus (Harvard, Von Neumann) Pipeline Dispositivo Procesador Caches Periféricos 2/43
3 Arquitectura ARMv4 ARMv5 ARMv6 ARMv7 Perfiles A (Application): Procesadores de alta performance, con VMSA R (Real-time): Procesadores con timing determinístico, con PMSA M (Microcontroller): Procesadores más simples y reducidos 3/43
4 Instruction Sets Estados de operación Interpreta los opcodes según el estado (distinto set de instrucciones) Cambio de estado por bit en registro de estado Instrucciones exchange Extensiones Tiene o no esas instrucciones adicionales Estados de operación ARM (32-bits), ejecución condicional Thumb (16-bits), introducido en ARMv4T Thumb-2 (16- y 32-bits), mejora (extensión) de Thumb ThumbEE, variación de Thumb-2 para JIT (just-in-time) compilers, también conocido como Jazzelle RCT (Runtime Compilation Target) Jazelle DBX: Java Direct Byte code execution Extensiones NEON (SIMD) VFP TrustZone 4/43
5 ARM = RISC 32-bits de nacimiento 16 registros de 32-bits PC = registro R15 SP = registro R13 Link : registro R14 Modos de trabajo Excepciones IRQ FIQ Abort Undefined Usuario Supervisor Registros alternativos en excepciones FIQ: cambio de contexto con menor latencia 5/43
6 ARM Instruction set Ejecución condicional 32-bit instruction set Rico set de instrucciones Gran cantidad de modos de direccionamiento Memoria alineada siempre 32-bits fácil pipelining 6/43
7 EJEMPLOS C: int gcd (int i, int j) { while (i!= j) if (i > j) i -= j else j -= i return i } ARM: loop CMP Ri, Rj SUBGT SUBLT BNE Ri, Ri, Rj Rj, Rj, Ri loop // 9 líneas de código, 6 sentencias set flags NZVC, "NE" (Z=0) if (i!= j) "GT" (Z=0, N=V) if (i > j), "LT" (Z=0, N V) if (i < j) if "GT", i = i-j if "LT", j = j-i if "NE", then loop 4 instrucciones, 16 bytes, ~6 ciclos C: a += (j << 2) ARM: ADD Ra, Ra, Rj, LSL #2 7/43
8 Thumb Instruction set 16-bit Instruction set 8 registros de 32-bits Memoria de 16-bits (ó 32-bits) Mayor densidad de código (35 a 40%) Menor performance 8/43
9 8 registros => 3-bits para elegir registro Thumb no posee los 4-bits de ejecución condicional n d o c T 9/43
10 Thumb no es un set de instrucciones diferente Lo que puede hacerse en Thumb, puede hacerse en ARM Thumb es una compresión del set ARM para aumentar la densidad de código Lo que puede hacerse en ARM, no necesariamente puede hacerse en Thumb T: Bit de estado Thumb Si está en T decodifica Thumb (16-bits). Si no está en T, decodifica ARM (32bits)(o lo que indiquen otros bits de estado) 10/43
11 Thumb pierde la ejecución condicional De ahí su nombre Thumb pierde (en algunos casos) versatilidad 2 registros fuente, 1 registro destino diferente Los condition codes se afectan (quiera o no) T 11/43
12 EJEMPLO: ARM: loop CMP Ri, Rj SUBGT SUBLT BNE Ri, Ri, Rj Rj, Rj, Ri loop set flags NZVC, "NE" (Z=0) if (i!= j) "GT" (Z=0, N=V) if (i > j), "LT" (Z=0, N V) if (i < j) if "GT", i = i - j if "LT", j = j - i if "NE", then loop 4 instrucciones, 16 bytes, ~6 ciclos THUMB: loop less end CMP BEQ BLT SUBS B SUBS B Ri, Rj end less Ri, Ri, Rj loop Rj, Rj, Ri loop set flags if EQ, done if "LT", goto less else ( GT ), j = j - i and loop if "LT", j = j - i and loop 7 instrucciones, 14 bytes, ~7 ó 9 ciclos (8) En un sistema con memoria de 16-bits, ARM requiere 2 fetches por instrucción, mientras que Thumb sólo 1 12/43
13 Thumb no posee instrucciones de manejo de excepciones (no hay equivalente a RETI) El procesador cambia su estado a ARM ante una excepción Los exception handlers (interrupt handler, etc) deben escribirse en ARM Esto generalmente implica que se debe usar assembler (nos guste o no) 13/43
14 Thumb-2 Instruction set Expande el espacio que ocupan BL (call) y BLX (call+) en Thumb Requerían una segunda half-word para los 22-bits del offset Thumb lee siempre 16-bits y analiza por separado (excepto 11110) Thumb-2 lee una segunda half-word y procesa 32-bits cuando encuentra 11101, 11110, ó en los primeros 5 bits 14/43
15 Thumb-2 Instruction set Instrucciones de 16bits (las de Thumb) y de 32-bits Todas corresponden a instrucciones de ARM (32-bits) que han sido comprimidas (*) Mantiene densidad de código de Thumb Mantiene performance de ARM Devuelve ejecución condicional mediante una instrucción especial IT (If - Then) 15/43
16 UAL (Unified Assembly Language) Unifica los nombres de las instrucciones, de modo que una determinada instrucción tiene siempre el mismo mnemónico, pero puede presentar dos codificaciones diferentes: ARM (32-bits) Thumb (16- ó 32-bits, según la instrucción) if (r0 == r1) CMP r0, r1 ITE EQ ARM: then (EQ) r0 = MOVEQ r0, r2 ARM: else (!EQ)r0 = MOVNE r0, r3 ARM: no code... Thumb: IT instruction r2 conditional Thumb: via ITE 'T' (then) r3 conditional Thumb: via ITE 'E' (else) Distintas arquitecturas pueden soportar diferentes subconjuntos de instrucciones 16/43
17 EJEMPLO: ARM/THUMB-2: loop start B start ITE GT SUBGT Ri, Ri, Rj SUBLE Rj, Rj, Ri CMP Ri, Rj BNE loop conditional block, 1st IF (GT), 2nd ELSE (!GT LE) if "GT", i = i-j else (if "LE"), j = j-i set flags NZVC if "NE" (Z=0), then loop ARM: 4 instrucciones (loop), 16 bytes, ~6 ciclos THUMB-2: 5 instrucciones (loop), 10 bytes, ~7 ciclos recordemos:thumb: 7 instrucciones, 14 bytes, ~8 ciclos 17/43
18 Thumb-2 sí posee instrucciones de manejo de excepciones Procesadores de arquitectura ARMv7-M (Cortex-M3) sólo soportan el estado Thumb (set de instrucciones Thumb-2) Puede usarse C para los exception handlers (interrupt handler, etc) En la especificación corriente de la arquitectura, cuando se dice Thumb se habla de la versión actual, es decir, Thumb-2 18/43
19 NEON, VFP Se agrega un procesador vectorial capaz de soportar: SIMD (Single Instruction Multiple Data) Instrucciones que operan sobre registros adicionales que alojan vectores de 64- ó 128-bits VFP (Vector Floating Point) instrucciones para operar con números en coma flotante en simple o doble precisión Puede estar sólo uno, o ambos SIMD puede operar sobre coma flotante si VFP está también presente Todas las instrucciones son extensiones al set, y pueden tener codificación ARM y Thumb 19/43
20 Relación Procesador Arquitectura Antes de ARMv7 ARMx[yy][z][-algo] x : core, incrementado con cada arquitectura 7 ARMv4 9 ARMv5 11 ARMv6 yy : agregados como MMU ARM926 z : extensiones: TDMI, EJ ARM7TDMI, ARM926EJ -algo -s : macrocelda sintetizable ARM926EJ-S Con ARMv7 Perfiles A, R y M Cortex-A8 ARMv7-A Cortex-A9 ARMv7-A + GIC + multicore Cortex-A15 ARMv7-A extendida (virtualización, seguridad, 1TB) Cortex-R4 ARMv7-R Cortex-M3 ARMv7-M Cortex-M0 ARMv6-M (subset de ARMv7-M) Cortex-M0+ ARMv6-M extendida Cortex-M4 ARMv7-M extendida 20/43
21 GLOSARIO AMBA (Advanced Microcontroller Bus Architecture) AHB (Advanced High-performance Bus) AHB-Lite (versión bajas calorías) single master bus unidireccional APB (Advanced Peripheral Bus) AXI (Advanced extensible Interface) TCM (Tightly Coupled Memory) 21/43
22 Procesador ARM7TDMI ARM7 core Von Neumann 3-stage pipeline ARMv4 ARM instruction set ~1 MIPS/MHz 0,94 DMIPS/MHz (ARM) 0,74 DMIPS/MHz (Thumb) Thumb Instruction Set Debug Interface Multiplier (hw) Interrupts (FIQ/IRQ) AMBA 22/43
23 Procesador ARM926EJ-S ARM9EJ-S core Harvard 5-stage pipeline ARMv5TEJ ARM v5 instruction set Thumb (v1) instruction set > 1 MIPS/MHz! 1,1 DMIPS/MHz On-chip caches 26: MMU E: DSP extensions Aritmética con saturación (enteros y coma fija) J: Jazzelle DBX AMBA TCM 23/43
24 Procesador Cortex A-8 core Cortex A-8 Harvard 13-stage in-order superscalar pipeline ARMv7-A VMSA (MMU) NEON (SIMD) 10-stage pipeline VFP ARM v7 instruction set Thumb (v2) instruction set Thumb-EE (Jazzelle RCT) Jazzelle DBX TrustZone ~2 DMIPS/MHz 24/43
25 Cortex A-9: similar a A-8 ~2,5 DMIPS/MHz (Out-of-order speculative issue superscalar) MPcore option GIC Cortex A-5: similar a A-9, core reducido VFPv4 pipeline de 8 etapas, in-order 1,57 DMIPS/MHz 25/43
26 Cortex A-15: similar a A-9 pipeline de 15 etapas VFPv4 LPAE extensión de virtualización multicore (MPCore), cuatro cores con cache de primer nivel (L1 cache) independiente de 32KB+32KB (datos e instrucciones). El acelerador de coherencia inter-cache es AMBA4 Cache Coherent Interconnect (CCI)CCI, con AMBA4 AXI Coherency Extensions (ACE) controlador de segundo nivel de cache (L2 cache controller) integrado La performance aproximada no se conoce al momento de publicarse este texto, estimándose que rondaría los 3,5DMIPS/MHz Cortex A-7: similar a A-15, core reducido pipeline de 8 etapas, in-order ACE-Lite performance: mismo caso que A-15, estimada,1,9 DMIPS/MHz big.little: Cortex A-7 + Cortex-A15 (low-power vs. processing power) 26/43
27 Procesador Cortex-M3 core Cortex-M3 Harvard 3-stage pipeline + branch speculation ARMv7-M 1,25 DMIPS/MHz Thumb (v2) solamente (no incluye instrucciones del set ARM) single-cycle hardware multiplier hardware divide NVIC determinístico, baja latencia, NMI IRQs, 255 prioridades Bit banding AHB-Lite Sleep modes, WIC (r2p0+) PMU (PMSA) opcional Embedded trace 2 niveles de privilegio 27/43
28 Cortex-M4: similar ARMv7-M + DSP extension ( ARMv7-ME ) instrucciones adicionales de uso en DSP (saturación) 28/43
29 instrucciones SIMD single-cycle MAC FPU (opcional) 29/43
30 Cortex-M4 vs. Cortex-M3 en DSP 32-bits 16-bits 30/43
31 Cortex-M4 vs. Cortex-M3 en DSP: FIR tomado de una presentación de la empresa Ittiam 31/43
32 Procesador Cortex-M0 core Cortex-M0 Von Neumann 3-stage pipeline ARMv6-M 0,9 DMIPS/MHz Subset de Thumb (v2) 16-bits BL (call), MRS/MSR (excepciones), ISB/DSB/DMB (pipeline, sync) no incluye otras instrucciones de 32-bits (Thumb o ARM) NVIC más reducido que Cortex-M3, NMI + 32 IRQs, 4 prioridades AHB-Lite Sleep modes, WIC Core más chico para ser más económico y de menor consumo No Trace, no bit banding, sin niveles de privilegio, sin hw divide, el multiplicador single-cycle es opcional. Cortex-M0+: 2-stage pipeline niveles de privilegio, trace reducido (opcional) 32/43
33 Performance comparada 3,5 3 DMIPS/MHz 2,5 2 1,5 1 0,5 0 ARM7 (ARM) ARM7 (Thumb) ARM926E ARM11 Cortex-M0+ Cortex-M0 Cortex-A5 Cortex-M3/M4 Cortex-A8 Cortex-A7 Cortex-A15 Cortex-A9 Core DMIPS = Dhrystone MIPS, algoritmo compilado con el compilador del fabricante y código corriendo sobre memoria de 32-bits sin wait-states. Gráfico hecho en base a los mismos datos mostrados para cada core Dhrystone: forma de comparar qué tan rápido diversos sistemas resuelven una misma tarea. Creado en 1984 por el Dr. Reinhold P. Weicker. Se enfoca en enteros, dado que a la época existía el Whetstone para medir performance en coma flotante (dhry!= whet, dry!= wet). Versión corriente: 2.1, DMIPS/MHz: cantidad de iteraciones del algoritmo por segundo, a 1MHz, normalizado a la performance de una VAX VMS 11/1750 (1757) DMIPS 1 = 6 MHz ciclosalgloop /43
34 34/43
35 Benchmarks en C compilados con Keil sin optimizaciones en assembler Aparentemente micros a igual velocidad de clock, y pareciera que el MSP430 se usó para normalizar Tomado de una presentación de ARM disponible en la web 35/43
36 OK, muy bonito Y ahora qué hago con esto???! 36/43
37 Cortex-A Application processors Sistemas complejos, multimedia Lenguajes de aplicación Sistema operativo multitarea RTOS Cortex-M Microcontroladores Aplicaciones tradicionales Trabajo directo sobre el micro Assembler C C++ RTOS ídem 37/43
38 Herramientas de ARM DS-5 (Linux/Android) Basado en GNU + Eclipse RVDS (RealView Development System) ARM compiler + entorno RealView Pro: soporta NEON MDK ARM Compiler + entorno μvision de Keil (an ARM company) Herramientas para Cortex-A Windows CE (Visual Studio, etc.) Linux (Eclipse, GNU, etc.) 38/43
39 Herramientas para Cortex-M CMSIS - Cortex Microcontroller Software Interface Standard Coding rules Interfaz device-independent para RTOS kernels Composición: Core Peripheral Access Layer Modo común de acceder a registros de periféricos y de definir vectores de interrupción Instrumented Trace Macrocell Modo común de acceder a debugging (device-independent) Middleware Access Layer Interfaz para middleware (TCP/IP, flash file systems), uniformizando acceso a UARTs, controladores Ethernet, etc. 39/43
40 Entornos Profesionales Keil, IAR, Rowley, Green Hills, Code Sourcery, Rowley,... Algunos basados en GNU o incluso en Eclipse (Code Sourcery) Entornos provistos por los fabricantes (con o sin cargo) LPCXpresso (NXP + CodeRed), Renaissance (ST), CodeWarrior (Freescale), Code Composer (TI), Digi ESP, Algunos basados en GNU + Eclipse (Code Composer, Digi ESP,...) licencias? pregunte a su distribuidor amigo Free + Open Source CooCox (Cooperating on Cortex) basado en GNU + Eclipse GNU, GNU ARM 40/43
41 OK, pero... Hay otras arquitecturas de 32-bits???! 41/43
42 Puff! Intel: ix86 (incluye Atom), i860, i960,... Oracle (Sun): SPARC HP: PA-RISC Freescale: ColdFire, m68k, PowerPC (IBM),... Atmel: AVR32 Renesas: RX, SuperH (Hitachi), M32R (Mitsubishi), V850 (Nec) MIPS: Toda una familia TI OMAP? basado en ARM Intel XScale? basado en StrongARM (DEC) ARM Marvell? ARM Pero esta fue una presentación sobre ARM... 42/43
43 Sergio R. Caprile Sergio R. Caprile LDIR R&D LDIR R&D /43
SISTEMAS EMBEBIDOS - ROBÓTICA
SISTEMAS EMBEBIDOS - ROBÓTICA Unidad 3.4 Arquitectura ARM Photo by Tim Simpson ARMando el rompecabezas Una piedra de Rosetta para descifrar las arquitecturas ARM para microcontroladores y su terminología,
Primer Semestre Laboratorio de Electrónica Universidad de San Carlos de Guatemala. Electrónica 5. Aux. Marie Chantelle Cruz.
Laboratorio de Electrónica Universidad de San Carlos de Guatemala Primer Semestre 2017 Overview 1 Cortex La más usada para dispositivos móviles Encoding por 32 bits, excepto Thumb y Thumb-2 15x32bits registros
Microcontroladores ARM Cortex-M3
Microcontroladores ARM Cortex-M3 Core ARM Cortex-M3 Soportado por las herramientas de desarrollo Periféricos de ARM Cortex-M3 Soportados por las herramientas de desarrollo Periféricos desarrollados por
Introducción a los Microcontroladores
Introducción a los Microcontroladores (ARM) José Manuel Rodríguez Ascariz Introducción Microprocesadores (8, 16, 32, 64 bits). COMPUTADOR Solo CPU (ALU, ejec. Instrucciones, control, buses). Necesitan
Modelo de von Neumann
Conceptos básicos Modelo de von Neumann También conocida como arquitectura de Princeton. Propuesta por John von Neumann en 1945. Partes de una computadora digital: Unidad de procesamiento (CPU unidad central
Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS
Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS GAC: Grupo de Arquitectura de Computadores Dpt. Electrónica e Sistemas. Universidade da Coruña. Bibliografía Computer Organization
PROGRAMA ANALÍTICO DEPARTAMENTO: ELECTRICIDAD Y ELECTRONICA CARRERA: INGENIERIA ELECTRICISTA ASIGNATURA: SISTEMAS ELECTRÓNICOS DIGITALES CÓDIGO: 0468
PROGRAMA ANALÍTICO DEPARTAMENTO: ELECTRICIDAD Y ELECTRONICA CARRERA: INGENIERIA ELECTRICISTA ASIGNATURA: SISTEMAS ELECTRÓNICOS DIGITALES CÓDIGO: 0468 AÑO ACADÉMICO: 2013 PLAN DE ESTUDIO: 2004 UBICACIÓN
Tecnologías y Arquitecturas
Tecnologías y Arquitecturas Parte II Andrés Djordjalian Seminario de Sistemas Embebidos 19 de mayo de 2011 Facultad de Ingeniería de la UBA 06:13 1 de 22 Temas de esta Clase Medición
De D sarrollo d e a plicaciones c on Cortex M
Desarrollo de aplicaciones con Cortex M ATMEL Arquitectura ARM Agenda Productos ARM de ATMEL ATMEL STUDIO 6 Hands on 1: Conociendo el entorno ATMEL Software Framework Hands on 2: Manejo de GPIO Hands on
Unidad Didáctica 3: Microcontroladores & Interrupciones. Sistemas embebidos para tiempo real
Unidad Didáctica 3: Microcontroladores & Interrupciones Sistemas embebidos para tiempo real Índice Repaso: µp vs. µc, CPU, tamaño de palabra. Arquitectura RISC vs. CISC Harvard vs. von Neumann Comparación
Electrocomponentes S.A. SASE 2012. Cortex TM M3 ATMEL
Electrocomponentes S.A. SASE 2012 Cortex TM M3 ATMEL Agenda Microcontroladores vs. Microprocesadores. Comparación de Arquitecturas. Arquitectura Cortex M3. Arquitectura Cortex M4. Arquitectura ARM 9. Línea
Capítulo 2. Conociendo ARM
Capítulo 2. Conociendo ARM 2.1 Introducción En 1983 Acorn Computers comenzó el desarrollo de la arquitectura ARM. El propósito original para la creación de ARM era el desarrollo de un procesador avanzado,
Microcontroladores. Sistemas embebidos para tiempo real
Microcontroladores Sistemas embebidos para tiempo real Objetivos Describir los conceptos y bloques básicos de microcontroladores CPU, ISA, arquitectura Comprender la importancia de conocer el uc Utilizar
Sistemas Digitales II
Departamento de Sistemas e Informática Sistemas Digitales II Microcontroladores: ARM Cortex M0+ 2017 Herramientas de Desarrollo: KDS y KSDK KDS: Kinetis Design Studio IDE (Integrated Development Environment)
Microcontroladores. Sistemas embebidos para tiempo real
Microcontroladores Objetivos Describir los conceptos y bloques básicos de microcontroladores CPU, ISA, arquitectura Comprender la importancia de conocer el uc Utilizar e interpretar manuales de usuario
Tema 3: Microprocesador ColdFire MCF5282
Tema 3: Microprocesador ColdFire MCF5282 Departamento de Electrónica Curso 2010/11 Índice Introducción al MCF5282 Las familias 68K y ColdFire Características generales del MCF5282 El núcleo del MCF5282
Arquitecturas vectoriales, SIMD y extensiones multimedia
Arquitecturas vectoriales, SIMD y extensiones multimedia William Stallings, Organización y Arquitectura de Computadores, 5ta. ed., Capítulo 16: Procesamiento Paralelo. Andrew S. Tanenbaum, Organización
Procesadores de palabra de instrucción muy larga (VLIW) v.2012
Procesadores de palabra de instrucción muy larga (VLIW) v.2012 William Stallings, Organización y Arquitectura de Computadores, 5ta. ed., Capítulo 13: Paralelismo a nivel de instrucciones y procesadores
Los Procesadores CORTEX M4 Y CORTEX M7 en el PROCESAMIENTO DIGITAL de SEÑALES
Los Procesadores CORTEX M4 Y CORTEX M7 en el PROCESAMIENTO DIGITAL de SEÑALES USB/Ethernet/CAN/Flash/etc Sistemas operativos Muchas características totalmente programables en C Baja Latencia de
ARM ARM. TDII - Microcontroladores - ARM 1. TDII - Microcontroladores - ARM 2
ARM Advanced RISC Machines Ltd. Compañía inglesa Dedicada al desarrollo de procesadores RISC, software y tecnologías relacionadas, fundada en 1990 por Apple Computer, Acorn Computer Group y VLSI Technology.
Elección de un microcontrolador
Elección de un microcontrolador Decisión multivariable. No hay un óptimo evidente Factores: Herramientas de desarrollo Base de conocimientos Precio y disponibilidad Familia versátil y en desarrollo Cantidad
Arquitectura de Computadores II. Arquitectura Intel 32 y modo protegido
Arquitectura Intel 32 y modo protegido Facultad de Ingeniería Universidad de la República Instituto de Computación Contenido Resumen del obligatorio 2 Arquitectura Intel 32 Introducción al modo protegido
Sistemas embebidos basados en FPGAs para instrumentación
Sistemas embebidos basados en FPGAs para instrumentación Introducción a los sistemas de instrumentación basados en microprocesador Guillermo Carpintero del Barrio Introducción al contenido de la asignatura
UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTÁ FACULTAD DE INGENIERÍA INGENIERÍA MECATRÓNICA
UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTÁ FACULTAD DE INGENIERÍA INGENIERÍA MECATRÓNICA INTRODUCCIÓN AL PIC NOMENCLATURA ARQUITECTURA. TEMPORIZACIÓN. SET DE INSTRUCCIONES. MODOS DE DIRECCIONAMIENTO.
Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones
Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina
Familia de procesadores Intel x86
Familia de procesadores Intel x86 Mario Medina C. [email protected] Intel 8086 y 8088 8086: 1978, 29K transistores 8 Registros de 16 bits Bus de datos de 16 bits Bus de dirección de 20 bits Multiplexado
Organización de Computadoras. Principios de Conjuntos de Intrucciones
Organización de Computadoras Principios de Conjuntos de Intrucciones Clasifición de las ISA Secuencia de Código para C = A + B Stack Acumulador Registro (Reg-Mem) Registro (load-store) Push A Load A Load
Primer Semestre Facultad de Ingeniería Universidad de San Carlos de Guatemala. Laboratorio de Microcontroladores. David J.
Facultad Ingeniería Universidad San Carlos Guatemala Primer Semestre 2017 1 / 45 Contenido 1 2 3 4 Micro-controladores 5 6 7 2 / 45 Sistema Digital Cualquier dispositivo stinado a la generación, transmisión,
Arquitectura de Computadores II Clase #5
Arquitectura de Computadores II Clase #5 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Algunas ideas para mejorar el rendimiento Obvio: incrementar la frecuencia
Sistemas Operativos. Introducción. Matías Zabaljáuregui
Sistemas Operativos Introducción Matías Zabaljáuregui [email protected] Por qué estudiar sistemas operativos? comprender mejor la arquitectura de hardware de una computadora entender el software
Computación a bajo coste. Procesamiento con ARM.
Computación a bajo coste. Procesamiento con ARM. V Jornadas de supercomputación y avances en tecnología Noviembre 2012 Collabora de un vistazo Fundada en 2005 Especialistas en Open Source Clientes incluyen
INEL 4206 Microprocesadores Texto: Barry B Brey, The Intel Microprocessors: 8va. Ed., Prentice Hall, 2009
Introducción al Curso Microprocesadores INEL 4206 Microprocesadores Texto: Barry B Brey, The Intel Microprocessors: Architecture, Programming and Interfacing. 8va. Ed., Prentice Hall, 2009 Prof. José Navarro
Herramientas de programación con DSP
Herramientas de programación con DSP Ampliación de Sistemas de Telecomunicación I ETSI Telecomunicaciones Universidad de Valladolid Curso 2010-2011 1 Índice 1. Herramientas SW/HW 2. Lenguajes de programación
Introducción a la arquitectura de computadores
Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina
Características técnicas del firmware de la Computadora Industrial Abierta Argentina
Características técnicas del firmware de la Computadora Industrial Abierta Argentina 1. Introducción En el presente documento se describen las características del firmware que poseerá la Computadora Industrial
Introducción - Temario. Técnicas Digitales II Cortex M3 - Introducción. El procesador ARM Cortex -M3. El procesador ARM Cortex -M3
Universidad Tecnológica Nacional Facultad Regional Buenos Aires Ingeniería Electrónica Técnicas Digitales II Cortex M3 - Introducción ([email protected]) Profesor Asociado Ordinario Ing. Alex Lozano ([email protected]
Robótica. Miguel Grassi (www.miguelgrassi.com.ar/mae) Introducción a los Microcontroladores
Robótica Miguel Grassi () Introducción a los Microcontroladores Maestría en Tecnología y Estética de las Artes Electrónicas Universidad Nacional de Tres de Febrero Esquema de un Microcontrolador Todo en
Microcontroladores ( C)
Microcontroladores ( C) Bibliografia: Hoja de datos del PIC 16F84 y 16F628 (www.microchip.com) Microcontroladores PIC: la clave del diseño (biblioteca) Microcontroladores PIC: diseño práctico de aplicaciones
Sistemas de 32 bits. Panorámica actual del mercado de los sistemas embebidos. Sistemas Embebidos, S.A.
Sistemas de 32 bits Panorámica actual del mercado de los sistemas embebidos Sistemas Embebidos, S.A. Introducción El mercado de los sistemas microprocesados a sido liderado por arquitecturas de 8 bits.
MIPS: Modelo de programación. (I Parte)
MIPS: Modelo de programación (I Parte) MIPS: Microprocessor without Interlocked Pipeline Stages Trabajaremos como MIPS Son similares a las desarrolladas en los años 80 Cerca de 100 millones de procesadores
MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI
MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI DEFINICIÓN Es un microcontrolador de Microchip Technology fabricado en tecnología CMOS, completamente estático es decir si el reloj se detiene los datos
Herramientas para Cortex CMSIS. Requerimientos. Respuesta - CMSIS 30/06/2011. Cortex MicrocontrollerSoftware Interface Standard
Herramientas para Cortex CMSIS Cortex MicrocontrollerSoftware Interface Standard 1 2 Requerimientos Respuesta - CMSIS Mejorar la portabilidad y la reutilización del software. Permitirle a los proveedores
Electrocomponentes S.A. SASE 2011
Electrocomponentes S.A. SASE 2011 Comparativas de CPU s de 32 bits Agenda Microcontroladores vs. Microprocesadores. Elementos de la arquitectura. Core ARM. Core AVR32. Core Coldfire. Core Power PC. Concluciones.
Arquitectura de Computadores II
Facultad de Ingeniería Universidad de la República Instituto de Computación Temas Repaso de conceptos Microcontroladores CISC vs RISC CISC Complex Instruct Set Computers RISC Reduced Instruct Set Computers
El uso de microcontroladores en el ambiente industrial es muy usual, especialmente en el
Introducción El uso de microcontroladores en el ambiente industrial es muy usual, especialmente en el desarrollo de prototipos, pues en ellos se realiza la programación de las tareas a realizar. Es por
Medición de Performance. Organización del Computador 1 Verano 2016
Medición de Performance Organización del Computador 1 Verano 2016 Qué es el rendimiento? Cuál de estos aviones tiene mejor rendimiento? El que tiene mayor autonomía, o el más rápido? El más rápido o el
1. Introducción a la Arquitectura de Computadoras
1. Introducción a la Arquitectura de Computadoras M. Farias-Elinos Contenido Definiciones Estructura de una computadora Evolución de las computadoras Generaciones de computadoras Evolución de la família
TEMA 2: MICROPROCESADORES Y MICROCONTROLADORES
12/31/2011 1 TEMA 2: MICROPROCESADORES Y MICROCONTROLADORES Sistemas Digitales basados en Microprocesador Grado en Ingeniería Telemática Raúl Sánchez Reíllo Sistemas Digitales Basados en Microprocesador
INTRUCCIONES: LENGUAJE MAQUINA
INTRUCCIONES: LENGUAJE MAQUINA 1.- INTRODUCCION Conceptos importantes Instrucción: Orden al hardware del Computador Repertorio de Instrucciones Lenguaje Máquina (ML) Lenguaje Ensamblador (AL) Lenguaje
Arquitectura del Computador. Programación 1 er semestre 2013
Arquitectura del Computador Programación 1 er semestre 2013 Introducción Qué es una computadora? Stallings: Máquina digital electrónica programable para el tratamiento automático de la información, capaz
Introducción - Temario. Técnicas Digitales II Cortex M3 Generalidades. Fundamentos. Fundamentos. Ing. Juan Manuel Cruz
Universidad Tecnológica Nacional Facultad Regional Buenos Aires Ingeniería Electrónica Técnicas Digitales II Cortex M3 Generalidades ([email protected]) Profesor Asociado Ordinario Ing. Alex Lozano ([email protected]
TRAYECTO SISTEMÁTICO DISEÑO DE SISTEMAS EMBEBIDOS
TRAYECTO SISTEMÁTICO DISEÑO DE SISTEMAS EMBEBIDOS LENGUAJE C, MICROCONTROLADORES, FPGA, RTOS, APLICACIONES I Departamento de Sistemas e Informática FACULTAD DE CIENCIAS EXACTAS, INGENIERÍA Y AGRIMENSURA
PROBLEMA 1 (2.5 puntos): SOLUCIÓN
PROBLEMA 1 (2.5 puntos): SOLUCIÓN Diseñe un microprocesador con las siguientes características: 16KB de memoria de datos. 8KB de memoria de programa. Juego de 128 instrucciones de 16 bits. Bus de datos
Capítulo 3. Microcontroladores 3.1 Definiciones
Capítulo 3. Microcontroladores En este capítulo se define el microcontrolador, con una breve semblanza histórica sobre procesadores. Se habla más detenidamente sobre los PICs y se muestran características
Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras
Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras http://www.herrera.unt.edu.ar/arqcom [email protected] Temario 1. Evolución histórica. 2. Repaso de conceptos importantes.
Conceptos básicos sobre software para microcontroladores ARM Cortex-M
Conceptos básicos sobre software para microcontroladores ARM Cortex-M armcortexm.blogs.upv.es 2013/04/18 Contenido Objetivos El lenguaje C es lo adecuado El caos de las bibliotecas CMSIS: La solución CMSIS
ARQUITECTURA DE VON NEUMANN Y HARVARD
ARQUITECTURA DE VON NEUMANN Y HARVARD ARQUITECTURA VON NEUMANN En esta arquitectura se observa que las computadoras utilizan el mismo dispositivo de almacenamiento para datos e instrucciones conectados
Procesador: Pentium 4 SL6S9. Año 2001, 2.4 GHZ 512 KB L2 caché Hecho en Filipinas
Procesador: Pentium 4 SL6S9 Año 2001, 2.4 GHZ 512 KB L2 caché Hecho en Filipinas Diagrama del die Especificaciones Este procesador cuenta con un Front Side Bus de velocidad 400 MHz que conecta los componentes
Tema 1: Introducción a los Sistemas Empotrados
[] : Introducción a los Sistemas Empotrados Antonio Carlos Domínguez Brito [2] Introducción Qué es un Sistema Empotrado? Es un sistema cuya principal función no es computacional,
TEMA 1: INTRODUCCIÓN. Sistemas Digitales basados en Microprocesador. Grado en Ingeniería Telemática. Raúl Sánchez Reíllo
1 TEMA 1: INTRODUCCIÓN Sistemas Digitales basados en Microprocesador Grado en Ingeniería Telemática Raúl Sánchez Reíllo ÍNDICE Presentación de la Asignatura Profesorado Programa de la Asignatura Bibliografía
Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos
Arquitectura de ordenadores (fundamentos teóricos) Representación de la información Estructura de un microprocesador Memorias Sistemas de E/S Elementos de un ordenador Microprocesador Placa base Chipset
Contenido TEMA 2 ENTRADA / SALIDA. Interfaz HW: buses del sistema. Interfaz HW de E/S
Contenido TEMA ENTRADA / SALIDA Sergio Romero Montiel Depto Arquitectura de Computadores El concepto de interfaz de E/S Direccionamiento de interfaces de E/S Mapa de memoria Organización Mapeada y no mapeada
Organización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017
Organización del Computador 1 CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017 Estructura de una máquina von Neumann Ciclo de Ejecución 1. 2. 3. 4. 5. 6. UC obtiene la próxima instrucción de
Práctica 5 - Memoria Cache
Práctica 5 - Memoria Cache Organización del Computador 1 Verano 2008 Aclaración: siempre que se informa del tamaño de una memoria cache o de una línea, se está haciendo referencia a la capacidad útil de
2. Elementos de Arquitectura de Computadores
2. Elementos de Arquitectura de Computadores INF2100 - Computación I Semestre 2/2007 Cristian Ruz R. (UDP) 2. Elementos de Arquitectura de Computadores INF2100 - Sem. 2/2007 1 / 16 Objetivos En este capítulo
ARQUITECTURA DE COMPUTADORAS
ARQUITECTURA DE COMPUTADORAS Información General Objetivos Al terminar el curso, el estudiante estará capacitado para: 1. Manejar medidas de performance que permitan comparar diversos sistemas de Computadora.
Organización del Computador. Máquina de von Neumann Jerarquía de Niveles
Organización del Computador Máquina de von Neumann Jerarquía de Niveles El modelo de Von Neumann Antes: programar era conectar cables (ENIAC) Hacer programas era mas una cuestión de ingeniería electrónica
Arquitectura del CPU. Organización del Computador 1 Verano 2016
Arquitectura del CPU Organización del Computador 1 Verano 2016 Agenda De dónde venimos? Introducción: esquema de una computadora Representación de la información Circuitos Combinatorios Circuitos Secuenciales
Arquitectura de Computadores II Clase #4
Clase #4 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Contenido Unidad de control Control cableado Control microprogramado MIC-1 La Unidad de Control La instrucción
Arquitectura de Computadores II Clase #4
Clase #4 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Contenido Unidad de control Control cableado Control microprogramado MIC-1 1 La Unidad de Control La instrucción
Procesador MIPS - Registros
MIPS Microprocessor without Interlocked Pipeline Stages Surgió a comienzos de los 80 en Stanford. Sintetiza las principales ideas de RISC. Arquitectura eficiente y simple. 1 Procesador MIPS - Registros
UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA. Ingeniería en Electrónica EL MICROCONTROLADOR PIC16F84 PRESENTA: M. C. Felipe Santiago Espinosa
UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Ingeniería en Electrónica EL MICROCONTROLADOR PIC16F84 PRESENTA: M. C. Felipe Santiago Espinosa Noviembre de 2007 Objetivos 2 Que los participantes adquieran el conocimiento
Repaso de Arquitectura y Organización Criterios de clasificación
Repaso de Arquitectura y Organización Criterios de clasificación William Stallings, Organización y Arquitectura de Computadores Andrew S. Tanenbaum, Organización de Computadoras Linda Null y Julia Lobur,
Tema 2: Lenguaje máquina. La interfaz entre el hardware y el software
Tema 2: Lenguaje máquina La interfaz entre el hardware y el software 1 Índice Introducción. Formatos de Instrucción. Modos de Direccionamiento. Ortogonalidad y Regularidad. Frecuencia de Utilización de
UNIVERSIDAD TECNICA DE AMBATO NOVENO SEMESTRE INGENIERIA ROBOTICA MICROCONTROLADORES Y SU APLICACION EN ROBOTICA PROFESOR: UTA 2009 ING. G.
MICROCONTROLADORES Y SU APLICACION EN UTA 2009 PROFESOR: ING. G. ALMEIDA SEMESTRE MARZO - JULIO 2009 OBJETIVOS DISTINGUIR LOS ASPECTOS GENERALES, CARACTERISTICAS Y FUNCIONAMIENTO DE UN MICROCONTROLADOR.
SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 3. PLANIFICACIÓN ESTÁTICA AVANZADA. TMS320C6713
SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 3. PLANIFICACIÓN ESTÁTICA AVANZADA. TMS320C6713 OBJETIVOS. En esta práctica se trata de estudiar dos de las técnicas de planificación estática más importantes:
NVIC : Nested Vectored Interrupt Controller
NVIC : Nested Vectored Interrupt Controller Laboratorio de Microprocesadores 03/09/2015 Laboratorio de Microprocesadores Ing. Daniel Jacoby1 NVIC Nested Vector Interrupt Controller La arquitectura Cortex
Arquitectura del MIPS: Introducción
Arquitectura del MIPS: Introducción Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución y caracterización
Esquema de partida. Maximum Operating Supply Voltage 5.5V USB 1 USART 1
PROYECTO: INTERFACE USB CON PIC 18F4550 Especificaciones. Dispone de 8 entradas digitales, 8 salidas digitales, 8 entradas analógicas(entre 0 y 5 voltios 10 bits ) y 2 salidas analógicas(entre 0 y 5 voltios).
Arquitectura de Computadoras
4-1 Arquitectura de Computadoras Tema 4: Arquitectura del Set de Instrucciones Eduardo Daniel Cohen [email protected] http://www.herrera.unt.edu.ar/arqcom 4-2 Arquitectura del Set de Instrucciones Indice
Micro arquitectura. Técnicas Digitales III Ing. Gustavo Nudelman Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Micro arquitectura Técnicas Digitales III Ing. Gustavo Nudelman 2012 Evolución Ley de Moore Fundamentos CISC (Complex Instruction set Computer) instrucciones mas complejas y focalizadas RISC (Reduced Instruction
