SlideShare a Scribd company logo
1 of 18
Download to read offline
東北大学 工学部 機械知能・航空工学科
2016年度 5セメスター・クラスC3 D1 D2 D3
計算機工学
大学院情報科学研究科
鏡 慎吾
http://www.ic.is.tohoku.ac.jp/~swk/lecture/
5. 命令セットアーキテクチャ
(教科書6.1節, 6.2節)
2鏡 慎吾 (東北大学): 計算機工学 2016 (5)
PC
計算機の基本構成
メモリ
演算器 (ALU)
命令
命令
命令
…
プログラム領域
データ領域
データ
データ
データ
…
レジスタload
store
プロセッサ
3鏡 慎吾 (東北大学): 計算機工学 2016 (5)
計算機の基本動作
• プロセッサは,メモリのプログラム領域から命令をアドレ
ス順に読み出して実行する
• 演算は ALU (Arithmetic Logic Unit) が行う
• 必要に応じて,メモリとプロセッサ内のレジスタとの間で
データを移動する
• 演算を行うには,少なくとも瞬時にはプロセッサ内でデータを記
憶しておく必要がある
• 最近のほとんどのプロセッサは,メモリ内のデータではなくレジス
タ内のデータを演算の対象とする (∵ メモリはプロセッサに対し
て遅いため)
• load: メモリ → レジスタ
• store: メモリ ← レジスタ
• PC (Program Counter) と呼ばれる特殊レジスタに,次
に実行する命令のアドレスが保存されている
• PCの内容は命令実行ごとに更新される
4鏡 慎吾 (東北大学): 計算機工学 2016 (5)
命令セットアーキテクチャ
• プロセッサが実行できる命令の集合を命令セット (instruction
set) と呼ぶ.実際には,プログラムから使用できるレジスタの
種類,メモリアドレスの指定方法なども含めて命令セットと呼ぶ
のが通常である
• ソフトウェアから見たときに,そのプロセッサがどんなものであ
るかは,命令セットによって決まる.この観点から見たアーキテ
クチャを命令セットアーキテクチャ (Instruction Set
Architecture: ISA) と呼ぶ
• それに対し,ある命令セットアーキテクチャをどのような回路で
どのような動作タイミングで実現するかという観点から見たアー
キテクチャをマイクロアーキテクチャと呼ぶ
• 同じ ISA に対して多数のマイクロアーキテクチャがあり得る
5鏡 慎吾 (東北大学): 計算機工学 2016 (5)
命令セットアーキテクチャの例
• x86 (IA-32, i386)
いわゆる PC 用のCPUで採用.PC以外にも広く利用される.
• PowerPC
以前の Macintosh.PlayStation 3,Xbox 360,Nintendo Wii
• SPARC
Sun Microsystems のワークステーション,各種組み込み機器
• MIPS
Silicon Graphics,Sony, NEC のワークステーション,
初代 PlayStation,Nintendo 64,PSP, 各種組込み機器,携帯機器など
• ARM
携帯機器・携帯電話の多く,ゲームボーイアドバンス,Nintendo DS, DSi
• SuperH (SH)
各種組み込み機器,携帯機器,セガサターン,ドリームキャスト
注: 厳密な命令セットアーキテクチャ名としては,さらに細かく分類される
(例えば MIPS I, MIPS II, MIPS32, MIPS64…)
6鏡 慎吾 (東北大学): 計算機工学 2016 (5)
歴史的な経緯
• 当初は,計算機の設計と具体的な製品は 1 対 1 対応
• IBM System/360 (1964) で,統一的なアーキテクチャによ
る「計算機ファミリ」の概念が現れる
• 初の商用マイクロプロセッサ Intel 4004 (1971) 以降,計算
機本体とは独立の「部品」としてプロセッサを扱えるようにな
る(計算機メーカとプロセッサメーカの分離)
• 1980年代頃,RISCへの転回
• RISC (Reduced Instruction Set Computer):
命令セットを簡素化し,回路を単純化することで高速化
• CISC (Complex Instruction Set Computer):
RISC に対して従来のアーキテクチャをこう呼んだ
7鏡 慎吾 (東北大学): 計算機工学 2016 (5)
IBM System/360
「コンピュータアーキテクチャ」という概念をおそらく最初に明確に導入し
た商用計算機.オペレーティングシステム(OS)を最初に導入した商用
計算機でもある
http://upload.wikimedia.org/wikipedia/commons/8/8d/Bundesarchiv_B_145_Bild-F038812-
0014%2C_Wolfsburg%2C_VW_Autowerk.jpg
8鏡 慎吾 (東北大学): 計算機工学 2016 (5)
intel 4004
(American History Museum)
Busicom 141-PF
(Intel Museum, Santa Clara)
9鏡 慎吾 (東北大学): 計算機工学 2016 (5)
intel 4004
http://news.com.com/1971+Intel+4004+processor/2009-1006_3-6038974-3.html
10鏡 慎吾 (東北大学): 計算機工学 2016 (5)
マイクロプロセッサの系譜 (CISC)
1971
1972
1974
1976
1978
1979
1980
1986
1993
2006
4004
8008
8080
Z80
6800
6502
8086
68000
6809
80286
80386
Pentium
68020
Intel ZiLOG Motorola MOS
Core
IBM PC/AT Macintosh
Sun 1
Apple II
ファミリーコ
ンピュータ
PC-8801
MSX
FM-7, FM-77
4-bit
8-bit
16-bit
32-bit
68060
Pentium Pro (PowerPCへ移行)
(RISCの影響)
11鏡 慎吾 (東北大学): 計算機工学 2016 (5)
マイクロプロセッサの系譜 (RISC)
1982
1983
1984
1985
1986
1988
1991
1994
1995
2010
MIPS R2000
RISC I
SPARC
ARM1
PowerPC 601
カリフォルニア大バークレイ校
スタンフォード大
/ MIPS
Sun Microsystems
Acorn Apple
/ IBM
/ Motorola
RISC II
R3000
R4000
R8000
UltraSPARC
SuperSPARC
ARM2
ARM6
ARM7 PowerPC 604
IBM POWER
MIPS32 1074K
UltraSPARC T3 Cortex-A15 PowerPC A2
日立
SH-1
SH-2
SH-3
SH-4SH-4
…
…
…
…
…
12鏡 慎吾 (東北大学): 計算機工学 2016 (5)
ゲーム機用プロセッサ
任天堂 ファミリーコンピュータ (1983), NEC PCエンジン (1987): 6502
セガ マークIII (1985): Z80
セガ メガドライブ (1988): 68000 + Z80
任天堂 スーパーファミコン (1990): 65C816 (6502の後継)
セガサターン (1994): SH-2
ソニー PlayStation (1994): MIPS R3000
任天堂 NINTENDO64 (1996): MIPS R4300
セガ ドリームキャスト (1998): SH-4
ソニー PlayStation2 (2000): EmotionEngine (MIPS R5900ベース)
任天堂 ゲームキューブ (2001): PowerPC 750
マイクロソフト Xbox (2001): Mobile Celeron (Pentium IIIベース)
マイクロソフト Xbox 360 (2005): Xenon (PowerPCベース)
ソニー PlayStation3 (2006): Cell (PowerPCベース)
任天堂 Wii (2006): Broadway (PowerPCベース)
任天堂 Wii U (2010): Espresso (Powerベース)
ソニー PlayStation4 (2013): AMD Jaguar (x86ベース)
13鏡 慎吾 (東北大学): 計算機工学 2016 (5)
携帯電話・タブレット端末用プロセッサ
• Qualcomm SnapDragon (ARM)
• Texas Instruments OMAP (ARM)
• Samsung Exynos (ARM)
• NVIDIA Tegra (ARM)
• Apple A7, A8, ... (ARM)
• Intel Atom (x86)
• ルネサス SH-Mobile (SuperH)
14鏡 慎吾 (東北大学): 計算機工学 2016 (5)
MIPSアーキテクチャ
• この講義では,MIPS I アーキテクチャを取り上げて計算
機の動作を学ぶ
• 現代的なアーキテクチャの基本形ともいえる構成
• 組み込み機器を中心に,世界中で使われている
• 世界中の大学の講義で取り上げられている
• 特徴
• 32本 × 32ビット汎用レジスタ
• 32ビットALU
• 32ビットのメモリアドレス空間
• PCは汎用レジスタとは別に存在 (勝手にロード・スト
アできない)
15鏡 慎吾 (東北大学): 計算機工学 2016 (5)
MIPSの構造
メモリ
32ビットALU
32x32ビット
レジスタ
PC
命令デコーダ
アドレス(32ビット)
データ(8, 16, 32ビット)
次PC計算
制御回路
mux
mux
mux は選択回路
演算選択
レ
ジ
ス
タ
選
択
16鏡 慎吾 (東北大学): 計算機工学 2016 (5)
(参考) MIPSシミュレータ SPIM
参考書 (パターソン・ヘネシー) でも紹介されているシミュレータ
SPIM を使うと,MIPSの動作を確認することができる.
http://spimsimulator.sourceforge.net/
• UNIX, MacOS, Windows で動作
最低限の動かし方:
• File →Reinitialize and Load File でアセンブリ言語ファイル
を開く
• Simulator → Run/Continue (F5) で実行
• あるいは Simulator → Single Step (F10) で1行ずつ実行
講義に対応したサンプルプログラム:
• http://www.ic.is.tohoku.ac.jp/~swk/lecture/
17鏡 慎吾 (東北大学): 計算機工学 2016 (5)
レジスタの表示
プログラムの表示
「syscall」 まではシステムが
用意した初期化コード
メモリ値の表示
18鏡 慎吾 (東北大学): 計算機工学 2016 (5)
SPIMに読み込ませるアセンブリ言語ファイルの例
.text
.globl main
main:
addu $sp, $sp, -0x300
or $t0, $zero, 1
sw $t0, 0($sp)
###
addu $t0, $sp, 4
lw $t1, 0($sp)
sll $t1, $t1, 2
addu $t0, $t0, $t1
or $t2, $zero, 300
sw $t2, 0($t0)
###
addu $sp, $sp, 0x300
jr $ra
おまじない.自分のプログラムは
main ラベルから始める.
レジスタやメモリ等の初期化.
わからなくても気にしない.
講義中の説明で理解して欲しい部分.
main の終了.

More Related Content

What's hot

kagamicomput201714
kagamicomput201714kagamicomput201714
kagamicomput201714swkagami
 
kagamicomput201704
kagamicomput201704kagamicomput201704
kagamicomput201704swkagami
 
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707swkagami
 
kagami_comput2015_6
kagami_comput2015_6kagami_comput2015_6
kagami_comput2015_6swkagami
 
kagami_comput2016_10
kagami_comput2016_10kagami_comput2016_10
kagami_comput2016_10swkagami
 
kagami_comput2016_03
kagami_comput2016_03kagami_comput2016_03
kagami_comput2016_03swkagami
 
kagami_comput2015_1
kagami_comput2015_1kagami_comput2015_1
kagami_comput2015_1swkagami
 
kagami_comput2015_9
kagami_comput2015_9kagami_comput2015_9
kagami_comput2015_9swkagami
 
[Basic 2] 計算機の構成 / プログラム実行の仕組み
[Basic 2] 計算機の構成 / プログラム実行の仕組み[Basic 2] 計算機の構成 / プログラム実行の仕組み
[Basic 2] 計算機の構成 / プログラム実行の仕組みYuto Takei
 
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論Yuto Takei
 
kagamicomput201701
kagamicomput201701kagamicomput201701
kagamicomput201701swkagami
 
kagami_comput2016_08
kagami_comput2016_08kagami_comput2016_08
kagami_comput2016_08swkagami
 
Dentoo lt 4 - octave の旋律 -
Dentoo lt 4 - octave の旋律 -Dentoo lt 4 - octave の旋律 -
Dentoo lt 4 - octave の旋律 -fusha_san
 
kagami_comput2016_09
kagami_comput2016_09kagami_comput2016_09
kagami_comput2016_09swkagami
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806swkagami
 
pre: 数列で学ぶ初めての CommonLisp #fibonacci
pre: 数列で学ぶ初めての CommonLisp #fibonaccipre: 数列で学ぶ初めての CommonLisp #fibonacci
pre: 数列で学ぶ初めての CommonLisp #fibonaccipgf2alpha
 
as-1. アセンブラ入門
as-1. アセンブラ入門as-1. アセンブラ入門
as-1. アセンブラ入門kunihikokaneko1
 
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710swkagami
 

What's hot (20)

kagamicomput201714
kagamicomput201714kagamicomput201714
kagamicomput201714
 
kagamicomput201704
kagamicomput201704kagamicomput201704
kagamicomput201704
 
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707
 
kagami_comput2015_6
kagami_comput2015_6kagami_comput2015_6
kagami_comput2015_6
 
kagami_comput2016_10
kagami_comput2016_10kagami_comput2016_10
kagami_comput2016_10
 
kagami_comput2016_03
kagami_comput2016_03kagami_comput2016_03
kagami_comput2016_03
 
kagami_comput2015_1
kagami_comput2015_1kagami_comput2015_1
kagami_comput2015_1
 
kagami_comput2015_9
kagami_comput2015_9kagami_comput2015_9
kagami_comput2015_9
 
[Basic 2] 計算機の構成 / プログラム実行の仕組み
[Basic 2] 計算機の構成 / プログラム実行の仕組み[Basic 2] 計算機の構成 / プログラム実行の仕組み
[Basic 2] 計算機の構成 / プログラム実行の仕組み
 
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
 
kagamicomput201701
kagamicomput201701kagamicomput201701
kagamicomput201701
 
kagami_comput2016_08
kagami_comput2016_08kagami_comput2016_08
kagami_comput2016_08
 
Dentoo lt 4 - octave の旋律 -
Dentoo lt 4 - octave の旋律 -Dentoo lt 4 - octave の旋律 -
Dentoo lt 4 - octave の旋律 -
 
kagami_comput2016_09
kagami_comput2016_09kagami_comput2016_09
kagami_comput2016_09
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806
 
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
 
pre: 数列で学ぶ初めての CommonLisp #fibonacci
pre: 数列で学ぶ初めての CommonLisp #fibonaccipre: 数列で学ぶ初めての CommonLisp #fibonacci
pre: 数列で学ぶ初めての CommonLisp #fibonacci
 
as-2. メモリと CPU
as-2. メモリと CPUas-2. メモリと CPU
as-2. メモリと CPU
 
as-1. アセンブラ入門
as-1. アセンブラ入門as-1. アセンブラ入門
as-1. アセンブラ入門
 
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710
 

Viewers also liked

kagami_comput2015_12
kagami_comput2015_12kagami_comput2015_12
kagami_comput2015_12swkagami
 
kagami_comput2015_13
kagami_comput2015_13kagami_comput2015_13
kagami_comput2015_13swkagami
 
kagami_comput2015_14
kagami_comput2015_14kagami_comput2015_14
kagami_comput2015_14swkagami
 
kagami_comput2015_11
kagami_comput2015_11kagami_comput2015_11
kagami_comput2015_11swkagami
 
kagami_comput2015_10
kagami_comput2015_10kagami_comput2015_10
kagami_comput2015_10swkagami
 
kagami_comput2015_5
kagami_comput2015_5kagami_comput2015_5
kagami_comput2015_5swkagami
 
フレッシュマンセミナー20060614
フレッシュマンセミナー20060614フレッシュマンセミナー20060614
フレッシュマンセミナー20060614Takeo Kunishima
 
kagami_comput2016_11
kagami_comput2016_11kagami_comput2016_11
kagami_comput2016_11swkagami
 
Spanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_psSpanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_psNatura
 
kagami_comput2015_8
kagami_comput2015_8kagami_comput2015_8
kagami_comput2015_8swkagami
 
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...Sonia Fernandes Bogo
 
kagami_comput2015_7
kagami_comput2015_7kagami_comput2015_7
kagami_comput2015_7swkagami
 
kagami_comput2016_12
kagami_comput2016_12kagami_comput2016_12
kagami_comput2016_12swkagami
 
Slide keieisystem2012
Slide keieisystem2012Slide keieisystem2012
Slide keieisystem2012ISE_SE_HOSEI
 
情報の表現~コンピュータでの数値の表現
情報の表現~コンピュータでの数値の表現情報の表現~コンピュータでの数値の表現
情報の表現~コンピュータでの数値の表現Tokai University
 

Viewers also liked (18)

kagami_comput2015_12
kagami_comput2015_12kagami_comput2015_12
kagami_comput2015_12
 
kagami_comput2015_13
kagami_comput2015_13kagami_comput2015_13
kagami_comput2015_13
 
kagami_comput2015_14
kagami_comput2015_14kagami_comput2015_14
kagami_comput2015_14
 
kagami_comput2015_11
kagami_comput2015_11kagami_comput2015_11
kagami_comput2015_11
 
kagami_comput2015_10
kagami_comput2015_10kagami_comput2015_10
kagami_comput2015_10
 
kagami_comput2015_5
kagami_comput2015_5kagami_comput2015_5
kagami_comput2015_5
 
フレッシュマンセミナー20060614
フレッシュマンセミナー20060614フレッシュマンセミナー20060614
フレッシュマンセミナー20060614
 
kagami_comput2016_11
kagami_comput2016_11kagami_comput2016_11
kagami_comput2016_11
 
CMSI計算科学技術特論A(3) OpenMPの基礎
CMSI計算科学技術特論A(3) OpenMPの基礎CMSI計算科学技術特論A(3) OpenMPの基礎
CMSI計算科学技術特論A(3) OpenMPの基礎
 
La vida
La vidaLa vida
La vida
 
Spanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_psSpanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_ps
 
kagami_comput2015_8
kagami_comput2015_8kagami_comput2015_8
kagami_comput2015_8
 
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
A Visys é especialista em soluções para sua Empresa! Você quer fazer a difere...
 
kagami_comput2015_7
kagami_comput2015_7kagami_comput2015_7
kagami_comput2015_7
 
CMSI計算科学技術特論A (2015) 第2回 MPIの基礎
CMSI計算科学技術特論A (2015) 第2回 MPIの基礎CMSI計算科学技術特論A (2015) 第2回 MPIの基礎
CMSI計算科学技術特論A (2015) 第2回 MPIの基礎
 
kagami_comput2016_12
kagami_comput2016_12kagami_comput2016_12
kagami_comput2016_12
 
Slide keieisystem2012
Slide keieisystem2012Slide keieisystem2012
Slide keieisystem2012
 
情報の表現~コンピュータでの数値の表現
情報の表現~コンピュータでの数値の表現情報の表現~コンピュータでの数値の表現
情報の表現~コンピュータでの数値の表現
 

Similar to kagami_comput2016_05

kagamicomput201705
kagamicomput201705kagamicomput201705
kagamicomput201705swkagami
 
kagamicomput201805
kagamicomput201805kagamicomput201805
kagamicomput201805swkagami
 
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料Shin-ya Koga
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会Hitoshi Sato
 
PBL1-v0-200j.pptx
PBL1-v0-200j.pptxPBL1-v0-200j.pptx
PBL1-v0-200j.pptxNAIST
 
並列計算への道 2015年版
並列計算への道 2015年版並列計算への道 2015年版
並列計算への道 2015年版ryos36
 
130301ロボカップ各チームの技術
130301ロボカップ各チームの技術130301ロボカップ各チームの技術
130301ロボカップ各チームの技術靖男 林原
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)RCCSRENKEI
 
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryAtsushi Koshiba
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表Hirotaka Kawata
 
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今Developers Summit
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めYou&I
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄Yukio Saito
 
2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen直久 住川
 
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムオープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムShinya Takamaeda-Y
 
ちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxをちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxをKenichiro MATOHARA
 
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishDbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishYohei Azekatsu
 
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門Yosuke Onoue
 
Meltdown を正しく理解する
Meltdown を正しく理解するMeltdown を正しく理解する
Meltdown を正しく理解するNorimasa FUJITA
 

Similar to kagami_comput2016_05 (20)

kagamicomput201705
kagamicomput201705kagamicomput201705
kagamicomput201705
 
kagamicomput201805
kagamicomput201805kagamicomput201805
kagamicomput201805
 
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
PBL1-v0-200j.pptx
PBL1-v0-200j.pptxPBL1-v0-200j.pptx
PBL1-v0-200j.pptx
 
並列計算への道 2015年版
並列計算への道 2015年版並列計算への道 2015年版
並列計算への道 2015年版
 
130301ロボカップ各チームの技術
130301ロボカップ各チームの技術130301ロボカップ各チームの技術
130301ロボカップ各チームの技術
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)
 
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
 
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
 
2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen
 
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムオープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
 
ちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxをちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxを
 
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishDbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publish
 
Cmc cmd slim
Cmc cmd slimCmc cmd slim
Cmc cmd slim
 
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門
 
Meltdown を正しく理解する
Meltdown を正しく理解するMeltdown を正しく理解する
Meltdown を正しく理解する
 

More from swkagami

kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814swkagami
 
kagamicomput201813
kagamicomput201813kagamicomput201813
kagamicomput201813swkagami
 
kagamicomput201812
kagamicomput201812kagamicomput201812
kagamicomput201812swkagami
 
kagamicomput201811
kagamicomput201811kagamicomput201811
kagamicomput201811swkagami
 
kagamicomput201810
kagamicomput201810kagamicomput201810
kagamicomput201810swkagami
 
kagamicomput201809
kagamicomput201809kagamicomput201809
kagamicomput201809swkagami
 
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808swkagami
 
kagamicomput201807
kagamicomput201807kagamicomput201807
kagamicomput201807swkagami
 
kagamicomput201804
kagamicomput201804kagamicomput201804
kagamicomput201804swkagami
 
kagamicomput201803
kagamicomput201803kagamicomput201803
kagamicomput201803swkagami
 
kagamicomput201802
kagamicomput201802kagamicomput201802
kagamicomput201802swkagami
 
kagamicomput201801
kagamicomput201801kagamicomput201801
kagamicomput201801swkagami
 
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713swkagami
 
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712swkagami
 
kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711swkagami
 
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709swkagami
 
kagamicomput201708
kagamicomput201708kagamicomput201708
kagamicomput201708swkagami
 
kagamicomput201703
kagamicomput201703kagamicomput201703
kagamicomput201703swkagami
 
kagamicomput201702
kagamicomput201702kagamicomput201702
kagamicomput201702swkagami
 

More from swkagami (19)

kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814
 
kagamicomput201813
kagamicomput201813kagamicomput201813
kagamicomput201813
 
kagamicomput201812
kagamicomput201812kagamicomput201812
kagamicomput201812
 
kagamicomput201811
kagamicomput201811kagamicomput201811
kagamicomput201811
 
kagamicomput201810
kagamicomput201810kagamicomput201810
kagamicomput201810
 
kagamicomput201809
kagamicomput201809kagamicomput201809
kagamicomput201809
 
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808
 
kagamicomput201807
kagamicomput201807kagamicomput201807
kagamicomput201807
 
kagamicomput201804
kagamicomput201804kagamicomput201804
kagamicomput201804
 
kagamicomput201803
kagamicomput201803kagamicomput201803
kagamicomput201803
 
kagamicomput201802
kagamicomput201802kagamicomput201802
kagamicomput201802
 
kagamicomput201801
kagamicomput201801kagamicomput201801
kagamicomput201801
 
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713
 
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712
 
kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711
 
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709
 
kagamicomput201708
kagamicomput201708kagamicomput201708
kagamicomput201708
 
kagamicomput201703
kagamicomput201703kagamicomput201703
kagamicomput201703
 
kagamicomput201702
kagamicomput201702kagamicomput201702
kagamicomput201702
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 

Recently uploaded (14)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 

kagami_comput2016_05

  • 1. 東北大学 工学部 機械知能・航空工学科 2016年度 5セメスター・クラスC3 D1 D2 D3 計算機工学 大学院情報科学研究科 鏡 慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 5. 命令セットアーキテクチャ (教科書6.1節, 6.2節)
  • 2. 2鏡 慎吾 (東北大学): 計算機工学 2016 (5) PC 計算機の基本構成 メモリ 演算器 (ALU) 命令 命令 命令 … プログラム領域 データ領域 データ データ データ … レジスタload store プロセッサ
  • 3. 3鏡 慎吾 (東北大学): 計算機工学 2016 (5) 計算機の基本動作 • プロセッサは,メモリのプログラム領域から命令をアドレ ス順に読み出して実行する • 演算は ALU (Arithmetic Logic Unit) が行う • 必要に応じて,メモリとプロセッサ内のレジスタとの間で データを移動する • 演算を行うには,少なくとも瞬時にはプロセッサ内でデータを記 憶しておく必要がある • 最近のほとんどのプロセッサは,メモリ内のデータではなくレジス タ内のデータを演算の対象とする (∵ メモリはプロセッサに対し て遅いため) • load: メモリ → レジスタ • store: メモリ ← レジスタ • PC (Program Counter) と呼ばれる特殊レジスタに,次 に実行する命令のアドレスが保存されている • PCの内容は命令実行ごとに更新される
  • 4. 4鏡 慎吾 (東北大学): 計算機工学 2016 (5) 命令セットアーキテクチャ • プロセッサが実行できる命令の集合を命令セット (instruction set) と呼ぶ.実際には,プログラムから使用できるレジスタの 種類,メモリアドレスの指定方法なども含めて命令セットと呼ぶ のが通常である • ソフトウェアから見たときに,そのプロセッサがどんなものであ るかは,命令セットによって決まる.この観点から見たアーキテ クチャを命令セットアーキテクチャ (Instruction Set Architecture: ISA) と呼ぶ • それに対し,ある命令セットアーキテクチャをどのような回路で どのような動作タイミングで実現するかという観点から見たアー キテクチャをマイクロアーキテクチャと呼ぶ • 同じ ISA に対して多数のマイクロアーキテクチャがあり得る
  • 5. 5鏡 慎吾 (東北大学): 計算機工学 2016 (5) 命令セットアーキテクチャの例 • x86 (IA-32, i386) いわゆる PC 用のCPUで採用.PC以外にも広く利用される. • PowerPC 以前の Macintosh.PlayStation 3,Xbox 360,Nintendo Wii • SPARC Sun Microsystems のワークステーション,各種組み込み機器 • MIPS Silicon Graphics,Sony, NEC のワークステーション, 初代 PlayStation,Nintendo 64,PSP, 各種組込み機器,携帯機器など • ARM 携帯機器・携帯電話の多く,ゲームボーイアドバンス,Nintendo DS, DSi • SuperH (SH) 各種組み込み機器,携帯機器,セガサターン,ドリームキャスト 注: 厳密な命令セットアーキテクチャ名としては,さらに細かく分類される (例えば MIPS I, MIPS II, MIPS32, MIPS64…)
  • 6. 6鏡 慎吾 (東北大学): 計算機工学 2016 (5) 歴史的な経緯 • 当初は,計算機の設計と具体的な製品は 1 対 1 対応 • IBM System/360 (1964) で,統一的なアーキテクチャによ る「計算機ファミリ」の概念が現れる • 初の商用マイクロプロセッサ Intel 4004 (1971) 以降,計算 機本体とは独立の「部品」としてプロセッサを扱えるようにな る(計算機メーカとプロセッサメーカの分離) • 1980年代頃,RISCへの転回 • RISC (Reduced Instruction Set Computer): 命令セットを簡素化し,回路を単純化することで高速化 • CISC (Complex Instruction Set Computer): RISC に対して従来のアーキテクチャをこう呼んだ
  • 7. 7鏡 慎吾 (東北大学): 計算機工学 2016 (5) IBM System/360 「コンピュータアーキテクチャ」という概念をおそらく最初に明確に導入し た商用計算機.オペレーティングシステム(OS)を最初に導入した商用 計算機でもある http://upload.wikimedia.org/wikipedia/commons/8/8d/Bundesarchiv_B_145_Bild-F038812- 0014%2C_Wolfsburg%2C_VW_Autowerk.jpg
  • 8. 8鏡 慎吾 (東北大学): 計算機工学 2016 (5) intel 4004 (American History Museum) Busicom 141-PF (Intel Museum, Santa Clara)
  • 9. 9鏡 慎吾 (東北大学): 計算機工学 2016 (5) intel 4004 http://news.com.com/1971+Intel+4004+processor/2009-1006_3-6038974-3.html
  • 10. 10鏡 慎吾 (東北大学): 計算機工学 2016 (5) マイクロプロセッサの系譜 (CISC) 1971 1972 1974 1976 1978 1979 1980 1986 1993 2006 4004 8008 8080 Z80 6800 6502 8086 68000 6809 80286 80386 Pentium 68020 Intel ZiLOG Motorola MOS Core IBM PC/AT Macintosh Sun 1 Apple II ファミリーコ ンピュータ PC-8801 MSX FM-7, FM-77 4-bit 8-bit 16-bit 32-bit 68060 Pentium Pro (PowerPCへ移行) (RISCの影響)
  • 11. 11鏡 慎吾 (東北大学): 計算機工学 2016 (5) マイクロプロセッサの系譜 (RISC) 1982 1983 1984 1985 1986 1988 1991 1994 1995 2010 MIPS R2000 RISC I SPARC ARM1 PowerPC 601 カリフォルニア大バークレイ校 スタンフォード大 / MIPS Sun Microsystems Acorn Apple / IBM / Motorola RISC II R3000 R4000 R8000 UltraSPARC SuperSPARC ARM2 ARM6 ARM7 PowerPC 604 IBM POWER MIPS32 1074K UltraSPARC T3 Cortex-A15 PowerPC A2 日立 SH-1 SH-2 SH-3 SH-4SH-4 … … … … …
  • 12. 12鏡 慎吾 (東北大学): 計算機工学 2016 (5) ゲーム機用プロセッサ 任天堂 ファミリーコンピュータ (1983), NEC PCエンジン (1987): 6502 セガ マークIII (1985): Z80 セガ メガドライブ (1988): 68000 + Z80 任天堂 スーパーファミコン (1990): 65C816 (6502の後継) セガサターン (1994): SH-2 ソニー PlayStation (1994): MIPS R3000 任天堂 NINTENDO64 (1996): MIPS R4300 セガ ドリームキャスト (1998): SH-4 ソニー PlayStation2 (2000): EmotionEngine (MIPS R5900ベース) 任天堂 ゲームキューブ (2001): PowerPC 750 マイクロソフト Xbox (2001): Mobile Celeron (Pentium IIIベース) マイクロソフト Xbox 360 (2005): Xenon (PowerPCベース) ソニー PlayStation3 (2006): Cell (PowerPCベース) 任天堂 Wii (2006): Broadway (PowerPCベース) 任天堂 Wii U (2010): Espresso (Powerベース) ソニー PlayStation4 (2013): AMD Jaguar (x86ベース)
  • 13. 13鏡 慎吾 (東北大学): 計算機工学 2016 (5) 携帯電話・タブレット端末用プロセッサ • Qualcomm SnapDragon (ARM) • Texas Instruments OMAP (ARM) • Samsung Exynos (ARM) • NVIDIA Tegra (ARM) • Apple A7, A8, ... (ARM) • Intel Atom (x86) • ルネサス SH-Mobile (SuperH)
  • 14. 14鏡 慎吾 (東北大学): 計算機工学 2016 (5) MIPSアーキテクチャ • この講義では,MIPS I アーキテクチャを取り上げて計算 機の動作を学ぶ • 現代的なアーキテクチャの基本形ともいえる構成 • 組み込み機器を中心に,世界中で使われている • 世界中の大学の講義で取り上げられている • 特徴 • 32本 × 32ビット汎用レジスタ • 32ビットALU • 32ビットのメモリアドレス空間 • PCは汎用レジスタとは別に存在 (勝手にロード・スト アできない)
  • 15. 15鏡 慎吾 (東北大学): 計算機工学 2016 (5) MIPSの構造 メモリ 32ビットALU 32x32ビット レジスタ PC 命令デコーダ アドレス(32ビット) データ(8, 16, 32ビット) 次PC計算 制御回路 mux mux mux は選択回路 演算選択 レ ジ ス タ 選 択
  • 16. 16鏡 慎吾 (東北大学): 計算機工学 2016 (5) (参考) MIPSシミュレータ SPIM 参考書 (パターソン・ヘネシー) でも紹介されているシミュレータ SPIM を使うと,MIPSの動作を確認することができる. http://spimsimulator.sourceforge.net/ • UNIX, MacOS, Windows で動作 最低限の動かし方: • File →Reinitialize and Load File でアセンブリ言語ファイル を開く • Simulator → Run/Continue (F5) で実行 • あるいは Simulator → Single Step (F10) で1行ずつ実行 講義に対応したサンプルプログラム: • http://www.ic.is.tohoku.ac.jp/~swk/lecture/
  • 17. 17鏡 慎吾 (東北大学): 計算機工学 2016 (5) レジスタの表示 プログラムの表示 「syscall」 まではシステムが 用意した初期化コード メモリ値の表示
  • 18. 18鏡 慎吾 (東北大学): 計算機工学 2016 (5) SPIMに読み込ませるアセンブリ言語ファイルの例 .text .globl main main: addu $sp, $sp, -0x300 or $t0, $zero, 1 sw $t0, 0($sp) ### addu $t0, $sp, 4 lw $t1, 0($sp) sll $t1, $t1, 2 addu $t0, $t0, $t1 or $t2, $zero, 300 sw $t2, 0($t0) ### addu $sp, $sp, 0x300 jr $ra おまじない.自分のプログラムは main ラベルから始める. レジスタやメモリ等の初期化. わからなくても気にしない. 講義中の説明で理解して欲しい部分. main の終了.