計算機ハードウエア 2017 年度前期 第 4 回
前回の話
コンピュータバスの構成 データバス I/O (Input/ Output) CPU メモリ アドレスバス コントロールバス コンピュータバスは コンピュータ本体 (CPU) と そのコンピュータ本体とデータのやり取りをする複数の相手との間を結ぶ 共用の信号伝送路である CPU は バス を制御して 複数のデバイス ( メモリや I/O) とデータのやり取りを行う 各デバイスには 識別用の アドレス が付けられている
CPU(SH7145) データバス (32 bit) インタフェースデータバス (16 bit) メモリ I/O アドレスバス (22 bit) アドレスバス (23 bit) コントロールバス 割り込み信号リセット信号 クロック用クリスタル SH7145 コンピュータアーキテクチャ ( アルファプロジェクト AP-SH2F-6A ボード )
CPU の求めに応じて バスの信号を基に複数のデバイスの接続 / 切断 / 選択などの制御を行っているのが 組み合わせ回路 である これから ディジタル回路 ( 論理回路 ) における組み合わせ回路について説明します
論理回路素子 ダイオードを用いた論理素子の動作原理ダイオードの順方向電圧降下を 0.6 [V] として A B +Vcc R Z 入力 [V] 出力 [V] A B Z 0 0 0.6 0 5 0.6 5 0 0.6 5 5 5 AND 回路として機能する
論理回路素子 ダイオードを用いた論理素子の動作原理 A B R Z 入力 [V] 出力 [V] A B Z 0 0 0 0 5 4.4 5 0 4.4 5 5 4.4 OR 回路として機能する
論理回路素子 トランジスタを用いた論理素子の動作原理 +Vcc In R Out 入力 [V] 出力 [V] In Z 0 5 5 0.6 NOT 回路として機能する
TTL(Transistor-Transistor-Logic) ダイオードによる回路から, トランジスタによる回路へ +Vcc +Vcc R R A B Z A B Out マルチエミッタトランジスタ (Multi-emitter Transistor)
トーテムポール型 TTL トーテムポール型回路を用いたトランジスタによる論理回路 Tr 1 +Vcc Tr 3 Tr 2 = ON Tr 2 = OFF Tr 3 = OFF Tr 4 = ON Tr 3 = ON Tr 4 = OFF A B Tr 2 Tr 4 Out Out = ABC NAND 回路
実際の TTL 集積回路 (IC) 松本光功 論理回路 昭晃堂より
今回の話
オープンコレクタ出力 (Open Collector Output) 論理ゲートにおける出力段トランジスタのコレクタが開放されている +Vcc +Vcc ( トーテムポール形 ) (Totem pole configuration) Out Out ラインドライバタイプ (Type of Line-driver) オープンコレクタタイプ (Type of Open Collector)
オープンコレクタ出力によるワイヤード OR 通常, ゲートの出力は直結してはならないが, オープンコレクタタイプの出力を持つゲートどうしは, 出力を結合して OR とすることができるこれをワイヤード OR (Wired OR) という. ただし, ワイヤード OR は演算速度が遅い. +Vcc ラインドライバタイプ (Type of Line-driver) オープンコレクタタイプ (Type of Open Collector)
ラインドライバタイプ (Type of Line-driver) Tr 1 Tr 2 トライステート (3 状態 )(Tri-State) +Vcc Tr1:ON Tr2:OFF Tr1:OFF Tr2:ON Out 通常のラインドライバタイプのゲート出力は, トーテムポール形のトランジスタ対の一方が ON のときは, 他方が OFF になるように動作する. 両方のトランジスタが OFF になる状態を作り出すことができる出力がトライステート出力 (Tri-State Output) と呼ばれ, 回路が切り離されたのと等価になる. この状態をハイ インピーダンス状態 (High Impedance State) と言う
トライステート状態の応用例 アドレスデコーダ (Address decoder) データバスアドレスバス バスバッファ (Tri-State) 周辺機器 周辺機器 バスバッファ (Bus Buffer) は アドレスデコーダ (Address decoder) の選択信号によって データ信号を有効 (Enable) 無効 (Disenable=Tri-State) にしたり データ信号の方向 (Direction = Input / Output) を決定する
組み合わせ回路 : マルチプレクサ (Multiplexer) n 本の選択線を用いて 2 n 本のデータ入力線の中から 1 本を選択して出力する回路 2 n (=m) 入力から 1 出力を選択するマルチプレクサを m 1 マルチプレクサ という D 0 D 1 D 2 D 3 Q S1 S0 0 0 Q D0 0 1 D1 1 0 D2 S 1 S 0 1 1 D3
組み合わせ回路 : マルチプレクサ (Multiplexer) S0 S1 Q D0 D1 D2 D3
組み合わせ回路 : デマルチプレクサ (Demultiplexer) n 本の選択線 (selector signal) を用いて 1 本のデータ入力を 2 n 本のデータ出力線 (data output) のうちの 1 本に出力を接続する回路 D Q 0 Q 1 Q 2 Q 3 S1 S0 0 0 0 1 Q0 Q1 Q2 Q3 D 0 0 0 0 D 0 0 1 0 0 0 D 0 1 1 0 0 0 D S 1 S 0 Q 0 = S 1 S 0 D Q 1 = S 1 S 0 D Q 2 = S 1 S 0 D Q 3 = S 1 S 0 D
組み合わせ回路 : デマルチプレクサ (Demultiplexer) Multiplexer : 多くの入力の中から必要な入力を取り出す切り替えスイッチに相当する機能を持ったデバイス Data selector とも言う Demultiplexer : 1 つの入力を多数の出力端子に切り替えてデータを分配する機能を持ったデバイス
組み合わせ回路 : デコーダ (Decoder) 2 進数列の暗号 ( コード ) を元の情報に戻す回路復号器とも言う 2 進 2bit デコーダの真理値表 D1 D0 0 0 0 1 1 0 1 1 Q0 Q1 Q2 Q3 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
組み合わせ回路 : エンコーダ (Encoder) 情報をある一定の規則によって数値化 (2 進数列 ) にする回路 ( 暗号器とも言う ) 2 進 2bit エンコーダ D0 D1 D2 D3 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Q1 Q0 0 0 0 1 1 0 1 1
CPU は アドレスバスを制御して アドレス空間 (Addressing space) 上での所望のデバイスにアクセス (Access) しようとする このアドレス信号を復号 ( デコード(decode) ) して アクセスを可能にするのが アドレスデコーダ(Address Decoder) である データバス アドレスマップ I/O (Input /Outp ut) CPU メモリ 010000H~ 010100H I/O 空間 アドレスバスコントロールバス 004000H~ 008000H 外部メモリ (External memory) 000000H~ 000100H 例えば 外部メモリにアクセスしたい場合には アドレスバスの信号が 004000H~008000H の間では メモリモジュールが選択されるように組み合わせ回路を実現する 内蔵メモリ (Internal memory)
記憶素子 (memory) の話 ディジタル計算機での記憶素子 RAM (Random Access Memory) SRAM (Static RAM) DRAM (Dynamic RAM) ROM (Read Only Memory) マスクROM PROM (Programmable ROM) 切断型 PROM EPROM (Erasable PROM) EEPROM (Electrical EPROM) フラッシュROM レジスタ, キャッシュなど主記憶 (main memory) Unerasable Erasable 1 回のみ書き込み可能 (Writable at once) 紫外線で消去可能 (Erasable with Ultra Violet ray) 電気的に消去可能 (Electrically Erasable) 電気的に消去可能 (Electrically Erasable)
RAM の話 SRAM (Static RAM) フリップフロップ回路 (Flip-Flop) で構成される ワード線 Tr1 データ線 出力 ライト時 : データ (1or0) をデータ線に出力し ワード線に電圧 (Vcc) を印加トランジスタ (Tr1) のソースとドレインが導通データが図の P 点に出力される出力されたデータはフリップフロップ回路により保持リード時 : データ線を開放し 再びワード線に電圧を印加 Tr1 のソースとドレインが導通し 保持されている出力点のデータがデータ線に出力される
RAM の話 DRAM (Dynamic RAM) トランジスタとキャパシタで構成される ワード線データ線データ線ワード線データ線ワード線 キャパシタ (Capacitor) に蓄えられた微小な電荷でデータを記憶 ( 保持 ) する読み出し動作が複雑記憶を維持するために リフレッシュ (refresh) という操作が必要ロウ (row: 行 ) とカラム (column: 列 ) に分けてアドレッシング (addressing) を行なう
パソコンの中のメモリモジュール パソコンの中では SDRAM が用いられており その規格は 凡そ以下のようなもの DDR SDRAM チップ規格 モジュール規格 動作周波数 転送速度 DDR200 PC1600 200MHz 1.6GB/s DDR266 PC2100 266MHz 2.1GB/s DDR333 PC2700 333MHz 2.7GB/s DDR400 PC3200 400MHz 3.2GB/s DDR2 SDRAM チップ規格 モジュール規格 動作周波数 転送速度 DDR2-400 PC2-3200 400MHz 3.2GB/s DDR2-533 PC2-4200 533MHz 4.2GB/s DDR2-667 PC2-5300 667MHz 5.3GB/s DDR2-800 PC2-6400 800MHz 6.4GB/s
パソコンの中のメモリモジュール DDR3 SDRAM チップ規格モジュール規格動作周波数転送速度 DDR3-800 PC3-6400 800MHz 6.4GB/s DDR3-1066 PC3-8500 1066MHz 8.5GB/s DDR3-1333 PC3-10600 1333MHz 10.67GB/s DDR3-1600 PC3-12800 1600MHz 12.8GB/s DDR3-1800 PC3-14400 1800MHz 14.4GB/s DDR3-2000 PC3-16000 2000MHz 16GB/s DDR3-2133 PC3-17066 2133MHz 17.06GB/s DDR4 SDRAM チップ規格 モジュール規格 動作周波数 転送速度 DDR4-2133 PC4-17000 2133MHz 17.06GB/s DDR4-2400 PC4-19200 2400MHz 19.2GB/s DDR4-2666 PC4-21300 2666MHz 21.3GB/s
ROM について EPROM フローティングゲート MOSFET アレイ (Floating gate MOSFET array) で構成 通常のデジタル回路よりも高い電圧を使って個々のMOSFETに書き込むフローティングゲートMOSFET ソース コントロールゲート (Control gate) フローティングゲート (Floating gate) ドレイン UV-EPROM( 紫外線消去型 ) http://electronics.stackexchange.com/que stions/34607/erasing-eproms-withsunlight フラッシュメモリ (Flash memory) は ここのゲート絶縁膜が非常に薄く作ってあるところが異なる
計算機の中の記憶素子 例えば インテル製の Core i7 だと, 非常に高速な記憶素子群が CPU のチップの上に構築されている
キャッシュメモリ (Cache memory) CPU 演算器 (processor) ( 含レジスタ ) キャッシュメモリ (Cache memory) キャッシュメモリからのデータの読み出しは高速 ~10 ナノ秒程度 主記憶 ( メインメモリ :Main memory) キャッシュメモリにデータが無い場合には主記憶からの読み出しとなる ~ 数 10 ナノ秒かかる