SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
東北大学 工学部 機械知能・航空工学科
2015年度 5セメスター・クラスD
計算機工学
大学院情報科学研究科
鏡 慎吾
http://www.ic.is.tohoku.ac.jp/~swk/lecture/
10. 組合せ回路
(教科書3.4~3.5節)
2鏡 慎吾 (東北大学): 計算機工学 2015 (10)
組合せ論理回路
x1
x2
xn
y1
y2
ym
yi = fi(x1, x2, …, xn), i = 1, 2, …, m
• ある時点での出力が,その時点の入力のみで決まる
(記憶を持たない)回路
• フィードバックが存在しない(入力→出力の方向にだけゲート
が接続されている)
• 原理的には,n 入力の論理関数が m 個並んでいるも
のだと考えればよい
組合せ論理回路
3鏡 慎吾 (東北大学): 計算機工学 2015 (10)
復習: MIPSの構造
メモリ
32ビットALU
32x32ビット
レジスタ
PC
命令デコーダ
アドレス(32ビット)
データ(8, 16, 32ビット)
次PC計算
制御回路
mux
mux
演算選択
レ
ジ
ス
タ
選
択
色つきの部分が組合せ回路
4鏡 慎吾 (東北大学): 計算機工学 2015 (10)
組合せ論理回路の構成方法
• 原理上は,必ず積和形回路で表すことができる,しかし
• nが大きい場合,簡単化の計算に膨大なコストがかかる
• それが最適とは限らない
• 算術論理演算のように入出力関係の規則性が高い場合は,そ
の規則性に注目して回路を組み立てる方がよい
•複数の回路を接続するための部品
•2進デコーダ,マルチプレクサ
•演算回路
•算術演算,論理演算
•複数回路の接続例
•ALU
5鏡 慎吾 (東北大学): 計算機工学 2015 (10)
(2進)デコーダ
• en = 0 のときは全出力が0
• en = 1 のときは,入力を2進数 k と見なして,出力 yk を1,他を0
とする
例: x1 = 1, x0 = 0 のとき,入力は2進数で「2」を表すので,y2 のみが1 となる
y3 y2 y1 y0
x0x1 en
2進デコーダ
• エンコード: 一般に,注目している量に適当な数値(符号)を与えること
• デコード: エンコードの逆
• この例では,「何番目の信号線か?」を2進数として符号化している
• en は enable の略で,活性化信号などと呼ばれる
6鏡 慎吾 (東北大学): 計算機工学 2015 (10)
デコーダの真理値表と回路図
…
x0 x1 x2 xn-1
y0
y1
y2
y2
n
-1
各 yi について真理値表を
書くと,1行だけ出力が1に
なるような表となる
x2 x1 x0
y7y6…y1y0
0 0 0 0000 0001
0 0 1 0000 0010
0 1 0 0000 0100
0 1 1 0000 1000
1 0 0 0001 0000
1 0 1 0010 0000
1 1 0 0100 0000
1 1 1 1000 0000
en
7鏡 慎吾 (東北大学): 計算機工学 2015 (10)
マルチプレクサ (セレクタ)
M
U
X
2
a0
a1
選択信号 s
a0 a1 s mux2
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1
s = i なら ai を選ぶ
2入力
M
U
X
2
a0
a1
M
U
X
2
a2
a3
M
U
X
2
s0 s1
4入力
M
U
X
4
8鏡 慎吾 (東北大学): 計算機工学 2015 (10)
マルチプレクサのバリエーション
0
1
0
1
2
3
M
U
X
2
a0
a1
8
8
8
どの制御信号によってどの入力が選択されるかを明示したい場合
多ビットをまとめて選択したい場合
• 短い斜線と数字は,複数ビットをまとめたこ
とを表示している
(自明な場合,興味のない場合は適宜省略)
• 記号の形状は,台形だったり楕円だったりと
いろいろな流儀がある
9鏡 慎吾 (東北大学): 計算機工学 2015 (10)
復習: MIPSの構造
メモリ
32ビットALU
32x32ビット
レジスタ
PC
命令デコーダ
アドレス(32ビット)
データ(8, 16, 32ビット)
次PC計算
制御回路
mux
mux
演算選択
レ
ジ
ス
タ
選
択
10鏡 慎吾 (東北大学): 計算機工学 2015 (10)
32×32ビットレジスタ (1入力2出力)
en
en
en
32-bit レジスタ × 32個
(ここは組合せ回路ではない → 次回のテーマ)
en
mux
書き込みデータ
読み出し
レジスタ
番号(1)
読み出し
レジスタ
番号(2)
読み出し
データ(1)
読み出し
データ(2)
書き込み
イネーブル
mux
…
2進デコーダ
書き込みレジスタ番号
32
5
5 5
en
11鏡 慎吾 (東北大学): 計算機工学 2015 (10)
半加算器 (half adder)
HA
a
b
s (sum)
c (carry)
a b s c
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
1
1
+) 1
0
a
b
c
s
a
b
c
s
12鏡 慎吾 (東北大学): 計算機工学 2015 (10)
全加算器 (full adder)
FA
a
b
s
coutcin
11
0
+) 1
0
a
b
cout
s
cin
前の位からの繰り上がりを考慮する.半加算器が2つ必要
HA
a
b
s
c
a
b
cin
HA
a
b
s
c
s
cout
13鏡 慎吾 (東北大学): 計算機工学 2015 (10)
n-ビット加算器
FA
s
cout
FA
s
cout
FA
s
cout
FA
s
cout
0
a0
b0
a1
b1
a2
b2
an-1
bn-1
c0
c1
c2
cn-1
cn-2
s0
s1
s2
リプルキャリー型加算器と呼ばれる
• nに比例して遅延が蓄積するため,
決して速い回路ではない
• より高速な(しかし回路規模の大き
い)加算回路も広く用いられている
(e.g. キャリー先読み型加算器)
sn-1
…
14鏡 慎吾 (東北大学): 計算機工学 2015 (10)
n-ビット減算器
0
a0
b0
a1
b1
a2
b2
an-1
bn-1
cn-1
s0
s1
s2
sn-1
n-bit
adder
…
1
a0
b0
a1
b1
a2
b2
an-1
bn-1
cn-1
s0
s1
s2
sn-1
n-bit
adder
…
入力を変えるだけで
減算器になる
a – b
= a + (– b)
15鏡 慎吾 (東北大学): 計算機工学 2015 (10)
バレルシフタ(ローテータ)
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
a7 a6 a5 a4 a3 a2 a1 a0
y7 y6 y5 y4 y3 y2 y1 y0
b0
b1
b2
1ビット右循環シフト
2ビット右循環シフト
4ビット右循環シフト
N ビット値 a を b ビット右循環シフトしたものを y として出力する組合せ回路
• b ビット左循環シフトは,N – b ビット右循環シフトと等価
• b ビット左シフトは,左循環シフト出力のLSB側 b ビットを 0 にする
• b ビット右シフトは,右循環シフト出力のMSB側 b ビットを 0 にする
16鏡 慎吾 (東北大学): 計算機工学 2015 (10)
ビットごと論理演算器
a0
b0
a1
b1
a2
b2
an-1
bn-1
y0
y1
y2
yn-1
…
a0
b0
a1
b1
a2
b2
an-1
bn-1
y0
y1
y2
yn-1
…
a0
b0
a1
b1
a2
b2
an-1
bn-1
y0
y1
y2
yn-1
…
y = a & b y = a | b y = a ^ b y = ~(a | b)
a0
b0
a1
b1
a2
b2
an-1
bn-1
y0
y1
y2
yn-1
…
17鏡 慎吾 (東北大学): 計算機工学 2015 (10)
ALU
32-bit and
32-bit or
32-bit nor
32-bit add
32-bit sub
a b
mux
y
…
32 32
32
32
32
32
32
32
y
32
32
32
op
op
a
b
32-bit shift 32
18鏡 慎吾 (東北大学): 計算機工学 2015 (10)
参考
• 命令デコーダは,32ビットの命令を入力として,命令の解釈結
果を出力する組合せ回路である.出力信号は例えば:
• 命令種別(レジスタ演算,即値演算,ロード,ストア,分岐)
• レジスタ番号 rs
• レジスタ番号 rt
• レジスタ番号 rd
• 即値・オフセット
• オペコード
• ...
• 「次PC計算」部は,現在のPC値と2つのレジスタ値を入力とし
て,次のPCの値を出力する組合せ回路である.内部では
• 分岐条件の判定と
• 次のPCの計算を行う
• 構成例: 教科書付録E章
19鏡 慎吾 (東北大学): 計算機工学 2015 (10)
練習問題
1. 2入力マルチプレクサ m(a0, a1, s) を主加法標準形の論理式
で表せ.
2. m(a0, a1, s) のカルノー図をかき,できるだけ簡単な積和型
の論理式で表せ.またその論理回路図を示せ.
3. 全加算器の両出力 s(a, b, cin), cout(a, b, cin) のカルノー図を
かき,それぞれをできるだけ簡単な積和型の論理式で表せ.
20鏡 慎吾 (東北大学): 計算機工学 2015 (10)
解答例
s
a0
a1
m a0 a1
00 01 11 10
s 0 1 1
1 1 1
s a b
00 01 11 10
cin 0 1 1
1 1 1
cout a b
00 01 11 10
cin 0 1
1 1 1 1
(3入力 XOR)
(3入力多数決関数)
1.
2.
3.

Contenu connexe

Tendances

kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711swkagami
 
kagami_comput2015_11
kagami_comput2015_11kagami_comput2015_11
kagami_comput2015_11swkagami
 
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712swkagami
 
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710swkagami
 
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709swkagami
 
kagami_comput2016_02
kagami_comput2016_02kagami_comput2016_02
kagami_comput2016_02swkagami
 
kagami_comput2015_8
kagami_comput2015_8kagami_comput2015_8
kagami_comput2015_8swkagami
 
kagami_comput2016_01
kagami_comput2016_01kagami_comput2016_01
kagami_comput2016_01swkagami
 
kagami_comput2016_06
kagami_comput2016_06kagami_comput2016_06
kagami_comput2016_06swkagami
 
kagami_comput2015_6
kagami_comput2015_6kagami_comput2015_6
kagami_comput2015_6swkagami
 
kagamicomput201704
kagamicomput201704kagamicomput201704
kagamicomput201704swkagami
 
kagamicomput201708
kagamicomput201708kagamicomput201708
kagamicomput201708swkagami
 
kagamicomput201706
kagamicomput201706kagamicomput201706
kagamicomput201706swkagami
 
kagami_comput2015_9
kagami_comput2015_9kagami_comput2015_9
kagami_comput2015_9swkagami
 
kagami_comput2016_04
kagami_comput2016_04kagami_comput2016_04
kagami_comput2016_04swkagami
 
kagami_comput2016_05
kagami_comput2016_05kagami_comput2016_05
kagami_comput2016_05swkagami
 
kagami_comput2015_1
kagami_comput2015_1kagami_comput2015_1
kagami_comput2015_1swkagami
 
kagami_comput2016_03
kagami_comput2016_03kagami_comput2016_03
kagami_comput2016_03swkagami
 

Tendances (20)

kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711
 
kagami_comput2015_11
kagami_comput2015_11kagami_comput2015_11
kagami_comput2015_11
 
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712
 
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710
 
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709
 
kagami_comput2016_02
kagami_comput2016_02kagami_comput2016_02
kagami_comput2016_02
 
kagami_comput2015_8
kagami_comput2015_8kagami_comput2015_8
kagami_comput2015_8
 
kagami_comput2016_01
kagami_comput2016_01kagami_comput2016_01
kagami_comput2016_01
 
kagami_comput2016_06
kagami_comput2016_06kagami_comput2016_06
kagami_comput2016_06
 
kagami_comput2015_6
kagami_comput2015_6kagami_comput2015_6
kagami_comput2015_6
 
kagamicomput201704
kagamicomput201704kagamicomput201704
kagamicomput201704
 
kagamicomput201708
kagamicomput201708kagamicomput201708
kagamicomput201708
 
kagamicomput201706
kagamicomput201706kagamicomput201706
kagamicomput201706
 
kagami_comput2015_9
kagami_comput2015_9kagami_comput2015_9
kagami_comput2015_9
 
AES-NI@Sandy Bridge
AES-NI@Sandy BridgeAES-NI@Sandy Bridge
AES-NI@Sandy Bridge
 
kagami_comput2016_04
kagami_comput2016_04kagami_comput2016_04
kagami_comput2016_04
 
T69 episteme
T69 epistemeT69 episteme
T69 episteme
 
kagami_comput2016_05
kagami_comput2016_05kagami_comput2016_05
kagami_comput2016_05
 
kagami_comput2015_1
kagami_comput2015_1kagami_comput2015_1
kagami_comput2015_1
 
kagami_comput2016_03
kagami_comput2016_03kagami_comput2016_03
kagami_comput2016_03
 

En vedette

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_comput2016_13
kagami_comput2016_13kagami_comput2016_13
kagami_comput2016_13swkagami
 
Verilog-HDL Tutorial (5)
Verilog-HDL Tutorial (5)Verilog-HDL Tutorial (5)
Verilog-HDL Tutorial (5)Hiroki Nakahara
 
HTML5クイズ!
HTML5クイズ!HTML5クイズ!
HTML5クイズ!yoshikawa_t
 
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4Shingo Inoue
 
kagami_comput2015_4
kagami_comput2015_4kagami_comput2015_4
kagami_comput2015_4swkagami
 
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめJavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめYossy Taka
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013Ryo Sakamoto
 
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
 
Spanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_psSpanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_psNatura
 
kagami_comput2015_7
kagami_comput2015_7kagami_comput2015_7
kagami_comput2015_7swkagami
 

En vedette (15)

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_comput2016_13
kagami_comput2016_13kagami_comput2016_13
kagami_comput2016_13
 
Verilog-HDL Tutorial (5)
Verilog-HDL Tutorial (5)Verilog-HDL Tutorial (5)
Verilog-HDL Tutorial (5)
 
HTML5クイズ!
HTML5クイズ!HTML5クイズ!
HTML5クイズ!
 
そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4そしてjsの基礎へ戻る#4
そしてjsの基礎へ戻る#4
 
kagami_comput2015_4
kagami_comput2015_4kagami_comput2015_4
kagami_comput2015_4
 
JavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめJavaScript 基礎文法のまとめ
JavaScript 基礎文法のまとめ
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
 
CMSI計算科学技術特論A(3) OpenMPの基礎
CMSI計算科学技術特論A(3) OpenMPの基礎CMSI計算科学技術特論A(3) OpenMPの基礎
CMSI計算科学技術特論A(3) OpenMPの基礎
 
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...
 
Spanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_psSpanish_AdSenseOnlineOverview_121103_ps
Spanish_AdSenseOnlineOverview_121103_ps
 
La vida
La vidaLa vida
La vida
 
kagami_comput2015_7
kagami_comput2015_7kagami_comput2015_7
kagami_comput2015_7
 

Similaire à kagami_comput2015_10

kagamicomput201811
kagamicomput201811kagamicomput201811
kagamicomput201811swkagami
 
[Basic 2] 計算機の構成 / プログラム実行の仕組み
[Basic 2] 計算機の構成 / プログラム実行の仕組み[Basic 2] 計算機の構成 / プログラム実行の仕組み
[Basic 2] 計算機の構成 / プログラム実行の仕組みYuto Takei
 
第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文Junya Arai
 
Get To The Point: Summarization with Pointer-Generator Networks_acl17_論文紹介
Get To The Point: Summarization with Pointer-Generator Networks_acl17_論文紹介Get To The Point: Summarization with Pointer-Generator Networks_acl17_論文紹介
Get To The Point: Summarization with Pointer-Generator Networks_acl17_論文紹介Masayoshi Kondo
 
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -MPRG_Chubu_University
 
kagami_comput2015_2
kagami_comput2015_2kagami_comput2015_2
kagami_comput2015_2swkagami
 
非分離冗長重複変換の事例学習設計における効果的辞書更新
非分離冗長重複変換の事例学習設計における効果的辞書更新非分離冗長重複変換の事例学習設計における効果的辞書更新
非分離冗長重複変換の事例学習設計における効果的辞書更新Shogo Muramatsu
 
改ざん検知暗号Minalpherの設計とIvy Bridge/Haswellでの最適化
改ざん検知暗号Minalpherの設計とIvy Bridge/Haswellでの最適化改ざん検知暗号Minalpherの設計とIvy Bridge/Haswellでの最適化
改ざん検知暗号Minalpherの設計とIvy Bridge/Haswellでの最適化MITSUNARI Shigeo
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Seiya Tokui
 
Hough forestを用いた物体検出
Hough forestを用いた物体検出Hough forestを用いた物体検出
Hough forestを用いた物体検出MPRG_Chubu_University
 
第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
電気通信大学 VBセミナー 回路シミュレータの活用方法
電気通信大学 VBセミナー 回路シミュレータの活用方法電気通信大学 VBセミナー 回路シミュレータの活用方法
電気通信大学 VBセミナー 回路シミュレータの活用方法Tsuyoshi Horigome
 

Similaire à kagami_comput2015_10 (16)

kagamicomput201811
kagamicomput201811kagamicomput201811
kagamicomput201811
 
[Basic 2] 計算機の構成 / プログラム実行の仕組み
[Basic 2] 計算機の構成 / プログラム実行の仕組み[Basic 2] 計算機の構成 / プログラム実行の仕組み
[Basic 2] 計算機の構成 / プログラム実行の仕組み
 
第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文
 
Get To The Point: Summarization with Pointer-Generator Networks_acl17_論文紹介
Get To The Point: Summarization with Pointer-Generator Networks_acl17_論文紹介Get To The Point: Summarization with Pointer-Generator Networks_acl17_論文紹介
Get To The Point: Summarization with Pointer-Generator Networks_acl17_論文紹介
 
機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について
機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について
機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について
 
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
 
kagami_comput2015_2
kagami_comput2015_2kagami_comput2015_2
kagami_comput2015_2
 
非分離冗長重複変換の事例学習設計における効果的辞書更新
非分離冗長重複変換の事例学習設計における効果的辞書更新非分離冗長重複変換の事例学習設計における効果的辞書更新
非分離冗長重複変換の事例学習設計における効果的辞書更新
 
改ざん検知暗号Minalpherの設計とIvy Bridge/Haswellでの最適化
改ざん検知暗号Minalpherの設計とIvy Bridge/Haswellでの最適化改ざん検知暗号Minalpherの設計とIvy Bridge/Haswellでの最適化
改ざん検知暗号Minalpherの設計とIvy Bridge/Haswellでの最適化
 
Slide dist
Slide distSlide dist
Slide dist
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
 
Hough forestを用いた物体検出
Hough forestを用いた物体検出Hough forestを用いた物体検出
Hough forestを用いた物体検出
 
第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)
 
CMSI計算科学技術特論A(14) 量子化学計算の大規模化1
CMSI計算科学技術特論A(14) 量子化学計算の大規模化1CMSI計算科学技術特論A(14) 量子化学計算の大規模化1
CMSI計算科学技術特論A(14) 量子化学計算の大規模化1
 
電気通信大学 VBセミナー 回路シミュレータの活用方法
電気通信大学 VBセミナー 回路シミュレータの活用方法電気通信大学 VBセミナー 回路シミュレータの活用方法
電気通信大学 VBセミナー 回路シミュレータの活用方法
 
電通大セミナー 回路シミュレータの活用方法
電通大セミナー 回路シミュレータの活用方法電通大セミナー 回路シミュレータの活用方法
電通大セミナー 回路シミュレータの活用方法
 

Plus de swkagami

kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814swkagami
 
kagamicomput201813
kagamicomput201813kagamicomput201813
kagamicomput201813swkagami
 
kagamicomput201812
kagamicomput201812kagamicomput201812
kagamicomput201812swkagami
 
kagamicomput201809
kagamicomput201809kagamicomput201809
kagamicomput201809swkagami
 
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808swkagami
 
kagamicomput201807
kagamicomput201807kagamicomput201807
kagamicomput201807swkagami
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806swkagami
 
kagamicomput201805
kagamicomput201805kagamicomput201805
kagamicomput201805swkagami
 
kagamicomput201804
kagamicomput201804kagamicomput201804
kagamicomput201804swkagami
 
kagamicomput201803
kagamicomput201803kagamicomput201803
kagamicomput201803swkagami
 
kagamicomput201802
kagamicomput201802kagamicomput201802
kagamicomput201802swkagami
 
kagamicomput201801
kagamicomput201801kagamicomput201801
kagamicomput201801swkagami
 
kagamicomput201714
kagamicomput201714kagamicomput201714
kagamicomput201714swkagami
 
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713swkagami
 
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707swkagami
 
kagamicomput201705
kagamicomput201705kagamicomput201705
kagamicomput201705swkagami
 
kagamicomput201703
kagamicomput201703kagamicomput201703
kagamicomput201703swkagami
 
kagamicomput201702
kagamicomput201702kagamicomput201702
kagamicomput201702swkagami
 
kagamicomput201701
kagamicomput201701kagamicomput201701
kagamicomput201701swkagami
 

Plus de swkagami (19)

kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814
 
kagamicomput201813
kagamicomput201813kagamicomput201813
kagamicomput201813
 
kagamicomput201812
kagamicomput201812kagamicomput201812
kagamicomput201812
 
kagamicomput201809
kagamicomput201809kagamicomput201809
kagamicomput201809
 
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808
 
kagamicomput201807
kagamicomput201807kagamicomput201807
kagamicomput201807
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806
 
kagamicomput201805
kagamicomput201805kagamicomput201805
kagamicomput201805
 
kagamicomput201804
kagamicomput201804kagamicomput201804
kagamicomput201804
 
kagamicomput201803
kagamicomput201803kagamicomput201803
kagamicomput201803
 
kagamicomput201802
kagamicomput201802kagamicomput201802
kagamicomput201802
 
kagamicomput201801
kagamicomput201801kagamicomput201801
kagamicomput201801
 
kagamicomput201714
kagamicomput201714kagamicomput201714
kagamicomput201714
 
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713
 
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707
 
kagamicomput201705
kagamicomput201705kagamicomput201705
kagamicomput201705
 
kagamicomput201703
kagamicomput201703kagamicomput201703
kagamicomput201703
 
kagamicomput201702
kagamicomput201702kagamicomput201702
kagamicomput201702
 
kagamicomput201701
kagamicomput201701kagamicomput201701
kagamicomput201701
 

kagami_comput2015_10

  • 1. 東北大学 工学部 機械知能・航空工学科 2015年度 5セメスター・クラスD 計算機工学 大学院情報科学研究科 鏡 慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 10. 組合せ回路 (教科書3.4~3.5節)
  • 2. 2鏡 慎吾 (東北大学): 計算機工学 2015 (10) 組合せ論理回路 x1 x2 xn y1 y2 ym yi = fi(x1, x2, …, xn), i = 1, 2, …, m • ある時点での出力が,その時点の入力のみで決まる (記憶を持たない)回路 • フィードバックが存在しない(入力→出力の方向にだけゲート が接続されている) • 原理的には,n 入力の論理関数が m 個並んでいるも のだと考えればよい 組合せ論理回路
  • 3. 3鏡 慎吾 (東北大学): 計算機工学 2015 (10) 復習: MIPSの構造 メモリ 32ビットALU 32x32ビット レジスタ PC 命令デコーダ アドレス(32ビット) データ(8, 16, 32ビット) 次PC計算 制御回路 mux mux 演算選択 レ ジ ス タ 選 択 色つきの部分が組合せ回路
  • 4. 4鏡 慎吾 (東北大学): 計算機工学 2015 (10) 組合せ論理回路の構成方法 • 原理上は,必ず積和形回路で表すことができる,しかし • nが大きい場合,簡単化の計算に膨大なコストがかかる • それが最適とは限らない • 算術論理演算のように入出力関係の規則性が高い場合は,そ の規則性に注目して回路を組み立てる方がよい •複数の回路を接続するための部品 •2進デコーダ,マルチプレクサ •演算回路 •算術演算,論理演算 •複数回路の接続例 •ALU
  • 5. 5鏡 慎吾 (東北大学): 計算機工学 2015 (10) (2進)デコーダ • en = 0 のときは全出力が0 • en = 1 のときは,入力を2進数 k と見なして,出力 yk を1,他を0 とする 例: x1 = 1, x0 = 0 のとき,入力は2進数で「2」を表すので,y2 のみが1 となる y3 y2 y1 y0 x0x1 en 2進デコーダ • エンコード: 一般に,注目している量に適当な数値(符号)を与えること • デコード: エンコードの逆 • この例では,「何番目の信号線か?」を2進数として符号化している • en は enable の略で,活性化信号などと呼ばれる
  • 6. 6鏡 慎吾 (東北大学): 計算機工学 2015 (10) デコーダの真理値表と回路図 … x0 x1 x2 xn-1 y0 y1 y2 y2 n -1 各 yi について真理値表を 書くと,1行だけ出力が1に なるような表となる x2 x1 x0 y7y6…y1y0 0 0 0 0000 0001 0 0 1 0000 0010 0 1 0 0000 0100 0 1 1 0000 1000 1 0 0 0001 0000 1 0 1 0010 0000 1 1 0 0100 0000 1 1 1 1000 0000 en
  • 7. 7鏡 慎吾 (東北大学): 計算機工学 2015 (10) マルチプレクサ (セレクタ) M U X 2 a0 a1 選択信号 s a0 a1 s mux2 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 s = i なら ai を選ぶ 2入力 M U X 2 a0 a1 M U X 2 a2 a3 M U X 2 s0 s1 4入力 M U X 4
  • 8. 8鏡 慎吾 (東北大学): 計算機工学 2015 (10) マルチプレクサのバリエーション 0 1 0 1 2 3 M U X 2 a0 a1 8 8 8 どの制御信号によってどの入力が選択されるかを明示したい場合 多ビットをまとめて選択したい場合 • 短い斜線と数字は,複数ビットをまとめたこ とを表示している (自明な場合,興味のない場合は適宜省略) • 記号の形状は,台形だったり楕円だったりと いろいろな流儀がある
  • 9. 9鏡 慎吾 (東北大学): 計算機工学 2015 (10) 復習: MIPSの構造 メモリ 32ビットALU 32x32ビット レジスタ PC 命令デコーダ アドレス(32ビット) データ(8, 16, 32ビット) 次PC計算 制御回路 mux mux 演算選択 レ ジ ス タ 選 択
  • 10. 10鏡 慎吾 (東北大学): 計算機工学 2015 (10) 32×32ビットレジスタ (1入力2出力) en en en 32-bit レジスタ × 32個 (ここは組合せ回路ではない → 次回のテーマ) en mux 書き込みデータ 読み出し レジスタ 番号(1) 読み出し レジスタ 番号(2) 読み出し データ(1) 読み出し データ(2) 書き込み イネーブル mux … 2進デコーダ 書き込みレジスタ番号 32 5 5 5 en
  • 11. 11鏡 慎吾 (東北大学): 計算機工学 2015 (10) 半加算器 (half adder) HA a b s (sum) c (carry) a b s c 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 +) 1 0 a b c s a b c s
  • 12. 12鏡 慎吾 (東北大学): 計算機工学 2015 (10) 全加算器 (full adder) FA a b s coutcin 11 0 +) 1 0 a b cout s cin 前の位からの繰り上がりを考慮する.半加算器が2つ必要 HA a b s c a b cin HA a b s c s cout
  • 13. 13鏡 慎吾 (東北大学): 計算機工学 2015 (10) n-ビット加算器 FA s cout FA s cout FA s cout FA s cout 0 a0 b0 a1 b1 a2 b2 an-1 bn-1 c0 c1 c2 cn-1 cn-2 s0 s1 s2 リプルキャリー型加算器と呼ばれる • nに比例して遅延が蓄積するため, 決して速い回路ではない • より高速な(しかし回路規模の大き い)加算回路も広く用いられている (e.g. キャリー先読み型加算器) sn-1 …
  • 14. 14鏡 慎吾 (東北大学): 計算機工学 2015 (10) n-ビット減算器 0 a0 b0 a1 b1 a2 b2 an-1 bn-1 cn-1 s0 s1 s2 sn-1 n-bit adder … 1 a0 b0 a1 b1 a2 b2 an-1 bn-1 cn-1 s0 s1 s2 sn-1 n-bit adder … 入力を変えるだけで 減算器になる a – b = a + (– b)
  • 15. 15鏡 慎吾 (東北大学): 計算機工学 2015 (10) バレルシフタ(ローテータ) 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 a7 a6 a5 a4 a3 a2 a1 a0 y7 y6 y5 y4 y3 y2 y1 y0 b0 b1 b2 1ビット右循環シフト 2ビット右循環シフト 4ビット右循環シフト N ビット値 a を b ビット右循環シフトしたものを y として出力する組合せ回路 • b ビット左循環シフトは,N – b ビット右循環シフトと等価 • b ビット左シフトは,左循環シフト出力のLSB側 b ビットを 0 にする • b ビット右シフトは,右循環シフト出力のMSB側 b ビットを 0 にする
  • 16. 16鏡 慎吾 (東北大学): 計算機工学 2015 (10) ビットごと論理演算器 a0 b0 a1 b1 a2 b2 an-1 bn-1 y0 y1 y2 yn-1 … a0 b0 a1 b1 a2 b2 an-1 bn-1 y0 y1 y2 yn-1 … a0 b0 a1 b1 a2 b2 an-1 bn-1 y0 y1 y2 yn-1 … y = a & b y = a | b y = a ^ b y = ~(a | b) a0 b0 a1 b1 a2 b2 an-1 bn-1 y0 y1 y2 yn-1 …
  • 17. 17鏡 慎吾 (東北大学): 計算機工学 2015 (10) ALU 32-bit and 32-bit or 32-bit nor 32-bit add 32-bit sub a b mux y … 32 32 32 32 32 32 32 32 y 32 32 32 op op a b 32-bit shift 32
  • 18. 18鏡 慎吾 (東北大学): 計算機工学 2015 (10) 参考 • 命令デコーダは,32ビットの命令を入力として,命令の解釈結 果を出力する組合せ回路である.出力信号は例えば: • 命令種別(レジスタ演算,即値演算,ロード,ストア,分岐) • レジスタ番号 rs • レジスタ番号 rt • レジスタ番号 rd • 即値・オフセット • オペコード • ... • 「次PC計算」部は,現在のPC値と2つのレジスタ値を入力とし て,次のPCの値を出力する組合せ回路である.内部では • 分岐条件の判定と • 次のPCの計算を行う • 構成例: 教科書付録E章
  • 19. 19鏡 慎吾 (東北大学): 計算機工学 2015 (10) 練習問題 1. 2入力マルチプレクサ m(a0, a1, s) を主加法標準形の論理式 で表せ. 2. m(a0, a1, s) のカルノー図をかき,できるだけ簡単な積和型 の論理式で表せ.またその論理回路図を示せ. 3. 全加算器の両出力 s(a, b, cin), cout(a, b, cin) のカルノー図を かき,それぞれをできるだけ簡単な積和型の論理式で表せ.
  • 20. 20鏡 慎吾 (東北大学): 計算機工学 2015 (10) 解答例 s a0 a1 m a0 a1 00 01 11 10 s 0 1 1 1 1 1 s a b 00 01 11 10 cin 0 1 1 1 1 1 cout a b 00 01 11 10 cin 0 1 1 1 1 1 (3入力 XOR) (3入力多数決関数) 1. 2. 3.