000000 ランダム
 HOME | DIARY | PROFILE 【お気に入りブログ登録】 【ログイン】

CPUを作ろう ~計算機教材とマイコンと電子工作~

ALUとアキュームレータ


2.3.3 ALUおよびアキュームレータ

動作確認用周辺回路を含むALU(算術論理演算装置)の回路構成を図2-9に示す.

図左側の縦に8本並列に並んでいるのがデータバスで,すぐ横に配置されているのがアキュームレータに用いた8ビットレジスタである.これは8ビットシフトレジスタの74199というTTLを用いた.
縦に2個配置されている74LS181は4ビットALUの論理ICで,A3-A0の4ビットとB3-B0の4ビットの演算結果がF3-F0に出力される.また,足し算の桁上がり結果等がCn+1に出力される.これを2個用いて8ビットの演算回路を構成した.

演算の種類は,S3からS1までと,Cn,Mの入力により制御される.命令レジスタの上位3ビットから演算の種類が決定されるので,16進キーの3ビットを用いて命令レジスタからの入力を想定し,それに応じた制御出力をPROMにより生成した.

PROMの内容は,CircuitMakerの画面上でPROMにカーソルを合わせて右クリックで内容表示を選択して確認できる.ADD,SUB,NANDおよび左SHIFT命令は実現できたが,74LS181の規格上,右シフトは本回路では実現できなかった.
ALUの演算結果は横向きに配置されている74199によりラッチ(保持)され,そのタイミングがトリガクロックにより与えられる.その出力は,74LS245のトライステートバッファを介してデータバスに接続されている.

データバスの左側には,バスに信号を与える16進キー2個がトライステートバッファを介して接続されている.データバスでは双方向にデータがやりとりされるので,レジスタまたはメモリの2ヶ所から同時にデータが出力されないように,出力信号はトライステートバッファを介して接続されなければならず,なおかつ,出力はどちらか一方のみが選択されなければならない.

演算結果において,桁上がりが生じた場合とゼロの値に成った場合は,Cn+1のキャリー信号と8入力NORにより検出され,それぞれキャリーフラグとゼロフラグとしてD-FF(74LS74)2個に記憶される.STORE命令時はACCのデータをALUを素通りさせてメモリへ書き込むが,この際フラグの状態が変化しないように,D-FFの入力を制御している.

K-COM-sekkei9

図2-9 ALUの回路構成



Copyright (c) 1997-2018 Rakuten, Inc. All Rights Reserved.