现代计算机组成原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WHEN "1000" =>IF M='0' THEN F9<=A9 + (A9 AND B9)+CN;
ELSE F9<=(NOT A9) OR B9;END IF;
WHEN "1001" =>IF M='0' THEN F9<=A9 + B9 + CN; ELSE F9<=NOT(A9 XOR B9);
WHEN "1100" =>IF M='0' THEN F9<=A9 + A9 + CN; ELSE F9<= "000000001"; END IF;
WHEN "1101" =>IF M='0' THEN F9<=(A9 OR B9)+A9 + CN ; ELSE F9<=A9 OR (NOT B9); END IF; WHEN "1110" =>IF M='0' THEN F9<=(A9 OR(NOT B9))+A9+CN; ELSE F9<=A9 OR B9;END IF; WHEN "1111" =>IF M='0' THEN F9<=A9-CN; ELSE F9<=A9 ; END IF; WHEN OTHERS =>F9<= "000000000" ; END CASE; IF (A9= B9) THEN FZ <= '0';END IF; END PROCESS; F<= F9(7 DOWNTO 0) ; CO <= F9(8) ; COUT <= "0000" WHEN F9(8) = '0' ELSE "0001" ; END behav;
FA
F A减1
4.2 CPU中的基本部件
4.2.1.算术逻辑单元(ALU)
【例4-1】
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY ALU181 IS
PORT ( S : IN STD_LOGIC_VECTOR(3 DOWNTO 0 );
ELSE F9<=NOT B9; END IF;
WHEN "0110"=>IF M='0' THEN F9<=A9 -B9 - CN ; ELSE F9<=A9 XOR B9; END IF;
WHEN "0111"=>IF M='0' THEN F9<=(A9 AND (NOT B9))-CN ;
ELSE F9<=A9 AND (NOT B9); END IF;
现代计算机组成原理
潘 明 潘 松 编著
科学出版社
1
.
第4 章
CPU功能模块设计
2
.
4.1 8位CPU功能与结构
1.CPU的功能 (1)指令控制 (2)操作控制 (3)时序控制 (4)数据加工
3
.
4.1 8位CPU功能与结构
2.CPU的组成结构
4
图4-1 CPU组成部件逻辑结构图
.
4.2 CPU中的基本部件
表4-1 ALU181的运算功能
M=H 逻辑功能
FA FAB
FAB F 0
F AB
FB FAB FAB FAB
FAB FB
FAB
F 1 FAB
FAB
FA
F
高电平作用数据
M=L 算术操作
Cn=L(无进位)
Cn=H(有进位)
FA
FAB
FAB
减1(2的补码)
FA加AB
F(AB 加) AB
F A加1
F(AB加) 1 FAB + 1
A,B : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
F : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
COUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
M,CN : IN STD_LOGIC;
CO,FZ : OUT STD_LOGIC );
END IF;
WHEN "0010"=>IF M='0' THEN F9<=(A9 OR (NOT B9))+CN;
ELSE F9<=(NOT A9) AND B9; END IF;
WHEN "0011"=>IF M='0' THEN F9<= "000000000"-CN ; ELSE F9<="000000000";
END IF;
WHEN "0100"=>IF M='0' THEN F9<=A9+(A9 AND NOT B9)+CN ;
ELSE F9<=NOT (A9 AND B9); END IF;
WHEN "01Fra Baidu bibliotek1"=>IF M='0' THEN F9<=(A9 OR B9)+(A9 AND NOT B9)+CN ;
F 0 FA加AB加 1
F(AB加) A+B1
FA减B
FAB F A加AB F A加B
F( AB)加 AB
FA减 B减 1 F(AB)减1
F A加A加B1 F A加B加1 F(AB)加A加B1
FAB
FAB减1
F A加 * A
F(AB)加 A F(AB)加 A
FA加 A加 1 F(AB)加加 A1 F(AB)加加 A1
(接下页)
8
.
4.1 END IF; 8位CPU功能与结构
WHEN "1010" =>IF M='0' THEN F9<=(A9 OR (NOT B9))+(A9 AND B9)+CN ; ELSE F9<=B9; END IF;
ENWD4HI.FE2;N.1".101算1"术=>逻IF 辑M=单'0'元TH(ENALF9U<=)(A9 AND B9)- CN ; ELSE F9<=A9 AND B9;
END ALU181;
ARCHITECTURE behav OF ALU181 IS
SIGNAL A9,B9,F9 : STD_LOGIC_VECTOR(8 DOWNTO 0);(接下页)
7
.
BEGIN
A9 <= '0' & A ; B9 <= '0' & B ;
4PR.O1CESS(8M,C位N,AC9,B9P) U功能与结构
4.2.1.算术逻辑单元(ALU)
算术逻辑单元(ALU)是计算机的核心部件之一,它能执 行加法和减法等算术运算,也能执行“与”、“或”、“非” 等逻辑运算。
算术逻辑单元的基本功能可以根据74LS181的功能用 VHDL编辑而成。
5
.
选择端
S3 S2 S1 S0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
BEGIN
CASE S IS
W W4HH.EE2NN.1"".000000算01""=术=>>II逻FF MM辑==''单00'' TT元HHE(ENNAFF9L9<<U==A()A99+OCRN
; ELSE F9<=NOT A9; END IF; B9)+CN; ELSE F9<=NOT(A9 OR B9);