计算机组成原理算法实现.docx
文本预览下载声明
《计算机组成原理》
课程设计说明书
( 课 题 二 )
信 息 工 程 学 院
目 录
1 课程设计的目的 1
2 设计内容与要求 1
2.1 题 目 1
2.2 功 能 1
2.3 算法原理 1
3 主要技术指标及特点 4
3.1 登录窗体 4
3.2操作界面 7
3.3 定点小数机器表示窗口界面 9
3.4定点小数变形补码加减运算界面 13
3.5定点小数的原码乘法界面 16
3.6浮点数加减运算界面 19
3.7 帮助界面 26
4 设计小结 27
参考文献 28
1
计算机组成原理算法实现(二)
1 课程设计的目的
本课程设计是在学完本课程教学大纲规定的全部内容、完成所有实践环节的基础上, 旨在深化学生学习的计算机组成原理课程基本知识,进一步领会计算机组成原理的一些算
法,并进行具体实现,提高分析问题、解决问题的综合应用能力
2 设计内容与要求
2.1 题目
计算机组成原理算法实现(二)
2.2功能
能够实现定点小数的机器数表示、定点小数的变形补码加减运算、定点小数的原码一
位乘法运算和浮点数的加减运算。
2.3算法原理
数据表示方法:
计算机中常用的数据表示格式有两种, 一是定点格式,二是浮点格式。
(1)定点表示:约定机器中所有数据的小数点位置是固定的。由于约定在固定的位 置,所以小数点就不再使用记号“. ”来表示。
(2)浮点表示:定点数表示的数的范围有限,为了扩展数的表示范围,按照科学记 数法表示数据的方式,任何一个二进制数N都可以表示成如下的格式:
N=M*2e
M :尾数,是一个纯小数,决定数据的表示精度
e :指数,又称为阶码,是一个整数,决定数据的表示范围
数的机器码表示:
一般书写所表示的数据称为真值,在计算机中为了表示符号位,通常把符号位和数 字位一起编码来表示相应的数,形成了各种数据的存储和表示方法,这些编码称为
机器码。常用的机器码有原码、反码、补码和移码。
(1)原码:原码的数值部分是该数的绝对值,最高位表示符号位,最高位为0是正
数,最高位为1是负数。
2
(2)反码:正数的反码等于原码,负数的反码等于除符号位外其余二进制数码0变
成1,1变成0。
正数: [x]反=[x]原= x
负数: 符号位不变,其余变反
(3)补码:正数的补码等于原码,负数的补码等于反码加1。
正数: [x]补=[x]原
负数: [x]补=[x]反+1
定点加、减法运算:
结论:任何两数的补码之和等于两数之和的补码
空 补码加法
基本公式: [x]补+[y]补=[x+y]补
空 补码减法
基本公式: [x]补- [y]补=[x]补+[ - y]补
当负数用补码表示后,符号位作为数据的一部分一起参加运算,运算器不用考虑参 加加法运算的操作数的正负以及结果的正负,任意数的加法就可以化作正数加法来
实现。
必 溢出:在定点数机器中,数的大小超出了定点数能表示的范围,叫溢出。 (1)在定点小数机中数的表示范围是-1x1,如果运算过程中出现了大于1或者小
于- 1的情况。
(2)在定点整数机(8位)中数的表示范围是-128x127,如果运算过程中出现了 大于127或者小于-128的情况。双符号位法:将符号位扩展为2位,具体说就是 对于正数两个符号位是“00”,对于负数两个符号位是“11”。两个符号位都看作数 码一样参加运算。两个数相加后,其结果的符号位出现“01”或“10”两种组合时,
表示发生溢出。
符号位“01”,上溢出
符号位“10”,下溢出
符号位“00”或者“11”,未溢出
从[y]补求[一y]补的法则是:
对[y]补“包括符号位求反且最末位加1”,即可得到[-y]补
定点乘法运算:
在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号
位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。设n位被乘数和乘数
用定点小数表示(定点整数也同样适用)
被乘数 [x]原= xf. xn - 1 … x1x0
乘数 [y]原=yf . yn - 1 … yly0
3
则乘积
[ z ]原= ( x f田y f ) + ( 0 . x n - 1 … x 1 x 0 ) ( 0 . y n - 1 … y l y 0
式中,xf为被乘数符号,yf为乘数符号。
机器算法: 机器中一种方法是多次采用“加法一移位”的方法来完成,称为串行乘 法器,它的硬件结构简单,但是速度慢,目前广泛使用的是流水式阵列乘法器,称 为并行乘法器。无符号数m乘以n会产生m*n个位积,出现m+n个列和,并行乘法
器的关键是快速产生m*n个位积,对位积进行相加运算产生m+n个列和。
第
显示全部