当前位置:文档之家› 原码一位乘法器的设计说明

原码一位乘法器的设计说明

原码一位乘法器的设计说明
原码一位乘法器的设计说明

第1章总体设计方案

1.1 设计原理

原码一位乘乘法器中用三个寄存器X,Y和BFJ分别存放被乘数,乘数和部分积。乘法运算开始时,BFJ寄存器被清零,作为初始部分积。被乘数放在X 寄存器中,乘数放在Y寄存器中。实现部分积和被乘数相加是通过X送加法器和Y送加法器,在加法器中完成的。加法器的输出经过移位电路向右移一位送入BFJ寄存器中。Y寄存器是用移位寄存器实现的,其最低位用作Y送加法器的控制命令。因为原码一位乘是通过乘数的最低位是1还是0来确定加数的,当乘数的最后一位为1的时候,部分积加上被乘数,当乘数的最后一位为0的时候,部分积加上0。加法器最低一位的值,在右移的过程中将被移入Y寄存器的最高数值位,这样就使积的低位部分被保存在Y寄存器中,最开始的乘数在逐位右移的过程中不断丢失,直到移位结束。乘法运算完成以后BFJ寄存器中保存的数值是乘积的高位部分,Y寄存器即乘数寄存器中保存乘积的低位部分。

1.2设计思路

实现原码一位乘乘法的逻辑框图如图1.2所示,BFJ存放部分积,X存放被乘数,Y存放乘数。

一个实现一位原码乘法运算的运算器可以由一个被乘数寄存器,一个乘数寄存器,一个部分积寄存器,一个加法器,一个计数器,二选一选择电路以及移位电路七个模块构成。顶层的乘法器模块采用原理图设计输入方式。

被乘数寄存器模块中X为被乘数输入端,LOAD为数据打入电平,CLK为输入脉冲,XOUT为数据输出端口。

乘数寄存器模块中Y为乘数输入端,LOAD为数据打入电平,CLK位输入脉冲,INPUT为部分积最低位输入端,YOUT为数据输出端口,LOWBIT为数乘数最低位输出端。

部分积寄存器中IN为部分积右移一位以后的数据输入端,CLR为清零电平,CLK为输入脉冲,HIGH为加法器的进位输入端,OUT为部分积右移一位后数

据输出端。

图1.2实现原码一位乘法的逻辑电路框图

计数器模块中CLR为清零端,CLKI为输入脉冲,CLKO为脉冲输出。

二选一选择电路中IN为被乘数输入端口,CTR为控制信号输入。OUT为数据输出。

二选一选择电路模块用原理图输入方式,被乘数寄存器,乘数寄存器,部分积极寄存器和计数器模块采用verilog HDL语言设计输入方式。

首先,单独调试仿真每个模块,确定在没有错误以后,再对整个运算器模块进行仿真。在没有错误的前提下,生成furui.bit文件下载到XCV200可编程逻辑芯片中经硬件测试验证运算结果。

1.3 设计环境

·硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机。

·EDA环境:Foundation 3.1设计软件。

第二章详细设计方案

2.1 顶层方案图的设计与实现

顶层方案图实现原码一位乘法运算的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。

2.1.1创建顶层图形设计文件

顶层图形文件主要由两个数据输入端,一个脉冲输入端,一个启停控制端,一个数据输出端组成。定点原码一位乘乘法器的顶层原理图见图2.1。

2.1.2器件的选择与引脚锁定

(1)器件的选择

硬件设计环境基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,采用目标芯片为Xlinx XCV200可编程逻辑芯片。

(2)引脚锁定

把顶层图形文件中的输入/输出信号安排到Xlinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定,原理图中各信号及Xlinx XCV200芯片引脚对应关系如下表:

2.2第二层方案图的设计与实现

第二层图形文件主要由两个数据输入端,一个脉冲输入端,一个启停控制端,一个数据输出端以及相对应的被乘数寄存器模块,乘数寄存器模块,部分积寄存器模块,加法器模块,计数器模块,数据选择电路模块以及移位电路模块组成。第二层原理图见图2.2。

计数器模块起控制整个运算过程的作用。实现控制器的功能,其它所有需要脉冲的模块均受计数器即控制器的控制。当控制器的输入端(清零端)为低电平的时候,控制器才启动整个运算过程,只有当控制器的输出出现脉冲的时候,其它需要脉冲的模块才开始工作,当达到需要运算次数后,控制器封锁脉冲。各寄存器保持值不变。

被乘数寄存器模块的功能是实现被乘数寄存,接收来自外部输入数据,提供选择器模块的输入。

乘数寄存器模块的功能是实现乘数的寄存,接收来自外部输入数据,还具有向右移位的功能,将从部分积寄存器传来的数据保存在最高位,同时将乘数的最低位输出作为数据选择器的控制端。也作为最后乘积的低位部分寄存器。

数据选择器模块的功能是实现数据的选择,当从乘数寄存器传来的控制信号为高电平时,输出为被乘数,作为加法器的一个输入,当从乘数寄存器传来的控制信号位低电平时,输出为零,作为加法器的输入。

部分积寄存器模块的功能是寄存从移位电路传过来的数据,作为加法器的输入。

移位电路模块起将部分积移位的作用,同时达到了让所有模块在同一个脉冲下工作脉冲同步的作用,由于用组合逻辑电路形成的移位电路不需要脉冲的打入就能工作,当加法器的输出改变时,移位电路就将移位后的部分积送给了部分积

寄存器,而不需要让部分积先将未移位的部分积打如寄存器,再移位的过程。

图2.1 定点原码一位乘乘法器的顶层原理图

图2.2 定点原码一位乘乘法器的第二层原理图

2.3功能模块的设计与实现

被乘数寄存器模块,乘数寄存器模块,计数器模块,部分积寄存器模块用verilog HDL语言设计输入方式实现。数据选择器模块用原理图设计输入方式实现。

2.3.1被乘数寄存器模块的设计与实现

此模块用Verilog HDL语言输入方式设计,运算位数为8位,实现被乘数的接收及寄存,提供选择器模块的输入。用X总线输入,XOUT总线输出。当输入端LOAD为高电平的时候,被乘数寄存器把总线X的数据打入,当LOAD为低电平的时候,被乘数寄存器保持数据不变。该模块的符号如图2.31。

图2.311 被乘数寄存器的符号

Verilog代码如下:

module JICUNQIX (CLK, X, LOAD, XOUT) ;

input CLK ;

input [7:0] X ;

input LOAD ;

output [7:0] XOUT ;

reg [7:0]XOUT;

// add your declarations here

always (posedge CLK)

begin

if(LOAD)XOUT=X;

end

// add your code here

endmodule

被乘数寄存器模块功能仿真见图2.312

图2.312被乘数寄存器模块功能仿真

当脉冲的上升沿到来的时,数据被打入寄存器,符合要求。

2.3.2乘数寄存器模块的设计与实现

此模块用Verilog HDL语言输入方式设计,运算位数为8位,实现乘数的接收及寄存,还具有向右移位的功能。Y总线做为输入,YOUT总线作为输出。当LOAD为高电平的时候,总线Y上的数据被打入乘数寄存器中。当LOAD为低电平的时候,每到来一个脉冲,乘数寄存器向右移动一位,并将从INPUT进入的数据打入最高位,同时将最低位的值赋给输出端LOWBIT。实现乘数寄存和移位。该模块的符号如图2.321。

图2.321乘数寄存器的符号

Verilog代码如下:

module JICUNQIY (LOAD, INPUT, Y, CLK, LOWBIT, YOUT) ;

input LOAD ;

input INPUT ;

input [7:0] Y ;

input CLK ;

output LOWBIT ;

output [7:0] YOUT ;

reg LOWBIT;

reg [7:0]YOUT;

// add your declarations here

always (posedge CLK)

begin

if(LOAD)

begin

YOUT=Y;

LOWBIT=YOUT[0];

end

else

begin

YOUT =YOUT>>1;

YOUT[7]=INPUT;

LOWBIT=YOUT[0];

end

end

// add your code here

endmodule

乘数寄存器模块功能仿真见图2.322

图2.322乘数寄存器模块功能仿真

LOAD为高电平的时候,数据被打入。以后每个脉冲的上升沿到来是INPUT 被打入最高位。

2.3.3部分积寄存器模块的设计与实现

此模块用Verilog HDL语言输入方式设计,运算位数为8位,功能是寄存从移位电路传过来的数据,作为加法器的输入。总线IN作为输入,总线OUT作为输出。当CLR为高电平的时候,部分积寄存器的输出被清零。当CLR为低电平

的时候,每到来一个脉冲,就将通过移位电路送过来的值赋给输出端OUT。该模块的符号如图2.331。

图2.331部分积寄存器的符号

Verilog代码如下:

module JCQBFJ (CLK, CLR, IN, HIGH, OUT) ;

input CLK ;

input CLR ;

input [7:0] IN ;

input HIGH ;

output [7:0] OUT ;

reg[7:0]OUT;

// add your declarations here

always (posedge CLK)

begin

OUT[7:0]=IN[7:0];

OUT[7]=HIGH;

end

// add your code here

endmodule

部分积寄存器模块功能仿真见图2.332

图2.332部分积寄存器模块功能仿真

输出数据即为输入数据,符合设计要求。

2.3.4计数器模块的设计与实现

此模块用Verilog HDL语言输入方式设计,起控制整个运算过程的作用。当CLR为高电平的时候,计数器被清零,同时CLKO为高电平。以后每进来一个脉冲,计数器加1,直到加到7,也就是乘数移位次数达到8次的时候,CLKO 输出为低电平。该模块的符号如图2.341。

图2.341计数器模块的符号

Verilog代码如下:

module JiShuQi (CLKI, CLR, CLKO) ;

input CLKI ;

input CLR ;

output CLKO ;

reg CLKO;

reg [3:0]temp;

// add your declarations here

always (posedge CLKI or posedge CLR)

begin

if(CLR)

begin;

temp=0;

CLKO=1;

end

else

begin

if(temp==7) CLKO=0;

else

temp=temp+1;

end

end

// add your code here

endmodule

计数器模块功能仿真见图2.342

图2.342 计数器模块功能仿真

当计数脉冲达到8的时候,脉冲输出恒为低电平脉冲,符合设计要求,能达到控制作用。

2.3.5二选一选择器模块

此模块用原理图输入方式设计,运算位数为8位,功能是实现数据的选择。总线IN作为输入,总线OUT作为输出。当输入端CTR为高电平的时候,输出OUT为乘数寄存器传进值,当CTR为低电平的时候,输出OUT为0。电路原理图见图2.351。

二选一选择器模块功能仿真见图2.352和图2.353

图2.352 二选一选择器模块功能仿真

当CTR为高电平时,输出为乘数,符合要求。

图2.352 二选一选择器模块功能仿真

当CTR为低电平时,输出为0,符合要求。

图2.351 二选一选择电路的原理图2.4 仿真调试

仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。

(1)建立仿真波形文件及仿真信号选择

功能仿真时,首先选定需要仿真的模块,建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,实验中为了让运算没有错误,需要对每一个非元件库中提供的模块进行功能仿真。选定的仿真信号和设置的参数图所示。

(2)功能仿真结果与分析

定点原码一位乘乘法器的整体功能仿真见图2.41和2.42。

图2.41

输入被乘数3H,乘数4H,输出为0C,结果正确。

图2.42

输入被乘数5H,乘数4H,输出为14(16进制数),结果正确。

第3章编程下载与硬件测试

3.1 编程下载

利用XilinxFoudation3.1的编程下载功能,将得到的furui.bit文件下载到XCV200实验板的XCV200可编程逻辑芯片中。

3.2 硬件测试及结果分析

由于本人能力有限,该步骤未能完成。

参考文献

[1] 昕燕.EDA技术实验与课程设计[M].:清华大学,2006

[2] 延滨.微型计算机系统原理、接口与EDA设计技术[M].:邮电大学,2006

[3] 王爱英.计算机组成与结构(第4版)[M].:清华大学,2006

[4]王金明吉斌.数字系统设计与verilog HDL :电子工业

[5]侯建军.数字逻辑与系统解题指导和Foundation操作指南 2001 中国铁道

[6]王冠黄熙王鹰.Verilog HDL与数字电路设计机械工业。

[7]延滨.微型计算机系统原理、接口与EDA设计技术[M].:邮电大学,2006

四位原码乘法器

1.课程设计的内容和要求 内容:设计四位原码乘法器电路。 要求:1.有关资料,设计乘法器电路; 2.画出乘法器逻辑图; 3.在实验箱上完成乘法器电路的组装,调试,核对记录,测试有关数据, 通过老师当场验收; 4.完成课程设计报告。 1.课程设计原理 运用存储器的存储功能实现数字的存储。令电路的初始状态为000,000,000000。以二进制的形式输入数字,计算方式是以十进制数字乘法。输入的数字为三位数字,输出的是六位数字。先存储输入的乘数和乘积,然后再将乘积的导线端连到输出段,此时之前输入的乘积就可以在输出端显示。 此时序电路的真值表为:

1.课程设计思路 本次课程设计的题目为四位原码乘法器,利用真值表输入乘数时,需要存放数字,于是我查阅了一些资料,用存储器可以实现这一电路,所以本实验中用到的是INTEL 2114芯片。 具体实现过程如下图: a a b b F 32F 1 1.课程设计所需的器材 1.2114是一个容量为1K4位的静态RAM芯片,常用于寄存器。 其具体的引脚图为: 此芯片的电路图为: 2.数字电路实验箱 3.导线若干 1.课程设计实现 本次课程设计的题目是四位原码乘法器电路。 此部分只用到了2块INTEL2114芯片,具体连接如下: 1、先将这些芯片按在电路板上(注意不要插反,否者容易烧毁芯片)。 2、将两片芯片的A6和GND端,A7,A8,A9接地。 3、Vcc端接电压5V,cs接存储端,WE端接控制端。 4、两块芯片的A5,A4,A3组成一个乘数,A0,A1,A2组成另一个乘数。其中一块芯

片的I/O1,I/O2,I/O3,I/O4和另一块芯片的I/O1,I/O2组成要求的乘积。乘数与乘积的显示方式均为二进制,但是计算方法是以十进制数的乘法法则计算。 1.调试步骤及方法 在连接实验器件之前,要先检查如下实验器件: 1、检查芯片引脚是否有损坏。 2、检查电路板是否好用。 连接实验器件时要注意: 2严格按照电路图一步一步连接,以避免连接错误。 3导线要先连接电源测试是否导电。 连接好电路进行数据测试,输入001,010,000010,存储;001,101,000101,存储;001,111,000111,存储。将连在输入端的四个输出连接到输出端,并输入001,010,但是结果并不是000010,而是000100;再输入001,101,也没有得到000101的结果,而是000110的结果。检查线路,发现输出的线路错位,纠正后重新输入乘数,结果均得到计算结果。调试成功。 1.实验结果 连接好整个电路。A5A4A3和A2A1A0为输入端,即乘数,F5F4F3F2F1F0为输出端,即乘积。如下表: 8. 课程设计结果 输入000,000,000000,存储;

计算机组成原理_阵列乘法器设计

沈阳航空航天大学 课程设计报告 课程设计名称:计算机组成原理课程设计课程设计题目:阵列乘法器的设计与实现 院(系):计算机学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:2014年1月10日

沈阳航空航天大学课程设计报告 _______________________________________________________________________________ 目录 第1章总体设计方案 (1) 1.1设计原理 (1) 1.2设计思路 (2) 1.3设计环境 (3) 第2章详细设计方案 (3) 2.1总体方案的设计与实现 (4) 2.1.1总体方案的逻辑图 (4) 2.1.2器件的选择与引脚锁定 (4) 2.1.3编译、综合、适配 (5) 2.2功能模块的设计与实现 (5) 2.2.1一位全加器的设计与实现 (6) 2.2.2 4位输入端加法器的设计与实现 (7) 2.2.3 阵列乘法器的设计与实现 (10) 第3章硬件测试 (13) 3.1编程下载 (13) 3.2 硬件测试及结果分析 (13) 参考文献 (15) 附录(电路原理图) (16)

第1章总体设计方案 1.1 设计原理 阵列乘法器采用类似人工计算的方法进行乘法运算。人工计算方法是用乘数的每一位去乘被乘数,然后将每一位权值对应相加得出每一位的最终结果。如图1.1所示,用乘数的每一位直接去乘被乘数得到部分积并按位列为一行,每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值。将各次部分积求和,即将各次部分积的对应数位求和即得到最终乘积的对应数位的权值。 为了进一步提高乘法的运算速度,可采用大规模的阵列乘法器来实现,阵列乘法器的乘数与被乘数都是二进制数。可以通过乘数从最后一位起一个一个和被乘数相与,自第二位起要依次向左移一位,形成一个阵列的形式。这就可将其看成一个全加的过程,将乘数某位与被乘数某位与完的结果加上乘数某位的下一位与被乘数某位的下一位与完的结果再加上前一列的进位进而得出每一位的结果,假设被乘数与乘数的位数均为4位二进制数,即m=n=4,A×B可用如下竖式算出,如图1.1所示。 X 4 X 3 X 2 X 1 =A × Y 4 Y 3 Y 2 Y 1 =B X 4Y 1 X 3 Y 1 X 2 Y 1 X 1 Y 1 X 4Y 2 X 3 Y 2 X 2 Y 2 X 1 Y 2 X 4Y 3 X 3 Y 3 X 2 Y 3 X 1 Y 3 (进位) X4Y4 X3Y4 X2Y4 X1Y4 Z 8 Z 7 Z 6 Z 5 Z 4 Z 3 Z 2 Z 1 图1.1 A×B计算竖式 X 4 ,X 3 ,X 2 ,X 1 ,Y 4 ,Y 3 ,Y 2 ,Y 1 为阵列乘法器的输入端,Z 1 -Z 8 为阵列乘法器 的输出端,该逻辑框图所要完成的功能是实现两个四位二进制既A(X)*B(Y)的 乘法运算,其计算结果为C(Z) (其中A(X)=X 4X 3 X 2 X 1 ,B(Y)=Y 4 Y 3 Y 2 Y 1 , C(Z)=Z 8Z 7 Z 6 Z 5 Z 4 Z 3 Z 2 Z 1 而且输入和输出结果均用二进制表示 )。阵列乘法器的总原 理如图1.2所示。

原码一位乘法

实验课程: 计算机组成原理实验时间: 班级:姓名:学号批阅教师: 硬布线实现原码一位乘法 实验内容: 在实验箱上用硬布线方法实现原码一位乘法 实验设备: CP226组成原理实验箱 实验设备介绍: CP226 模型机包括了一个标准CPU 所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM, 以及中断控制电路、跳转控制电路。其中运算器和中断控制电路以及跳转控制电路用CPLD 来实现,其它电路都是用离散的数字电路组成。微程序控制部分也可以用组合逻辑控制来代替。 模型机为8 位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。模型机的指令码为8 位,根据指令类型的不同,可以有0 到 2 个操作数。指令码的最低两位用来选择R0-R3 寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24 位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。24 位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。EMWR:程序存储器EM 写信号。 EMRD:程序存储器EM 读信号。 PCOE:将程序计数器PC 的值送到地址总线ABUS 上。 EMEN:将程序存储器EM 与数据总线DBUS 接通,由EMWR和EMRD决定是将DBUS 数据写到EM 中,还是从EM 读出数据送到DBUS。 IREN:将程序存储器EM 读出的数据打入指令寄存器IR 和微指令计数器uPC。 EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP:PC 打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。 MAREN:将数据总线DBUS 上数据打入地址寄存器MAR。 MAROE:将地址寄存器MAR 的值送到地址总线ABUS 上。 OUTEN:将数据总线DBUS 上数据送到输出端口寄存器OUT 里。 STEN:将数据总线DBUS 上数据存入堆栈寄存器ST 中。RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 CN:决定运算器是否带进位移位,CN=1 带进位,CN=0 不带进位。 FEN:将标志位存入ALU内部的标志寄存器。 X2、X1、X0 三位组合来译码选择将数据送到DBUS 上的寄存器。

计算机组成原理试题及答案

二、填空题 1 字符信息是符号数据,属于处理(非数值)领域的问题,国际上采用的字符系统是七单位的(ASCII)码。P23 2 按IEEE754标准,一个32位浮点数由符号位S(1位)、阶码E(8位)、尾数M(23位)三个域组成。其中阶码E的值等于指数的真值(e)加上一个固定的偏移值(127)。P17 3 双端口存储器和多模块交叉存储器属于并行存储器结构,其中前者采用(空间)并行技术,后者采用(时间)并行技术。P86 4 衡量总线性能的重要指标是(总线带宽),它定义为总线本身所能达到的最高传输速率,单位是(MB/s)。P185 5 在计算机术语中,将ALU控制器和()存储器合在一起称为()。 6 数的真值变成机器码可采用原码表示法,反码表示法,(补码)表示法,(移码)表示法。P19-P21 7 广泛使用的(SRAM)和(DRAM)都是半导体随机读写存储器。前者的速度比后者快,但集成度不如后者高。P67 8 反映主存速度指标的三个术语是存取时间、(存储周期)和(存储器带宽)。P67 9 形成指令地址的方法称为指令寻址,通常是(顺序)寻址,遇到转移指令时(跳跃)寻址。P112 10 CPU从(主存中)取出一条指令并执行这条指令的时间和称为(指令周期)。 11 定点32位字长的字,采用2的补码形式表示时,一个字所能表示

的整数范围是(-2的31次方到2的31次方减1 )。P20 12 IEEE754标准规定的64位浮点数格式中,符号位为1位,阶码为11位,尾数为52位,则它能表示的最大规格化正数为(+[1+(1-2 )]×2 )。 13 浮点加、减法运算的步骤是(0操作处理)、(比较阶码大小并完成对阶)、(尾数进行加或减运算)、(结果规格化并进行舍入处理)、(溢出处理)。P54 14 某计算机字长32位,其存储容量为64MB,若按字编址,它的存储系统的地址线至少需要(14)条。64×1024KB=2048KB(寻址范32围)=2048×8(化为字的形式)=214 15一个组相联映射的Cache,有128块,每组4块,主存共有16384块,每块64个字,则主存地址共(20)位,其中主存字块标记应为(9)位,组地址应为(5)位,Cache地址共(13)位。 16 CPU存取出一条指令并执行该指令的时间叫(指令周期),它通常包含若干个(CPU周期),而后者又包含若干个(时钟周期)。P131 17 计算机系统的层次结构从下至上可分为五级,即微程序设计级(或逻辑电路级)、一般机器级、操作系统级、(汇编语言)级、(高级语言)级。P13 18十进制数在计算机内有两种表示形式:(字符串)形式和(压缩的十进制数串)形式。前者主要用在非数值计算的应用领域,后者用于直接完成十进制数的算术运算。P19 19一个定点数由符号位和数值域两部分组成。按小数点位置不同,

八位乘法器VHDL及功能模块说明

EDA课程设计报告 实验名称:八位乘法器

目录 一.引言 1.1 EDA技术的概念?? 1.2 EDA技术的特点?? 1.3 EDA设计流程?? 1.4 VHDL介绍?? 二.八位乘法器的设计要求与设计思路??2.1 设计目的?? 2.2 设计要求?? 三.八位乘法器的综合设计?? 3.1 八位乘法器功能?? 3.2 八位乘法器设计方案?? 3.3 八位乘法器实体设计?? 3.4 八位乘法器VHDL设计?? 3. 5八位乘法器仿真图形?? 心得体会?? 参考文献??

一、引言 1.1 EDA技术的概念 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。 1.2 EDA技术的特点 利用EDA技术进行电子系统的设计,具有以下几个特点:①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。 1.3 EDA设计流程 典型的EDA设计流程如下: 1、文本/原理图编辑与修改。首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本或图形方式表达出来。 2、编译。完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。 3、综合。将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。 4、行为仿真和功能仿真。利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。 5、适配。利用FPGA/CPLD布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配臵、逻辑分割、逻辑优化、布局布线。适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。

计算机组成原理第四版课后习题答案完整版

第一章 1.比较数字计算机和模拟计算机的特点 解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的; 数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。 两者主要区别见P1 表1.1。 2.数字计算机如何分类?分类的依据是什么? 解:分类:数字计算机分为专用计算机和通用计算机。通用计算机又分为巨型机、大型机、 中型机、小型机、微型机和单片机六类。 分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。 通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、 指令系统规模和机器价格等因素。

3.数字计算机有那些主要应用? (略) 4.冯. 诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分? 解:冯. 诺依曼型计算机的主要设计思想是:存储程序和程序控制。 存储程序:将解题的程序(指令序列)存放到存储器中; 程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。 主要组成部分有:控制器、运算器、存储器、输入设备、输出设备。 5.什么是存储容量?什么是单元地址?什么是数据字?什么是指令字? 解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB、GB来度量,存储容 量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。 单元地址:单元地址简称地址,在存储器中每个存储单

元都有唯一的地址编号,称为单元地 址。 数据字:若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。 指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。 6.什么是指令?什么是程序? 解:指令:计算机所执行的每一个基本的操作。 程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。 7.指令和数据均存放在内存中,计算机如何区分它们是指令还是数据? 解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的 信息即为数据信息。 8.什么是内存?什么是外存?什么是CPU?什么是适配器?简述其功能。

定点补码一位乘法器方案

个人资料整理仅限学习使用 课程设计报告 课程设计名称:计算机组成原理课程设计 课程设计题目:定点补码一位乘法器的设计 院<系):计算机学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:2018年1月15日

目录第1章总体设计方案1 1.1设计原理1 1.2设计思路2 1.3设计环境4 第2章详细设计方案5 2.1顶层方案图的设计与实现5 2.1.1创建顶层图形设计文件5 2.1.2器件的选择与引脚锁定6 2.2功能模块的设计与实现7 2.2.1求补电路模块的设计与实现7 2.2.2 控制电路模块的设计与实现8 2.2.3选择器模块的设计与实现10 第3章编程下载与硬件测试12 3.1编程下载12 3.2硬件测试及结果分析12 参考文献14 附录<电路原理图)15

第1章总体设计方案 1.1设计原理 <1)用[X]补×[Y]补直接求[X×Y]补 讨论当相乘的两个数中有一个或二个为负数的情况,在讨论补码乘法运算时,对被乘数或部分积的处理上与原码乘法有某些类似,差别仅表现在被乘数和部分积的符号位要和数值一起参加运算。 若[Y]补=Y0Y1Y2…Yn 当Y0为1时,则有Y=-1+Yi×2-i 故有X×Y=X×Yi×2-1-X当Y为负值时,用补码乘计算[X×Y]补,是用[X]补乘上[Y]补的数值位,而不理[Y]补符号位上的1,乘完之后,在所得的乘积中再减X,即加-[X]补。实现补码乘法的另一个方案是比较法,是由BOOTH最早提出的,这一方法的出发点是避免区分乘数符号的正负,而且让乘数符号位也参加运算。技巧上表现在分解乘数的每一位上的1为高一位的一个+1和本位上的一个-1:X×Y=X×<-1+Yi×2i)<逐项展开则得)=X×[-Y0+Y1×2-1+Y2×2-2+…+Yn×2-n]=X×[-Y0+(Y1-Y1×2-1>+(Y2×2-1-Y2×2-2>+…+(Yn×2-(n-1>-Yn×2-n>]<合并相同幂次项得)=X×[(Y1-Y0>+(Y2-Y1> ×2-1+…+(Yn-Yn-1> ×2-(n-1>+(0-Yn> ×2-n]=X× ×X]补 P2=[2-1(P1+(Yn-Yn-1> ×X>]补 … Pi=[2-1(Pn-i+(Yn-I+2-Yn-I+1> ×X>]补 … Pn=[2-1(Pn-1+(Y2-Y1> ×X>]补 Pn+1=[ (Pn+(Y1-Y0> ×X>]补 则最终补码乘积为[X*Y]补=[Pn+1]补

定点补码一位乘法器的设计与实现

课程设计报告 课程设计名称:计算机组成原理课程设计 课程设计题目:定点补码一位乘法器的设计与实现 院(系):计算机学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:2012年1月13日

目录 第1章总体设计方案 (1) 1.1设计原理 (1) 1.2设计思路 (1) 1.3设计环境 (2) 第2章详细设计方案 (3) 2.1顶层方案图的设计与实现 (3) 2.1.1创建顶层图形设计文件 (3) 2.1.2器件的选择与引脚锁定 (4) 2.1.3编译、综合、适配 (5) 2.2功能模块的设计与实现 (5) 2.2.1 取补模块的设计与实现 (5) 2.2.2选择器模块的设计与实现 (7) 2.2.3 乘数补码移位寄存器模块的设计与实现 (11) 2.2.4 部分积移位寄存器模块的设计与实现 (13) 2.3仿真调试 (14) 第3章编程下载与硬件测试 (16) 参考文献 (17) 附录(电路原理图) (18)

第1章总体设计方案 1.1 设计原理 在计算两个补码相乘时,可以通过Booth算法来实现定点补码一位乘的功能。布斯(Booth)算法采用相加和相减的操作计算补码数据的乘积,Booth算法对乘数从低位开始判断,根据后两个数据位的情况决定进行加法、减法还是仅仅进行移位操作。讨论当相乘的两个数中有一个或二个为负数的情况,在讨论补码乘法运算时,对被乘数或部分积的处理上与原码乘法有某些类似,差别仅表现在被乘数和部分积的符号位要和数值一起参加运算。 Booth乘法规则如下: 假设X、Y都是用补码形式表示的机器数,[X]补和[Y]补=Ys.Y1Y2…Yn,都是任意符号表示的数。比较法求新的部分积,取决于两个比较位的数位,即Yi+1Yi 的状态。 首先设置附加位Yn+1=0,部分积初值[Z0]补=0。 当n≠0时,判断YnYn+1, 若YnYn+1=00或11,即相邻位相同时,上次部分积右移一位,直接得部分积。若YnYn+1=01,上次部分积加[X]补,然后右移一位得新部分积。 若YnYn+1=10,上次部分积加[-X]补,然后右移一位得新部分积。 当n=0时,判YnYn+1(对应于Y0Y1),运算规则同(1)只是不移位。即在运算的最后一步,乘积不再右移。 1.2 设计思路 首先要采用原码值输入,乘数和被乘数皆为8位。而且根据补码一位乘法运算规则:(1) 如果yn = yn+1,部分积[ zi ] 加0,再右移一位;(2) 如果yn yn+1 = 01,部分积加[ x ]补,再右移一位;(3) 如果yn yn+1 = 10,部分积加[ - x]补,再右移一位;这样重复进行n+1 步,但最后一步不移位。包括一位符号位,所得乘积为2n+1 位,其中n 为尾数位数。 设计一个二输入三选一选择器对可能的三种情况进行选择。当选择器中输入

quartus II 软件做4的位乘法器设计(vhdl 语言)

用quartus II 软件设计4位乘法器 1. 并行乘法的算法: 下面根据乘法例题来分析这种算法,题中M4,M3,M2,M1是被乘数,用M表示。N4,N3,N2,N1是乘数,用N表示 2.乘法模块 Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all; Entity and4a is Port(a:in std_logic_vector(3 downto 0); en:in std_logic; r:out std_logic_vector(3 downto 0)); End and4a; Architecture behave of and4a is Begin Process(en,a(3 downto 0)) Begin If (en='1') then r<=a; Else r<="0000"; End if; End process; End behave;

3.加法模块 Library ieee; Use ieee.std_logic_1164.all; Entity ls283 is Port (o1,o2:in std_logic_vector(3 downto 0); res:out std_logic_vector(4 downto 0)); End ls283; Architecture behave of ls283 is Begin Process(o1,o2) Begin res<=('0'&o1)+('0'&o2); End process; End behave;

移位相加型8位硬件乘法器设计

合肥学院 课程设计报告 题目:移位相加型8位硬件乘法器 系别:电子信息与电气工程系 专业:通信工程 班级: 13通信工程(1)班 学号: 姓名: 导师:石朝毅 成绩: 2016年 6 月 11 日

移位相加型8位硬件乘法器设计 摘要 本次设计是基于时序结构的8位移位相加型乘法器,使用软件QuartusII进行仿真设计。完成此乘法器,我们需要首先设计该乘法器的组件,包括REGSHT模块、SREG8BT模块、AND8B模块和ADDER8BT模块,并对所有元件进行仿真,无误后可进行乘法器的设计。设计方法使用的是元件例化,具体原理是通过逐项相加来实现乘法功能,最终完成整体的VHDL程序设计并仿真。 关键词:时序;乘法器;元件例化

目录 第一章前言............................................ 错误!未定义书签。设计概述............................................. 错误!未定义书签。 问题提出与原理..................................... 错误!未定义书签。 设计需要........................................... 错误!未定义书签。第二章设计过程及结果.................................. 错误!未定义书签。设计思路............................................. 错误!未定义书签。 设计须知........................................... 错误!未定义书签。 基本步骤........................................... 错误!未定义书签。设计代码及仿真....................................... 错误!未定义书签。 元件REGSHT设计代码及仿真结果...................... 错误!未定义书签。 元件SREG8BT设计代码及仿真结果..................... 错误!未定义书签。 元件AND8B设计代码及仿真结果....................... 错误!未定义书签。 元件ADDER8BT设计代码及仿真结果.................... 错误!未定义书签。 总模块设计代码及仿真结果........................... 错误!未定义书签。第三章总结............................................ 错误!未定义书签。致谢................................................... 错误!未定义书签。

定点原码一位乘法器讲课教案

定点原码一位乘法器

沈阳航空工业学院 课程设计报告 课程设计名称:计算机组成原理课程设计 课程设计题目:定点原码一位乘法器的设计 院(系):计算机学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:

目录 第1章总体设计方案 (1) 1.1设计原理 (1) 1.2设计环境 (2) 第2章详细设计方案 (4) 2.1顶层方案图的设计与实现 (4) 2.1.1创建顶层图形设计文件 (4) 2.1.2器件的选择与引脚锁定 (5) 2.2第二层模块的设计与实现 (7) 2.3功能模块的设计与实现 (7) 2.3.1移位模块的设计与实现 (7) 2.3.2 乘数移位模块的设计与实现 (10) 2.3.3选择模块的设计与实现 (12) 2.3.4 控制模块的设计与实现 (13) 2.3.5 其他模块的设计与实现 (15) 2.4仿真调试 (16) 第3章编程下载与硬件测试 (19) 3.1编程下载 (19) 3.2硬件测试及结果分析 (19) 参考文献 (20) 附录(电路原理图) (21)

第1章总体设计方案 1.1 设计原理 原码一位乘,两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积。 例:X=0.1100,Y=0.1110,计算乘积X*Y。 0.1100 * 0.1110 0000 1100 1100 1100 0.10101000 在计算时,逐次按乘数每1位上的值是1还是0,决定相加数取被乘数的值还是取零值,而且相加数逐次向左偏移1位,最后一起求积。 由于在计算机内多个数据一般不能同时相加,一次加法操作只能求出两数之和,因此每求得一个相加数,就与上次部分积相加每次计算时,相加数逐次向左偏移一位,由于最后的乘积位数是乘数(被乘数)的两倍,因此加法器也需增到两倍。部分积右移时,乘数寄存器同时右移一位,所以用乘数寄存器的最低位来控制相加数取被乘数或零,同时乘数寄存器接收部分积右移出来的一位,完成运算后,部分积寄存器保存乘积的高位部分,乘数寄存器中保存乘积的低位部分。

四川大学数电课程设计(四位二进制无符号数乘法器 ).

数字电子技术基础课程设计报告 学院电气信息学院 专业 姓名 学号 设计题目四位二进制无符号数乘法器

目录 1设计任务描述 (1) 1.1设计描述 (1) 1.2设计概述 (1) 2通用器件实现 (1) 2.1方案一与门和全加器组合逻辑电路 (1) 2.1.1设计思路 (1) 2.1.2仿真测试 (2) 2.1.3优缺点分析 (3) 2.2方案二多种通用集成芯片组合逻辑电路 (3) 2.2.1设计思路 (3) 2.2.2仿真测试 (5) 2.2.3优缺点分析 (7) 3使用硬件描述语言——Verilog实现 (7) 3.1设计目的 (7) 3.2设计要求 (7) 3.3硬件语言描述 (7) 3.4BASY2板结果附图 (9) 4结论与心得体会 (11) 4.1结论 (11) 4.2心得体会 (11)

1设计任务描述 1.1设计描述 设计一个乘法器,实现两个四位二进制数的乘法。两个二进制数分别是被乘数3210A A A A 和乘数3210B B B B 。被乘数和乘数这两个二进制数分别由高低电平给出。乘法运算的结果即乘积由电平指示灯显示的二进制数。做到保持乘积、输出乘积,即认为目的实现,结束运算。 1.2设计概述 4位二进制乘法器在实际中具有广泛应用。它是一些计算器的基本组成部分,其原理适用于很多计算器和大型计算机,它涉及到时序逻辑电路如何设计、分析和工作等方面。通过此电路更深刻的了解时序逻辑部件的工作原理,从而掌握如何根据需要设计满足要求的各种电路图,解决生活中的实际问题,将所学知识应用于实践中。 2通用器件实现 2.1方案一与门和全加器组合逻辑电路 2.1.1设计思路手动实现两个四位二进制乘法的计算,应为以下过程: 1 23456781 2341234111100011 10111010 0001 10110111 101C C C C C C C C A A A A B B B B 设乘数为1234A A A A (下标数字大则为高位),被乘数为1234B B B B ,使乘数从低位到高位依次与被乘数相乘,得到四个四位二进制加数,再依次对四个加数错位相加,得到八位的二进制的乘法运算结果。 依次算法,两个四进制乘数由8个单刀双掷开关接地(低电平0)和接5V(高电平1)进行输入,乘数A 从低位到高位依次与被乘数B 相乘过程可用二输入与门实现,共得到四个加数16个与运算结果,乘数最低位1A 与被乘数作与运算的四位结果的最低位即是乘法运算结果的最低位1C ;依次用三个四位全加器对四个加数进行全加运算,运算时输入两个四位二进制数,输入进位信号接地为0,低级的全加器的运算结果进位信号作为与下一个加数进行全加运算的被加数的最高位,四位全加运算结果的最低位作为输出结果,并从低到高位的依次输出432C C C 、、,最后一个全加器运算过后得到进位信号是八位二进制计算结果的最高位8C ,剩余的高三位输出分别为567C C C 、、,将8位输出结果直接在通过电阻到地保护的发光二极管表示。

EDA课程设计报告_-_5位整数乘法器设计

有符号5位整数乘法器设计与制作 1.课程设计的性质、目的和任务 (1) 2.题目要求 (1) 3.设计步骤 (2) 3.1整体原理框图: (2) 3.2乘法器整体电路原理图: (2) 3.3输入模块: (2) 3.4运算模块: (3) 3.5显示控制模块: (6) 3.6显示模块: (7) 4.整体仿真 (12) 5.调试中遇到的问题及解决的方法 ........................................ 错误!未定义书签。 6.心得体会................................................................................... 错误!未定义书签。 7.建议:....................................................................................... 错误!未定义书签。 1.课程设计的性质、目的和任务 创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由之路。 通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。 2.题目要求 设计一个两个5位数相乘的乘法器。用发光二极管显示输入数值,用7段显示器显示十进制结果。乘数和被乘数分两次输入。在输入乘数和被乘数时,要求显示十进制输入数据。输入显示和计算结果显示,采用分时显示方式进行,可参见计算器的显示功能

(最新版)16位定点数原码一位乘法器的设计与实现课程设计报告

计算机科学与工程学院 课程设计报告 题目全称: 16位定点数原码一位乘法器的设计与实现 课程名称:计算机组成原理 指导老师:谭浩职称: (注:学生姓名填写按学生对该课程设计的贡献及工作量由高到底排列,分数按排名依次递减。序号排位为“1”的学生成绩最高,排位为“10”的学生成绩最低。) 指导老师评语:

签字:

摘要 Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。本实验用Verilog HDL语言设计了全加器实现的组合乘法器,通过功能仿真,验证了结果。 关键词:乘法器,Verilog,组合逻辑,全加器

ABSTRACT Text…. Keywords:

目录 (自动插入目录) 第一章绪论 (1) 1.1 选题背景及意义 (1) 1.2 国内外研究现状 (1) 1.3 主要内容与章节安排 (1) 1.4 本章小结 (1) 第二章课程设计的需求分析 (3) 2.1 环境需求 (3) 2.2 功能需求 (3) 2.3 性能需求 (3) 2.3 本章小结 (3) 第三章 ****的设计 (5) 3.1 总体设计 (5) 3.2 功能模块设计 (5) 3.3 本章小结 (5) 第四章 ****的实现 (7) 4.1 开发环境介绍 (7) 4.2 主要功能模块的实现 (7) 4.3 本章小结 (7) 第五章测试及成果展示 (9) 5.1 测试环境 (9) 5.2 测试用例和结果 (9) 5.3 成果展示 (9) 5.4 本章小结 (9) 第六章总结与展望 (11) 参考文献 (12)

定点原码一位乘法器的设计 (3)

沈阳航空工业学院 课程设计报告 课程设计名称:计算机组成原理课程设计课程设计题目:定点原码一位乘法器的设计 院(系):计算机学院 专业:计算机科学与技术 班级:4401102 学号:200403011034 姓名:蔡丽娇 指导教师:刘泽显 完成日期:2006年12月31日

沈阳航空工业学院课程设计报告 目录 第1章总体设计方案 (1) 1.1 设计原理 (1) 1.2 设计思路 (1) 1.3 设计环境 (2) 第二章详细设计方案 (3) 2.1顶层方案图的设计与实现 (3) 2.1.1创建顶层图形设计文件 (3) 2.1.2器件的选择与引脚锁定 (3) 2.2 功能模块的设计与实现 (5) 2.2.1 8位移位电路 (5) 2.2.2 部分积寄存器 (7) 2.2.3 乘数寄存器 (7) 2.2.4 二路选择器 (8) 2.2.5 计数器 (9) 2.2.6 结果输出器 (11) 2.3 仿真调试 (13) 第3章编程下载与硬件测试 (14) 3.1 编程下载 (14) 3.2 硬件测试及结果分析 (14) 参考文献 (15) 附录(电路原理图) (16)

第1章总体设计方案 1.1 设计原理 定点原码一位乘法器的设计主要是基于原码一位乘法的计算过成。设计内容主要是实现输入被乘数和乘数经电路得出结果。设计思想是:以乘数的最低位作为乘法判断位,若判断位为1,则在前次部分积(初始部分积为0)上加上被乘数,然后连同乘数一起右移一位;若判断位为0,则在前次部分积上加0,然后连同乘数一起右移一位。重复此判断过程,直到运算n次为止(n为乘数数值部分的长度)。 1.2 设计思路 原码一位乘法器主要包括ALU﹑部分积寄存器﹑乘数移位寄存器﹑被乘数寄存器和移位电路五大部分。这五大部分就作为底层设计,其中乘数移位寄存器需要保留移出的最低位,它的最高位要接收部分积移出的最低位这两部分采用V erilog语言进行设计,顶层的乘法器采用原理图设计输入方式。 原码一位乘的数值运算中不需要考虑符号位的情况,符号位于数值位分开处理。运算结果的符号是乘数和被乘数符号位的异或,即z=x⊕y。一位乘法运算将乘法分解成一系列加法操作,每次判断乘数中的最低位决定将被乘数或零放到加法器的一个输入端口,将部分积送入另一个输入端口。计算的结果送入移位寄存器再将其高七位送入部分积寄存器,低一位送入乘数移位寄存器。这样就完成了一次移位和加法操作。要实现8位*8位乘法运算需要进行8次移位和加法操作。8次移位完后给各元件清零,此工作由计数器控制。如图1.2所示。 完成上诉电路设计后实现原码一位乘法器的功能后,经编译、调试后形成*.bit 文件并下载到XCV200可编程逻辑芯片中,经硬件测试验证设计的正确性。

4位阵列乘法器

目录 一、设计题目 (2) 二、设计目的 (2) 三、设计过程 (2) 3.1设计原理 (2) 3.2器件选择 (3) 3.3逻辑原理 (3) 3.4阵列乘法器的逻辑原理 (4) 3.5 时序图 (4) 四、设计心得 (5) 五、参考文献 (6)

4位阵列乘法器 一、设计题目4位阵列乘法器 二、设计目的 计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。 同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发现问题,分析问题,到最终的解决问题。凝聚了我们对问题的思考,充分的锻炼了我们的动手能力、团队合作能力、分析解决问题的能力。 三、设计过程 3.1设计原理 阵列乘法器是类似于人工计算(如图1.1所示)的方法,乘数与被乘数都是二进制数。所以可以通过乘数从最后一位起一个一个和被乘数相与,自第二位起要依次向左移一位,形成一个阵列的形式。这就可将其看成一个全加的过程,将乘数某位与被乘数某位与完的结果加上乘数某位的下一位与被乘数某位的下一位与完的结果再加上前一列的进位进而得出每一位的结果。 一个阵列乘法器要完成X.Y乘法运算(X=X4X3X2X1,Y=Y4Y3Y2Y1)。阵列的每一行送入乘数Y的每一位数位,而各行错开形成的每一斜列则送入被乘数的每一数位。阵列乘法器是由十六个模块组成,每一个模块构包括一个与门和一位全加器。 1 0 1 1 × 1 1 0 1 ________________ 10 1 1 00 0 0 1 0 1 1 1 0 1 1 ___________________________ 1 0 0 0 1 1 1 1 图1人工计算乘法示例

计算机组成原理.各章例题

第一章计算机系统概论 例1,冯·诺依曼机工作的基本方式的特点是什么? 解:冯·诺依曼机工作的基本方式的特点是:按地址访问并顺序执行指令。 冯·诺依曼机工作原理为: 例2,Cache是一种A. ______存储器,是为了解决CPU和主存之间B. ______不匹配而采用 的一项重要硬件技术。现发展为多级cache体系,C. ______分设体系。 解:A. 高速缓冲 B. 速度 C. 指令cache与数据cache 例3,完整的计算机应包括那些部分? 解:完整的计算机应包括配套的硬件设备和软件系统。 例4,计算机系统的层次结构是怎样的? 解:计算机系统的层次结构如图:

第二章 运算方法和运算器 例 1.设机器字长32位,定点表示,尾数31位,数符1位,问: (1)定点原码整数表示时,最大正数是多少?最大负数是多少? (2)定点原码小数表示时,最大正数是多少?最大负数是多少? 解:(1 最大正数: 数值 = (231 – 1)10 最大负数: 数值 = -(231 – 1)10 (2)定点原码小数表示: 最大正数值 = (1 – 231 )10 最大负数值 = -(1–231 )10 例2.已知 x = - 0.01111 ,y = +0.11001, 求 [ x ]补 ,[ -x ]补 ,[ y ]补 ,[ -y ] 补 ,x + y = ? ,x – y = ? 解:[ x ]原 = 1.01111 [ x ]补 = 1.10001 所以 :[ -x ]补 = 0.01111 [ y ]原 = 0.11001 [ y ]补 = 0.11001 所以 :[ -y ]补 = 1.00111 [ x ]补 11.10001 [ x ]补 11.10001 + [ y ]补 00.11001 + [ -y ]补 11.00111 [ x + y ]补 00.01010 [ x - y ]补 10.11000 所以: x + y = +0.01010 因为符号位相异,结果发生溢出 例3.设有两个浮点数 N 1 = 2j1 × S 1 , N 2 = 2j2 × S 2 ,其中阶码2位,阶符1位,尾数四位,数符一位。设 :j 1 = (-10 )2 ,S 1 = ( +0.1001)2 j 2 = (+10 )2 ,S 2 = ( +0.1011)2 求:N 1 ×N 2 ,写出运算步骤及结果,积的尾数占4位,要规格化结果,用原码阵列乘法器求尾数之积。 (1)解: 浮点乘法规则: N 1 ×N 2 =( 2j1 ×S 1)× (2j2 × S 2) = 2(j1+j2) ×(S 1×S 2) (2)阶码求和: j 1 + j 2 = 0 (3) 尾数相乘: 被乘数S 1 =0.1001,令乘数S 2 = 0.1011,尾数绝对值相乘得积的绝对值,积的符号位 = 0⊕0 = 0。按无符号阵乘法器运算得:N 1 ×N 2 = 20×0.01100011 (4)尾数规格化、舍入(尾数四位) N 1 ×N 2 = (+ 0.01100011)2 = (+0.1100)2×2(-01)2 例4.由S ,E ,M 三个域组成的一个32位二进制字所表示的非零规格化浮点数

相关主题
文本预览
相关文档 最新文档