オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道

Slides:



Advertisements
Similar presentations
CPU設計と パイプライン.
Advertisements

基本情報技術概論(第10回) 埼玉大学 理工学研究科 堀山 貴史
計算機システムⅡ 主記憶装置とALU,レジスタの制御
テープ(メモリ)と状態で何をするか決める
情 報 技 術 基 礎 処理装置の構成と動作 D17kog706pr101 始.
計算機システムⅡ 命令セットアーキテクチャ
計算機システム ハードウェア編(第3回) ~ ノイマン型コンピュータ ~.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
ロジック回路学習ボード MLCTB-BASE 説明書 NAND 7400 NOT 7404 AND 7408 OR 7432
プログラムはなぜ動くのか.
計算機基礎Ⅱ,Ⅲ (指導書 pp. 76~94) 改訂:佐竹 純二 (作成:岡本 吉央).
第10回 Dフリップフロップ ディジタル回路で特に重要な D-FF 仕組みを理解する タイミング図を読み書きできるようにする 瀬戸
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
基本情報技術概論(第8回) 埼玉大学 理工学研究科 堀山 貴史
8. 順序回路の簡単化,機能的な順序回路 五島 正裕.
「ソフトウェアのしくみ」.
専門演習Ⅰ 国際経済学部 国際産業情報学科 2年 石川 愛
第7回 2006/6/12.
計算機入門I ハードウェア(1) 計算機のハードウェア構成 ~計算機のハードウェアとは何か~
計算機科学実験及演習 3A SIMPLEアーキテクチャ のプロセッサの実装
・ディジタル回路とクロック ・プロセッサアーキテクチャ ・例外処理 ・パイプライン ・ハザード
アドバンスト コンピュータ アーキテクチャ RISC と 命令パイプライン
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
情報リテラシー2014 part 5/5 (亀田担当分最終回)
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
第6回 6/4/2011 状態遷移回路とシングルサイクルCPU設計
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
ディジタル回路の設計と CADによるシステム設計
コンピュータアーキテクチャ 第 7 回.
コンピュータアーキテクチャ 第 7 回.
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
計算機構成 第4回 アキュムレータマシン テキスト第3章
情報とコンピュータ 静岡大学工学部 安藤和敏
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
第11回 よく使われる順序回路 複数のFFを接続した回路を解析する際の考え方を学ぶ カウンタ回路の仕組みを理解し,設計できるようにする 瀬戸.
コンピュータアーキテクチャ 第 11 回.
コンピュータアーキテクチャ 第 10 回.
2010年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータアーキテクチャ 第 9 回.
コンピュータアーキテクチャ 第 10 回.
コンピュータアーキテクチャ 第 2 回.
コンピュータアーキテクチャ 第 4 回.
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
2013年度 プログラミングⅠ ~ 内部構造と動作の仕組み(2) ~.
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
コンピュータアーキテクチャ 第 3 回.
コンピュータアーキテクチャ 第 2 回.
コンピュータアーキテクチャ 第 5 回.
8. 順序回路の実現 五島 正裕.
計算機アーキテクチャ1 (計算機構成論(再)) 第二回 命令の種類と形式
コンピュータアーキテクチャ 第 4 回.
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
情報コミュニケーション入門b 第2回 Part1 ハードウェアとソフトウェア
プロセッサ設計支援ツールを用いた 独自プロセッサの設計
コンピュータアーキテクチャ 第 9 回.
コンピュータアーキテクチャ 第 3 回.
コンピュータアーキテクチャ 第 5 回.
情報コミュニケーション入門b 第2回 Part1 ハードウェアとソフトウェア
コンピュータアーキテクチャ 第 11 回.
ディジタル回路 8. 機能的な順序回路 五島 正裕.
コンピュータ工学基礎 マルチサイクル化とパイプライン化 テキスト9章 115~124
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
2008年度 情報科学序論 ~ 内部構造と動作の仕組み(2) ~.
Presentation transcript:

オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道

概要 1.ディジタル回路設計CADについて 2.設計した演算制御システムについて 3.各機構の設計について 4.デモンストレーション 5.まとめと今後の課題

研究の目的 ディジタルシステムの設計と開発 マイクロプロセッサの解析 CADを用いた演算制御システムの設計 計画 解析 設計 検討 1.ディジタル回路設計CADについて 研究の目的 ディジタルシステムの設計と開発 マイクロプロセッサの解析 CADを用いた演算制御システムの設計 計画 解析          設計 検討

利用するCADシステム CAD コンピュータ上におけるソフトウェアを用いたディジタル回路の設計支援システム 設計ツール: 1.ディジタル回路設計CADについて 利用するCADシステム CAD  コンピュータ上におけるソフトウェアを用いたディジタル回路の設計支援システム 設計ツール: Xilinx社 ISE Foundation 9.1i Mentor Graphics社 ModelSimXE 6.2c FPGAダウンロード基板(40万ゲート規模)

演算制御システムの概要 8ビットデータバス(単一・固定長命令) ALUによる演算処理 2層クロックを使用 制御回路による単一バスの制御 2.設計した演算制御システムについて 演算制御システムの概要 8ビットデータバス(単一・固定長命令) 制御回路による単一バスの制御 ALUによる演算処理 四則演算と論理演算 フラグ判定つきの演算処理 2層クロックを使用 各機構同期用と制御回路の命令同期用 1:2の周波数のクロックを発生 クロック同期によるゲート解放 立ち下り・・・入力命令 立ち上り・・・出力命令 機構同期用 制御回路同期用

基本構成と動作 信号の流れ ① PC ⇒ MAR ② MAR ⇒ 主記憶 ③ 主記憶 ⇒ MDR ④ MDR ⇒ IR ⇒ ID 2.設計した演算制御システムについて 信号の流れ ① PC ⇒ MAR ② MAR ⇒ 主記憶 ③ 主記憶 ⇒ MDR ④ MDR ⇒ IR ⇒ ID ⑤ 制御回路へ   (命令の実行) ⑥ PC ← PC + 1 ①~⑥の繰り返し 単一バス方式CPU

命令の実行 ・・・・・ 命令サイクル ・・・・・ ・・・・・ Tステート (=周期) 命令1 命令2 命令3 フェッチ デコード 実行 2.設計した演算制御システムについて 命令の実行 ・・・・・ 命令1 命令2 命令3 命令サイクル ・・・・・ フェッチ デコード 実行 フェッチ ・・・・・ マシンサイクル M1 M2 M3 Mn Tステート (=周期) T1 T2 T3 T4

CPU構成図 2.設計した演算制御システムについて 赤線はデータバス(8bit) 総ゲート数:約15,000ゲート

各機構説明表 項目 名称 機能 MDR 記憶データ用レジスタ 入出力データを一時保存するレジスタ MAR 記憶番地用レジスタ 2.設計した演算制御システムについて 各機構説明表 項目 名称 機能 MDR 記憶データ用レジスタ 入出力データを一時保存するレジスタ MAR 記憶番地用レジスタ 記憶番地を指定するレジスタ PC プログラムカウンタ 次の命令の番地を指定するレジスタ ALU 算術論理演算装置 各演算処理を行う装置 Acc アキュムレータ 演算結果を一時的に保存するレジスタ Temp 一時保存レジスタ 演算数を一時保存するレジスタ R0~R2 汎用レジスタ 命令を実行する為に使用するレジスタ IR 命令用レジスタ 実行中の命令内容を保持するレジスタ ID デコーダ 命令を解析して受け渡す装置 CTRL 制御回路 バスの制御を行い命令を実行する装置

命令表 ●・・・変化せず ⇔・・・操作の結果でセット またはリセットされる 2.設計した演算制御システムについて 対応表 ニーモニック シンボリックオペレーション OPコード HEXコード フラグ Mサイクル数 Tステート数 O C Z S  NOP ― 99 00H ● 1 4  HLT END FF 01H  LD r, r' r ← r' A0 02H 3 5  LDM r, (mem) r ← (mem) A1 03H  ST (mem) (mem) ← Acc B0 04H 2 7  JMP (mem) PC ← (mem) C0 05H  ADD r, r' Acc ← r + r' E0 06H ⇔ 6  SUB r, r' Acc ← r - r' E1 07H  MUL r, r' Acc ← r * r' E2 08H  DIV  r, r' Acc ← r / r' E3 09H  AND r, r' Acc ← r & r' E4 0AH  OR r, r' Acc ← r | r' E5 0BH  NOT r Acc ← !r E6 0CH ●・・・変化せず ⇔・・・操作の結果でセット     またはリセットされる 対応表 機構 HEXコード レジスタ0 10H レジスタ1 11H レジスタ2 12H アキュムレータ 40H

レジスタ・PC・IR・ID(クロック同期) 3.各機構の設計について レジスタ・PC・IR・ID(クロック同期) R0~R2(汎用レジスタ) バスから受け取ったデータを保持 制御回路からの命令によりバスにデータを出力 PC(プログラムカウンタ) 実行する命令の番地を記憶 次に実行する命令の番地をバスへ出力(カウントアップ) IR(インストラクションレジスタ) バスから受け取った命令やデータをIDへ出力 ID(インストラクションデコーダ) IRから受け取った命令コードを制御回路が   認識可能な機械語へ変換 バスと制御回路に対してデータの入出力

ACC・TMP・ALUの構成 ACC(アキュムレータ):クロック同期 TMP(一時記憶レジスタ):クロック同期 3.各機構の設計について ACC(アキュムレータ):クロック同期 演算などデータの一時保持に特化したレジスタ TMP(一時記憶レジスタ):クロック同期 バスとデータを切り離し、ALUを演算のみに特化させるための一時記憶レジスタ ALU(演算処理装置):クロック非同期 非演算数・演算数・演算オペレーションの3データがそろい次第、演算処理を開始し、解をACCに出力 FR(フラグレジスタ) 演算の結果、出力されたフラグ情報を記憶 O:オーバーフロー(ビット溢れ判定)  Z:ゼロ(0判定) C:キャリー(桁上げ判定)  S:サイン(マイナス判定)

メモリユニット(MAR,MDR,メモリ) MAR(メモリアドレスレジスタ) MDR(メモリデータレジスタ) メインメモリ(主記憶) 2.設計する演算制御システムについて メモリユニット(MAR,MDR,メモリ) MAR(メモリアドレスレジスタ) 実行する命令データ(命令コード+オペランド)の   ある番地を入力、記憶 番地データをアドレスラインによりメモリに出力 MDR(メモリデータレジスタ) メモリから実行する命令データを入力、記憶 記憶している命令データをバスへ出力 メモリに書き込む演算結果をデータラインにより出力 メインメモリ(主記憶) 32バイト(8ビット×32番地) 実行する命令データを各番地に記憶 オペレーションにより、読出し、書込み、初期化を実行

メモリユニットの記述 MAR,MDR⇒クロックに同期 メインメモリ⇒メモリクロックに同期 制御回路からの命令による入出力 2.設計する演算制御システムについて メモリユニットの記述 MAR,MDR⇒クロックに同期 制御回路からの命令による入出力 クロック立ち下り時にバスからデータを入力 クロック立ち上り時にバスやメモリへデータを出力 メインメモリ⇒メモリクロックに同期 命令表に従い、実行する命令を記述 制御回路からの動作命令を受信(クロック立ち上り) 読出し・・・番地をデータに変換 書込み・・・番地にデータを上書き(1Tステート必要) 初期化・・・各番地のデータを初期値に戻す

制御回路 システム全体の制御 各機構へ個別の信号(ゲート解放命令)を送信することによりシステム全体を制御 電源、リセットスイッチ 3.各機構の設計について 制御回路 システム全体の制御 各機構へ個別の信号(ゲート解放命令)を送信することによりシステム全体を制御 電源、リセットスイッチ powerスイッチにより、システム全体の起動とリセットが可能 2層クロックの使用 メインクロックの周波数の2倍に設定したクロックを制御回路が使用することで、高い安定性を確保 

制御回路の構成 4層に分けて記述 各命令ごとに記述 制御回路を管理するカウンタ層 制御回路の中枢であるメイン記述層 3.各機構の設計について 制御回路の構成 4層に分けて記述 制御回路を管理するカウンタ層 制御回路の中枢であるメイン記述層 基本動作を記述したCPUサイクル層 各命令を記述した命令サイクル層 各命令ごとに記述 各命令ごとに記述することで、命令の追加・修正など、容易な管理が可能 

演算処理のデモンストレーション 作成したCPUを用いた演算処理 デモ用命令の内容 スイッチによりレジスタの 値の表示を切り替え 4.デモンストレーション 作成したCPUを用いた演算処理 スイッチによりレジスタの   値の表示を切り替え デモ用命令の内容 R0 ← [24番地] + [25番地] LDM R0, mem[24] ST mem[30] LDM R1, mem[30] LDM R2, mem[25] ADD R1, R2 LD R0, ACC HLT

まとめと今後の課題 ディジタル回路設計CADの使用法の習得 オリジナルCPUの設計と製作 今後 5.まとめと今後の課題 まとめと今後の課題 ディジタル回路設計CADの使用法の習得 オリジナルCPUの設計と製作 今後 命令の実装(フラグを考慮した演算命令、条件付きジャンプ命令など) 回路規模の削減 3バス方式による演算制御システムの検討