计算机组成原理:浮点数表示及运算
- 格式:ppt
- 大小:1.20 MB
- 文档页数:59
计算机组成原理在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.2(P.28)中的关系表达式的结果,并编程得出第二章习题8(P.69)的表中结果。
实验报告:1.给出源程序(文本文件)和执行结果。
图1-1 验证教材表2.2(P.28)中的关系表达式的结果测试代码图1-2 验证教材表2.2(P.28)中的关系表达式的结果测试代码运行结果图1-3 解第二章习题8(P.69) 实验代码图1-4 第二章习题8(P.69)实验代码运行结果由上图结果得解答如下表:表1-1第二章习题8解答结果2.根据实验结果,回答下列问题。
(1)你的机器字长多少位?int型数据的位数、最小值和最大值各是多少?答:我的机器字长为32位;int型数据为32位,min = -2147483648(-231),max = 2147483647(231-1) □(注:“□”符号表示一题解答结束,以下同此约定)(2)在你的机器上,-1用int类型和unsiged int类型表示的结果分别是多少?答:结果分别为-1和429 496 729 5(232-1). □(2)类型转换和移位操作运算实验目的:了解高级语言中数据类型的转换和移位操作结果,从而能更好地理解指令系统设计和计算机硬件设计所需满足的要求和需要考虑的问题。
实验要求:编程实现以下各种操作,并要求分别用十进制和十六进制形式打印输出操作结果。
(1)给定一个short型数据-12345,分别转换为int、unsigned short、unsigned int、float类型的数据;图1-5 short型数据-12345转换成其他类型测试代码图1-6 short型数据-12345转换成其他类型测试代码运行结果(2)给定一个int型数据2147483647,分别转换为short、unsigned short、unsigned int、float 类型的数据;图1-7 int型数据2147483647转换成其他类型测试代码图1-8 int型数据2147483647转换成其他类型测试代码(3)给定一个float型数据123456.789e5,转换成double型数据;图1-9 float型数据123456.789e5,转换成double型数据图1-10 float型数据123456.789e5,转换成double型数据运行结果(4)给定一个double型数据123456.789e5,转换成float型数据;图1-11 double型数据123456.789e5,转换成float型数据图1-12 double型数据123456.789e5,转换成float型数据运行结果(5)按short和unsigned short类型分别对-12345进行左移2位和右移2位操作。
第1章计算机组成原理考试大纲第一章计算机体系结构和计算机组成冯。
诺伊曼体系的特点Amdahl定律第二章数制和数制转换各种码制的表示和转换浮点数的表示补码加减法布思算法浮点数的加减法海明码的计算练习:5,6,7,8,101、已知X=19,Y=35,用布思算法计算X×Y和X×(-Y)。
2、使用IEEE 754标准格式表示下列浮点数:-5,-1.5,1/16,-6,384,-1/32。
3、已知X=-0.1000101×2-111,Y=0.0001010×2-100。
试计算X+Y,X-Y,X×Y和X/Y。
4、某浮点数字长12位,其中阶符1位,阶码数值3位,尾符1位,尾数数值7位,阶码和尾数均用补码表示。
它所能表示的最大正数是多少?最小规格化正数是多少?绝对值最大的负数是多少?5、求有效信息位为01101110的海明码校验码。
第三章练习:5解释下列概念:PROM,EPROM,E2PROM,Flash memory,FPGA,SRAM和DRAM。
第四章总线的分类总线操作周期的四个传输阶段总线仲裁的概念及其分类异步通信方式的种类总线的最大传输率第五章存储器的分类存储容量的扩展RAID的概念、特点以及分类Cache的地址映射Cache的写策略Cache的性能分析3C练习:4,5,71.一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?用下列存储芯片时,各需要多少片?1K×4位,2K×8位,4K×4位,16K×l位,4K×8位,8K×8位2.现有1024×l的存储芯片,若用它组成容量为16K×8的存储器。
(1)实现该存储器所需的芯片数量?(2)若将这些芯片分装在若干块板上,每块板的容量为4K×8,该存储器所需的地址线总数是多少?几位用于选片?几位用作片内地址?(3)画出各芯片的连接逻辑图。
浮点数的表示和计算(共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位存⼩数这种编码⽅式,那么很明显⼩数的精度只能到后四位,⼩数点是固定不变的,这叫“定点数”。