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

合集下载

组成原理实验报告-基于复杂模型机两个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 原码乘法
• 自从大规模集成电路问世以来,出现了各 种形式的流水式阵列乘法器,它们属于并 行乘法器。
  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、小组成员各自的任务和完成情况(主要的任务)
……。

相关文档
最新文档