SlideShare uma empresa Scribd logo
1 de 6
V7からはじめるUNIX
 -リターンズ-sideB-
  第1回 B面です
コンセプト
• 講座のコンセプト
 – 現在のUNIX系実装の源流となるV7~近代のカーネルコードを読
   み解き進化の系譜を知る
• この資料のコンセプト
 – 出来るだけQuickに(1ヶ月放置の反省)
   • 実は2回目まであと*時間という
 – 他受講生の絶賛資料と同じことを書いてもナンセンス
   • B面的役割に回る
     – 今回に限ってはA面の補足的に
   • Blog化予定、そこでは同じ内容も含めてまとめ予定
   • 組込みCPU/Kernelとの比較もやっていきたい
パイプライン処理について1
• CPUを構成する回路において、制御装置と演算装置に適用される
 – 本講座では制御装置の先回り制御 (advanced control) に該当
 – 命令はマイクロ操作列に分解でき、命令取り出し段階も含めて高速化を図れる
• メモリーアクセスの動作順序
 – IF(Instruction Fetch)
      • PCの示すアドレスから命令語を取り出しIRに格納する
 – D(Decode)
      • IRに格納された命令語のオペコードを制御装置で解読する
 – A(Address Translate)
      • IRのアドレス、インデクスレジスタ等からデータアドレスを計算
 – OF(Operand Fetch)
      • オペランドのデータをメモリーから読み出す
 – E(Execute)
      • オペコードで指定された処理の実行
パイプライン処理について2
                                                         t(時間)
 命令1    IF   D    A    OF   E
 命令2         IF   D    A    OF   E
 命令3              IF   D    A    OF   E
 命令4                   IF   D    A    OF   E
 命令5                        IF   D    A    OF   E
 命令6                             IF   D    A    OF   E
   ・
   ・
   ・
        τ
プログラム
             T(=Nτ')

        各処理の時間がすべて等しくτの理想的な場合は処理速度N倍
パイプライン処理について3
• パイプラインが中断される原因
 – 条件付ジャンプ命令
 – E(結果のメモリ書き込み)とOF(メモリか
   らの読み出し)が競合
 – 外部要因により命令実行順序が変化する場合
 – IF~Eの実行にかかる時間がアンバランス
 – Eにかかる時間までがバラついている
user.h (struct u_exdata)
• セクション情報の構造体
 – text, data, bss, entry locationなど
    • メモリの配置位地(領域)に関する情報
 – text,data ROMに置かれる定数や固定値が配置される
 – bss : Block Started by Symbol
    • シンボル名で示された番地から始まるメモリブロック
    • 初期化されない変数が置かれる領域
    • ELF (Executable and Linkable Format) での定義
        – このセクションには、プログラムが使うメモリのうち、初期化されていないデー
          タ(変数)が入っている。定義では、システムはプログラムを走らせる前、ゼロ
          で初期化される必要がある。このセクションはSHT_NOBITSなるセクション種
          別が示すとおり、ファイル内に初期化値を持たない。

Mais conteúdo relacionado

Mais procurados

コード最適化と機械学習. DSIRNLP5 2014/1/11
コード最適化と機械学習. DSIRNLP5 2014/1/11コード最適化と機械学習. DSIRNLP5 2014/1/11
コード最適化と機械学習. DSIRNLP5 2014/1/11
Yasunobu Sumikawa
 
Introduction to windows azure storage
Introduction to windows azure storage Introduction to windows azure storage
Introduction to windows azure storage
Takekazu Omi
 
基礎構文班19回目 変数のスコープとforの並び替え
基礎構文班19回目 変数のスコープとforの並び替え基礎構文班19回目 変数のスコープとforの並び替え
基礎構文班19回目 変数のスコープとforの並び替え
XMLProJ2014
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
Hirotaka Kawata
 

Mais procurados (16)

【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門
 
【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門 【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門
 
【学習メモ#5th】12ステップで作る組込みOS自作入門
【学習メモ#5th】12ステップで作る組込みOS自作入門【学習メモ#5th】12ステップで作る組込みOS自作入門
【学習メモ#5th】12ステップで作る組込みOS自作入門
 
量子情報16
量子情報16量子情報16
量子情報16
 
【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門
 
My code
My codeMy code
My code
 
コード最適化と機械学習. DSIRNLP5 2014/1/11
コード最適化と機械学習. DSIRNLP5 2014/1/11コード最適化と機械学習. DSIRNLP5 2014/1/11
コード最適化と機械学習. DSIRNLP5 2014/1/11
 
Introduction to windows azure storage
Introduction to windows azure storage Introduction to windows azure storage
Introduction to windows azure storage
 
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
 
基礎構文班19回目 変数のスコープとforの並び替え
基礎構文班19回目 変数のスコープとforの並び替え基礎構文班19回目 変数のスコープとforの並び替え
基礎構文班19回目 変数のスコープとforの並び替え
 
【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門 【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門
 
[第2版] Python機械学習プログラミング 第3章(~4節)
[第2版] Python機械学習プログラミング 第3章(~4節)[第2版] Python機械学習プログラミング 第3章(~4節)
[第2版] Python機械学習プログラミング 第3章(~4節)
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
 
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
日本音響学会2017秋 ビギナーズセミナー "深層学習を深く学習するための基礎"
 
20160611 pymc3-latent
20160611 pymc3-latent20160611 pymc3-latent
20160611 pymc3-latent
 
Swiftを勉強してrubyの コードが変化した3つの事
Swiftを勉強してrubyの コードが変化した3つの事Swiftを勉強してrubyの コードが変化した3つの事
Swiftを勉強してrubyの コードが変化した3つの事
 

Destaque

Historia de placido domingos e jose carreras
Historia de placido domingos e jose carrerasHistoria de placido domingos e jose carreras
Historia de placido domingos e jose carreras
Francinelson L Santos
 
Instruções para publicação
Instruções para publicaçãoInstruções para publicação
Instruções para publicação
Tom Fernandes
 
Atividade1.4 proinfo
Atividade1.4 proinfoAtividade1.4 proinfo
Atividade1.4 proinfo
Almir Franco
 
解密那些玄而又玄的移动互联网数据
解密那些玄而又玄的移动互联网数据解密那些玄而又玄的移动互联网数据
解密那些玄而又玄的移动互联网数据
ntalks
 
юрій єфімов
юрій єфімовюрій єфімов
юрій єфімов
indrih
 
Ricerca licciardello identity and ingroup outroup relationships[1]
Ricerca licciardello identity and ingroup outroup relationships[1]Ricerca licciardello identity and ingroup outroup relationships[1]
Ricerca licciardello identity and ingroup outroup relationships[1]
Giustino Giarrizzo
 
Curriculum_PVA
Curriculum_PVACurriculum_PVA
Curriculum_PVA
samgomdor
 
Presentación1
Presentación1Presentación1
Presentación1
Yismar94
 

Destaque (20)

Sig
SigSig
Sig
 
Historia de placido domingos e jose carreras
Historia de placido domingos e jose carrerasHistoria de placido domingos e jose carreras
Historia de placido domingos e jose carreras
 
Instruções para publicação
Instruções para publicaçãoInstruções para publicação
Instruções para publicação
 
Atividade1.4 proinfo
Atividade1.4 proinfoAtividade1.4 proinfo
Atividade1.4 proinfo
 
Energias Múltiplas - X Congresso Nacional da SPEM :: 7 Dezembro 2013
Energias Múltiplas - X Congresso Nacional da SPEM :: 7 Dezembro 2013Energias Múltiplas - X Congresso Nacional da SPEM :: 7 Dezembro 2013
Energias Múltiplas - X Congresso Nacional da SPEM :: 7 Dezembro 2013
 
PMO em Lisarb
PMO em LisarbPMO em Lisarb
PMO em Lisarb
 
Go!! blog
Go!! blogGo!! blog
Go!! blog
 
解密那些玄而又玄的移动互联网数据
解密那些玄而又玄的移动互联网数据解密那些玄而又玄的移动互联网数据
解密那些玄而又玄的移动互联网数据
 
юрій єфімов
юрій єфімовюрій єфімов
юрій єфімов
 
новогодний проект 2012
новогодний проект 2012новогодний проект 2012
новогодний проект 2012
 
Slide jailani
Slide jailaniSlide jailani
Slide jailani
 
AUFE
AUFEAUFE
AUFE
 
El fin de las guerras civiles
El fin de las guerras civilesEl fin de las guerras civiles
El fin de las guerras civiles
 
Smart Lock
Smart LockSmart Lock
Smart Lock
 
Turis de aguazul
Turis de aguazulTuris de aguazul
Turis de aguazul
 
Ricerca licciardello identity and ingroup outroup relationships[1]
Ricerca licciardello identity and ingroup outroup relationships[1]Ricerca licciardello identity and ingroup outroup relationships[1]
Ricerca licciardello identity and ingroup outroup relationships[1]
 
Como alimentar o cérebro? - 1ª Parte: Apresentação Neurologista Drª Ana Marti...
Como alimentar o cérebro? - 1ª Parte: Apresentação Neurologista Drª Ana Marti...Como alimentar o cérebro? - 1ª Parte: Apresentação Neurologista Drª Ana Marti...
Como alimentar o cérebro? - 1ª Parte: Apresentação Neurologista Drª Ana Marti...
 
ElectroRecicla S.A - EducaInfoRP
ElectroRecicla S.A - EducaInfoRPElectroRecicla S.A - EducaInfoRP
ElectroRecicla S.A - EducaInfoRP
 
Curriculum_PVA
Curriculum_PVACurriculum_PVA
Curriculum_PVA
 
Presentación1
Presentación1Presentación1
Presentación1
 

Semelhante a 20110611 v7unix-b

A Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by ExampleA Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by Example
Koji Matsuda
 
遊休リソースを用いた 相同性検索処理の並列化とその評価
遊休リソースを用いた相同性検索処理の並列化とその評価遊休リソースを用いた相同性検索処理の並列化とその評価
遊休リソースを用いた 相同性検索処理の並列化とその評価
Satoshi Nagayasu
 
VLDB’11勉強会 -Session 9-
VLDB’11勉強会 -Session 9-VLDB’11勉強会 -Session 9-
VLDB’11勉強会 -Session 9-
Takeshi Yamamuro
 
Linux Kernel Seminar in tripodworks
Linux Kernel Seminar in tripodworksLinux Kernel Seminar in tripodworks
Linux Kernel Seminar in tripodworks
tripodworks
 

Semelhante a 20110611 v7unix-b (14)

A Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by ExampleA Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by Example
 
Bi-Directional Block Self-Attention for Fast and Memory-Efficient Sequence Mo...
Bi-Directional Block Self-Attention for Fast and Memory-Efficient Sequence Mo...Bi-Directional Block Self-Attention for Fast and Memory-Efficient Sequence Mo...
Bi-Directional Block Self-Attention for Fast and Memory-Efficient Sequence Mo...
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ
 
遊休リソースを用いた 相同性検索処理の並列化とその評価
遊休リソースを用いた相同性検索処理の並列化とその評価遊休リソースを用いた相同性検索処理の並列化とその評価
遊休リソースを用いた 相同性検索処理の並列化とその評価
 
Hybrid computing using a neural network with dynamic external memory
Hybrid computing using a neural network with dynamic external memoryHybrid computing using a neural network with dynamic external memory
Hybrid computing using a neural network with dynamic external memory
 
VLDB’11勉強会 -Session 9-
VLDB’11勉強会 -Session 9-VLDB’11勉強会 -Session 9-
VLDB’11勉強会 -Session 9-
 
Linux Kernel Seminar in tripodworks
Linux Kernel Seminar in tripodworksLinux Kernel Seminar in tripodworks
Linux Kernel Seminar in tripodworks
 
attention_is_all_you_need_nips17_論文紹介
attention_is_all_you_need_nips17_論文紹介attention_is_all_you_need_nips17_論文紹介
attention_is_all_you_need_nips17_論文紹介
 
【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門 【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門
 
PFI Christmas seminar 2009
PFI Christmas seminar 2009PFI Christmas seminar 2009
PFI Christmas seminar 2009
 
第1回勉強会スライド
第1回勉強会スライド第1回勉強会スライド
第1回勉強会スライド
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1
 
短距離古典分子動力学計算の 高速化と大規模並列化
短距離古典分子動力学計算の 高速化と大規模並列化短距離古典分子動力学計算の 高速化と大規模並列化
短距離古典分子動力学計算の 高速化と大規模並列化
 
ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装
 

Último

Último (7)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

20110611 v7unix-b

  • 2. コンセプト • 講座のコンセプト – 現在のUNIX系実装の源流となるV7~近代のカーネルコードを読 み解き進化の系譜を知る • この資料のコンセプト – 出来るだけQuickに(1ヶ月放置の反省) • 実は2回目まであと*時間という – 他受講生の絶賛資料と同じことを書いてもナンセンス • B面的役割に回る – 今回に限ってはA面の補足的に • Blog化予定、そこでは同じ内容も含めてまとめ予定 • 組込みCPU/Kernelとの比較もやっていきたい
  • 3. パイプライン処理について1 • CPUを構成する回路において、制御装置と演算装置に適用される – 本講座では制御装置の先回り制御 (advanced control) に該当 – 命令はマイクロ操作列に分解でき、命令取り出し段階も含めて高速化を図れる • メモリーアクセスの動作順序 – IF(Instruction Fetch) • PCの示すアドレスから命令語を取り出しIRに格納する – D(Decode) • IRに格納された命令語のオペコードを制御装置で解読する – A(Address Translate) • IRのアドレス、インデクスレジスタ等からデータアドレスを計算 – OF(Operand Fetch) • オペランドのデータをメモリーから読み出す – E(Execute) • オペコードで指定された処理の実行
  • 4. パイプライン処理について2 t(時間) 命令1 IF D A OF E 命令2 IF D A OF E 命令3 IF D A OF E 命令4 IF D A OF E 命令5 IF D A OF E 命令6 IF D A OF E ・ ・ ・ τ プログラム T(=Nτ') 各処理の時間がすべて等しくτの理想的な場合は処理速度N倍
  • 5. パイプライン処理について3 • パイプラインが中断される原因 – 条件付ジャンプ命令 – E(結果のメモリ書き込み)とOF(メモリか らの読み出し)が競合 – 外部要因により命令実行順序が変化する場合 – IF~Eの実行にかかる時間がアンバランス – Eにかかる時間までがバラついている
  • 6. user.h (struct u_exdata) • セクション情報の構造体 – text, data, bss, entry locationなど • メモリの配置位地(領域)に関する情報 – text,data ROMに置かれる定数や固定値が配置される – bss : Block Started by Symbol • シンボル名で示された番地から始まるメモリブロック • 初期化されない変数が置かれる領域 • ELF (Executable and Linkable Format) での定義 – このセクションには、プログラムが使うメモリのうち、初期化されていないデー タ(変数)が入っている。定義では、システムはプログラムを走らせる前、ゼロ で初期化される必要がある。このセクションはSHT_NOBITSなるセクション種 別が示すとおり、ファイル内に初期化値を持たない。