コンピュータ構成と設計入門
担当教員
授業の到達目標及びテーマ
1. Assembly Language Programming 2. Basic Computer Organization 3. Basic Computer Design
授業の概要と方法
The contents of this course include computer arithmetic algorithm and hardware implementation for integer numbers, MIPS instruction set architecture, assembly language programming, multiplexer design, ALU design, register file design, single-cycle CPU datapath and control unit design, memory design, and single-cycle CPU computer design. An assembly language program simulator, AsmSim, and a CAD/CAE tool, Quatus II Web Edition, will be used in this course.
授業計画
| 回 | テーマ | 内容 |
|---|---|---|
| 1 | Assembly Language Programming: AsmSim Usage | Assembly program structure, MIPS registers, display "Hello world!" |
| 2 | Assembly Language Programming: MIPS Instructions | Logic and arithmetic operations, if-then-else, and "for" loop |
| 3 | Assembly Language Programming: Subroutine | Subroutine call, memory accesses (load and store) |
| 4 | Assembly Language Programming: System Calls | Scanf(), Printf(), GetRandom(), Sleep(), and GetTimer() |
| 5 | Assembly Language Programming: Graphics | DrawLine(), DrawRect(), DrawRect3D(), DrawOval(), and DrawString() |
| 6 | Assembly Language Programming: VGA VRAM Access | VGA, VRAM, true color pixel manipulations, display kanji (16x16 fonts) |
| 7 | Assembly Language Programming: Interrupt | AddKeyListener(), RemoveKeyListener(), and a simple game development |
| 8 | Computer Design: Basic Components | Multiplexers, ALU, and register file design |
| 9 | Computer Design: CPU and Memory | Structure of CPU and memory design |
| 10 | Computer Design: CPU Datapath Design | Single-cycle CPU datapath design |
| 11 | Computer Design: CPU Instruction Decoder | Single-cycle CPU control unit design (truth table and instruction decoder) |
| 12 | Computer Design: CPU Control Unit Design | Single-cycle CPU control unit circuit design |
| 13 | Computer Design: Computer Design and Simulation | Single-cycle computer (CPU + memory) design |
| 14 | Computer Design: Report Submission | Checking design and report submission |
| 15 | Summary and Review for Final Examination | Assembly language programming and computer design summary |
授業外に行うべき学習活動
1. Develop, design, and simulate programs and circuits 2. Write reports for each design 3. Submit report in the beginning of next lecture
テキスト
コンピュータの構成と設計 ― ハードウエアとソフトウエアのインタフェース〈上〉日経BP社 コンピュータの構成と設計 ― ハードウエアとソフトウエアのインタフェース〈下〉日経BP社
参考書
MIPS32 Architecture For Programmers (online PDF)
成績評価基準
1. Class Attendance: 15% 2. Homework and Project Report: 40% 3. Final Examination: 45%
情報機器使用
Bring note-PC to the lecture
前年度の授業改善アンケートからの気づき
Increased the assembly language programming for understanding the instruction set and provided the circuits of the basic components for saving the design time.