计算机组成原理:浮点数表示及运算
- 格式:ppt
- 大小:664.00 KB
- 文档页数:54
计算机组成原理在408计算机综合考试中所占分值45分,说明是必考的重点内容,考生要在这部分多花时间复习。
以下是整理的的计算机组成原理知识,希望大家认真看。
2022考研408计算机组成原理知识:浮点数的表示和运算1. 浮点数的表示1)浮点数的表示范围;浮点数是指小数点位置可浮动的数据,通常以下式表示:N=M·RE其中,N为浮点数,M为尾数,E为阶码,R称为“阶的基数(底)”,而且R为一常数,一般为2、8或16。
在一台计算机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来。
因此,浮点数的机内表示一般采用以下形式:浮点数的机内表示一般采用以下形式:Ms是尾数的符号位,设置在最高位上。
E为阶码,有n+1位,一般为整数,其中有一位符号位,设置在E的最高位上,用来表正阶或负阶。
M为尾数,有m位,由Ms和M组成一个定点小数。
Ms=0,表示正号,Ms=1,表示负。
为了保证数据精度属数通常用规格化形式表示:当R=2,且尾数值不为0时,其绝对值大于或等于(0.5)10。
对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求。
2)IEEE754标准根据IEEE 754国际标准,常用的浮点数有两种格式:(1)单精度浮点数(32位),阶码8位,尾数24位(内含:位符号位)。
(2)双精度浮点数(64位),阶码11位,尾数53位(内含:位符号位)。
单精度格式32位,阶码为8位,尾数为23位。
另有一位符号位S,处在最高位。
由于IEEE754标准约定在小数点左部有一位隐含位,从而实际有效位数为24位。
这样使得尾数的有效值变为1.M 。
例如,最小为x1.0…0,,最大为x1.1…1。
规格化表示。
故小数点左边的位横为1,可省去。
阶码部分采用移码表示,移码值127,1到254经移码为-126到+127。
S(1E(8M(23N(符号位符号位不等于(-1)S·2-126·(0.M)符号位1-(-1)S·2E-127·(1.M)符号位255不等于NaN(符号位255无穷大0 有了精确的表示,无穷大也明确表示。
一、系统概述(一)计算机发展历程(二)计算机系统层次结构1.计算机硬件的基本组成2.计算机软件的分类3.计算机的工作过程(三)性能指标1.吞吐量对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。
2.响应时间3.CPU时钟周期(Clock Cycle):又称节拍没冲或T周期,是处理操作的最基本单位,是计算机中最基本的、最小的时间单位。
主频的倒数4.主频: 即CPU内核工作的时钟频率(CPU ClockSpeed)。
CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力并没有直接关系。
5.CPI (Clock cycle Per Instruction)表示每条计算机指令执行所需的时钟周期。
6.CPU执行时间7.MIPS(Million Instruction per second)每秒执行百万条指令某机器每秒执行300万条指令,则记作3 MIPS8.MFLOPS (Million Floationg-point Operations perSecond,每秒百万个浮点操作)衡量计算机系统的主要技术指标之一。
对于一给定的程序,MFLOPS的定义为:MFLOPS=操作浮点数/(执行时间*10E6)(10E6位10的6次方)。
1.指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成,是从取指令、分析指令到执行完所需的全部时间。
2.机器周期:(又称cpu周期)在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。
例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。
完成一个基本操作所需要的时间称为机器周期。
通常用内存中读取一个指令字的最短时间来规定因而又称总线周期3.在电子技术中,脉冲信号是一个按一定电压幅度,一定时间间隔连续发出的脉冲信号。
脉冲信号之间的时间间隔称为周期;而将在单位时间(如1秒)内所产生的脉冲个数称为频率。
浮点数的表示和计算(共9页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--《计算机组成原理》实验报告12345srloop: bge $t0, 8, dex16end #16addi $t0, $t0, 1srl $t1, $s2, 28sll $s2, $s2, 4bgt $t1, 9, outcharli $v0, 1add $a0, $t1, $zerosyscallj srloopoutchar: addi $t1, $t1, 55 # change to charli $v0, 11add $a0, $t1, $zerosyscallj srloopdex16end:la $a0, msg0 # new lineli $v0, 4syscalllw $ra, 20($sp)lw $fp, 16($sp)addiu $sp, $sp, 32jr $ra四、实验结果及分析和(或)源程序调试过程1. 实验结果:本次实验我们以十进制实数形式的输入两个浮点数,在内存中以IEEE 754单精度方式表示,执行运算操作后,以十进制形式把结果输出,并且可以以二进制和十六进制的方式显示输出,下图是执行加法运算,并输出二进制形式:6下图是执行乘法操作,并输出十六进制形式:减法运算如下图:除法运算如下图:当输入错误,如除数为0时,会显示错误信息并退出,如下图:7备注:1、教师在布置需撰写实验报告的实验前,应先将报告书上的“实验题目”、“实验性质”、“实验目的”、“实验项目内容”等项目填写完成,然后再下发给学生。
2、教师在布置需撰写报告的实验项目时,应告知学生提交实验报告的最后期限。
3、学生应按照要求正确地撰写实验报告:1)在实验报告上正确地填写“实验时间”、“实验地点”等栏目。
2)将实验所涉及的源程序文件内容(实验操作步骤或者算法)填写在“实验过程或算法(源程序)”栏目中。
计算机组成原理float小数的表示
在计算机组成原理中,单精度浮点数(float)通常采用IEEE 754标准进行
表示。
这种表示方法将一个浮点数分为三个部分:符号位、指数位和尾数位。
符号位:表示浮点数的正负,占1位。
指数位:表示浮点数的指数,占8位(对于单精度)或11位(对于双精度)。
尾数位:表示浮点数的小数部分,占23位(对于单精度)或52位(对于
双精度)。
在IEEE 754标准中,单精度浮点数的表示形式如下:
S EEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM
其中:
S:符号位,占1位。
0表示正数,1表示负数。
E:指数位,占8位。
表示为移码形式,即偏移了8位的二进制数。
M:尾数位,占23位。
表示浮点数的小数部分。
在将一个十进制数转换为IEEE 754单精度浮点数时,需要将十进制数的小数部分除以2并取整数部分作为尾数,然后根据指数和符号确定最终的二进制表示。
例如,将十进制数-转换为IEEE 754单精度浮点数的过程如下:
-可以表示为-6+(-4/2)+,其中-6是符号位(1),-4是偏移了8位的二进制数(-100),是尾数部分()。
所以,-的单精度浮点数表示为1 。
计算机组成原理浮点数运算
在计算机组成原理中,浮点数的运算涉及到数值的表示、加减运算等多个方面。
以下是浮点数运算的基本过程:
1. 对阶:在进行浮点数运算时,需要先对参与运算的浮点数的阶码进行对齐,即比较两个阶码的大小,将阶码较小的数向右移动,使得两个数的阶码相等。
2. 尾数运算:对阶完成后,进行尾数的加减运算。
尾数通常使用补码表示,加减运算规则与定点数的补码加减运算规则相同。
3. 结果格式化:根据尾数运算结果的符号和数值大小,确定最终结果的格式。
如果尾数的结果为正,则结果的格式与源码相同;如果尾数的结果为负,则结果的格式与补码相同。
浮点数的范围和精度由阶码和尾数的位数决定。
阶码的位数能够决定数的范围,尾数的位数决定数的有效精度。
在实际应用中,需要根据具体需求选择合适的浮点数表示方式和运算方法。
第2章数据的表示和运算主要内容:(一)数据信息的表示1.数据的表示2.真值和机器数(二)定点数的表示和运算1.定点数的表示:无符号数的表示;有符号数的表示。
2.定点数的运算:定点数的位移运算;原码定点数的加/减运算;补码定点数的加/减运算;定点数的乘/除运算;溢出概念和判别方法。
(三)浮点数的表示和运算1.浮点数的表示:浮点数的表示范围;IEEE754标准2.浮点数的加/减运算(四)算术逻辑单元ALU1.串行加法器和并行加法器2.算术逻辑单元ALU的功能和机构2.3 浮点数的表示和运算2.3.1 浮点数的表示(1)浮点数的表示范围•浮点数是指小数点位置可浮动的数据,通常以下式表示:N=M·RE其中,N为浮点数,M为尾数,E为阶码,R称为“阶的基数(底)”,而且R为一常数,一般为2、8或16。
在一台计算机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来。
浮点数的机内表示浮点数真值:N=M ×2E浮点数的一般机器格式:数符阶符阶码值 . 尾数值1位1位n位m位•Ms是尾数的符号位,设置在最高位上。
•E为阶码,有n+1位,一般为整数,其中有一位符号位EJ,设置在E的最高位上,用来表示正阶或负阶。
•M为尾数,有m位,为一个定点小数。
Ms=0,表示正号,Ms=1,表示负。
•为了保证数据精度,尾数通常用规格化形式表示:当R=2,且尾数值不为0时,其绝对值大于或等于0.5。
对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求。
浮点数的机内表示阶码通常为定点整数,补码或移码表示。
其位数决定数值范围。
阶符表示数的大小。
尾数通常为定点小数,原码或补码表示。
其位数决定数的精度。
数符表示数的正负。
浮点数的规格化字长固定的情况下提高表示精度的措施:•增加尾数位数(但数值范围减小)•采用浮点规格化形式尾数规格化:1/2≤M <1 最高有效位绝对值为1浮点数规格化方法:调整阶码使尾数满足下列关系:•尾数为原码表示时,无论正负应满足1/2 ≤M <1即:小数点后的第一位数一定要为1。
计算机组成原理学习(三)整数⽐较,浮点数的表⽰浮点数的表⽰可能是第⼀个劝退点,第⼀遍直接看视频看不懂,因为移码是在前⾯讲的,和后⾯没联系起来,讲到后⾯太快了⼀时半会理不清,看书却⼀下⼦明⽩了。
1.基于补码的整数⽐较C语⾔程序中,数据后⾯带上个“u”或“U”可表⽰数据是⽆符号的,⽤⽆符号去解释数据。
下⾯的整数判断表达式会出现与常识相违背的结果。
(32位机器,基于补码编码)第⼀条,左边的0的机器数是32位的⼀串0,右边的机器数也是⼀串0,加上U⽤⽆符号解释⼀样是0,所以结果为真。
第⼆条,-1的机器数是32位全部为1,0是32位0,默认带符号⽐较,-1的机器数的真值为-1,所以⽐0⼩,结果为真。
第三条,0带了U,表达式会被解释为⽆符号来⽐较,-1机器数的真值变为2^32-1,远⽐0⼤,结果为假。
第四条,左边的机器数为⾸位为0、其余为1的序列,右边的机器数为⾸位为1,其余为0的序列,按带符号⽐较,左边真值为最⼤正数2^31-1,右边为最⼩负数-2^31,所以结果为真。
第五条,带了U⽤⽆符号⽐较,左边正数不受影响,真值仍然是2^31-1,右边真值变为2^31,所以结果为假。
第六条,左边真值⼀样不受影响,右边先是带符号,真值解释为2^31,⼜强转成int,即带符号,真值变成最⼩负数-2^31,所以结果为真。
第七条,带符号⽐较,左边真值为-1,右边真值为-2,结果为真。
第⼋条,左边强转成⽆符号,真值变成2^32 -1,右边也同理变成2^32 -2,所以结果为真。
发现,机器数按⽆符号去解释,相当于我们平时理解的字⾯意思,也就是不管编码⽅式,真值就是⼆进制正常换算成⼗进制的值。
2.浮点数的编码实数是包括整数部分和⼩数部分的数,那啥叫“浮点数”?啥叫“定点数”?此处的点指的是⼩数点。
如果我⽤8位去存储实数,假如规定了第⼀位存符号,后3位存整数,最后4位存⼩数这种编码⽅式,那么很明显⼩数的精度只能到后四位,⼩数点是固定不变的,这叫“定点数”。