Microsoft PowerPoint - Tomen Seminar 木村さん分

Similar documents
(Microsoft PowerPoint - ESC 0.6 Japan June27.ppt [\214\335\212\267\203\202\201[\203h])

PowerPoint プレゼンテーション

PowerPoint Presentation

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c

計算機アーキテクチャ

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

2.RL78 での割り込み処理 ( 割り込み受け付け ) マスクが解除された (xxmk ビットが 0 の ) 割り込み要求信号は 2 つの用途で使用されます 一つ目は,CPU のスタンバイ状態の解除です この動作は, 割り込み優先順位とは全く無関係で, マスクされていない (xxmk=0 の )

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド

ソフトウェア基礎技術研修

Microsoft PowerPoint - NxLec ppt

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

スライド 1

04-process_thread_2.ppt

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit)

スライド 1

PowerPoint プレゼンテーション

スライド 1

1 Atollic TrueSTUDIO( GR-PEACH TOPPERS/ASP ASP GR-PEACH mbed ( git

Microsoft PowerPoint - kougi7.ppt

スライド 1

ARM Corporate Presentation

コンピュータ工学Ⅰ

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

1. プログラム実行時の動作プログラムを実行すると以下のように動作します 1) NUCLEO-F401RE 上の LED LD2( 緑 ) が 200mSec 間隔で点滅します 2. プロジェクトの構成 2.1. プロジェクト F401N_BlinkLD2 の起動画面 TrueSTUDIO で作成し

コンピュータの仕組み(1)ハードウェア

スライド 1

スライド 1

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

Microsoft PowerPoint - NxLecture ppt [互換モード]

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

ThinkBoard Free60 Manual

富士通セミコンダクター株式会社発表資料

目 次 1. Easy HandyⅡ とは 3 2. 機 能 概 要 4 3. Easy HandyⅡ の 構 成 5 4. 入 荷 出 荷 棚 卸 処 理 の 流 れ 6 5. Easy HandyⅡ と 他 システムとの 連 携 7 6. 画 面 サンプル(PC 版 ) 8 7. 画 面 サンプ

PowerPoint プレゼンテーション

MMUなしプロセッサ用Linuxの共有ライブラリ機構

S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0

Cortex-M3 Technical Reference Manual

スライド 1

506HW ユーザーガイド Chapter7

Nios II - Vectored Interrupt Controller の実装

ターゲット項目の設定について

目 次 1 インストール 手 順 プログラム データファイルのインストール Microsoft Access2013Runtime SP1(32bit) 版 のインストール 基 本 操 作 ログイン メニュー...

Microsoft Word - Dolphin Expressによる10Gbpソケット通信.docx

R4財務対応障害一覧

FFR554BL_554KL.indd

計算機アーキテクチャ

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

スライド 1

SafeG 高信頼組込みシステム向けデュアル OS モニタ Daniel Sangorrín, 本田晋也, 高田広章 名古屋大学 2010 年 12 月 3 日 この研究の一部は文部科学省のサポート受けて実施しています Daniel Sangorrín ( 名古屋大学 ) ET 横浜 2

今週の進捗

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

TFTP serverの実装

text

テクニカルガイド 増設メモリ

Microsoft PowerPoint - OS08 [互換モード]

Microsoft PowerPoint - ProcML-12-3.ppt

ホワイトペーパー NVIDIA Tegra 4 ファミリの CPU アーキテクチャ 4-PLUS-1 クアッドコア 1

テクニカルガイド 増設メモリ

4 参 加 資 格 要 件 本 提 案 への 参 加 予 定 者 は 以 下 の 条 件 を 全 て 満 たすこと 1 地 方 自 治 法 施 行 令 ( 昭 和 22 年 政 令 第 16 号 ) 第 167 条 の4 第 1 項 各 号 の 規 定 に 該 当 しない 者 であること 2 会 社

Microsoft PowerPoint - Kozos12step_07_

注 )メモリ 容 量 は 本 機 能 と OS 動 作 のみの 容 量 です 別 途 アプリケーションを 導 入 される 場 合 は 必 要 に 応 じて 追 加 してください メモリが 少 ない 場 合 OS が 起 動 しなくなる 場 合 があります (3) 必 要 ディスク 容 量 本 機 能

Microsoft PowerPoint - Lecture ppt [互換モード]

目 次 1. はじめに 3 2. システム 要 件 4 3. HDD Password Tool のインストール 5 Windows の 場 合 5 Mac の 場 合 8 4. HDD Password Tool の 使 い 方 HDD Password Tool を 起 動 する

Microsoft PowerPoint - Sol7 [Compatibility Mode]

2015_collabo_05

Pervasive PSQL v11 のベンチマーク パフォーマンスの結果

Transcription:

ARM と Cortex-M0

イントロダクション

ARM の 歴 史 1979 年 : Acorn Computer 設 立 ( 英 国 ケンブリッジ) 1985 年 : 初 代 ARM Acorn RISC Machine (その 後 Advanced RISC Machineに 変 更 )が 誕 生 米 VLSI Technologyで 製 造 (25,000ゲート 以 下 ) 1986 年 : ARM2 完 成 当 時 の 世 界 で 最 もシンプルなRISCプロセッサ (30,000ゲート) 1990 年 : ARM 社 設 立 (Acorn, Apple, VLSIで) NXPはPhilips 時 代 にVLSI 社 を 買 収 しています 3

ARM アーキテクチャ 11:27 AM 4

Cortex-M0 M3とARM7TDMI 機 能 比 較 5

Cortex -M0 プロセッサ

ARM Cortex-M0 プロセッサ 32-ビット ARM RISC プロセッサ Thumb 16-ビット 命 令 セット パワーとエリアを 最 適 化 非 常 に 小 さなシリコン 実 装 面 積 低 消 費 電 力 デザイン 割 込 みと 例 外 の 時 状 態 の 保 持 が 自 動 ソフトウェアへのオーバヘッドが 小 さい(exception entryとexit) 確 定 的 (Deterministic)な 処 理 時 間 命 令 実 行 時 間 は 常 に 同 じ 7

ARM Cortex-M0 プロセッサ パワードメインに 沿 った 配 置 配 線 8

Thumb 命 令 セット Thumb 命 令 : 32-ビット オペレーション, 16-ビット 固 定 命 令 長 ARM7TDMI ( T = Thumb) ARM 登 場 以 来 すべてのプロセッサでサポート 小 さい コードサイズ Thumb-2 命 令 全 てのプロセッサ オペレーションで Thumb 命 令 使 用 可 能 16/32-ビット 命 令 長 混 在 で 性 能 重 視 全 てのCortex プロセッサをサポート Thumb Thumb 命 令 セット 上 位 互 換 ARM7 ARM9 Cortex-M0 Cortex-M3 Cortex-R4 Cortex-A9 9

命 令 セット アーキテクチャー 16-ビット Thumb ISA( 命 令 セットアーキテクチャ)はARM7TDMIがベース 56 命 令 のみ, 実 行 時 間 保 証 8, 16 または 32-ビット データ 転 送 は1 命 令 で 実 行 Dhrystone 0.9DMIPS/MHz 参 照 :ARM ドキュメント(DDI0432 DDI0419B) 1 0

Cortex-M 命令セット 比較 11

プログラム レジスタ 全てのレジスタ は32-ビット幅 8/16/32-ビットデータ混載なし 13 general purpose レジスタ レジスタ r0 r7 (Low レジスタ) レジスタ r8 r12 (High レジスタ) 3 レジスタ with special meaning/usage スタック ポインタ (SP) r13 リンクレジスタ (LR) r14 プログラム カウンタ (PC) r15 特別用途向け レジスタ - xpsr r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 (SP) r14 (LR) r15 (PC) xpsr 1 2

命令の動作 ほとんどの命令は 2 バイトメモリを使用 a = a * b; MULS r0, r1; C コード Assembler 15 0 MULS 実行時間は一定サイクル データ処理(例 add, shift, logical OR)は1サイクル データ 転送(例 load, store) は 2 サイクル 分岐は 3 サイクル 命令は32-ビット データ値を 実行 プロセッサ レジスタ とALUは32-ビット幅! 13

ネスト型ベクタ割り込みコントローラ NVIC NVICにより 効率的なスタック ベースの例外モデルを提供 Cortex-Mコアプロセッサの重要な一部として統合 卓越した割込み例外処理機能を提供します NVIC で32本の汎用割込み優先レベルのサポート 例外の優先度 テールチェイン と後着 割込み 例外ハンドリングの確定的 Deterministic)な動作タイミング 例外は固定サイクル処理 固定16 クロックで ジッターなし 低レイテンシ低ジッタの割り込み応答 すべてCで記述可能 14

割り込みレスポンス ARM 7 interrupt Handling Cortex-M0 interrupt Handling 15

割込み 動作 r0 r1 r2 r3 r12 r13 (SP) プッシュ スタック r14 (LR) r15 (PC) xpsr が増える メモリ 割込み時, ハードウェアが自動的に現在の状態をスタック 割込み ハンドラをCすべて記述できる Stack content supports C/C++ ARM Architecture Procedure Calling Standard リセット時 プロセッサは初期のスタック ポインタ0x0からフェッチする 16

書込み 割込みハンドラ ARM Cortex-M ファミリの場合 従来の方法 NVIC 自動ハンドラ 現在のレジスタ状態を保存 例外の優先順位 例外のネスティング処理 例外テーブル 分岐の命令フェッチ トップレベル ハンドラ Routine handles re-entrancy IRQVECTOR LDR PC, IRQHandler. IRQHandler PROC STMFD sp!,{r0-r4,r12,lr} MOV r4,#0x80000000 LDR r0,[r4,#0] SUB sp,sp,#4 CMP r0,#1 BLEQ C_int_handler MOV r0,#0 STR r0,[r4,#4] ADD sp,sp,#4 LDMFD sp!,{r0-r4,r12,lr}. 割り込みサービスルーチン(Interrupt Service Routine, ISR) は直接Cで記述 できる Cルーティンのベクタでのポインタ設定 C 言語で記述されたISR 高速の割込み動作 最小限のソフトウェア処理 WFI 割り込み待ち, スリープ状態 SUBS pc,lr,#4 ENDP 17

スリープ モード ARM Cortex-Mシリーズはスリープ状態をサポート 超消費電力スタンバイ操作を可能にする バッテリ 系アプリケーションは寿命が大事 少ないゲート数のウェークアップ割り込みコントローラ (WIC)を含む) パワー マネイジメントユニット スリープ CPUのクロックをコントロールできる NVICは割り込みに対し反応できる Cortex-M0 Wake-up ディープ スリープ NVIC WIC ディープ スリープ WIC は割り込みを選択して反応できる Cortex-M0はNVICにより保存された状態に 戻すことができる WIC 信号がPMUを起床する Wake-up sensitive Interrupts M0コアは瞬時に起床する 重要な外部の事象に対して応答 外部割込み 18

Cortex -M0 ベンチマーク 19

コード サイズ 32 ビットと16/8ビットマイコン 8 ビット マイコンは 8 ビット データを処理するだけではない 整数型 int は 実際には16ビット 8 ビット マイコンでは整数型のデータを処理するために連続する複数の命令が必要 つまり 多くのクロック サイクルを消費 C ライブラリが非効率 スタック サイズ が増える 割込み レテンシが影響を受ける 主記憶のアドレスを示すポインターに複数バイト必要 M0は整数型 int を1命令で扱う M0は8と16 ビット データを効率よく処理する バイトレーンのサポート インストラクションは半ワードと半 バイト. LDR, LDRH, LDRB M0は効率的なライブラリサポートがある M0に最適化 20

アセンブラ命令長比較 32 ビットと16/8ビット MCU B社 8bit MCU2 B社 16bit MCU A社 16bit MCU 21

データ処理に関して? 16 ビット プロセッサ の課題 長整数型 フローティング ポイント タイプ プロセッサ のレジスタとメモリ間のデータ転送 16 ビット プロセッサは 16 ビット レジスタ搭載 32 ビット 転送にレジスタが2個必要 スタック の要求が増える M0 は 32 ビット レジスタと32 ビット メモリを搭載 少ない サイクル 長整数型 高い フローティング ポイント 性能 少ないサイクル データ 転送 22

コード サイズ 性能 2.50 2.00 1.50 他社8bit HC08 MCU M0 using microlib 1.00 rspeed pntrch iirflt canrdr bitmnp aiifft aifirf a2time 0.00 puwmod 0.50 2 3

コード サイズ 比較 M0 コード サイズ : 42% または 36% 小さい Floating Point and Fir Filter Code Size 1200 1000 800 MathFloat 600 Firfilter 400 200 Cortex-M0 MSP430F5438 A社 16bit MCU2 large data ラージデータ model モデル A社 16bit MCU2 MSP430F5438 Generic MSP430 0 A社 16bit MCU Code Size(bytes) 1400 2 4

5000 4000 3000 2000 Code Size (Bytes) コード サイズ 比較 M0 コード サイズ : 30% 小さい Whet 7000 6000 1000 0 Cortex-M0 MSP430F5438 A社 16bit MCU2 ラージデータ large data モデル model MSP430F5438 A社 16bit MCU2 Generic MSP430 A社 16bit MCU 2 5

コード サイズ 比較 (コアmark) M0 コード サイズ 16% 小さい Coremark 9500 Code Size (Bytes) 9000 8500 8000 7500 7000 6500 Generic MSP430 A社 16bit MCU Cortex-M0 2 6

コード サイズ 比較 (コアmark) M0 コード サイズ 49% 小さい Coremark 16000 Code Size (Bytes) 14000 12000 10000 8000 6000 4000 2000 0 Atmel C社AVR8 8bit MCU Mega644 Cortex-M0 2 7

性能比較 A社 16bit MCU B社 16bit MCU 2 8

usec パフォーマンス比較 A社 16bit MCU B社 16bit MCU B社 16bit MCU2 B社 8bit MCU C社 8bit MCU 16 ビット FIIR フィルタ性能 (1MHz) 29

性能比較 Coremark Score 3.5 Coremark (Mark/sec) 3 2.5 2 1.5 1 0.5 0 AVR8 ATMega644 C社 8bit MCU A社MSP430 16bit MCU M0 3 0

31