现代计算机组成原理 教学课件 ppt 作者 潘松 潘明 编著 第 4 章

上传人:E**** 文档编号:89257011 上传时间:2019-05-22 格式:PPT 页数:100 大小:1.56MB
返回 下载 相关 举报
现代计算机组成原理 教学课件 ppt 作者 潘松 潘明 编著 第 4 章_第1页
第1页 / 共100页
现代计算机组成原理 教学课件 ppt 作者 潘松 潘明 编著 第 4 章_第2页
第2页 / 共100页
现代计算机组成原理 教学课件 ppt 作者 潘松 潘明 编著 第 4 章_第3页
第3页 / 共100页
现代计算机组成原理 教学课件 ppt 作者 潘松 潘明 编著 第 4 章_第4页
第4页 / 共100页
现代计算机组成原理 教学课件 ppt 作者 潘松 潘明 编著 第 4 章_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《现代计算机组成原理 教学课件 ppt 作者 潘松 潘明 编著 第 4 章》由会员分享,可在线阅读,更多相关《现代计算机组成原理 教学课件 ppt 作者 潘松 潘明 编著 第 4 章(100页珍藏版)》请在金锄头文库上搜索。

1、现代计算机组成原理,潘 明 潘 松 编著,科学出版社,第 4 章,CPU功能模块设计,4.1 8位CPU功能与结构,1CPU的功能,(1)指令控制,(2)操作控制,(3)时序控制,(4)数据加工,4.1 8位CPU功能与结构,2CPU的组成结构,图4-1 CPU组成部件逻辑结构图,4.2 CPU中的基本部件,4.2.1算术逻辑单元(ALU),算术逻辑单元(ALU)是计算机的核心部件之一,它能执行加法和减法等算术运算,也能执行“与”、“或”、“非”等逻辑运算。 算术逻辑单元的基本功能可以根据74LS181的功能用VHDL编辑而成。,表4-1 ALU181的运算功能,4.2 CPU中的基本部件,4

2、.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 ); 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;

3、CO,FZ : OUT STD_LOGIC ); END ALU181; ARCHITECTURE behav OF ALU181 IS SIGNAL A9,B9,F9 : STD_LOGIC_VECTOR(8 DOWNTO 0);(接下页),4.1 8位CPU功能与结构,4.2.1算术逻辑单元(ALU),BEGIN A9 IF M=0 THEN F9IF M=0 THEN F9IF M=0 THEN F9IF M=0 THEN F9IF M=0 THEN F9IF M=0 THEN F9IF M=0 THEN F9IF M=0 THEN F9IF M=0 THEN F9IF M=0 THEN

4、 F9=A9 + B9 + CN; ELSE F9=NOT(A9 XOR B9);,(接下页),4.1 8位CPU功能与结构,4.2.1算术逻辑单元(ALU),END IF; WHEN “1010“ =IF M=0 THEN F9IF M=0 THEN F9IF M=0 THEN F9IF M=0 THEN F9IF M=0 THEN F9IF M=0 THEN F9F9= “000000000“ ; END CASE; IF (A9= B9) THEN FZ = 0;END IF; END PROCESS; F= F9(7 DOWNTO 0) ; CO = F9(8) ; COUT = “0

5、000“ WHEN F9(8) = 0 ELSE “0001“ ; END behav;,4.2 CPU中的基本部件,4.2.1算术逻辑单元(ALU),图4-2 ALU逻辑结构图,4.2 CPU中的基本部件,4.2.2 数据缓冲寄存器,【例4-2】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY LATCH8 IS PORT ( GATE : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END L

6、ATCH8; ARCHITECTURE behav OF LATCH8 IS BEGIN PROCESS(GATE, DIN) BEGIN IF GATE = 1 THEN DOUT = DIN ; END IF; END PROCESS; END behav;,4.2 CPU中的基本部件,4.2.3 移位运算器,表4-2 移位运算器的功能,4.2 CPU中的基本部件,4.2.3 移位运算器,【例4-3】 Library IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY SHIFTER IS PORT (CLK, M, C0 : IN STD_LOGIC; S

7、 : IN STD_LOGIC_VECTOR(1 DOWNTO 0); D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); QB : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); CN : OUT STD_LOGIC); END ENTITY; ARCHITECTURE BEHAV OF SHIFTER IS SIGNAL ABC : STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL REG : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL CY : STD_LOGIC ; (接下页),4.1 8位

8、CPU功能与结构,4.2.3 移位运算器,BEGIN PROCESS (CLK,ABC,C0) BEGIN IF CLKEVENT AND CLK = 1 THEN CASE ABC IS WHEN “011“ =REG(0)REG(0)REG(7)REG(7)REG(7 DOWNTO 0) REG(7 DOWNTO 0) REG = REG ; CY = CY ; -保持 END CASE; END IF; END PROCESS; ABC = S ,4.2 CPU中的基本部件,4.2.4 程序存储器与数据存储器,图4-3 正弦信号发生器结构框图,1工作原理,4.2 CPU中的基本部件,4.

9、2.4 程序存储器与数据存储器,2定制初始化数据文件,【例4-4】 WIDTH = 8; DEPTH = 64; ADDRESS_RADIX = HEX; DATA_RADIX = HEX; CONTENT BEGIN 0 : FF; 1 : FE; 2 : FC; 3 : F9; 4 : F5; (数据略去) 3E : FE; 3F : FF; END;,4.2 CPU中的基本部件,4.2.4 程序存储器与数据存储器,图4-4 将波形数据填入mif文件表中,2定制初始化数据文件,4.2 CPU中的基本部件,4.2.4 程序存储器与数据存储器,图4-5 ASM格式建hex文件,2定制初始化数据

10、文件,4.2 CPU中的基本部件,4.2.4 程序存储器与数据存储器,图4-6 sdata.hex文件的放置路径,2定制初始化数据文件,4.2 CPU中的基本部件,4.2.4 程序存储器与数据存储器,图4-7 定制新的宏功能块,3定制LPM_ROM元件,4.1 8位CPU功能与结构,4.2.4 程序存储器与数据存储器,图4-8 LPM宏功能块设定,3定制LPM_ROM元件,4.1 8位CPU功能与结构,4.2.4 程序存储器与数据存储器,图4-9 选择data_rom模块数据线和地址线宽度,3定制LPM_ROM元件,4.2 CPU中的基本部件,4.2.4 程序存储器与数据存储器,图4-10 选

11、择地址锁存信号inclock,3定制LPM_ROM元件,4.2 CPU中的基本部件,4.2.4 程序存储器与数据存储器,图4-11 调入ROM初始化数据文件并选择在系统读写功能,3定制LPM_ROM元件,4.1 8位CPU功能与结构,4.2.4 程序存储器与数据存储器,3定制LPM_ROM元件,【例4-5】 LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY altera_mf; USE altera_mf.altera_mf_components.all; -使用宏功能库中的所有元件 ENTITY data_rom IS PORT (addr

12、ess : IN STD_LOGIC_VECTOR (5 DOWNTO 0); inclock : IN STD_LOGIC ; q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END data_rom; ARCHITECTURE SYN OF data_rom IS SIGNAL sub_wire0 : STD_LOGIC_VECTOR (7 DOWNTO 0); COMPONENT altsyncram -例化altsyncram元件,调用了LPM模块altsyncram GENERIC ( -参数传递语句 intended_device_family :

13、 STRING; -类属参量数据类型定义 width_a : NATURAL; widthad_a : NATURAL; numwords_a : NATURAL; operation_mode : STRING; outdata_reg_a : STRING; address_aclr_a : STRING; outdata_aclr_a : STRING; width_byteena_a : NATURAL; (接下页),4.1 8位CPU功能与结构,4.2.4 程序存储器与数据存储器,3定制LPM_ROM元件,init_file : STRING; lpm_hint : STRING;

14、lpm_type : STRING ); PORT ( clock0 : IN STD_LOGIC ; -altsyncram元件接口声明 address_a: IN STD_LOGIC_VECTOR (5 DOWNTO 0); q_a : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END COMPONENT; BEGIN q “Cyclone“, -参数传递映射 width_a = 8, -数据线宽度8 widthad_a = 6, -地址线宽度6 numwords_a = 64, -数据数量64 operation_mode = “ROM“, -LPM模式R

15、OM outdata_reg_a = “UNREGISTERED“, -输出无锁存 address_aclr_a = “NONE“, -无异步地址清0 outdata_aclr_a = “NONE“, -无输出锁存异步清0 width_byteena_a = 1, - byteena_a输入口宽度1 init_file = “./dataHEX/SDATA.hex“, -ROM初始化数据文件,此处已修改过 lpm_hint = “ENABLE_RUNTIME_MOD=YES, INSTANCE_NAME=NONE“, lpm_type = “altsyncram“ ) -LPM类型 PORT MAP (clock0 = inclock, address_a = address,q_a = sub_wire0 ); END SYN; SYN;,4.2 CPU中的基本部件,4.2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号