計算機ハードウエア 209 年度前期 第 5 回 前回の話 (SH745) (32 bit) コンピュータバスの構成 インタフェース (6 bit) I/O (Input/ Output) I/O (22 bit) (22 bit) 割り込み信号リセット信号 コンピュータバスは コンピュータ本体 () と そのコンピュータ本体とデータのやり取りをする複数の相手との間を結ぶ 共用の信号伝送路である クロック用クリスタル は バス を制御して 複数のデバイス ( や I/O) とデータのやり取りを行う 各デバイスには 識別用の アドレス が付けられている SH745 コンピュータアーキテクチャ ( アルファプロジェクト AP-SH2F-6A ボード ) トライステート状態の応用例 周辺機器 アドレスデコーダ (Address decoder) 周辺機器 (Tri-State) 組み合わせ回路 : マルチプレクサ (Multiplexer) n 本の選択線を用いて 2 n 本のデータ入力線の中から 本を選択して出力する回路 2 n (=m) 入力から 出力を選択するマルチプレクサを D 0 D D 2 D 3 m マルチプレクサ という Q S S 0 (Bus Buffer) は アドレスデコーダ (Address decoder) の選択信号によって データ信号を有効 (Enable) 無効 (Disenable=Tri-State) にしたり データ信号の方向 (Direction = Input / Output) を決定する S S0 0 0 0 0 Q D D2 D3
組み合わせ回路 : デマルチプレクサ (Demultiplexer) n 本の選択線を用いて 本のデータ入力を 2 n 本のデータ出力線のうちの 本に出力を接続する回路 組み合わせ回路 : エンコーダ (Encoder) 情報をある一定の規則によって数値化 (2 進数列 ) にする回路 ( 暗号器とも言う ) D S S 0 Q 0 Q Q 2 Q 3 S S0 0 0 0 0 Q0 Q Q2 Q3 D 0 0 0 0 D 0 0 0 0 D 0 0 0 0 D Multiplexer : 多くの入力の中から必要な入力を取り出す切り替えスイッチに相当する機能を持ったデバイス Data selector とも言う Demultiplexer : つの入力を多数の出力端子に切り替えてデータを分配する機能を持ったデバイス 例 ) 3 bit エンコーダ D D2 D3 D4 D5 D6 D7 Q2 Q Q0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 例 ) キーボードエンコーダ 組み合わせ回路 : エンコーダ (Encoder) 組み合わせ回路 : デコーダ (Decoder) 例 ) キーボードエンコーダ Row3 Row2 Row Row0 Col 3 Col 2 Col Col 0 2 進数列の暗号 ( コード ) を元の情報に戻す回路 ( 復号器とも言う ) 3 進 3bit デコーダの真理値表 D D Q0 Q Q2 Q3 Q4 Q5 Q6 Q7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 n bit のデコーダを用いると,2 n 個のデバイスを選択する信号を生成できる は を制御し アドレス空間 上での所望のデバイスにアクセスしようとする このアドレス信号を復号 ( デコード ) して アクセスを可能にするのが アドレスデコーダ である アドレスマップ 例えば が 32 bit バスだった場合 アドレス空間 は 2 32 = 2 0 2 0 2 0 2 2 = 4 G のアドレスがあり のデータ幅が 32 bit で すべてのアドレスがに割り当てられている場合であれば アドレスマップ I/O (Input /Outp ut) 00000H~ 0000H このシステムは 32 bit 4 G = 6GB のを持つことになる 00000H~ 0000H 004000H~ 外部 004000H~ 外部 000000H~ 00000H 例えば 外部にアクセスしたい場合には の信号が 004000H~ の間では モジュールが選択されるように組み合わせ回路を実現する 内蔵 000000H~ 00000H 内蔵 2
記憶素子 (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 回のみ書き込み可能 (Writable at once) 紫外線で消去可能 (Erasable with Ultra Violet ray) 電気的に消去可能 (Electrically Erasable) 電気的に消去可能 (Electrically Erasable) RAM の話 SRAM (Static RAM) フリップフロップ回路 (Flip-Flop) で構成されるワード線 Tr 出力データ線 RAM の話 DRAM (Dynamic RAM) トランジスタとキャパシタで構成されるワード線データ線データ線ワード線データ線 ワード線 ライト時 : データ (or0) をデータ線に出力し ワード線に電圧 (Vcc) を印加トランジスタ (Tr) のソースとドレインが導通データが図の P 点に出力される出力されたデータはフリップフロップ回路により保持リード時 : データ線を開放し 再びワード線に電圧を印加 Tr のソースとドレインが導通し 保持されている出力点のデータがデータ線に出力される キャパシタ (Capacitor) に蓄えられた微小な電荷でデータを記憶 ( 保持 ) する読み出し動作が複雑記憶を維持するために リフレッシュ (refresh) という操作が必要ロウ (row: 行 ) とカラム (column: 列 ) に分けてアドレッシング (addressing) を行なう パソコンの中のモジュール パソコンの中では SDRAM が用いられており その規格は 凡そ以下のようなもの DDR SDRAM チップ規格モジュール規格動作周波数転送速度 DDR200 PC600 200MHz.6GB/s DDR266 PC200 266MHz 2.GB/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-066 PC3-8500 066MHz 8.5GB/s DDR3-333 PC3-0600 333MHz 0.67GB/s DDR3-600 PC3-2800 600MHz 2.8GB/s DDR3-800 PC3-4400 800MHz 4.4GB/s DDR3-2000 PC3-6000 2000MHz 6GB/s DDR3-233 PC3-7066 233MHz 7.06GB/s DDR4 SDRAM チップ規格 モジュール規格 動作周波数 転送速度 DDR4-233 PC4-7000 233MHz 7.06GB/s DDR4-2400 PC4-9200 2400MHz 9.2GB/s DDR4-2666 PC4-2333 2666MHz 2.3GB/s DDR4-3200 PC4-25600 3200MHz 25.6GB/s DDR4-4266 PC4-3400 4266MHz 34.GB/s 3
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 だと, 非常に高速な記憶素子群が のチップの上に構築されている キャッシュ (Cache memory) 演算器 (processor) ( 含レジスタ ) キャッシュ (Cache memory) ~ 数 00 ピコ秒程度 キャッシュからのデータの読み出しは高速 ~0 ナノ秒程度 アドレスデコーダと を設計する 主記憶 ( メイン :Main memory) キャッシュにデータが無い場合には主記憶からの読み出しとなる ~ 数 0 ナノ秒かかる アドレスデコーダとを設計するその ( マイコンなど ) の入出力命令 データ などの Peripheral Device アドレスデコーダとを設計するその 2 データ書き込みタイミング データ読み込みタイミング アドレス RD WR アドレスデコーダ :MeMory ReQuest 信号へのアクセスを要求する信号 Negative Logic RD: ReaD 信号データ読み込み要求信号 Negative Logic WR: WRite 信号データ書き込み要求信号 Negative Logic WR デコーダ出力 Address Bus : Fixed : Valid (Low active) WR : Valid (Low active) Data Bus : Enable RD デコーダ出力 Address Bus : Fixed : Valid (Low active) WR : Valid (Low active) Data Bus : Enable 4
アドレスデコーダとを設計するその 3 アドレス線が 6 本 (A0~A5) あるとする アドレス空間は (0000)H~(FFFF)H の範囲にある このうち (7000)H~(7FFF)Hの範囲にあるにアクセスすることができるようなアドレスデコーダを設計してみよう アドレス空間 最も簡単には アドレス線 6 本のうち A5~A2 の 4 本の部分が 7 となったときのみ をアクセスするように設計すればよい 7000H ~ 7XXXH ~ 7FFFH A5~A2 A~A8 A7~A4 A3~A0 ここが 7 2bit 2 2 bit = 4K word 00A0FFH~ 00A000H 008FFFH~ 007FFFH~ 007000H 外部 (External memory) 内蔵 (Internal memory) 0 アドレスデコーダとを設計するその4 D7 D6 D5 D4 D3 D2 D A5 A4 A3 A2 A A0 A9 A8 A7 A6 A5 A4 A3 A2 A A0? EN 2 8 D7 A5~A2 の 4 本の部分が 7 = (0)2 のとき CS=EN=Low となる回路 4K word モジュール CS A5 A0 CS : Chip Select 信号 Negative Logic EN : Enable 信号 Negative Logic 00A0FFH~ 00A000H 008FFFH~ 007FFFH~ 007000H アドレス空間 外部 (External memory) 内蔵 (Internal memory) アドレスデコーダとを設計するその5 デコーダICとICを利用する デコーダ IC の例 Enable A B C G G2A G2B Inputs Select Y0 Y Y2 Y3 Y4 Y5 Y6 Y7 Outputs 74HC38 G2=G2 G3 G G2 C B A Y0 Y Y2 Y3 Y4 Y5 Y6 Y7 X H X X X H H H H H H H H IC の例 A A2 A3 A4 A5 A6 A7 A8 G DIR B B2 B3 B4 B5 B6 B7 B8 74HC245 L X X X X H H H H H H H H H L L L L L H H H H H H H H L L L H H L H H H H H H H L L H L H H L H H H H H H L L H H H H H L H H H H H L H L L H H H H L H H H H L H L H H H H H H L H H DIR(DIRection 信号 ) H: A B L: A B G: Enable 信号 Negative Logic H L H H L H H H H H H L H H L H H H H H H H H H H L 5