西安交通大学计算机组成原理专题实验(上)第三次实验报告

时间:2025-07-12

这是西安交通大学计算机组成原理专题实验(上)实验报告。最终成绩为95分。

计算机组成原理专题实验报告(三)

学生姓名

专业/班级 计算机11班

学 号

所在学院 电信学院

指导教师 姜欣宁

提交日期 2013年12月19日

这是西安交通大学计算机组成原理专题实验(上)实验报告。最终成绩为95分。

计算机组成原理专题实验(三)

——运算器模块设计和实现

1. 实验目的

(1)掌握基本的算术运算和逻辑运算的运算规则和实现方法;

(2)掌握基本运算器的信息传送通路;

(3)掌握运算器的工作原理,设计并实现具有定点、浮点运算功能的模块。

2. 实验要求

画出运算器模块的各种对照表,如:反映运算操作码OP、运算功能与标志位flag之间的关系;比较“使用/不使用”先行进位对运算速度的影响等。 分析模块的工作原理(多以图、表方式描述)

写出设计实体的引脚与外设(输入装置:指示灯(表示数据、状态等);输出装置:开关(数据、低位进位等)对应关系;

写出模块的程序流程图

对各种运算结果的仿真图的分析

对涉及和调试运算过程进行记录,包括:出现了什么问题(截图)及如何解决的等?

3. 实验原理

设计一个基本的算术逻辑运算模块,包括:

①算术运算模块,主要包括定点运算:加减乘除运算及浮点运算(浮点运算依照IEEE754

标准);

②逻辑运算模块,主要包括与、或、非、异或和各种移位运算等;

注: 运算器模块框图:运算器(ALU)通常有两个数据输入端(opr1和opr2),一个数据输

出端(result),运算模式控制信号(code)和标志位( cin , flag)等。下图为运算器的逻辑框图:

图2-1 运算器

运算器包含加法器(含用先行进位的构成的加法器,如4位一组构成16位)、减法器、乘法器、与门、或门、非门、异或门和移位器等及浮点运算模块;运算器模块中也可以加入寄存器组。

这是西安交通大学计算机组成原理专题实验(上)实验报告。最终成绩为95分。

本实验中设计的运算器操作数可以分别为8/16/32位字长((32位字长运算可以只进行仿真分析)

③ 补充题:(学号末位数为1、2;3、4;5、6;8分别做1)、2)、3)、;1、3、5、7、0、9做第4)

定点乘法:

已知X=-0.1010,Y=0.0011,求 X*Y=?

利用原码乘法的方法,设计VHDL程序,完成乘法的运算并描述其算法及电路图: (上题由学号末位数为7、8的同学完成)

利用Booth法的方法,设计VHDL程序,完成乘法的运算并描述其算法及电路图; (上题由学号末位数为5、6的同学完成)

利用阵列乘法的方法,设计VHDL程序,完成乘法的运算并描述其算法及电路图; 若要实现X/Y=?

(上题由学号末位数为3、4的同学完成)

浮点(依照IEEE754标准)加减运算:乘除运算(选)

完成【例6-29】(教科书P352)的运算,设计VHDL程序,描述其算法,分析仿真波形及画出电路图

(上题由学号末位数为1、2、9的同学完成)

注:以上4题每一个同学可以多选。

这是西安交通大学计算机组成原理专题实验(上)实验报告。最终成绩为95分。

4. 设计思路与源代码

4.1 顶层设计实体的引脚与外设(开关、指示灯)的对应关系

(1)运算控制信号**可以对应实验台上开关SA0;

(2)低位向高位的进位或者借位信号cin对应实验台上开关SA1;

(3)操作码code[2..0]对应实验台上开关SA5~SA2;

(4)第一操作数opr1[7..0]对应于实验台上开关SD7~SD0;

(5)第二操作数opr2 [7..0]对应实验台上开关SD15~SD8;

(6)运算结果result [15..0]对应实验台上指示灯A7~A0;

(7)运算结果标志位flag对应实验台上指示灯 A8。

4.2实验思路

运算器根据ALUOp 字段确定要执行的某种运算,再获得操作数之后,执行操 作即可,确定好运算器的信息传送通路后,再根据时序要求正确安排指令即可。 为了实现浮点运算,以IEEE754 标准为例,实现了浮点的加减乘除操作。

4.4源代码

4.4.1 思考题源代码——原码一位乘(4位)

library ieee;

use ieee.std_logic_1164.all;

use ieee.std—logic_unsigned.all;

entity ymywcvd is

port(b,c:in std_logic_ vector(4 downto 0); --b,C为被乘数,乘数

rSt,clk:in std_ logic; --rst为复位信号clk为 步运算脉冲

a:bufer std_logic_ vector(5 downto 0); --a,d为高位部分积和低何部分积

d:bufer std_logic_ vector(3 downto O);

sign,en:out std_logic); --sign为符号位,en为表示是否结束

end;

architecture behav of ymywcvd is

shared variable cd:integer range 0 to 5:=5;

signal bi:std_logic_vector(5 downto 0);

shared variable ai:std_logic_vector(5 downto O);

begin

bi<='0'&’0' &b(3 downto 0);

这是西安交通大学计算机组成原理专题实验(上)实验报告。最终成绩为95分。

sign<=b(4)xor c(4);

process(clk,rst,c)

begin

ifrst='l'then

cd:=5;

en<='0';

elsif rising_edge(clk)then

ifcd=5 then

ai:=(others=>'0');

d<=c(3 downto 0);

cd:=cd-1;

en<='0;

elsif cd/=0 then

ifd(0)='1'then

…… 此处隐藏:8449字,全部文档内容请下载后查看。喜欢就下载吧 ……

西安交通大学计算机组成原理专题实验(上)第三次实验报告.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219