基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第九章:多功能运算电路

简介: 基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第九章:多功能运算电路

1多选(3分)

选出正确的负数的4位补码与真值的对应关系

得分/总分

A.补码:1010

真值:-6

B.补码:1001

真值:-7

C.补码:1011

真值:-5

D.补码:1000

真值:-8

正确答案:A、B、C、D

2多选(3分)

加减运算电路参考设计中,如果操作数 {y3,y2,y1,y0}=4‘b0101,选出下列描述正确的选项

得分/总分

A.当M=0时,C0=0,{b3,b2,b1,b0}的值为0101

B.当M=1时,C0=1,{b3,b2,b1,b0}的值为1010

C.当M=0时,C0=0,{b3,b2,b1,b0}的值为1010

D.当M=1时,C0=10,{b3,b2,b1,b0}的值为0101

正确答案:A、B

3多选(3分)

加减运算电路参考设计中,ADDER模块将操作数A,B,C0的值相加,在提供的参考代码里可以看到:

assign {carry,F[3:0]}=A+B+C0; A,理解通过增加门电路逻辑使得加法器实现补码加减运算的原理。

得分/总分

A.使运算电路的输出F=dst - src,要使M=0

B.使运算电路的输出F=dst - src,要使M=1

C.使运算电路的输出F=dst + src,要使M=0

D.使运算电路的输出F=dst + src,要使M=1

正确答案:B、C你选对了

4多选(3分)

对照标志位和真值,选出正确的描述。

得分/总分

A.溢出标志OF是按照无符号数的;

进位标志CF是按照补码运算的结果设置的。

B.溢出标志OF是按照补码的运算结果设置的;

进位标志CF是按照无符号数运算的结果设置的。

C.如果运算数是无符号数,运算结果是否溢出是O反映的;

如果运算数是有符号补码数,运算结果是否溢出是由C反映的。

D.如果运算数是无符号数,运算结果是否溢出是 C反映的;

如果运算数是有符号补码数,运算结果是否溢出是由O反映的。

正确答案:B、D

5多选(3分)

4位二进数制能表示数值的范围是_____。

得分/总分

A.4位无符号数能表示数值的范围是1-16

B.4位补码能表示数值范围是-7 ~ +8

C.4位补码能表示数值范围是-8 ~ +7

D.4位无符号数能表示数值的范围是0-15

正确答案:C、D你选对了

6多选(3分)

减法运算是转换为加法计算的,设置M=1,F=dst - src,此时:

得分/总分

A.C0=1

B.C0=0

C.x=dst

D.y=src

正确答案:A、C、D

7多选(3分)

观察与分析减法运算时,是否产生借位和标志位C的关系。

得分/总分

A.当dst-src够减,没有产生借位时,CF=1

B.CF标志与减法运算有没有产生借位有关系

C.CF标志与减法运算有没有产生借位没有关系

D.当dst-src不够减,减法运算产生借位时,CF=0

正确答案:A、B、D你错选为B、D


image.png

9多选(3分)

验证加减运算电路参考设计,令运算电路做做加法运算 F=dst+src ,将运算数和运算结果视为无符号数,分析运算数和运算结果的真值。

得分/总分

A.运算操作数:1000 + 1000,对应的运算数和结果真值:8+8=0,零标志为1,进位标志为1

B.运算操作数:1100 + 1011 ,对应的运算数和结果真值: 12+11=7,进位标志为1

C.运算操作数:1000 + 0001,对应的运算数和结果真值:8+1=9

D.运算操作数:0011 + 1011 ,对应的运算数和结果真值:3+11=14

正确答案:A、B、C、D

10多选(3分)

验证加减运算电路参考设计,令运算电路做做加法运算 F=dst + src ,将运算数和运算结果视为补码,分析运算数和运算结果的真值。

得分/总分

A.运算操作数:1100 + 1011

对应的运算数和结果真值:(-4)+(-5)= +7 ,溢出标志为1

B.运算操作数:1000 + 1000

对应的运算数和结果真值:(-8)+(-8) =0 ,零标志为1,溢出标志为1

C.运算操作数:0011 + 1011

对应的运算数和结果真值:3+(-5)=-2,负标志为1

D.运算操作数:1100 + 0101

对应的运算数和结果真值:(-4)+ 5 = 1

正确答案:A、B、C、D

11多选(3分)

‌实验任务2多功能运算电路,相比实验任务1的多功能加减电路,增加了哪些功能?

得分/总分

A.减法(SUB)

B.带进位加法(ADDC)

C.带借位减法(SUBB)

D.逻辑右移(LSR)

正确答案:B、C

12填空(2分)

验证加减运算电路参考设计,使运算电路的输出F=dst + src,根据加法运算的结果分析标志位生成:

标志Z(ZeroFlag)的生成和_____(F/C/F及C)有关

得分/总分

F

正确答案:F

13填空(2分)

验证加减运算电路参考设计,使运算电路的输出F=dst + src,根据加法运算的结果分析标志位生成:

溢出标志O(OverFlag)和进位标志C_____(有/没有)直接的联系。

得分/总分

没有

正确答案:没有

14填空(2分)

运算器电路是否“知道”运算数是有符号数还是无符号数?_____(是/否)

得分/总分

正确答案:否

15填空(2分)

‎实验任务2多功能运算电路,令运算器实现传送运算F=X,相应的控制信号应该设置为{SR,SV,SL,M3,M2,M1,M0}=________。(填写二进制数值,例如0011010)

得分/总分

100000

正确答案:0100000

16填空(2分)

‍实验任务2多功能运算电路,令运算器实现加法运算F=X+Y,相应的控制信号应该设置为{SR,SV,SL,M3,M2,M1,M0}=________。(填写二进制数值,例如0011010)

得分/总分

100001

正确答案:0100001

17填空(2分)

‌实验任务2多功能运算电路,令运算器实现减法运算F=X-Y,相应的控制信号应该设置为{SR,SV,SL,M3,M2,M1,M0}=________。(填写二进制数值,例如0011010)

得分/总分

100110

正确答案:0100110

18填空(2分)

实验任务2多功能运算电路,令运算器实现左移运算F=2X,相应的控制信号应该设置为{SR,SV,SL,M3,M2,M1,M0}=________。(填写二进制数值,例如0011010)

得分/总分

100000

正确答案:0010000

19填空(2分)

实验任务2多功能运算电路,令运算器实现右移运算F=X/2,相应的控制信号应该设置为{SR,SV,SL,M3,M2,M1,M0}=________。(填写二进制数值,例如0011010)

得分/总分

100000

正确答案:1000000

20填空(2分)

实验任务2多功能运算电路,令运算器实现取反运算F=~X,相应的控制信号应该设置为{SR,SV,SL,M3,M2,M1,M0}=________。

得分/总分

100011

正确答案:100011

21填空(2分)

‏实验任务2多功能运算电路,令运算器实现取反运算F=X+1,相应的控制信号应该设置为{SR,SV,SL,M3,M2,M1,M0}=________。

得分/总分

100100

正确答案:0100100

22填空(2分)

实验任务2多功能运算电路,令运算器实现取反运算F=X-1,相应的控制信号应该设置为{SR,SV,SL,M3,M2,M1,M0}=________。

得分/总分

100011

正确答案:0100011

23填空(2分)

‌实验任务2多功能运算电路,令运算器实现带进位加法运算F=X+Y+Cin,相应的控制信号应该设置为{SR,SV,SL,M3,M2,M1,M0}=________。(填写二进制数值,例如0011010)

得分/总分

101001

正确答案:0101001

24填空(2分)

‎实验任务2多功能运算电路,令运算器实现带借位减法运算F=X-Y-Cin,相应的控制信号应该设置为{SR,SV,SL,M3,M2,M1,M0}=________。(填写二进制数值,例如0011010)

得分/总分

101010

正确答案:0101010

25填空(2分)

验证加减运算电路参考设计,使运算电路的输出F=dst + src,根据加法运算的结果分析标志位生成:

负标志S(SignFlag)就是运算结果的_____(最高位/最低位)。

得分/总分

最高位

正确答案:最高位

26填空(2分)

实验任务2多功能运算电路实现带借位减法运算F=X-Y-Cin时,Cin代表的是 _____(借位/借位的反)。

得分/总分

借位的反

正确答案:借位的反

解析: 减法转换为加法计算,所以,F =dst - src - 借位 = dst + src的反 + 1 - 借位 = dst + src的反 + 借位的反

实验代码

`default_nettype none 
module VirtualBoard (
    input  logic  CLOCK,      // 10 MHz Input Clock 
    input  logic [19:0] PB,   // 20 Push Buttons, logical 1 when pressed
    input  logic [35:0] S,    // 36 Switches
    output logic [35:0] L,    // 36 LEDs, drive logical 1 to light up
    output logic  [7:0] SD7,  // 8 common anode Seven-segment Display
    output logic  [7:0] SD6,
    output logic  [7:0] SD5,
    output logic  [7:0] SD4,
    output logic  [7:0] SD3,
    output logic  [7:0] SD2,
    output logic  [7:0] SD1,
    output logic  [7:0] SD0
); 
/** The input port is replaced with an internal signal **/
wire M0   = S[9];
wire M1   = S[10];
wire Cin=S[8];
wire M2=S[11];
wire M3=S[12];
wire [3:0] X = S[7:4];
wire [3:0] Y = S[3:0];
wire SL=S[13];
wire SV=S[14];
wire SR=S[15];
wire [3:0]AV;
wire [3:0]AR;
wire [3:0]AL;
/************* The logic of this experiment *************/
wire [3:0] A,B,F;
wire C0;
wire sign, zero, overflow, carryOut;
assign A[3]=X[3]&SR|X[3]&SV|X[2]&SL;
assign A[2]=X[3]&SR|X[2]&SV|X[1]&SL;
assign A[1]=X[2]&SR|X[1]&SV|X[0]&SL;
assign A[0]=X[1]&SR|X[0]&SV|0&SL;
assign B = (Y&{4{M0}})|(~Y&{4{M1}});
assign C0 = M2|(Cin&M3);
assign {carryOut,F[3:0]} = A + B + C0;  
assign sign = F[3];
assign zero = (F==0) ? 1 : 0;  // ~|F;
assign overflow = (~A[3]) & ~B[3] & F[3] | (A[3]) & B[3] & ~F[3] ;
/****** Internal signal assign to output port *******/
assign L[3:0]  = B[3:0];
assign L[7:4]  = A[3:0]; 
assign L[12:9] = F;
assign L[26] = C0; 
assign L[21:18] = {sign, zero, overflow, carryOut};
endmodule


目录
相关文章
|
6月前
|
缓存 测试技术 数据中心
【计算机架构】计算 CPU 动态功耗 | 集成电路成本 | SPEC 基准测试 | Amdahl 定律 | MIPS 性能指标
【计算机架构】计算 CPU 动态功耗 | 集成电路成本 | SPEC 基准测试 | Amdahl 定律 | MIPS 性能指标
256 0
|
7月前
|
人工智能 并行计算 openCL
魔搭+Xinference 平台:CPU,GPU,Mac-M1多端大模型部署
随着 Llama2 的开源,以及通义千问、百川、智谱等国内大模型的问世,很多用户有了本地部署去尝试大模型的需求,然而硬件的需求阻碍了很多人的尝试,并不是所有人都拥有一块英伟达显卡的,所以 Llama2 问世不久,大神 Andrej Karpathy 的一个 weekend project 爆火——llama2.c。
魔搭+Xinference 平台:CPU,GPU,Mac-M1多端大模型部署
|
10月前
|
Ubuntu 网络虚拟化 Windows
国产化之虚拟ARM64-CPU安装银河麒麟操作系统
国产化之虚拟ARM64-CPU安装银河麒麟操作系统
871 0
|
12月前
|
前端开发 rax
实验一:查看CPU和内存,用机器指令和汇编指令编程
实验一:查看CPU和内存,用机器指令和汇编指令编程
155 0
|
12月前
|
机器学习/深度学习 人工智能 PyTorch
【Pytorch神经网络理论篇】 02 Pytorch快速上手(二)GPU与CPU张量切换+具有随机值的张量+张量的数学运算
【Pytorch神经网络理论篇】 02 Pytorch快速上手(二)GPU与CPU张量切换+具有随机值的张量+张量的数学运算
135 0
|
12月前
|
弹性计算 固态存储
阿里云服务器的vCPU是什么意思?虚拟CPU?
阿里云服务器的vCPU是什么意思?虚拟CPU?阿里云服务器vCPU和CPU是什么意思?CPU和vCPU有什么区别?一台云服务器ECS实例的CPU选项由CPU物理核心数和每核线程数决定,CPU是中央处理器,一个CPU可以包含若干个物理核,通过超线程HT(Hyper-Threading)技术可以将一个物理核变成两个逻辑处理核。vCPU(virtual CPU)是ECS实例的虚拟处理核。云服务器吧来详细说下阿里云服务器CPU和vCPU的区别:
1312 0
|
存储
ICS TRIPLEX T8461 创建额外的虚拟或逻辑CPU
ICS TRIPLEX T8461 创建额外的虚拟或逻辑CPU
72 0
ICS TRIPLEX T8461 创建额外的虚拟或逻辑CPU
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第十五章:认识RISCV
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第十五章:认识RISCV
219 0
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第十四章:硬布线控制器
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第十四章:硬布线控制器
102 0
|
5天前
|
Linux
Linux rsyslog占用内存CPU过高解决办法
该文档描述了`rsyslog`占用内存过高的问题及其解决方案。
27 4