VGA Output FPGA 7-Segment LED Module MieruPC Fig. 1 The image of MieruPC drawn in April, FPGA Fig. 2 Sample hardware with FPGA used i

Similar documents
Microsoft PowerPoint - NxLec ppt

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

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

2. VDEC 2.1 VDEC EDA EDA タイミング解析エラー出力タイミング解析 VDEC EDA 1 VDEC EDA 2.2 VDEC VDEC um 1. RTL 0.18um 1. サブモジュール RTL 記述 Verilog 等で記述 0.18um mm

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

Presentation Title

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

tri_s_tg12864_vcp の説明 2014/02/05 飛石伝ひ CPU 基板 の LCD TG12864 の表示プログラムです 漢字表示 (JIS208) を行うことができます USB の VCP ( 仮想 COM ポート ) を使用して非同期シリアル通信により 表示試験を行うことができ

1 Fig. 1 Extraction of motion,.,,, 4,,, 3., 1, 2. 2.,. CHLAC,. 2.1,. (256 ).,., CHLAC. CHLAC, HLAC. 2.3 (HLAC ) r,.,. HLAC. N. 2 HLAC Fig. 2

Raspberry Pi (Windows10 IoT Core) を使用したリーダ ライタの制御例 (UART 接続 ) 2018 年 12 月 18 日第 版 株式会社アートファイネックス

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

第一章 LPC2478 ボードの概要...3 第二章 uclinux の初体験 SD カードのテスト USB メモリのテスト USB Devices のテスト network のテスト...6 第三章 uclinux のコンパイル...

Microsoft PowerPoint - CompArch_Exercise3.pptx

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

Vol.55 No (Jan. 2014) saccess 6 saccess 7 saccess 2. [3] p.33 * B (A) (B) (C) (D) (E) (F) *1 [3], [4] Web PDF a m

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

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

1. 概念 STM32F4 Discovery 基板は Mini USB を接続して デバッグやプログラムの書き込みができるようになっています 通常は CPU の 0x 番地からプログラムを実行します では なぜわざわざこのプロジェクトの雛形を使用して CPU の 0x

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

CommCheckerManual_Ver.1.0_.doc

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

1. LCD LS027B4DH01 について LS027B4DH01 は 400dot x 240dot のグラフィック LCD です 秋月電子通商で購入できます 外形サイズ : 62.8 x x 1.53mm LCD のフレキシブルケーブルの根元の部分はちょっと力を加えただけで表示が

Microsoft PowerPoint - 01_Vengineer.ppt

FabHetero FabHetero FabHetero FabCache FabCache SPEC2000INT IPC FabCache 0.076%

Microsoft PowerPoint - Lec pptx

23 Fig. 2: hwmodulev2 3. Reconfigurable HPC 3.1 hw/sw hw/sw hw/sw FPGA PC FPGA PC FPGA HPC FPGA FPGA hw/sw hw/sw hw- Module FPGA hwmodule hw/sw FPGA h

システム開発プロセスへのデザイン技術適用の取組み~HCDからUXデザインへ~

Arduino をドリトルから 制御する教材の試行 鈴木裕貴 1

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

プログラミング実習I

10_細川直史.indd

258 5) GPS 1 GPS 6) GPS DP 7) 8) 10) GPS GPS ) GPS Global Positioning System

2. CABAC CABAC CABAC 1 1 CABAC Figure 1 Overview of CABAC 2 DCT 2 0/ /1 CABAC [3] 3. 2 値化部 コンテキスト計算部 2 値算術符号化部 CABAC CABAC

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

まず,13 行目の HardwareTimer Timer(1); は,HardwareTimer というクラスを利用するという宣言である. この宣言によって Timer というインスタンスが生成される.Timer(1) の 1 は,OpenCM に 4 個用意されているタイマのうち,1 番のタイマ

26 FPGA FPGA (Field Programmable Gate Array) ASIC (Application Specific Integrated Circuit) FPGA FPGA FPGA FPGA Linux FreeDOS skewed way L1

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

& Vol.5 No (Oct. 2015) TV 1,2,a) , Augmented TV TV AR Augmented Reality 3DCG TV Estimation of TV Screen Position and Ro

IPSJ SIG Technical Report Vol.2010-NL-199 No /11/ treebank ( ) KWIC /MeCab / Morphological and Dependency Structure Annotated Corp

AKI-PIC16F877A開発キット (Ver1

Windows7 OS Focus Follows Click, FFC FFC focus follows mouse, FFM Windows Macintosh FFC n n n n ms n n 4.2 2

特集新世代マイクロプロセッサアーキテクチャ ( 後編 ) 3. 実例 3 ユビキタス コンピューティング時代の組み込みマイクロコンピュータ, SuperH と M32R 清水徹 * 1 長谷川淳 * 2 服部俊洋 * 3 近藤弘郁 * 4 ( 株 ) ルネサステクノロジシステムソリューション統括本部

17 Proposal of an Algorithm of Image Extraction and Research on Improvement of a Man-machine Interface of Food Intake Measuring System

6 2. AUTOSAR 2.1 AUTOSAR AUTOSAR ECU OSEK/VDX 3) OSEK/VDX OS AUTOSAR AUTOSAR ECU AUTOSAR 1 AUTOSAR BSW (Basic Software) (Runtime Environment) Applicat

完成版_セミナー発表資料110928


Studuino ライブラリ環境設定Windows編

1 Web [2] Web [3] [4] [5], [6] [7] [8] S.W. [9] 3. MeetingShelf Web MeetingShelf MeetingShelf (1) (2) (3) (4) (5) Web MeetingShelf

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

TOPPERS活用アイデア・アプリケーション開発

Vol.54 No (July 2013) [9] [10] [11] [12], [13] 1 Fig. 1 Flowchart of the proposed system. c 2013 Information

ADZBT1 Hardware User Manual Hardware User Manual Version 1.0 1/13 アドバンスデザインテクノロジー株式会社

Fig. 3 Flow diagram of image processing. Black rectangle in the photo indicates the processing area (128 x 32 pixels).

情報処理学会研究報告 IPSJ SIG Technical Report Vol.2015-CE-131 No /10/10 1,a) 1,b) 1,c) 2,d) 1,e) 1,f) Raspberry Pi GPIO I2C Raspberry Pi Linux HTTP, Rasp

,,,,., C Java,,.,,.,., ,,.,, i

型名 RF007 ラジオコミュニケーションテスタ Radio Communication Tester ソフトウェア開発キット マニュアル アールエフネットワーク株式会社 RFnetworks Corporation RF007SDK-M001 RF007SDK-M001 参考資料 1

04-process_thread_2.ppt

1 UD Fig. 1 Concept of UD tourist information system. 1 ()KDDI UD 7) ) UD c 2010 Information Processing S

IPSJ SIG Technical Report Vol.2013-ARC-203 No /2/1 SMYLE OpenCL (NEDO) IT FPGA SMYLEref SMYLE OpenCL SMYLE OpenCL FPGA 1

IPSJ SIG Technical Report Vol.2014-EIP-63 No /2/21 1,a) Wi-Fi Probe Request MAC MAC Probe Request MAC A dynamic ads control based on tra

PowerPoint Presentation

Vol. 48 No. 3 Mar PM PM PMBOK PM PM PM PM PM A Proposal and Its Demonstration of Developing System for Project Managers through University-Indus

平成 29 年度卒業研究 初心者のためのゲームプログラミング用 教材の開発 函館工業高等専門学校生産システム工学科情報コース 5 年 25 番細見政央指導教員東海林智也

Studuinoライブラリ環境設定Mac編

計算機アーキテクチャ

[4] ACP (Advanced Communication Primitives) [1] ACP ACP [2] ACP Tofu UDP [3] HPC InfiniBand InfiniBand ACP 2 ACP, 3 InfiniBand ACP 4 5 ACP 2. ACP ACP

TRQerS - Introduction

28 Docker Design and Implementation of Program Evaluation System Using Docker Virtualized Environment

PIC

IPSJ SIG Technical Report Vol.2016-CE-137 No /12/ e β /α α β β / α A judgment method of difficulty of task for a learner using simple

Journal of Geography 116 (6) Configuration of Rapid Digital Mapping System Using Tablet PC and its Application to Obtaining Ground Truth

IPSJ SIG Technical Report PIN(Personal Identification Number) An Examination of Icon-based User Authentication Method for Mobile Terminals Fum

はじめに このドキュメントではftServerに関する障害調査を行う際に 必要となるログ データの取得方法を説明しています ログ データの取得には 初期解析用のデータの取得方法と 詳細な調査を行うときのデータ取得方法があります 特別な理由でOS 側のログが必要となった場合には RHELログの取得につ

DPA,, ShareLog 3) 4) 2.2 Strino Strino STRain-based user Interface with tacticle of elastic Natural ObjectsStrino 1 Strino ) PC Log-Log (2007 6)

Iteration 0 Iteration 1 1 Iteration 2 Iteration 3 N N N! N 1 MOPT(Merge Optimization) 3) MOPT MOP

Input image Initialize variables Loop for period of oscillation Update height map Make shade image Change property of image Output image Change time L

Transcription:

MieruPC MieruPC MieruPC A challenge to make a simple and intelligible computer system Kenji Kise The education across layers such as hardware, operating system, and application is important. In order to support such education, we are developing a simple and intelligible computer system, named MieruPC system. In this system, as the Japanese word MIERU used as the part of MieruPC, the description of hardware and software can be clearly seen, and can be modified easily. In this paper, as a practice report, we describe the concept, the challenge, the implementation of MieruPC system, and the acquired knowledge through the project. 1. (OS) MieruPC MieruPC Graduate School of Information Science and Engineering, Tokyo Institute of Technology MieruPC OS (SDK) MieruPC MieruPC FPGA MieruOS OS MieruSDK MieruPC 2 3 4 5 6 2. MieruPC 2.1 Computer Science 110

VGA Output FPGA 7-Segment LED Module 1 2008 4 MieruPC Fig. 1 The image of MieruPC drawn in April, 2008. 2 FPGA Fig. 2 Sample hardware with FPGA used in an experiment for education. 1 2008 4 MieruPC : MieruPC 1 2008 4 MieruPC USB PS/2 FPGA 3.5 SD ( ) FPGA 2 7 LED FPGA VGA 3.5 2008 2 5 PS/2 HHK Professional 3 ( ) (2008 7 ) Fig. 3 The design made from corrugated paper(left) and a prototype system(photography July, 2008). (320 240 ) LED 1 ( 3) FPGA MieruPC 1 USB PS/2 1 FPGA FPGA 111

SRAM PIC(Peripheral Interface Controller) SH(SuperH) FPGA (Serial Peripheral Interface, SPI ) SD 8MB SD 2.2 MieruPC 2012 6 FPGA( VDEC ) CPU 2,3 5 4 SL MieruPC-2010 Fig. 4 A snapshot of MieruPC-2010 running SL application. MieruPC 2 3 2,3 4 6 5 10 5 2.3 2012 6 MieruPC-2010 4 SL MieruPC-2010 MieruPC-2010 130mm 95mm 135mm 2009 3 MieruPC 100 MieruPC 40% 1 112

MieruPC2008 MieruPC2008 Rev.2 MieruPC2010 year/ month 2008 2009 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 2010 1 2 3 4 5 6 7 Simulator SimMips v0.5.0 v0.5.5 LCD Simulator Redesign Hardware LCD Unit Analysis Prototype Mother Board FPGACard LCD Board HDL MipsCore I/O Controller CP0 Prototype SRAM I/F Graphic Controller Simplified CP0 Software LCD Library Sample Applications C Library Operating System SDK Fig. 5 5 MieruPC The main development history of MieruPC project. 2.4 5 HDL 4 2009 1 10 1 MieruPC-2008 1 SimMips 1) MIPS MipsCore I/O FPGA I/O 2008 7 3( ) 2009 2 7 2 MieruPC-2008 Rev.2(Revision 2) FPGA (MIPS CP0 ) C 2009 7 2010 7 3 MieruPC-2010 OS MieruSDK 2010 8 4 3. MieruPC 3.1 1 MieruPC-2008 FPGA Spartan-3E XC3S1200E SUZAKU-S FPGA MipsCore I/O FPGA RAM ITC-2432-035H 5V 3 MieruPC 1 MieruPC MieruPC HDL 20 113

組込みシステムシンポジウム2012 図 6 マザーボード MieruMB の幾つかの版 Fig. 6 Some version of mother board MieruMB. 図 8 独自仕様の FPGA ボード (FPGACard) Fig. 8 The original designed FPGA borad (FPGACard). して これをビデオメモリとして利用する 文献 2) として MieruLCD の詳細をまとめている これらの基板は設計 把握 変更の容易さから 2 層 のデザインとした また 誰でも利用しやすいように 回路図や設計データは無料の CAD を用いて作成した 3.2 プロセッサ MipsCore と I/O コントローラ FPGA に実装する MipsCore はキャッシュを持たな 図 7 マザーボード MieruMB の基板設計データ Fig. 7 The design layout of mother board MieruMB. いマルチサイクルのプロセッサとした fetch, decode, regfetch, execute, memaccess, writeback の 6 ス の速度によって描画性能が制限されることである こ テージにより命令を処理する シンプルさを重視して れらの得失とプロジェクトの目的から コマンドイン パイプライン処理はおこなっていない タープリタ型液晶ユニットの採用を決めた マザーボードは 初期の段階では ユニバーサル基 第 2 フェーズの FPGACard の開発で搭載するよ うになった SRAM は 8 ビットアクセスであるため 板を用いて製作 (図 6 の左) していたが 第 1 フェーズ MipsCore も それまでの 32 ビットから 8 ビット単 の後半にて 図 7 に示すプリント基板としての実装に 位のメモリアクセスに変更している fetch および 挑戦した 図 7 の左下から 電源コネクタ SD カード memaccess ステージが 5 サイクルに増加し 乗除算 コネクタ PS/2 コネクタ リセットスイッチ 液晶ユ の execute ステージは 32 サイクル その他のステー ニット用コネクタ 電源スイッチ 上側に FPGA ボー ジは 1 サイクルを要する このため 1 命令の実行は ドを搭載するピンが見える このシンプルな基板の開 通常の命令で 9 サイクル ロード/ストア命令で 14 サ 発には 後に実施する独自仕様の FPGA カード開発 イクル 乗除算では 40 サイクルとなる 標準で提供 への準備という意図も含まれている する MipsCore は ある命令の処理が完全に終了して 第 2 フェーズにて 独自仕様の FPGA ボードとして FPGACard(図 8) を開発した FPGA に Spartan から次の命令の処理を開始する とてもシンプルで低 速なプロセッサとしている 3E XC3S250E(あるいは XC3S500E) を用い メイン 第 3 フェーズの OS の開発にともない 簡略化され メモリとして 512kB の非同期 SRAM を搭載する こ たシステム制御コプロセッサ (MIPS CP0) を実装し れにより メインメモリの容量が大幅に増えて OS た 実現すべき機能をタイマ割り込みとシステムコー の搭載も現実的なものになる ルの二つに絞り込んだため CP0 で定義されているレ 第 3 フェーズにて 独自仕様の液晶ユニットとし ジスタのうち COUNT COMPARE(タイマ割り込 て MieruLCD を開発した FPGA に Spartan-3E みに使用) EPC(例外発生アドレス) の 3 つのレジス XC3S250E を用いる 512kB の非同期 SRAM を搭載 タと SR(プロセッサ状態) CAUSE(例外の発生理由) の 2 つのレジスタの一部ビットのみを実装している FPGACard の開発は困難だった 例えば 完成までに 5 回の 基板を製造している 製造は CADLUS X などを提供している 某会社である 2012 Information Processing Society of Japan また提供する例外は INT(割り込み) と SYSCALL(シ ステムコール) の 2 つとした 114

1 MieruPC-2010 Verilog Table 1 Verilog description of MieruPC-2010 main part. MipsCore.v 645 MipsCore Cp0.v 95 MIPS memcon.v 277 mainmem.v 36 SRAM kbcon.v 177 PS/2 kbcon table.v 527 ROM lcdcon.v 46 LCD mmccon.v 367 SD gpio.v 44 I/O init.v 85 MieruPC.v 77 define.v 197 2,626 MieruPC I/O I/O MipsCore 1 MieruPC-2010 Verilog MipsCore CP0 I/O GPIO 2,626 3.3 MieruPC-2010 FPGA ISE 11.5 Xilinx 2,446 FPGACard XC3S250E 100% XC3S500E 53% XC3S250E MieruPC XC3S500E FPGA 67MHz SRAM 54MHz MipsCore / 20% MIPS (Million Instruction Per Second) 5.4MIPS 1980 MipsCore CLK pc 0 90 180 270 posedge CLK ICACHE npc I_IN posedge CLK90 RF decode ExA rrs rrt negedge CLK DCACHE ExRSLT ExTPC D_IN negedge CLK90 MaLDD ExA/ExWE ExRSLT pc DCACHE 9 MipsCore Fig. 9 Datapath and timing of single-cycle MipsCore. ( 9 ) 13MIPS(18MHz ) 19MIPS(36MHz ) FPGA 4. MieruPC 4.1 MieruOS MieruPC-2010 OS SD MieruOS 2 40kB 67kB 512kB 128kB 384kB OS OS MieruOS C++ 3,672 RF kbcon table.v 512 ROM case 90 115

組込みシステムシンポジウム2012 1 2 3 4 5 6 7 8 9 10 Application #include <mierulib.h> int main (void) { lcd_ttyopen(1); while(1) { while (!mpc_getchar(null)); lcd_puts("hello world"); 図 10 MieruPC のアプリケーションの例 Fig. 10 An example of an application of MieruPC. は C++で記述されている 4.2 ライブラリと SDK アプリケーションは主に C 言語により記述する ソー スコードに MieruPC のライブラリファイル mierulib.h をインクルードしてコンパイルし リンカスクリプト 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Library void lcd_puts(char *s) { int i = 0; while(s[i]) { lcd_sendchar( H ); lcd_sendchar(s[i++]); /* move internal cursor... */ lcd_nextline(); void lcd_sendchar(char c) { volatile char *ptr = (volatile char *) MP_MMAP_LCD; while (!*ptr); *ptr = c; 図 11 MieruPC のライブラリの一部 Fig. 11 A part of the libraries. を用いてライブラリとリンクする 図 10 図 11 は キーボードの入力に反応して Hello world を表示するアプリケーションと 提供 されるライブラリのコードの一部である MieruPC のアプリケーションでは 図 10 の 5 行 目の液晶ユニットを初期化する関数 lcd ttyopen を最 初に実行する 7 行目でキーボードの入力をビジー ループで待ち続ける 何らかの入力があれば 8 行目の lcd puts 関数が呼び出される この関数は図 11 の 1 10 行目に定義され 文字列を 1 文字ずつ切り出し 文 字を描画する液晶ユニットへのコマンド H とともに 5 6 行目で lcd sendchar 関数に渡す lcd sendchar 関数では 16 行目でキーボードコントローラがビジー でなくなるまで待ち 17 行目で文字を送信する さ 図 12 開発されたアプリケーションの例 Fig. 12 Photo of developed applications. らに 7 行目で (図中では省略するが) カーソルの位 置を 1 文字分移動させる この処理を文字数だけ繰 次に OS カーネルとアプリケーションのバイナリ 起 り返す その結果 液晶ユニットの画面には Hello 動時に実行するアプリケーションを記述した簡易シェ world が表示される 9 行目で改行コマンドを送信 ルスクリプトを含んだ SD カードのイメージファイ する lcd nextline 関数を呼び出して アプリケーショ ルを作成する こうして作成されたイメージファイル ンへと制御を戻す この例のように ライブラリもブ を入力としてシミュレータを実行すると OS の起動 ラックボックスにならない様に シンプルでわかりや とともにテストしたいアプリケーションが実行される すい記述を心がけた アプリケーションの開発 検証を容易にするため シミュレータで十分なテストをおこなってから SD カードにバイナリを書き込み 実機でテストする ライブラリ シミュレータ SD カードのイメージファ MieruSDK はこうした一連の作業を自動化し アプ イルを作成するツールなどを統合する SDK として リケーションの効率的な開発を支援する MieruSDK3) を整備した MieruSDK を利用してアプリケーションをテストす 開発された幾つかのアプリケーションのスクリーン ショットを図 12 に示す る際は まずアプリケーションをライブラリとともに クロスコンパイル リンクして バイナリを作成する 2012 Information Processing Society of Japan 116

組込みシステムシンポジウム2012 5. 議 論 MieruPC システムを教育の現場で利用する試みが なされている 東京工業大学の計算機アーキテクチャの講義では MIPS アーキテクチャを題材として扱っており その 中で SimMips と MieruPC システムを取り入れた講義 をおこなった 講義の最後には期末課題として Sim- Mips をインストールしたサーバを受講者向けに開放し SimMips のソースコードの一部を変更する必要のある 課題を課した また 余裕のある人向けに MieruPC 図 13 MieruPC Rev.ITsp 向けのアプリケーションの例 Fig. 13 Photo of an application for MieruPC Rev.ITsp. のアプリケーション開発を課題とした SimMips の 上で自らの作ったアプリケーションをテストしてもら い 完成したアプリケーションは本人のプレゼンテー ションとともに MieruPC 実機の上で動作させた いった内容である 実践的なプロジェクト実習の題材としては 文部科 学省先導的 IT スペシャリスト育成推進プログラムの この課題は必須ではなかったが 受講者の約 10%の 一つである 情報理工実践プログラム (東京大学 東 学生が独創性に富んだアプリケーションを提出してお 京工業大学 国立情報学研究所) のソフトウェア開発プ り 学習意欲の向上につながった しかし より多く ロジェクト実践に用いられたケースが挙げられる 東 の学生に広く触れてもらうためにはいくつかの課題 京大学と東京工業大学の修士 1 年の学生各 2 名 合計 がある まず シミュレータ上で動作していたアプリ 4 名が 通年の実習を通して MieruPC のハードウェ ケーションが いざ実機で動作させようとすると環境 ア ソフトウェアを拡張し MieruPC Rev.ITsp と の微妙な違いによりうまく動作しない という場面が 名付けられた計算機システムを構築した3) MieruOS 見受けられた こうした課題を自宅で取り組む場合 や MieruSDK は この実習の成果を土台としている 実機でのテストの機会をどのように提供するかを検討 MieruPC Rev.ITsp は独自の機能として RS-232C する必要がある また 意欲はあったがどう手をつけ を通じた一般的な計算機 (PC) との通信の機構を持っ て良いかわからなかったという意見も見受けられ ド ており PC がウェブサービスを通じて取得した情報 キュメントや開発環境の整備も課題となった を MieruPC Rev.ITsp が受信して画面に表示する 豊橋技術科学大学でも 高専生向けの組込みシステ といったアプリケーションが実現可能である 図 13 ムに関する夏期講座として MieruPC のアプリケー に このアプリケーションの動作例を示す PC と比 ション開発の課題を課した 始めに MieruPC の概要 べてハードウェアの制約が大きい中で ある機能がど やアプリケーション開発の流れに関する説明をした後 のようなパーツの組み合わせで提供されているのかと 5 日間で各自のアイディアに基づいたアプリケーショ いう知識 また 所望の機能を実現するために 制約 ンを開発させた 講座の後 学生には制作したアプリ に合わせて利点や欠点を考慮し 実装方法を選択する ケーションの説明や講座の感想などを数枚のレポート という能力が身についたことが 文献 3) に述べられ の形で提出することを求めた レポートでは 思い通 ている りに動いてくれたときに 自分でもこんな物が作れる 関連する試みとして TINYCPU4) を紹介する こ んだ と感動した パソコンから離れたものでプロ こでは 16 ビットの独自命令セットをプロセッサを グラムを実行するのが良いなと思った などの感想が FPGA 上に実装している また クロスアセンブラと 得られている クロスコンパイラも提供されており これらのコード ハードウェアに手を入れる実験も進められている 東京農工大学では 集積回路工学の実験に MieruPC および文法ファイルの合計は 400 行あまりにまとめら れている TINYCPU は 容易に理解できるコードで が利用されている MieruPC のハードウェアを使い 複数の分野に跨った教育を可能にするなど MieruPC 始めに液晶コントローラ PS/2 キーボードコントロー との共通点も多い MieruPC プロジェクトは シン ラと簡単な回路により 液晶モジュール上でスロット プルさを保ちつつ より実用的で魅力的な計算機シス マシンを動作させる ここからステップアップして テムを提供することを目標とする点が挑戦的である 最終的に MIPS ベースのプロセッサを動作させると 2012 Information Processing Society of Japan 117

6. MieruPC MieruPC MieruPC 1 MieruPC-2010 FPGACard MipsCore Rev.ITsp 1),, : MIPS SimMips,, Vol. 50, No. 11, pp. 2665 2676 (2009). 2), : FPGA LCD, RECONF2010-82, pp.193 198 (2011). 3),,,,,,, : Mieru, 2010-ARC-189, No. 16 (2010). 4) Nakano, K. and Ito, Y.: Processor, Assembler, and Compiler Design Education using an FPGA, Asia-Pacific Workshop on Embedded System Education and Research, pp. 723 728 (2008). 118