第 8 回中間試験前の演習 問.VHDL ソースコードを読む () 次の VHDL のソースコードが記述しているゲート回路の回路図を示せ. use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Logic is port ( A : in std_logic_vector(3 downto Y : out std_logic end Logic; architecture Behavioral of Logic is signal TMP : std_logic_vector( downto TMP() <= A(3) xor A(2 TMP() <= TMP() xor A( Y <= TMP() xor A( end Behavioral; (2) この回路の入出力の真理値表を示し,(3) どのような働きをする回路か述べよ (2) (3) A(3) A(2) A() A() TMP() TMP() Y ヒント :4 ビットパターン A の中の の個数に注目 マイクロプロセッサとインタフェース講義資料 8-
問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN : in std_logic; R : in std_logic_vector(n- downto Q : out std_logic_vector(n- downto ) end RegN; architecture RTL of RegN is process(clk) if (CLK'event and CLK = '') then if (EN = '') then Q <= R; CLK EN R() Q() H L 2)LOAD 入力付きカウンタ use IEEE.std_logic_64.all; use IEEE.std_logic_unsigned.all; entity PC4 is port ( CLK, RESET, LOAD : in std_logic; D : in std_logic_vector(3 downto C : out std_logic_vector(3 downto ) end PC4; architecture RTL of PC4 is signal count : std_logic_vector(3 downto process(clk, RESET) if (RESET = '') then count <= (others => '' elsif (CLK'event and CLK = '') then if (LOAD = '') then count <= D; count <= count + ''; C <= count; end RTL; リセット データのロード CLK RESET LOAD D(3) D(2) D() D() C(3) C(2) C() C() 8-2 マイクロプロセッサとインタフェース講義資料
3) 同期イネーブル入力付きカウンタ リスト : 問 2 の VHDL コード use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Logic_circuit is port ( CLK : in std_logic; RST : in std_logic; EN : in std_logic; REG_EN_O: out std_logic; COUNT : out std_logic_vector(3 downto ) end Logic_circuit; architecture Behavioral of Logic_circuit is signal cnt : std_logic_vector(3 downto signal reg_en : std_logic; process(clk,rst) レジスタの記述 if(rst='') then reg_en<=''; elsif(clk'event and CLK='') then reg_en<=en; process(clk,rst) if(rst='') then cnt<=(others=>'' elsif(clk'event and CLK='') then if(reg_en='') then if(conv_integer(cnt)=8) then cnt<=(others=>'' cnt<=cnt+''; REG_EN_O<=reg_en; COUNT<=cnt; end Behavioral; CLK RST EN REG_EN_O COUNT[3] COUNT[2] COUNT[] COUNT[] タイミングチャート マイクロプロセッサとインタフェース講義資料 8-3
問 3. ステートマシンの応用バスの動作応答速度のばらつきが大きい入出力装置 (I/O) をバスに接続する場合,READY 信号などの確認用信号を用いて入出力のタイミングを調整する 以下に示すのは, バスに接続された I/O にアクセスするためのバスコントローラの VHDL コードである コントローラの入出力信号の仕様は Table に示すとおりである N bit N bit M bit W_DATA R_DATA ADDRESS W D_BUS A_BUS READY IO_WRITE IO_READ N bit M bit W_DATA:I/O に書き込みたいデータ [ 入力 ] R_DATA:I/O から読み出されたデータ [ 出力 ] ADDRESS : I/O のアドレス [ 入力 ] W: で I/O への書き込み, で読み出し [ 入力 ] D_BUS: データバス [ 入出力 ] A_BUS: アドレスバス [ 出力 ] READY: I/O がアクセス可能なときに になる [ 入力 ] IO_WRITE: 書き込みを指示する制御バス信号 [ 出力 ] IO_READ: 読み出しを指示する制御バス信号 [ 出力 ] CLK RESET use IEEE.std_logic_64.all; use IEEE.std_logic_unsigned.all; entity BUS_CONTROLLER is generic (N : integer := 8; M : integer := 6 port ( CLK, RESET, READY, W : in std_logic; W_DATA : input std_logic_vector(n- downto ADDRESS : input std_logic_vector(m- downto D_BUS : inout std_logic_vector(n- downto A_BUS : out std_logic_vector(m- downto R_DATA : output std_logic_vector(n- downto IO_WRITE, IO_READ : out std_logic end BUS_CONTROLLER; architecture RTL of BUS_CONTROLLER is signal count : std_logic_vector(n- downto type type_state is (Idle, Write, Read, W_wait, R_wait signal state : type_state; IO_WRITE <= W; IO_READ <= not W; A_BUS <= ADDRESS; process(clk, RESET) if (RESET = '') then state <= Idle; elsif (CLK'event and CLK = '') then case state is when Idle => if (W = '') then state <= W_wait; state <= R_wait; when W_wait => if(ready= '') state = W_wait; state <=Write; end if when R_wait => if(ready= '') state <= R_wait; state <= Read; when Write => state <= Idle; when Read => state <= Idle; when others => state<=idle; end case; D_BUS <= W_DATA when state = Write (others=> 'Z' R_DATA <= D_BUS when state = Read (others=> '' end RTL; 8-4 マイクロプロセッサとインタフェース講義資料
RESET= Idle W= W= W_wait R_wait マイクロプロセッサとインタフェース講義資料 8-5
問 4. マイクロプロッサのアーキテクチャ Fig.4 (a) は,4 ビットプロセッサのアーキテクチャの例である このプロセッサのコントローラが 出力する制御信号は 4 ビットで そのフォーマットを Fig.4 (b) に示す W/ R はメモリ制御信号, OP_MODE は ALU( 算術演算論理回路 ) の演算の種類を指定するモード,WE_A,B, 及び C はレジスタにデータ を書き込むための許可信号,WE_R_F はレジスタファイルにデータを書き込むための許可信号,SEL はマル チプレクサの選択信号,R_ADR はレジスタファイルアドレス, 及び M_ADR はメモリアドレスを示す また, リスト 2 はアーキテクチャ内で用いられる ALU の VHDL 記述である デコーダ & ステートマシン 命令 データメモリアドレス M_ADR W/R WE_A WE_B WE_C WE WE R_A R_B WE R_C リセット SEL 命令フェッチ MUX デコード 実行 ライトバック OP_MODE A B ALU WE_R_F R_ADR レジスタファイル 制御信号フォーマット (4ビット) WE_ OP_MODE R_ADR M_ADR A B C R_F SEL W/R OP_MODE :ALU の演算モード : 算術加算 : 算術減算 : 論理 AND : 論理 OR WE_ : レジスタライトイネーブル WE_ A B C R_F 9 8 32 9 レジスタ名 のときにデータを各レジスタに格納 8 7 6 5 4 3 2 SEL: MUX( マルチプレクサ ) の選択出力信号 W/R : ポート を選択 : ポート を選択 : メモリ制御信号 : メモリから読み込み : メモリに書き込み R_ADR: レジスタファイルアドレス (~) M_ADR: メモリアドレス (~) (a) アーキテクチャ (b) 制御信号フォーマットとその機能 --リスト 2 ALU の VHDL 記述 2レジスタ A と C の内容を論理 AND し結果をレ use IEEE.STD_LOGIC_64.ALL; ジスタファイルアドレス に書き込む場合 use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_SIGNED.ALL; entity ALU4 is port ( A, B : in std_logic_vector(3 downto -- データ入力 (4bit) M : in std_logic_vector( downto -- 制御入力 (2bit) O : out std_logic_vector(3 downto -- 出力 (4bit) S : out std_logic -- 符号出力 (bit) end ALU4; architecture RTL of ALU4 is signal alu : std_logic_vector(3 downto -- ALU 内部データ (9bit に拡張 ) alu <= (A(3) & A) + (B(3) & B) when (M = "") -- bit 拡張後に符号付き加算 (A(3) & A) - (B(3) & B) when (M = "") -- bit 拡張後に符号付き減算 ('' & A) and ('' & B) when (M = "") -- AND 演算 end RTL; ('' & A) or ('' & B O <= alu(3 downto S <= alu(4 Fig.4 マイクロプロセッサのアーキテクチャの例 レジスタ B にメモリアドレス 番地のデ ータを格納する場合 -- OR 演算 注 : レジスタファイルには符号出力を除いたデータを出力している 8-6 マイクロプロセッサとインタフェース講義資料
このマイクロプロセッサのアーキテクチャについて, 以下の問に答えよ () 以下の )~5) の各動作を実行するためのビットパターンのシーケンスを示せ ) メモリ間算術加算命令 メモリアドレス からデータを読み込み, レジスタ B に格納 2 メモリアドレス からデータを読み込み, レジスタ C に格納 3 レジスタ B 及びレジスタ C の内容を算術加算演算し, 結果をレジスタファイルアドレス のレジスタに格納 2) レジスタ間データ転送命令 レジスタファイルアドレス の内容をレジスタ A に格納 3) レジスタ間減算命令 レジスタ A 及びレジスタ C の内容を算術減算し, 結果をレジスタファイルアドレス に格納 4) メモリ - レジスタ間論理 OR 演算命令 メモリアドレス からデータを読み込み, レジスタ C に格納 2 レジスタファイルアドレス の内容をレジスタ A に格納 3 レジスタ A 及びレジスタ C の内容を論理 OR 演算し, 結果をレジスタファイルアドレス へ格納 5) レジスタからメモリへのデータ転送命令 レジスタファイルアドレス の内容をメモリアドレス 番地に書き込む 32 9 8 7 6 5 4 3 2 ) メモリ間算術加算命令 2 3 2) レジスタ間データ転送命令 3) レジスタ間減算命令 4) メモリ - レジスタ間 論理 OR 演算命令 5) レジスタからメモリへのデータ転送命令 2 3 (2) 上記の命令を全て実行した時の, レジスタファイルの内容を記入せよ ただし, 上記で指定されたメモリの内容は Table のとおりであり, レジスタファイルアドレス にはデータとして が格納されているとせよ Table 指定されたメモリアドレスの内容 メモリアドレスデータ アドレス レジスタファイル データ マイクロプロセッサとインタフェース講義資料 8-7
問 5. コンピュータと内部表現の基礎 ) アドレス 24 ビットのプロセッサが直接にアクセス ( 読み書き ) できるメモリの最大容量を求めよ ただし, アドレスに 8 ビットデータを割り当てる通常のメモリ構成とし, 容量は G バイト,K バイト,M バイトなどの慣用的な単位を用いること 24 最大 2 個のアドレスを指定でき, つのアドレスに8 ビット (= バイト ) が割り当てられるから, 24 2 バイト =6M バイト 2)8 ビットプロセッサについて以下の問いに答えよ ただし, このプロセッサでは, データレジスタのビット幅は 8 であり,ALU 内部では 9 ビットにビット拡張して扱っているものとせよ 8 ビットおよび 9 ビットのデータで表現できる整数の値の範囲を示せ 8ビット : 2 7 ~ 2 7 の範囲 (-28~27) 9ビット : 2 8 ~ 2 8 の範囲 (-256~255) 22 つの 8 ビットのデータの加減算の結果の値の範囲を示せ -28~27 の範囲の 2 数の加減算なので,-256~254 3 内部表現 および で表される整数の値と, そのビット拡張後の内部表現を示せ = 64 + 8 + 4 + = 77 ビット拡張すると, MSB が なので負の数 2 の補数を求めると, となる = 64 + 32 + 8 + 2 + = 7 表されている数値は -7 ビット拡張すると, 3) 以下の演算を 8 ビット内部表現で実行し, 結果の 進数表記を示せ ( 結果がオーバーフローする場合は, オーバーフロー と記せ ) + 2 + 3-2 3 4)3)~3 の演算を 9 ビットに拡張してから行ってみよ 2 3 8-8 マイクロプロセッサとインタフェース講義資料
第 8 回中間試験前の演習 問.VHDL ソースコードを読む () 次の VHDL のソースコードが記述しているゲート回路の回路図を示せ. use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Logic is Port ( A : in std_logic_vector(3 downto Y : out std_logic end Logic; architecture Behavioral of Logic is signal TMP : std_logic_vector( downto TMP() <= A(3) xor A(2 TMP() <= TMP() xor A( Y <= TMP() xor A( end Behavioral; A(3) A(2) A() A() TMP() TMP() Y (2) この回路の入出力の真理値表を示し,(3) どのような働きをする回路か述べよ (2) (3) A(3) A(2) A() A() TMP() TMP() Y 入力信号のビット列の中で の個 数が奇数の場合に出力信号 Y が になる回路である * * つまり 奇数パリティチェック回 路 として働く ヒント :4 ビットパターン A の中の の個数に注目 マイクロプロセッサとインタフェース講義資料 8-9
問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 (R() と Q() のみのタイミングチャート ) use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN : in std_logic; R : in std_logic_vector(n- downto Q : out std_logic_vector(n- downto ) end RegN; architecture RTL of RegN is process(clk) if (CLK'event and CLK = '') then if (EN = '') then Q <= R; CLK EN R() Q() H L 2)LOAD 入力付きカウンタ use IEEE.std_logic_64.all; use IEEE.std_logic_unsigned.all; entity PC4 is port ( CLK, RESET, LOAD : in std_logic; D : in std_logic_vector(3 downto C : out std_logic_vector(3 downto ) end PC4; architecture RTL of PC4 is signal count : std_logic_vector(3 downto process(clk, RESET) if (RESET = '') then count <= (others => '' elsif (CLK'event and CLK = '') then if (LOAD = '') then count <= D; count <= count + ''; C <= count; end RTL; リセット データのロード CLK RESET LOAD D(3) D(2) D() D() C(3) C(2) C() C() C = 8- マイクロプロセッサとインタフェース講義資料
3) 同期イネーブル入力付きカウンタ リスト : 問 2 の VHDL コード use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Logic_circuit is Port ( CLK : in std_logic; RST : in std_logic; EN : in std_logic; REG_EN_O: out std_logic; COUNT : out std_logic_vector(3 downto ) end Logic_circuit; architecture Behavioral of Logic_circuit is signal cnt : std_logic_vector(3 downto signal reg_en : std_logic; process(clk,rst) レジスタの記述 if(rst='') then reg_en<=''; elsif(clk'event and CLK='') then reg_en<=en; process(clk,rst) if(rst='') then cnt<=(others=>'' elsif(clk'event and CLK='') then if(reg_en='') then if(conv_integer(cnt)=8) then cnt<=(others=>'' cnt<=cnt+''; REG_EN_O<=reg_en; COUNT<=cnt; end Behavioral; CLK RST EN REG_EN_O COUNT[3] COUNT[2] COUNT[] COUNT[] COUNT=,,,,,,,,,,, タイミングチャート マイクロプロセッサとインタフェース講義資料 8-
問 3. ステートマシンの応用バスの動作応答速度のばらつきが大きい入出力装置 (I/O) をバスに接続する場合,READY 信号などの確認用信号を用いて入出力のタイミングを調整する 以下に示すのは, バスに接続された I/O にアクセスするためのバスコントローラの VHDL コードである コントローラの入出力信号の仕様は Table に示すとおりである N bit N bit M bit W_DATA R_DATA ADDRESS W D_BUS A_BUS READY IO_WRITE IO_READ N bit M bit W_DATA:I/O に書き込みたいデータ [ 入力 ] R_DATA:I/O から読み出されたデータ [ 出力 ] ADDRESS : I/O のアドレス [ 入力 ] W: で I/O への書き込み, で読み出し [ 入力 ] D_BUS: データバス [ 入出力 ] A_BUS: アドレスバス [ 出力 ] READY: I/O がアクセス可能なときに になる [ 入力 ] IO_WRITE: 書き込みを指示する制御バス信号 [ 出力 ] IO_READ: 読み出しを指示する制御バス信号 [ 出力 ] CLK RESET use IEEE.std_logic_64.all; use IEEE.std_logic_unsigned.all; entity BUS_CONTROLLER is generic (N : integer := 8; M : integer := 6 port ( CLK, RESET, READY, W : in std_logic; W_DATA : input std_logic_vector(n- downto ADDRESS : input std_logic_vector(m- downto D_BUS : inout std_logic_vector(n- downto A_BUS : out std_logic_vector(m- downto R_DATA : output std_logic_vector(n- downto IO_WRITE, IO_READ : out std_logic end BUS_CONTROLLER; architecture RTL of BUS_CONTROLLER is signal count : std_logic_vector(n- downto type type_state is (Idle, Write, Read, W_wait, R_wait signal state : type_state; IO_WRITE <= W; IO_READ <= not W; A_BUS <= ADDRESS; process(clk, RESET) if (RESET = '') then state <= Idle; elsif (CLK'event and CLK = '') then case state is when Idle => if (W = '') then state <= W_wait; state <= R_wait; when W_wait => if(ready= '') state <= W_wait; state <=Write; end if when R_wait => if(ready= '') state <= R_wait; state <= Read; when Write => state <= Idle; when Read => state <= Idle; when others => state<=idle; end case; D_BUS <= W_DATA when state = Write (others=> 'Z' R_DATA <= D_BUS when state = Read (others=> '' end RTL; 8-2 マイクロプロセッサとインタフェース講義資料
() このバスコントローラの状態遷移図を示せ RESET= Idle W= W= READY= READY= W_wait READY= R_wait READY= Write Read マイクロプロセッサとインタフェース講義資料 8-3
問 4. マイクロプロッサのアーキテクチャ Fig.4 (a) は,4ビットプロセッサのアーキテクチャの例である このプロセッサのコントローラが出力する制御信号は 4 ビットで そのフォーマットを Fig.4 (b) に示す W/ R はメモリ制御信号,OP_MODE は ALU( 算術演算論理回路 ) の演算の種類を指定するモード,WE_A,B, 及び C はレジスタにデータを書き込むための許可信号,WE_R_F はレジスタファイルにデータを書き込むための許可信号,SEL はマルチプレクサの選択信号,R_ADR はレジスタファイルアドレス, 及び M_ADR はメモリアドレスを示す また, リスト 2 はアーキテクチャ内で用いられる ALU の VHDL 記述である 命令 データメモリアドレス M_ADR W/R WE_A WE_B WE_C WE WE R_A R_B WE R_C リセット デコーダ & ステートマシン SEL 命令フェッチ MUX デコード 実行 ライトバック OP_MODE A B ALU WE_R_F R_ADR レジスタファイル 制御信号フォーマット (4ビット) WE_ OP_MODE R_ADR M_ADR A B C R_F SEL W/R OP_MODE :ALU の演算モード : 算術加算 : 算術減算 : 論理 AND : 論理 OR WE_ : レジスタライトイネーブル WE_ A B C R_F 9 8 32 9 レジスタ名 のときにデータを各レジスタに格納 8 7 6 5 4 3 2 SEL: MUX( マルチプレクサ ) の選択出力信号 W/R : ポート を選択 : ポート を選択 : メモリ制御信号 : メモリから読み込み : メモリに書き込み R_ADR: レジスタファイルアドレス (~) M_ADR: メモリアドレス (~) (a) アーキテクチャ (b) 制御信号フォーマットとその機能 Fig.4 マイクロプロセッサのアーキテクチャの例 2レジスタ A と C の内容を論理 AND し結果をレ --リスト 2 ALU の VHDL 記述ジスタファイルアドレス に書き込む場合 use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_SIGNED.ALL; entity ALU4 is port ( A, B : in std_logic_vector(3 downto -- データ入力 (4bit) M : in std_logic_vector( downto -- 制御入力 (2bit) O : out std_logic_vector(3 downto -- 出力 (4bit) S : out std_logic -- 符号出力 (bit) end ALU4; architecture RTL of ALU4 is signal alu : std_logic_vector(3 downto -- ALU 内部データ (9bit に拡張 ) alu <= (A(3) & A) + (B(3) & B) when (M = "") -- bit 拡張後に符号付き加算 (A(3) & A) - (B(3) & B) when (M = "") -- bit 拡張後に符号付き減算 ('' & A) and ('' & B) when (M = "") -- AND 演算 end RTL; ('' & A) or ('' & B O <= alu(3 downto S <= alu(4 レジスタ B にメモリアドレス 番地のデ ータを格納する場合 -- OR 演算 注 : レジスタファイルには符号出力を除いたデータを出力している 8-4 マイクロプロセッサとインタフェース講義資料
このマイクロプロセッサのアーキテクチャについて, 以下の問に答えよ () 以下の )~5) の各動作を実行するためのビットパターンのシーケンスを示せ ) メモリ間算術加算命令 メモリアドレス からデータを読み込み, レジスタ B に格納 2 メモリアドレス からデータを読み込み, レジスタ C に格納 3 レジスタ B 及びレジスタ C の内容を算術加算演算し, 結果をレジスタファイルアドレス のレジスタに格納 2) レジスタ間データ転送命令 レジスタファイルアドレス の内容をレジスタ A に格納 3) レジスタ間減算命令 レジスタ A 及びレジスタ C の内容を算術減算し, 結果をレジスタファイルアドレス に格納 4) メモリ - レジスタ間論理 OR 演算命令 メモリアドレス からデータを読み込み, レジスタ C に格納 2 レジスタファイルアドレス の内容をレジスタ A に格納 3 レジスタ A 及びレジスタ C の内容を論理 OR 演算し, 結果をレジスタファイルアドレス へ格納 5) レジスタからメモリへのデータ転送命令 レジスタファイルアドレス の内容をメモリアドレス 番地に書き込む 32 9 8 7 6 5 4 3 2 ) メモリ間算術加算命令 2 3 2) レジスタ間データ転送命令 3) レジスタ間減算命令 4) メモリ - レジスタ間 論理 OR 演算命令 5) レジスタからメモリへのデータ転送命令 2 3 (2) 上記の命令を全て実行した時の, レジスタファイルの内容を記入せよ ただし, 上記で指定されたメモリの内容は Table のとおりであり, レジスタファイルアドレス にはデータとして が格納されているとせよ Table 指定されたメモリアドレスの内容 メモリアドレスデータ アドレス レジスタファイル データ マイクロプロセッサとインタフェース講義資料 8-5
問 5. コンピュータと内部表現の基礎 ) アドレス 24 ビットのプロセッサが直接にアクセス ( 読み書き ) できるメモリの最大容量を求めよ ただし, アドレスに 8 ビットデータを割り当てる通常のメモリ構成とし, 容量は G バイト,K バイト,M バイトなどの慣用的な単位を用いること 24 最大 2 個のアドレスを指定でき, つのアドレスに8 ビット (= バイト ) が割り当てられるから, 24 2 バイト =6M バイト 2)8 ビットプロセッサについて以下の問いに答えよ ただし, このプロセッサでは, データレジスタのビット幅は 8 であり,ALU 内部では 9 ビットにビット拡張して扱っているものとせよ 8 ビットおよび 9 ビットのデータで表現できる整数の値の範囲を示せ 8ビット : 2 7 ~ 2 7 の範囲 (-28~27) 9ビット : 2 8 ~ 2 8 の範囲 (-256~255) 22 つの 8 ビットのデータの加減算の結果の値の範囲を示せ -28~27 の範囲の 2 数の加減算なので,-256~254 3 内部表現 および で表される整数の値と, そのビット拡張後の内部表現を示せ = 64 + 8 + 4 + = 77 ビット拡張すると, MSB が なので負の数 2 の補数を求めると, となる = 64 + 32 + 8 + 2 + = 7 表されている数値は -7 ビット拡張すると, 3) 以下の演算を 8 ビット内部表現で実行し, 結果の 進数表記を示せ ( 結果がオーバーフローする場合は, オーバーフロー と記せ ) + 2 + 3-2 3 + 進数表記では 23 + オーバーフロー の 2 の補数は, + 桁上げを無視して 進数表記では 3 4)3)~3 の演算を 9 ビットに拡張してから行ってみよ 2 3 + 進数表記では 23 + 進数表記では 38 の 2 の補数は, + 桁上げを無視して 進数表記では 3 8-6 マイクロプロセッサとインタフェース講義資料