《计算机组成原理》课程设计_两个数的乘法运算

合集下载

组成原理实验报告-基于复杂模型机两个8位二进制数乘法的实现

组成原理实验报告-基于复杂模型机两个8位二进制数乘法的实现

计算机组成原理实验报告评语:课中检查完成的题号及题数:课后完成的题号与题数:成绩: 指导教师:实验报告一、实验目的:1. 综合应用所学的计算机组成原理知识,设计并实现较为完整的计算机;2. 深入了解指令系统并会设计简单的指令;3. 学会编写机器程序。

1. 按照书上给出的接线图和机器程序验证其正确性;2. 了解该机器程序的执行过程和原理;3. 通过编写程序实现两个8位二进制乘法运算。

三、项目要求及分析:项目要求编程实现两个8位二进制数乘法,故可沿袭前面验证试验的接线。

8位二 进制数乘法运算结果为16位,而寄存器是8位的,所以应分为高八位和低八位。

我们 组采用的是比较普遍的运算方法,即判断最低位为1或0,若为0,部分积不变;若为1, 则部分积加上乘数左移了 n 次的结果得到新的部分积。

(n 为被乘数当前1所在的位数)四、具体实现:1.画出算法流程图实验名称: 基于复杂模型机两个8位二进制数乘法的实现 日期: 2011/1/10班级:学号: 姓名:、实验内容:;NOP ;PC->AR, PC 力卩 1 ;MEM->IR, P<1> ;RS->B ;A 力卩 B->RD ;RS->B ;A 与 B->RD ;MEM->AR ;IO->RD ;MEM->AR ;NOP ;MEM->RD ;RD->MEM ;A->PC ;NOP, P<3> ;RS->IO ;MEM->RD ;A 力卩 1->RD ;RS->B ;A 左移B 位(低3位)->RD2.根据算法实现,若需修改指令系统,画出修改后的微程序流程图 实验修改了两条指令,其他与指导书上一致。

修改的指令如下: 3 .编写微程序$M 00 000001$M 01 006D43$M 03 107070$M 04 002405$M 05 04B201$M 06 002407$M 07 013201$M 08 106009$M 09 183001$M 0A 106010$M 0B 000001$M 0C 103001$M 0D 200601$M 0E 005341$M 0F 0000CB$M 10 280401$M 11 103001$M 12 06B201$M 13 002414$M 14 033201$M 15 002416 ; RS->B$M 16 01B201 ; A 或B->RD $M 17 002418 ; RS->B$M 18 02B201 ; A 右移B 位->RD$M 1B 005341 ; A->PC$M 1C 10101D ; MEM->A$M 1D 10608C ; MEM->AR, P<2> $M 1E 10601F ; MEM->AR$M 1F 101020 ; MEM->A$M 20 10608C ; MEM->AR, P<2> $M 28 101029 ; MEM->A$M 29 00282A ; RI->B$M 2A 04E22B ; A 力卩B->AR$M 2B 04928C ; A 力卩B->A,P<2>$M 2C 10102D ; MEM->A$M 2D 002C2E ; PC->B$M 2E 04E22F ; A 力卩B->AR$M 2F 04928C ; A 力卩B->A,P<2>$M 30 001604 ; RD->A$M 31 001606 ; RD->A$M 32 006D48 ; PC->AR, PC 加1 $M 33 006D4A ; PC->AR, PC 加1 $M 34 003401 ; RS->RD$M 35 000035 ; NOP$M 36 006D51 ; PC->AR, PC 加1 $M 37 001612 ; RD->A$M 38 001613 ; RD->A$M 39 001615 ; RD->A$M 3A 001617 ; RD->A$M 3B 001613 ; RD->A$M 3C 006D5C ; PC->AR, PC 加1 $M 3D 006D5E ; PC->AR, PC 加1 $M 3E 006D68 ; PC->AR, PC 加1 $M 3F 006D6C ; PC->AR, PC 加1 4.编写机器指令验证$P 00 61 ; LDI R1,28H$P 01 01 ;被乘数是83$P 02 62 ; LDI R2,56H$P 03 01 ; 乘数是33$P 04 D1 ; R1->MEM A0H 单元$P 05 A0 ;$P 04 D2 ; R2->MEM B0H 单元$P 05 B0 ;$P 06 60 ; LDI R0,00H$P 08 DO ; R0->MEM A1H 单元$P 09 A1 ;$P 0A D0 ; R0->MEM AOH 单元$P OB A0 ;$P 0C 63 ; LDI R3,FFH$P 0D FF ;$P 0E 1E ; AND R2,R3 R2 判断是不是 0$P 0F F0 ; FZ=1 ,跳到 输出结果并停机$P 10 1E ;$P 11 63 ; LDI R3,01H$P 12 00 ;$P 13 AE ; SHR R2,R3 右移 0 位$P 14 F0 ; FC 为 1,跳到 60$P 15 60 ;$P 16 D2 ; R2->MEM B0H 单元$P 17 B0 ;$P 18 63 ;$P 19 00 ;$P 1A 8D ; SHL R1,R3 左移 0 位$P 1B 8C ; SHL R0,R3左移 0 位$P 1C E0 ;$P 1D 80 ; ;输出$P 1E C2 ; MEM->R2 A0H$P 1F A0 ;$P 20 C3 ; MEM->R3 A1H$P 21 A1 ;$P 22 50 ; 停机 $P 60 D2 ; R2->MEM B0H $P 61 B0 ;$P 62 C2 ; MEM->R2 A0H $P 63 A0 ;$P 64 C3 ; MEM->R3 A1H $P 65 A1 ;$P 66 06 ; ADD R2,R1$P 67 F0 ; FC 为 1,跳到 70$P 68 74 ;$P 69 03 ; ADD R3,R0$P 6A D3 ; R3->MEM A1H 单元单元部分积低位 单元部分积高位单元单元部分积低位单元部分积高位$P 6C D2 ; R2->MEM A0H 单元$P 6E 63 ;$P 6F 00 ;$P 70 8D ; SHL R1,R3 左移0 位$P 71 8C ; SHL R0,R3 左移0 位$P 72 E0 ; JMP LOOP$P 73 80 ;$P 74 03 ; ADD R3,R0$P 75 73 ; R3+1->R3$P 76 D3 ; R3->MEM A1H 单元$P 77 A1 ;$P 78 D2 ; R2->MEM A0H 单元$P 79 A0 ;$P 7A 63 ;$P 7B 00 ;$P 7C 8D ; SHL R1,R3 左移0 位$P 7D 8C ; SHL R0,R3 左移0 位$P 7E E0 ; JMP LOOP$P 7F 80 ;$P 80 63 ; LDI R3,FFH$P 81 FF ;$P 82 C2 ; MEM->R2 B0H 单元$P 83 B0 ;$P 84 1E ; AND R2,R3 R2 判断是不是0 $P 85 F0 ; FZ=1 ,跳到停机$P 86 1E ;$P 87 63 ; LDI R3,01H$P 88 00 ;$P 89 AE ; RR R2,R3 右移一位$P 8A F0 ; FC 为1,跳到60$P 8B 60 ;$P 8C D2 ; R2->MEM B0H 单元$P 8D B0 ;$P 8E 63 ;$P 8F 00 ;$P 90 8D ; SHL R1,R3 左移0 位$P 91 BC ; SHL R0,R3 左移0 位$P 92 E0 ;$P 93 80 ;联机装入调试五、调试运行结果:①、乘数是83H,被乘数是33H, 结果最后放在R3R2上是1AH 19H:②、乘数FF,被乘数FE:0 B* R1 8* R2 I R3R0= | 貫I = ft2= P3 =| T2 12T2被乘数跟FFH进行与,判断是否为0:1 ' lSR3w|R=*~Tf—F 二结果B控制信号控制总线P匚二六、所遇问题及解决方法:开始时对机器程序不太了解,对微指令与机器指令之间的运行不太明白,后来在同组成员和其他同学的帮助与讨论下明白了它们之间的联系和运行顺序。

教案-计算机组成原理(DOC)

教案-计算机组成原理(DOC)

计算机组成原理教案(数字媒体专业)第一章计算机系统概论内容简介:计算机系统的层次结构,冯·诺伊曼计算机的硬件结构和主要功能,计算机的工作步骤以及计算机的主要技术指标。

教学目标:了解计算机系统的层次结构;了解冯·诺伊曼计算机的特点及硬件构成;理解计算机的工作步骤,了解计算机的主要技术指标的含义及其对计算机的影响。

教学重点和难点:虚拟机的概念;计算机的硬件构成;计算机的工作步骤。

教学媒体和教学方法:使用幻灯片在多媒体教室进行教学;教学中采用讲授与讨论相结合的方法。

教学过程:一、计算机系统简介1.计算机的软硬件概念(1)硬件(2)软件(3)软硬件的关系2.计算机系统的层次结构(1)虚拟机的概念(2)各层虚拟机及与真实机器的层次关系3.计算机的基本组成(1)冯·诺伊曼计算机的特点(2)计算机硬件结构,总线的构成。

讨论、分析直连结构的问题,提出总线思想,并简单介绍总线结构。

(3)计算机的工作步骤提出计算机解决问题的基本步骤计算机基本构成部件的介绍(运算器、存储器、控制器)以计算ax2+bx+c为例分析计算机工作的过程4.计算机的主要技术指标(1)机器字长计算机同时处理的二进制位机器字长与数据总线宽度、存储字长的关系(2)存储容量存储容量的单位主存容量辅存容量(3)运算速度几种计算运算速度的方法并对它们进行比较运算速度的表示单位第二章计算机的发展及应用内容简介:计算机的发展史;计算机的应用领域;计算机的发展展望。

教学目标:了解计算机的产生和发展以及发展思路;了解计算机的应用领域;了解计算机的发展趋势。

教学重点和难点:计算机的应用领域。

教学媒体和教学方法:使用幻灯片在多媒体教室进行教学;教学中采用讲授与讨论相结合的方法。

教学过程:一、计算机的发展史1.计算机的产生和发展现代计算机的研究工作第一台电子计算机的产生计算机的发展阶段计算机的发展规律计算机的发展趋势2.微型计算机的出现和发展微型计算机的发展阶段微型计算机的发展带来的工作、学习、生活方式的变化3.软件技术的兴起和发展软硬件的融合,简介嵌入式发展方向二、计算机的应用1.科学计算和数据处理通过ENIAC进行计算的一个案例,直观体会计算机的计算能力2.工业控制和实时控制3.网络技术应用4.虚拟现实介绍虚拟现实技术的一些应用5.办公自动化和管理信息系统6.多媒体技术7.人工智能三、计算机发展的展望第三章系统总线内容简介:总线的概念;总线的分类;总线的特性和性能指标;总线结构;总线控制。

定点原码两位乘法器的设计说明

定点原码两位乘法器的设计说明

课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码两位乘法器的设计院(系):计算机学院专业:计算机科学与技术班级:学号:姓名:指导教师:完成日期:目录航空工业学院........................................ 错误!未定义书签。

第1章总体设计方案. (1)1.1设计原理 (1)1.2设计思路 (3)1.3设计环境 (4)第2章功能模块的设计与实现 (5)2.1顶层电路的设计与实现 (5)2.1.1创建顶层图形设计文件 (5)2.1.2器件的选择与引脚锁定 (5)2.2基本功能模块的组成及工作原理 (7)2.2.1被乘数模块的组成及工作原理 (7)2.2.2乘数模块的组成及工作原理 (9)2.2.3选择模块的组成及工作原理 (10)2.2.4移位模块的组成及工作原理 (12)2.3仿真调试 (13)第3章编程下载与硬件测试 (15)3.1编程下载 (15)3.2硬件测试及结果分析 (15)参考文献 (17)附录(电路原理图) (18)第1章总体设计方案1.1 设计原理定点原码两位乘与定点原码一位乘一样,符号位的运算和数值部分是分开进行的,但为了提高运算速度,所以采用了原码两位乘,因为原码两位乘是用乘数的末两位的状态来决定新的部分积如何形成,可提高运算速度。

乘数和被乘数都用原码表示。

两位乘数有四种可能的组合,每种组合对应与以下操作:00——相当与0*X。

部分积+0,右移两位;01——相当与1*X。

部分积+X,右移两位;10——相当与2*X。

部分积+2X,右移两位;11——相当与3*X。

部分积+3X,右移两位。

与一位乘法比较,多出了+2X和3X两种情况。

把X左移1位即得到2X,在机器通常采用左斜送一位来实现。

可是+3X一般不能一次完成,如分成两次进行,又降低了计算速度。

解决问题的办法是:以(4X-X)来代替3X运算,在本次运算中只执行-X,而+4X则归并到下一步执行,此时部分积以右移了两位,上一步欠下的+4X已变成+X,在实际线路中要用一个触发器C来记录是否欠下+4X,若是,则C变为1。

计算机组成原理第二章 第8讲 定点乘法运算

计算机组成原理第二章 第8讲 定点乘法运算

a4b1 a3b1 a2b1 a1b1 a0b1
a4b2 a3b2 a2b2 a1b2 a0b2 a4b3 a3b3 a2b3 a1b3 a0b3
a4b4 a3b4 a2b4 a1b4 a0b4
1、定点原码乘法原理
用公式描述乘法过程: 设有两个无符号二进制整数: A=am-1…a1a0 B=bn-1…b1b0 它们的真值分别为a和b,即 a =∑ai2i i =0
m-1
b = ∑ b j2 j
j=0
n-1
在二进制乘法中,被乘数A与乘数B相乘,产生m+n位 乘积P: P=pm+n-1…p1p0 乘积P 的数值为:
实现这个乘法过程所需要的操作:
其中的aibj实际为ai与bj的逻辑与
不带符号位的阵列乘法器
解决问题的核心:
怎样将乘法阵列中的每个逻辑与累加
t=(n-1)*T+4T 其中(n-1)*T为或门延迟时间,4T为最高位 与门和异或门的时延。 与教材上有出入

3、带符号的阵列乘法器(间接法)
带符号的阵列乘法器既适用于原码乘法也
适用于补码乘法 A、B均为原码时:

算前求补和算后求补禁用,即不求补
算前求补和算后求补有效,需要求补
A、B均为补码时:

两者都是符号位单独运算 后者耗时约增加一倍
3、带符号的阵列乘法器(间接法)
[例20] 设x=+15,y=-13,用带求补器的原码阵列乘法器求出 乘积x· y=? 解:[x]原=01111 , [y]原=11101 , |x|=1111 , |y|=1101 符号位运算:0⊕1=1 1111 × 1101 被乘数和乘数都是原码时: ———————————— 求补操作不执行,只将去掉 1111 符号的数值部分原样输出。 0000 1111 + 1111 ———————————— 11000011 乘积符号为1,算后求补器输出11000011, [x×y]原=111000011 换算成二进制数真值是 x· y = (-11000011)2 = (-195)10 2016/6/25 30

计算机组成原理原码两位乘法流程图

计算机组成原理原码两位乘法流程图

计算机组成原理原码两位乘法流程图下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor.I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!计算机组成原理:原码两位乘法的流程分析在计算机科学中,理解基本的运算过程是至关重要的,尤其是乘法,它是许多复杂计算的基础。

定点原码二位乘法器的设计

定点原码二位乘法器的设计

课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码二位乘法器的设计院(系):专业:班级:学号:姓名:指导教师:说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实,不予通过。

报告和电子数据必须作为实验现象重复的关键依据。

学术诚信声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。

尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。

与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。

报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。

本人签名: 日期:年月日课程设计任务书目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (3)1.3设计环境 (3)第2章详细设计方案 (5)2.1顶层方案图的设计与实现 (5)2.2创建顶层图形设计文件 (5)2.3器件的选择与引脚锁定 (6)第3章功能模块的设计与实现 (7)3.1控制器模块的设计与实现 (7)3.2选择器模块的设计与实现 (7)3.3乘数模块的设计与实现 (8)3.4部分积模块的设计与实现 (9)3.5原码两位乘法器模块的设计与实现 (10)第4章编程下载与硬件测试 (12)3.1编程下载 (12)3.2硬件测试及结果分析 (12)参考文献 (13)第1章 总体设计方案1.1设计原理原码两位乘的乘数和被乘数用原码表示,根据乘数最后两位的取值情况,依次求出被乘数对应的4种选择值,然后与上次部分积相加之后,再对本次得出的部分值右移两位,循环执行,直至乘数的高两位运算完成为止。

两位乘数共有四种状态,对应的四种状态可得表1.表中2倍的被乘数可通过乘数将X 左移1位得到2X ,在机器内通常采用左斜送一位来实现。

微机原理设计实验之两个数相乘

微机原理设计实验之两个数相乘

课程设计题目:两个数相乘一、实验目的1、领会汇编语言的编程思想;2、掌握汇编语言的指令,加深乘法指令和循环指令的用法;3、学会DOS功能的调用。

二、实验内容实现两个十进制数的乘法,被乘数和乘数均以ASCII码形式存放在内存中,乘积在屏幕上显示出来。

三、实验原理本实验设计A、B两个数相乘。

巧妙地运用了数学中的乘法原理,将B的低位和A的最低位相乘得到的数的低位存到AL中,这个数的进位存到AH中,再用B的低位和A的次低位相乘,得到一个数,这个数的低位和上一次的进位相加。

循环此过程直到到B与A的最高位相乘结束,并与上一次结果的进位相加,得到最后的结果。

四、程序设计流程图(此处画上是实验纸上的流程图)五、实验程序DATA SEGMENT ;定义数据段DATA1 DB 32H,39H,30H,35H,34H ;用ASCII码表示被乘数45092DATA2 DB 34H ;用ASCII码表示乘数4MES1 DB '*','$'MES2 DB '=','$'BUF DB 'Result$'RESULT DB 6 DUP(00H) ;定义存放结果的数据缓冲区,6个字节长,初值为0DATA ENDS ;数据段结束STACK SEGMENT ;定义堆栈段STA DB 20 DUP() ;为变量STA分配20个字节的空间TOP EQU LENGTH STA;返回利用DUP定义的数组元素的个数到TOP,TOP=20STACK ENDS ;堆栈段结束CODE SEGMENT ;定义代码段ASSUME CS: CODE,DS:DATA,SS:STACK,ES:DATASTART: MOV AX,DATAMOV DS,AX ;DS→AXMOV AX,STACKMOV SS,AX ;SS→STACKMOV SP,TOP ;栈顶指针指向TOPMOV DX,OFFESET BUFMOV AH,9 ;DOS功能号09H送AHINT 21H ;显示字符串‘please input ’LEA SI,DATA1 ;被乘数首地址送SIMOV BX,05HL1: MOV AH,02H ;DOS功能号02H送AHMOV DL,[SI+BX-1] ;被乘数送DLINT 21H ; DOS功能号调用(显示器输出)DEC BXJNZ L1MOV AH,09H ; DOS功能号09H送AHLEA DX,MES1 ;MES1的偏移地址送DXINT 21H ; DOS功能号调用(显示字符串) LEA SI,DATA2 ;乘数地址送SIMOV AH,02HMOV DL,[SI] ;乘数送DLINT 21H ;显示乘数MOV AH,09HLEA DX,MES2 ; MES2的偏移地址送DXINT 21HMOV SI,OFFSET DATA2MOV BL,[SI] ;DATA2中的乘数送BLAND BL,00001111B ;屏蔽乘数高4位,ASCII码转换为十六进制MOV SI,OFFSET DATA1 ;被乘数偏移地址送SIMOV DI,OFFSET RESULT ;运算结果偏移地址送DIMOV CX,05 ;设置循环次数LOOP1: MOV AL,[SI] ;被乘数送ALAND AL,00001111B ;屏蔽被乘数高4位,ASCII码转换为十六进制 INC SIMUL BL ;AL * BL送AXAAM ;乘法十进制调整ADD AL,[DI] ;结果低位与前次计算的进位相加AAA ;BCD码加法十进制调整指令MOV [DI],AL ;计算结果低位送DIINC DIMOV [DI],AH ;计算结果高位进位送DI+1LOOP LOOP1 ;循环MOV CX,06MOV SI, DI ;计算结果送SIDISPL:MOV AH,02H ;调用DOS功能号02H送AHMOV DL,[SI]ADD DL,30H ;结果转换为ASCII码INT 21H ;显示一位数据DEC SI ;地址减一,继续后面的数据显示LOOP DISPL ;显示运算结果MOV AX,4C00H ;返回DOSINT 21H ;结束CODE ENDSEND START六、DOS功能调用在DOS软中断指令中最常用的是系统功能调用(INT 21H),主要完成文件管理,输入/输出设备控制,系统参数操作等等。

计算机组成原理2.3 定点乘法运算

计算机组成原理2.3 定点乘法运算
乘积的符号位由两数的符号位按异或运算得到231原码乘法0xn10yn1由于被乘数和乘数和符号组合只有四种情况x因此积的符号可按异或按位加运算得到231原码乘法数值部分的运算方法与普通的十进制小数乘法类似对于用二进制表达式的数来说其乘法规则更为简单设x01101y01011让我们先用习惯方法求其乘积其过程如231原码乘法设x01101y01011运算的过程与十进制乘法相似
2.3.1 原码乘法
• 图2.5示出了5×5位阵列乘法器的逻 辑电路图 • 图中一位全加器FA中所有被加数项 的排列和前面A×B=P乘法过程中的 被加数矩阵相同 • 不带符号的阵列乘法器逻辑电路图
2.3.1 原码乘法
• 这种乘法器要实现n位×n位时,需要 n(n-1)个全加器和n2个“与”门。 • 该乘法器的总的乘法时间可以估算如 下: • 令Ta为“与门”的传输延迟时间,Tf为 全加器(FA)的进位传输延迟时间,假 定用2级“与非”逻辑来实现FA的进 位链功能,那么我们就有:Ta = Tf = 2T
2.3.1 原码乘法
• 上面CAI演示所示的带求补级的阵列乘 法器既适用于原码乘法,也适用于间 接的补码乘法。 • 在原码乘法中,算前求补和算后求补 都不需要,因为输入数据都是立即可 用的。 • 而间接的补码阵列乘法需要使用三个 求补器
2.3.1 原码乘法
[例17] 设x=+15,y=-13,用带求补器 例 的原码阵列乘法器求出乘积x·y=? [解:]设最高位为符号位,则输入数据为 解 [x]原 =01111 [y]原 = 11101 符号位单独考虑,算前求补级后 |x|=1111,|y|=1101
2.3.1 原码乘法
• 自从大规模集成电路问世以来,出现了各 种形式的流水式阵列乘法器,它们属于并 行乘法器。

计算机组成原理实验报告 N的阶乘

计算机组成原理实验报告 N的阶乘

《计算机组成原理》课程设计报告课程设计题目:N的阶乘班级:姓名:学号:完成日期:2013/10/18一、课程设计步骤1、计算机的功能和用途:实现n!=n*n-1*n-2*..*2*1的功能2、程序设计目的(1)在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。

(2)使用简单模型机和复杂模型机的部分机器指令,并编写相应的微程序,具体上机调试掌握整机概念。

(3)掌握微程序控制器的组成原理。

(4)掌握微程序的编写、写入,观察微程序的运行。

(5)通过课程设计,使学生将掌握的计算机组成基本理论应用于实践中,在实际操作中加深对计算机各部件的组成和工作原理的理解,掌握微程序计算机中指令和微指令的编码方法,深入理解机器指令在计算机中的运行过程。

3、程序设计基本原理(1)实验模型机结构[1] 运算器单元(ALU UINT)运算器单元由以下部分构成:两片74LS181构成了并-串型8位ALU;两个8位寄存器DR1和DR2为暂存工作寄存器,保存参数或中间运算结果。

ALU的S0~S3为运算控制端,Cn为最低进位输入,M为状态控制端。

ALU的输出通过三态门74LS245连到数据总线上,由ALU-B控制该三态门。

[2] 寄存器堆单元(REG UNIT)该部分由3片8位寄存器R0、R1、R2组成,它们用来保存操作数用中间运算结构等。

三个寄存器的输入输出均以连入数据总线,由LDRi和RS-B根据机器指令进行选通。

[3] 指令寄存器单元(INS UNIT)指令寄存器单元中指令寄存器(IR)构成模型机时用它作为指令译码电路的输入,实现程序的跳转,由LDIR控制其选通。

[4] 时序电路单元(STA TE UNIT)用于输出连续或单个方波信号,来控制机器的运行。

[5] 微控器电路单元(MICRO-CONTROLLER UNIT)微控器主要用来完成接受机器指令译码器送来的代码,使控制转向相应机器指令对应的首条微代码程序,对该条机器指令的功能进行解释或执行的工作。

计算机组成原理实验之基于复杂模型机两个8位二进制数乘法的实现

计算机组成原理实验之基于复杂模型机两个8位二进制数乘法的实现

计算机组成原理实验之基于复杂模型机两个8位二进制数乘法的实现本文将讨论计算机组成原理实验中基于复杂模型机实现两个8位二进制数乘法的方法和过程。

首先,我们需要了解什么是复杂模型机。

复杂模型机是一种指令集较为丰富的模型机,它可以对各种计算机组成原理相关的知识进行实验,包括数据传输、算术运算、控制逻辑等。

通过使用复杂模型机,我们可以更加直观地理解计算机的工作方式。

在该实验中,我们需要实现两个8位二进制数的乘法。

具体步骤如下:1.首先,我们需要设计一个乘法单元,该单元可以将两个8位的二进制数进行乘法运算,并输出结果。

乘法单元可以采用循环加法的方法实现,即将其中一个乘数逐位与另一个乘数相乘,并将结果累加。

在循环中,需要使用一个累加器来存储运算结果。

2.在乘法单元的设计中,我们需要考虑进位和溢出情况。

当两个二进制数相乘得到的结果超过8位时,我们需要保留最低的8位,并且判断是否有进位。

当运算结果超过8位时,我们需要对结果进行截断,并输出进位信息。

3.实现乘法单元时,还需要考虑符号位的处理。

由于本实验中我们只考虑无符号二进制数的乘法,因此我们可以忽略符号位的处理。

4. 实验中可以使用硬件描述语言(如VHDL或Verilog)进行乘法单元的设计和仿真。

利用仿真工具,我们可以对设计的乘法单元进行测试和调试,确保其功能正确。

5.在设计和实现完乘法单元后,我们可以将其集成到复杂模型机的指令集中。

具体实现方式可以根据复杂模型机的架构和指令集设计进行调整。

通过以上步骤,我们可以实现两个8位二进制数乘法的功能。

在实验中,我们可以通过提供不同的测试用例来验证乘法功能的正确性,并观察乘法单元的输出结果是否符合预期。

此外,我们还可以将乘法单元与其他指令进行组合,进一步实现复杂的运算和应用,以加深对计算机组成原理的理解。

总结起来,基于复杂模型机实现两个8位二进制数乘法的实验需要进行乘法单元的设计和实现,并将其集成到复杂模型机的指令集中。

计算机组成原理-定点补码阵列乘法器实验报告

计算机组成原理-定点补码阵列乘法器实验报告

课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点补码阵列乘法器的设计院(系):专业:班级:学号:姓名:指导教师:完成日期:目录总体设计方案 (2)设计原理 (2)设计环境 (2)详细设计方案 (2)实验仪器及元件: (2)实验内容: (3)实验过程及结果记录: (3)实验结果分析: (4)总结 (5)思考: (5)收获总结: (5)总体设计方案设计原理乘法原理:两位乘法器的逻辑表达式:设计环境EDA环境:MAX+PLUSⅡ软件详细设计方案实验仪器及元件:4个INPUT 为A B C D;6个AND2;一个非门;一个XOR;4个OUTPUT实验内容:1.通过真值表设计一个两位乘法器;2.构造运行两位乘法器的仿真波形。

实验过程及结果记录:1、为设计乘法器新建一个文件夹作工作库,文件夹名不可用中文和空格;2、在MAX+PLUS II新建一个设计文件,选择打开原理图编辑器,然后双击空白处“Enter Symbol”输入各个实验所需元件,将所需元件连接起来形成两位乘法器原理图;3、将设计项目设置成工程文件(PROJECT);4、对工程文件进行编译、综合和适配等操作,编译后可能会有错误或警告的提醒,没有就证明原理图正确可用。

选择波形编辑器文件进行时序仿真,将相应的信号节点输入进去,并选择END TIME调试5、整仿真时间区域,两位乘法器选择800us比较合适,根据实验指导书的波形图我们调整出四个输入信号的电平,运行仿真器可得对应的四个输出引脚的波形;下面是本次实验我得出的两位乘法器仿真波形:为了精确测量乘法器输入与输出波形间的延时量,可打开时序分析器。

实验结果分析:根据两位乘法器的原理来看运行出来的乘法器波形图可以看到,当原理图准确无误的时候,输入信号A、B、C、D调整到所需的高、低电平,运行时序仿真后出来的Q1、Q2、Q3、Q4与原理是相一致的,即Q0=BD、Q1=(AD)异或(BC)、Q2=(AC)与(BD与非)、Q3=ABCD,ABCD间的运算则与数字乘法运算一致,遇0为0,,1*1为1。

原码两位乘课程设计

原码两位乘课程设计

原码两位乘课程设计一、教学目标本课程旨在让学生掌握原码两位乘的原理和应用,通过学习,学生应能:1.理解原码乘法的概念和步骤。

2.掌握原码两位乘的计算方法。

3.能够运用原码两位乘解决实际问题。

二、教学内容本课程的教学内容主要包括:1.原码乘法的概念和步骤。

2.原码两位乘的计算方法。

3.原码两位乘在实际问题中的应用。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括:1.讲授法:讲解原码乘法的原理和步骤。

2.讨论法:引导学生探讨原码两位乘的计算方法。

3.案例分析法:分析实际问题,让学生掌握原码两位乘的应用。

4.实验法:通过实际操作,巩固原码两位乘的计算方法。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:提供原码两位乘的相关理论知识。

2.参考书:为学生提供更多的学习资料。

3.多媒体资料:通过视频、动画等形式,直观展示原码两位乘的计算过程。

4.实验设备:为学生提供实际操作的机会,巩固所学知识。

五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过课堂参与、提问回答等评估学生的学习态度和理解程度。

2.作业:布置相关的原码两位乘练习题,评估学生的掌握情况。

3.考试:定期进行原码两位乘的知识测试,全面评估学生的学习成果。

六、教学安排本课程的教学安排如下:1.教学进度:按照教材的章节安排,逐步讲解原码两位乘的知识点。

2.教学时间:安排在上课时间,保证学生能够集中精力学习。

3.教学地点:教室,提供良好的学习环境。

七、差异化教学根据学生的不同学习风格、兴趣和能力水平,我们将采取以下差异化教学措施:1.学习风格:提供多种学习方式,如视频、实验、讨论等,满足不同学生的学习需求。

2.兴趣:结合学生的兴趣,设计相关的原码两位乘应用案例,激发学生的学习热情。

3.能力水平:针对不同能力水平的学生,设计不同难度的练习题,帮助学生提高。

八、教学反思和调整在实施课程过程中,我们将定期进行教学反思和评估,根据学生的学习情况和反馈信息,及时调整教学内容和方法,以提高教学效果。

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

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

沈阳航空航天大学课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:阵列乘法器的设计与实现院(系):计算机学院专业:计算机科学与技术班级:学号:姓名:指导教师:完成日期:2014年1月10日目录第1章总体设计方案 01.1设计原理 01.2设计思路 (1)1.3设计环境 (2)第2章详细设计方案 (2)2.1总体方案的设计与实现 (3)2.1.1总体方案的逻辑图 (3)2.1.2器件的选择与引脚锁定 (3)2.1.3编译、综合、适配 (4)2.2功能模块的设计与实现 (4)2.2.1一位全加器的设计与实现 (5)2.2.2 4位输入端加法器的设计与实现 (6)2.2.3 阵列乘法器的设计与实现 (9)第3章硬件测试 (12)3.1编程下载 (12)3.2 硬件测试及结果分析 (12)参考文献 (14)附录(电路原理图) (15)第1章总体设计方案1.1 设计原理阵列乘法器采用类似人工计算的方法进行乘法运算。

人工计算方法是用乘数的每一位去乘被乘数,然后将每一位权值对应相加得出每一位的最终结果。

如图1.1所示,用乘数的每一位直接去乘被乘数得到部分积并按位列为一行,每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值。

将各次部分积求和,即将各次部分积的对应数位求和即得到最终乘积的对应数位的权值。

为了进一步提高乘法的运算速度,可采用大规模的阵列乘法器来实现,阵列乘法器的乘数与被乘数都是二进制数。

可以通过乘数从最后一位起一个一个和被乘数相与,自第二位起要依次向左移一位,形成一个阵列的形式。

这就可将其看成一个全加的过程,将乘数某位与被乘数某位与完的结果加上乘数某位的下一位与被乘数某位的下一位与完的结果再加上前一列的进位进而得出每一位的结果,假设被乘数与乘数的位数均为4位二进制数,即m=n=4,A×B可用如下竖式算出,如图1.1所示。

X 4 X3X2X1=A× Y4 Y3Y2Y1=BX4Y1X3Y1X2Y1X1Y1X4Y2X3Y2X2Y2X1Y2X4Y3X3Y3X2Y3X1Y3(进位) X4Y4 X3Y4 X2Y4 X1Y4Z8 Z7Z6Z5Z4Z3Z2Z1图1.1 A×B计算竖式X4 ,X3,X2,X1,Y4,Y3,Y2,Y1为阵列乘法器的输入端,Z1-Z8为阵列乘法器的输出端,该逻辑框图所要完成的功能是实现两个四位二进制既A(X)*B(Y)的乘法运算,其计算结果为C(Z) (其中A(X)=X4X3X2X1,B(Y)=Y4Y3Y2Y1,C(Z)=Z8Z7Z6Z5Z4Z3Z2Z1而且输入和输出结果均用二进制表示 )。

两位数乘两位数的笔算数学教案设计

两位数乘两位数的笔算数学教案设计

两位数乘两位数的笔算數學教案設計标题:两位数乘两位数的笔算数学教案设计一、教学目标:1. 知识与技能:学生能掌握两位数乘两位数的笔算方法,理解乘法竖式的每一步含义。

2. 过程与方法:通过观察、操作、讨论等活动,使学生体验到学习数学的乐趣,提高学生的计算能力和逻辑思维能力。

3. 情感态度与价值观:培养学生认真细致的学习态度和善于思考的习惯。

二、教学重点与难点:1. 教学重点:掌握两位数乘两位数的笔算方法。

2. 教学难点:理解乘法竖式中每一位的运算规则。

三、教学过程:(一)导入新课教师出示生活中的实例,让学生感受到数学在生活中的应用,引出本节课的主题——两位数乘两位数的笔算。

(二)新知讲解1. 举例说明:假设我们有15个苹果,每个苹果的价格是2元,那么需要支付多少钱呢?我们可以用乘法来解决这个问题,即15×2=30元。

这就是我们今天要学习的内容——两位数乘两位数的笔算。

2. 教师板书演示:首先,将两个因数的个位对齐;然后,从个位开始逐位相乘并写下结果;最后,将各位的结果加起来得到最终的答案。

(三)课堂活动1. 学生自主尝试:给出一组两位数,让学生自己尝试进行笔算,并互相检查答案。

2. 分组讨论:针对一些特殊的例子,如进位的情况,组织学生进行分组讨论,总结规律。

(四)课堂小结引导学生回顾本节课的主要内容,强调两位数乘两位数的笔算步骤和注意事项。

(五)作业布置设计一些两位数乘两位数的笔算题目,让学生在课后练习,巩固所学知识。

四、教学反思:在教学过程中,要注意关注每一个学生的学习情况,及时调整教学策略。

同时,也要注重培养学生的自主学习能力和团队协作能力,让他们在解决问题的过程中体验到学习的乐趣。

教学设计方案(计算机组成原理)

教学设计方案(计算机组成原理)
教学媒体的选择和使用方法
本节课的内容既有抽象的理论性知识(如“原码一位乘的运算法则”等),又有实际例题的分析,如果单一地采用课件教学,学生对于法则不能清晰的了解,容易产生厌学的情绪,因此,采用板书与计算机等多媒体结合的教学模式。
比如对应相应的法则给出例题,由老师带着大家共同分析,加深大家的印象,从而使学生们更加认识到运算法则。
教案
课程名称:计算机组成原理
单位:信息科学与技术学院
教师:
课程一般信息
教学课程
课程名称
教学章节
授课时间
课程类型
计算机组成原理
第六章定点数
50分钟
专业必修
教学对象
专业
年级
开课学期
学生人数
计算机科学与技术
教师信息
姓名
职称
任教时间
研究方向
何祎
计算机软件与理论
教学目标及确定依据
一、知
识与技
能目标
依据教学大纲要求、教材内容及学生特点,制定如下教学目标:
2.案例(任务)驱动式,强化分析问题、解决问题的能力
概念、原理和方法的讲述是比较抽象、枯燥的,在讲授时可以让学生参与其中,通过学生跟老师互动让他们逐步了解知识点,充分调动学生的积极性,由浅入深的讲解,加深印象。
例如:老师在讲述例题时,让学生回答问题,分析师如何移位如何运算加法的。
3.主题情节式,构建课程架构
2.认知特点和学习风格
对于接触了《计算机导论》和《汇编语言》这两门计算机课程的大三学生而言,他们对汇编语言本身的运用以及观察能力、逻辑推理能力和分析问题、解决问题的能力都还有待提高。而《计算机组成原理》这门课程是理论性和实践性并重的课程,对学生来讲听明白、做明白都是不容易的。这就需要教师通过各种手段引导学生的学习兴趣、指导本门课程的学习方法、注意了解学生的弱点和需求、培养学生发现问题和解决问题的能力。

计算机组成原理7-运算方法-乘除-浮点-运算器

计算机组成原理7-运算方法-乘除-浮点-运算器
最后求得[X· Y]原 = 1.01100011
原码一位乘法逻辑结构原理图
部分积Z R0 LDR1 ∑/2Z 加法器 Zs R1 LDR0 Y/2Y Ti R Cx S Q 乘法启动 乘数Y Yn 计数器i T1 , T 2 , …
Yn
+1
Yn
被乘数X
R0
Xs
Ys
补码乘法
补码一位乘法 (1) 校正法 (2) 比较法
快速乘法运算 1.多位乘法 2.跳过连续“0”和跳过连续 “1” 3.阵列乘法器
定点除法运算------原码一位除法
设被除数 [X]原 = Xs.X1X2…Xn
除数

[Y]原 = Ys.Y1Y2…Yn
[Q]原 = Qs.Q1Q2…Qn
余数
[R]原 = Rs.R1R2…Rn
[X]原 = [Y]原· [Q]原 + [R]原
则除法就不进行,并由相应的程序进行处理。
原码一位除法-----恢复余数法
用余数减去除数求得差值,当差值大于0时, 商上1;当差值小于0时,商上0。
减去除数的运算,机器可用加上除数的补 码机器负数的方式转换为加法运算。另外, 当差值小于0时,商上“0”,不够减,多减 去了除数,还必须加上除数,重新恢复原来 的余数。
余数=0.0111*2-4
3.3.1 原码一位除法
表3.8 例3.12原码加减交替除法运算过程
被除数(余数)
0 0. 1 0 1 1 +) 1 1. 0 0 1 1 1 1. 1 1 1 0 1 1. 1 1 0 0 0.

Q上商
操作说明
初始状态 +[-Y]补 余数为负,商“0” 余数与商左移一位 +Y 余数为正,商“1” +[X]补 余数与商左移一位 +[-|Y|]补

计算机组成原理课程设计(同或运算、比较两个数大小)

计算机组成原理课程设计(同或运算、比较两个数大小)

课程设计说明‎书题目: 设计指令系统‎实现同或运算‎、比较两个数大‎小院系:计算机科学与‎工程学院专业班级:计算机课10‎-*学号: 2010*****学生姓名:安理工作室指导教师:***2013年 01 月 09 日课程设计(论文)任务书计算机科学与‎工程学院计算机科学与‎技术系2013年0‎1月09日课程设计(论文)成绩摘要计算机组成原‎理课程设计课‎题是基本模型‎机的设计与实‎现。

利用CPU与‎简单模型机来‎实现计算机组‎成原理课程设‎计,编写指令的应‎用程序,用微程序控制‎器实现一系列‎的指令功能,最终达到将理‎论与实践相联‎系。

本次设计完成‎了相关指令的‎格式以及编码‎的设计,实现了机器指‎令微代码,完成具有一定‎功能的程序。

同或运算和比‎较两个数大小‎是在基本模型‎机的基础上构‎建一组能实现‎输入、输出、减、逻辑与、逻辑或、逻辑非、跳转这7个功‎能的指令,这些指令的助‎记符不得与指‎导书上相同。

指令包括立即‎寻址和寄存器‎寻址两种寻址‎方式。

利用新构建的‎指令系统编程‎,实现同或运算‎和比较两数大‎小的功能。

本次课程设计‎分为以下几各‎面:●系统分析,对系统设计的‎背景和设计目‎标做了一个简‎单的介绍;●从模型机的指‎令系统入手,对整个系统的‎指令系统进行‎设计;●使用设计好的‎指令系统实现‎同或运算和比‎较两个数的大‎小关系;●最后还进行了‎对本次设计的‎总结和对设计‎的系统的改进‎工作提出了一‎些建议;本次课程设计‎偏重于对计算‎机工作的原理‎和计算机微机‎的指令系统学‎习和深入的了‎解。

对以后的学习‎打下一个好的‎基础。

关键词:指令,计算机组成原‎理,指令系统,模型机,同或运算,比较两个数大‎小目录1系统分析 ......................................................................................................错误!未定义书签。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《计算机组成原理》课程设计报告课程设计题目:两个数的乘法运算
小组成员:
….
完成日期:第十一周
模型机设计实验
一、实验目的
综合运用所学计算机原理知识,设计并实现较为完整的模型计算机。

其功能为:
输入两个数,进行两个正数(二进制4位)的乘法运算,输出结果。

二、实验内容
编写程序,运行程序,观察并记录运行结果。

三、实验仪器
1、ZY15CompSys12BB计算机组成原理及系统结构教学实验箱一台
2、排线若干
3、PC机一台
四、预备知识
1、数据格式
8位,其格式如下:
其中第7位为符号位,数值表示范围是:-1≤X<127。

2、指令格式
模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问存储器、转移指令和停机指令。

(1)算术逻辑指令
规定:
算术逻辑指令的名称、功能和具体格式见表2—3。

(2)访存指令及转移指令
模型机设计2条访存指令,即存数(STA)、取数(LAD),2条转移指令,即无条件转移(
负均可)
本模型机规定变址寄存器RI指定为寄存器R2。

(3)I/O指令
其中,在IN 指令中,addr=01,选中“输入”中的开关组作为输入设备,在OUT指令中,addr=10时,表示选中“输出单元”中的数码块作为输出设备。

(4)停机指令
HALT指令,机器码为60H,用于实现停机操作。

3、指令系统
复杂模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。

表2-3列出了各条指令的格式、汇编符号、指令功能。

我们依然采用复杂模型机指令系统中的部分指令。

五、实验的机器指令程序如下:
地址内容助记符说明
00 14 IN R0 ; 作计数器用,00000001→R0
01 15 IN R1 ; 输入X的值,0000xxxx→R1
02 05 STA R1 ; X→22H
03 22
04 15 IN R2 ; 输入Y→R2,0000xxxx→R2
05 06 STA R2 ; R2→23H
06 23
07 42 CLR R2 ; R2清零
08 06 STA R2 ; 存入结果R2→24H
09 24
0A 02 LAD R2 ; 提取[23H]→R2
0B 23
0C 6A RRC R2,R2 ; R2带进位右循环一位→R2 0D 06 STA R2 ; 循环结果→23H
0E 23
0F 02 LAD R2 ; 提取结果S,[24H]→R2
10 24
11 0C BZC [15H] ; 有进位跳转到15H
12 15
13 08 JMP [18H] ; 无条件跳转到[18H]
14 18
15 01 LAD R1 ; 提取X→R1
16 22
17 56 ADC R1,R2 ; R1+R2→R2
18 6A RRC R2,R2 ; R2带进位右循环一位→R2
19 06 STA R2 ; 循环结果→24H
1A 24
1B70 RLC R0,R0 ; R0带进位左循环一位→R0 1C 0C BZC [20H] ; 有进位跳转到20H
1D 20
1E 08 JMP [0AH] ; 无条件跳转到[0AH]
1F 0A
20 2A OUT R2 ; 输出R2中的结果
21 60 HATL ; 停机
22 XX
23 XX
24 XX
六、程序机器指令和微程序
以上程序的机器指令如下:
$P0014 $P0115 $P0205 $P0322
$P0416 $P0506 $P0623 $P0772
$P0806 $P0924 $P0A02 $P0B23
$P0C6A $P0D06 $P0E23 $P0F02
$P1024 $P110C $P1215 $P1308
$P1418 $P1501 $P1622 $P1756
$P186A $P1906 $P1A24 $P1B70
$P1C0C $P1D20 $P1E08 $P1F0A
$P202A $P2160
微程序如下
$M00018108 $M0101ED82 $M0200C050
$M0300A004 $M0400E098 $M0501B406
$M06959B41 $M07298838 $M0801ED8A
$M0901ED8C $M0A00A01E $M0B018001
$M0C00201F $M0D019801 $M0E19880F
$M0F019801 $M1001ED83 $M11001001
$M12030401 $M13018016 $M143D9A01
$M1501A205 $M16318207 $M1731820E
$M18009001 $M19028401 $M1A05DB81
$M1B0180DC $M1C018001 $M1D05DB8D
$M1E070A08 $M1F068A09
七、复杂模型机的数据通路框图
WE
图2-7复杂模型机数据通路框图
八、复杂模型机实验接线图
接到指令单元
接到开关单元
九、复杂模型机实验流程图
十、课程设计总结
1、成员总结体会

2、遇到的问题和解决的方法等
1)寄存器不够用。

本实验设计的是任意的两个四位二进制数相乘,需要一个寄存器做为计数器记录以为的次数,但是,输入的两个数和计算的结果也需要寄存器保存其值,这样就出现寄存器不够用的问题。

解决方法:我们把暂时不用的数据存储起来,不用占用寄存器,这样就解决了寄存器不够的
2)运行出现错误,程序一只循环在一个地方,没有出现输入状态。

但是把实验2.3的微程序能正确运行。

后来经过仔细检查发现,我们的微程序是在实验2.3的基础上修改的,但是,我们忘了修改指令系统表格中个指令的地址,导致程序的机器指令错误,由于最后一次实验已过,我们修改后没有去实验,但我们认为这次应该是正确的了。

3、小组成员各自的任务和完成情况(主要的任务)
……。

相关文档
最新文档