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