シラバス参照

講義概要/Course Information
2020/04/28 現在

科目基礎情報/General Information
授業科目名
/Course title (Japanese)
計算機通論
英文授業科目名
/Course title (English)
Computer Organization and Assembly Language Programming
科目番号
/Code
COM301a COM301b COM301c COM301d
開講年度
/Academic year
2020年度 開講年次
/Year offered
2
開講学期
/Semester(s) offered
前学期 開講コース・課程
/Faculty offering the course
情報理工学域
授業の方法
/Teaching method
講義 単位数
/Credits
2
科目区分
/Category
専門科目
開講学科・専攻
/Cluster/Department
Ⅰ類
担当教員名
/Lecturer(s)
寺田 実
居室
/Office
西2-510
公開E-Mail
/e-mail
terada.minoru(at)uec.ac.jp
授業関連Webページ
/Course website
http://pr.cei.uec.ac.jp/~terada/lectures/comporg/2020/
更新日
/Last updated
2020/03/03 15:02:36 更新状況
/Update status
公開中
/now open to public
講義情報/Course Description
主題および
達成目標
/Topic and goals
計算機のプログラムは主記憶装置の上に置かれた命令コード(機械語)の列を逐次的に取り出して中央処理装置によって解釈・実行させることによって処理が進む.命令コードはそれぞれ固有の処理を行う機能を持つ。処理の対象としてのデータは主記憶装置等の上に置かれ,その所在の指定も命令コードによって行う。この命令コードの処理機能、データの所在の指定方法であるアドレッシング、レジスタの数や機能等をまとめてアーキテクチャと呼ぶ。計算機通論ではアーキテクチャ、命令コードとそれに対応するアセンブリ言語について学び、理解する。
 CやJavaなど、高級言語でブログラミングすることが普通となった今日、アーキテクチャやアセンブリ言語を学ぶ理由は、計算機が動作する基本メカニズムを十分に理解するためである。アーキテクチャは計算機のハードウェア(CPU等)とソフトウェア(機械語)のインタフェースをなすものであり、情報工学技術者にとって、十分に理解することが必須である。
前もって履修
しておくべき科目
/Prerequisites
コンピュータリテラシ、基礎プログラミング及び演習
前もって履修しておくこ
とが望ましい科目
/Recommended prerequisites and preparation
なし 
教科書等
/Course textbooks and materials
下記を推薦図書とする。

尾内理紀夫著「コンピュータの仕組み」(朝倉書店)
カマー著、鈴木他訳「コンピュータアーキテクチャのエッセンス」 
授業内容と
その進め方
/Course outline and weekly schedule
第1回 数の表現 符号なし表現 
第2回 数の表現 符号―絶対値表現、二の補数表現
第3回 ノイマン型計算機
第4回 アセンブリ言語 算術命令
第5回 アセンブリ言語 比較命令
第6回 アセンブリ言語 分岐命令
第7回 アセンブリ言語 データ転送命令
第8回 アセンブリ言語 サブルーチン呼び出し
第9回 アセンブリ言語 引数の受け渡し
第10回 アセンブリ言語 再帰処理
第11回 命令コード
第12回 命令パイプライン処理 パイプラインによる高速化
第13回 命令パイプライン処理 ハザード
第14回 記憶階層 キャッシュメモリ
第15回 記憶階層 仮想記憶
実務経験を活かした
授業内容
(実務経験内容も含む)
/Course content utilizing practical experience
授業時間外の学習
(予習・復習等)
/Preparation and review outside class
講義ノートや推薦図書などを用いて予習復習をしておくこと。 
成績評価方法
および評価基準
(最低達成基準を含む)
/Evaluation and grading
評価方法:中間試験と期末試験により評価を行なう。
評価基準:計算機アーキテクチャ及びアセンブリプログラミングの基礎を理解すること。
(1)アーキテクチャ、ハードウェア、ソフトウェアの関係と翻訳階層について理解している。
(2)数の表現について理解している。
(3)ノイマン型計算機の特徴、基本構造、機能、問題点、および性能評価を理解している。
(4)オペランドとアドレス指定、アドレス付与規則、オペレータ指定される基本的演算とサブルーチンについて理解している。
(5)アセンブリ言語を用いたプログラミングができる。
(6)命令パイプライン処理における高速化原理と性能向上、ハザードと対処法を理解している。
(7)記憶階層における局所性原理と階層構造、キャッシュ方式について理解している。
オフィスアワー:
授業相談
/Office hours
メールで連絡をください。
学生へのメッセージ
/Message for students
計算機の基礎に関する講義になっています。
プログラムがどのように実行されるかの理解を目指すので、たとえばC言語での
簡単なプログラムを理解できるようになっている必要があります。
今後学習することの基礎となっていますので、しっかり勉強してください。 
その他
/Others
特になし
キーワード
/Keyword(s)
コンピュータアーキテクチャ、アセンブリ言語、ノイマン型計算機、数の表現