Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
YY
Uploaded by
Yoko Yama
PPTX, PDF
1,332 views
コンピュータシステムの理論と実装3
勉強会用にO'Reillyの「コンピュータシステムの理論と実装」の第3章を纏めた資料です。
Engineering
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 24
2
/ 24
3
/ 24
4
/ 24
Most read
5
/ 24
6
/ 24
7
/ 24
8
/ 24
9
/ 24
10
/ 24
11
/ 24
Most read
12
/ 24
13
/ 24
14
/ 24
15
/ 24
16
/ 24
17
/ 24
18
/ 24
19
/ 24
20
/ 24
21
/ 24
22
/ 24
23
/ 24
24
/ 24
Most read
More Related Content
PDF
コンピュータシステムの理論と実装2
by
H T
PDF
コンピュータシステムの理論と実装1
by
H T
DOCX
Système d'exploitation
by
Abderrahim Bahssine
PDF
[アルゴリズムイントロダクション勉強会] ハッシュ
by
Rei Takami
PDF
第二回CTF勉強会資料
by
Asuka Nakajima
PDF
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdf
by
RazaneLAMARA
PPSX
Robot مقدمة عن الإنسان الآلي الروبوت
by
IT.Amna Khdoum
PDF
Chapitre 3.pdf
by
YounesAziz3
コンピュータシステムの理論と実装2
by
H T
コンピュータシステムの理論と実装1
by
H T
Système d'exploitation
by
Abderrahim Bahssine
[アルゴリズムイントロダクション勉強会] ハッシュ
by
Rei Takami
第二回CTF勉強会資料
by
Asuka Nakajima
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdf
by
RazaneLAMARA
Robot مقدمة عن الإنسان الآلي الروبوت
by
IT.Amna Khdoum
Chapitre 3.pdf
by
YounesAziz3
What's hot
PPTX
SmoothGrad: removing noise by adding noise
by
harmonylab
PPT
Linux installation and booting process
by
Siddharth Jain
PDF
C++による数値解析の並列化手法
by
dc1394
PDF
【続編】その ionice、ほんとに効いてますか?
by
Narimichi Takamura
PDF
Cプログラマのためのカッコつけないプログラミングの勧め
by
MITSUNARI Shigeo
PDF
バイナリニューラルネットとハードウェアの関係
by
Kento Tajiri
PPTX
NW入門
by
Shuntaro Saiba
PPTX
業務の自動化をはじめよう!!
by
株式会社オプト 仙台ラボラトリ
PDF
How A Compiler Works: GNU Toolchain
by
National Cheng Kung University
PPT
Ubuntu
by
home
PPTX
DLLAB Engineer Days : ONNX Export & Optimize
by
Kazuki Kyakuno
PDF
研究室における研究・実装ノウハウの共有
by
Naoaki Okazaki
PPSX
Initiation à scratch quatrième tutoriel scratch n° 2 pdf
by
Françoise Grave
PPT
نظم التشغيل.ppt
by
AymenAyari10
PPT
محاضرة المكونات المادية
by
Shatha Mohammed
PDF
2019年度チュートリアルBPE
by
広樹 本間
PDF
明日使えないすごいビット演算
by
京大 マイコンクラブ
PDF
論理回路シミュレータ Logisim の使い方
by
Takashi Kawanami
PDF
【BERT】自然言語処理を用いたレビュー分析
by
KazuyaYagihashi
PDF
大企業と技術開発型ベンチャーの連携
by
Masakazu Masujima
SmoothGrad: removing noise by adding noise
by
harmonylab
Linux installation and booting process
by
Siddharth Jain
C++による数値解析の並列化手法
by
dc1394
【続編】その ionice、ほんとに効いてますか?
by
Narimichi Takamura
Cプログラマのためのカッコつけないプログラミングの勧め
by
MITSUNARI Shigeo
バイナリニューラルネットとハードウェアの関係
by
Kento Tajiri
NW入門
by
Shuntaro Saiba
業務の自動化をはじめよう!!
by
株式会社オプト 仙台ラボラトリ
How A Compiler Works: GNU Toolchain
by
National Cheng Kung University
Ubuntu
by
home
DLLAB Engineer Days : ONNX Export & Optimize
by
Kazuki Kyakuno
研究室における研究・実装ノウハウの共有
by
Naoaki Okazaki
Initiation à scratch quatrième tutoriel scratch n° 2 pdf
by
Françoise Grave
نظم التشغيل.ppt
by
AymenAyari10
محاضرة المكونات المادية
by
Shatha Mohammed
2019年度チュートリアルBPE
by
広樹 本間
明日使えないすごいビット演算
by
京大 マイコンクラブ
論理回路シミュレータ Logisim の使い方
by
Takashi Kawanami
【BERT】自然言語処理を用いたレビュー分析
by
KazuyaYagihashi
大企業と技術開発型ベンチャーの連携
by
Masakazu Masujima
Similar to コンピュータシステムの理論と実装3
PDF
kagami_comput2015_11
by
swkagami
PDF
【minecraft】レッドストーン回路赤石論理学【配布資料】
by
akaishiteacher
PDF
Stateless Circuit Model toward a Theorem-proving Hardware Description Language
by
Shunji Nishimura
PPTX
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
by
Kiyoshi Ogawa
PDF
kagamicomput201711
by
swkagami
PDF
kagami_comput2016_11
by
swkagami
PDF
kagamicomput201811
by
swkagami
PPTX
タイミング制約を含んだ回路記述方式とその意味論
by
Shunji Nishimura
PDF
kagami_comput2015_12
by
swkagami
PDF
プログラミングロボットを用いたオンライン併用型の協調学習実践
by
情報処理学会 情報システム教育委員会
kagami_comput2015_11
by
swkagami
【minecraft】レッドストーン回路赤石論理学【配布資料】
by
akaishiteacher
Stateless Circuit Model toward a Theorem-proving Hardware Description Language
by
Shunji Nishimura
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
by
Kiyoshi Ogawa
kagamicomput201711
by
swkagami
kagami_comput2016_11
by
swkagami
kagamicomput201811
by
swkagami
タイミング制約を含んだ回路記述方式とその意味論
by
Shunji Nishimura
kagami_comput2015_12
by
swkagami
プログラミングロボットを用いたオンライン併用型の協調学習実践
by
情報処理学会 情報システム教育委員会
コンピュータシステムの理論と実装3
1.
コンピュータシステムの 理論と実装③ 横山 周平
2.
本日の予定 組み合わせ回路と順序回路(p41) 各種順序回路について(p42~p55) まとめ
3.
本日の予定 組み合わせ回路と順序回路(p41) 各種順序回路について(p42~p55) まとめ
4.
組み合わせ回路とは? (組み合わせ回路と順序回路) 1,2章で構築した回路のこと ※入力値の組み合わせだけで値が確定する!! 例:ORの場合は、必ず入力に1がある場合のみでしか1になりえない
特徴 単純な処理のため、たくさん処理出来る 欠点 状態(値)を保てない ※例:呼ぶ度に加算される回路など
5.
組み合わせ回路とは? (組み合わせ回路と順序回路) 1,2章で構築した回路のこと ※入力値の組み合わせだけで値が確定する!! 例:ORの場合は、必ず入力に1がある場合のみでしか1になりえない
特徴 単純な処理のため、たくさん処理出来る 欠点 状態(値)を保てない ※例:呼ぶ度に加算される回路など →時間が経過しても記憶出来る機能。記憶素子が必要!!
6.
記憶素子とは? (組み合わせ回路と順序回路) 時間経過してもデータを記録出来る回路のこと 上記を備えた論理回路を順序回路と呼ぶ
仕組み 同期,クロッキング,フィードバックループなど 複雑な技法を組み合わせて実現されている 順序回路 ~フリップフロップ(flip-flop)~ 複雑な記憶素子の機能を備えたプリミティブな順序回路。 本誌では、flip-flopを使用し、他の順序回路の構築を行う
7.
本日の予定 組み合わせ回路と順序回路(p41) 各種順序回路について(p42~p55) まとめ
8.
背景 (各種回路について) 記憶するという行為について 記憶という行為は、時間に依存する行為である。 つまり「前に記憶したものを今思い返す」ことである。 そのため、回路構築には、 時間の経過を表す方法を考察しなければならない。
9.
クロック (各種回路について) 継続的に行き来する信号を全ての順序回路に送信する。 例:tick→tock→tick→tock… tick→tockまでを周期(cycle)と呼ぶ
10.
フリップフロップ (各種回路について) 順序回路の最も基本(下位レベル)となる回路。 いくつか種類があるが、本誌ではD型フリップフロップ(DFF)のみ使用する。 DFFにより「時間に基づく振る舞い」が可能になる また、全ての順序回路は、DFFの組み合わせで構成されている。 t:現在のタイムユニット out:出力値 in:入力値 要約:1つ前の値を出力してるだけ out(t)=in(t-1) DFF(in=入力,out=出力); hdl式 式
11.
2値素子(Bit)/レジスタ(p43~44,p49~50) データの格納、呼び出しできる記憶装置。 ・読み込み(read) レジスタの値を読み込む。out(t)=out(t-1) ・書き込み(write) loadが1の場合は書き込み。out(t)=in(t-1) 次のクロック周期から値が変わる≒読み込みは常に1つ前の周期 ※前回の値を毎周期、書き込むことで記憶を実現している!! If load(t-1) then
out(t)=in(t-1) else out(t)=out(t-1) Register(in=入力,load=上書き有無,out=出力); hdl式 関数 (各種回路について) p43. p50図参照
12.
Bit/レジスタ の実装(p54) nand2tetries/03/aの「Bit.hdl」と「Register.hdl」の実装を行う。 ※RegisterはBitを配列にしただけ(一般的には16,32,64) このサイズをワードと言う (各種回路について) Register(in=入力[16],load=上書き有無,out=出力[16]); hdl式 Bit(in=入力,load=上書き有無,out=出力); hdl式 実装方法について ・p43図3-1参照 ・p50
13.
動作確認手順 nand2tetries/tools/HardwareSimulator.bat(macならsh)を実行 ・hdlファイルの読み込み ・testファイルの読み込み ・実行 (各種回路について)
14.
2値素子(Bit) (各種回路について) CHIP Bit
{ IN in, load; OUT out; PARTS: //loadが1の場合のみv1にinを設定 Mux(a=v2,b=in,sel=load,out=v1); DFF(in=v1,out=out,out=v2); }
15.
Register (各種回路について) CHIP Register
{ IN in[16], load; OUT out[16]; PARTS://Bitを16並べるだけ Bit(in=in[0],load=load,out=out[0]); Bit(in=in[1],load=load,out=out[1]); Bit(in=in[2],load=load,out=out[2]); // 省略 Bit(in=in[14],load=load,out=out[14]); Bit(in=in[15],load=load,out=out[15]); }
16.
メモリ (p44~p46,p51~52) ・任意の長さのワード(レジスタ)を記憶出来るもの。 ・レジスタをたくさん積み重ねることで、 RAM(Random Access
Memory)を構築できる。 ・RAMは物理的に存在する場所に関係なく、同じ時間で、 直接アクセスが可能となるようユニークなアドレスを割り振っている。 RAM8(in=入力,load=上書き有無,address=アドレス,out=出力); hdl式 (各種回路について) p45図参照
17.
メモリの実装(p51,52) nand2tetries/03/aの「RAM8.hdl」と「RAM64.hdl」の実装を行う。 ※RAM512以降は、RAM64と同じ為スキップ ・読み込み addressから対応するRAMを読み込む。out(t) = RAM[address(t)](t) ・書き込み loadを1に設定でaddressから対応するRAMに、 次のクロック周期で書き込む。
RAM[address(t-1)](t)=in(t-1) ※対象以外のaddressはload=0 ■ヒント 1章で作成した「DMux8Way、Mux8Way16」を使用 (各種回路について) out(t) = RAM[address(t)](t) If load(t-1) then RAM[address(t-1)](t)=in(t-1) 関数 p51,52参照
18.
RAM8 (各種回路について) CHIP RAM8
{ IN in[16], load, address[3]; OUT out[16]; PARTS: // アドレスに対応するLoad値取得 DMux8Way(in=load,sel=address,a=loadA,b=loadB,c=loadC,d=loadD,e=loadE,f=loadF,g=loadG,h=loadH); Register(in=in,load=loadA,out=outA); Register(in=in,load=loadB,out=outB); // 略 Register(in=in,load=loadG,out=outG); Register(in=in,load=loadH,out=outH); // アドレスのout値取得 Mux8Way16(a=outA,b=outB,c=outC,d=outD,e=outE,f=outF,g=outG,h=outH,sel=address,out=out); }
19.
RAM64 (各種回路について) CHIP RAM64
{ IN in[16], load, address[6]; OUT out[16]; PARTS://3bit単位で分けてRAM8を呼ぶ DMux8Way(in=load,sel=address[3..5],a=loadA,b=loadB,c=loadC,d=loadD,e=loadE,f=loadF,g=loadG,h=loadH); RAM8(in=in,load=loadA,address=address[0..2],out=outA); RAM8(in=in,load=loadB,address=address[0..2],out=outB); // 略 RAM8(in=in,load=loadG,address=address[0..2],out=outG); RAM8(in=in,load=loadH,address=address[0..2],out=outH); // アドレスのout値取得 Mux8Way16(a=outA,b=outB,c=outC,d=outD,e=outE,f=outF,g=outG,h=outH,sel=address[3..5],out=out); } RAM8*8のイメージ [000][000] RAM8A [001][000] RAM8B [010][000] RAM8C [011][000] RAM8D [100][000] RAM8E [101][000] RAM8F [110][000] RAM8G [111][000] RAM8H
20.
カウンタ (p46,p52~53) ・タイムユニットが進むごとに値が加算される。 out(t)=out(t-1)+c ※cには通常1が用いられる ・一般的なCPUにはプログラムカウンタが含まれ、 次に実行されるプログラム演算のアドレスとして解釈される。 ・加算以外に値の設定(load)とクリア(reset)が可能 PC(in=入力,lnc=加算有無,load=書込,reset=初期化,out=出力); hdl式 (各種回路について) p45図参照
21.
カウンタの実装(p52~54) nand2tetries/03/aの「PC.hdl」の実装を行う。 ・読み込み load,inc,resetが0の場合は、out(t)=out(t-1) ・加算 incが1の場合は、out(t)=out(t-1)+1 ※読み込んだ値+1 ・書き込み loadが1の場合は、out(t) =
in(t-1) ※前回の値に関わらず入力値を使う ・リセット resetが1の場合は、out(t)=0 ※前回の値,入力 に関わらず0を使う 上記の処理完了後に値を保存 (各種回路について) If reset (t-1) then out(t)=0 else if load(t-1) then out(t) = in(t-1) else if inc(t-1) then out(t) = out(t-1)+1 else out(t) = out(t-1) 関数 P54 図3-5参照
22.
PC (各種回路について) CHIP PC
{ IN in[16],load,inc,reset; OUT out[16]; PARTS: Inc16(in=r1,out=v1); Mux16(a=r1,b=v1,sel=inc,out=v2);// inc Mux16(a=v2,b=in,sel=load,out=v3);// load Mux16(a=v3,b[0..15]=false,sel=reset,out=v4); // reset Register(in=v4,load=true,out=out,out=r1); }
23.
本日の予定 組み合わせ回路と順序回路(p41) 各種順序回路について(p42~p55) まとめ
24.
まとめ(p46-p48,p56) 組み合わせ回路 組み合わせ回路とは、入力値のみで時間に関係なく出力値が直ちに決まる 回路 順序回路 順序回路とは、ひとつ以上のDFF回路が直接または間接的に組み込まれ、 出力値は、現在のクロック周期から次のクロック周期に移行した、 タイミング変化する。※同じく周期においては変化しない。
最後に 組み合わせ回路と順序回路を作成してきました。 これで、コンピュータ全体を構築するために必要な回路は全て 出揃ったことになります。 次回は、機械語です。少し、ソフトウェアよりになります。 (まとめ)
Download