计算机组成原理左规,计算机组成原理

计算机组成原理左规,计算机组成原理
真值 :
全息图像
通常将数值数据在计算机内部编码表⽰的数称为机器数,⽽机器数真正的值(即原来带有正负号的数)称为机器数的真值。
机器数(Computer word):
通常将数值数据在计算机内部编码表⽰的数称为机器数。
数值数据(numerical data):
数值数据是指有确定的值的数据。数值数据在数轴上能到其对应的点,可以⽐较其⼤⼩。确定⼀个数值数据的值有三个要素:进位计数制、定/浮点表⽰和数的编码表⽰。也就是说,给定⼀个数字序列,如果不说明这个数字序列是⼏进制数、⼩数点的位置在哪⾥、采⽤什么编码⽅式,那么这个数字序列的值是⽆法确定的。也就是说,同⼀个数字序列可能有不同的值。在计算机中数值数据有⽆符号数和有符号数两种。
⾮数值数据(non-numerical data):
数值数据是指在数轴上没有确定的值的数据。像逻辑数据、西⽂字符、汉字字符等都是⾮数值数据。
基数(radix,base):
进位计数制(或称数字系统)的“底数”或“基”。例如,⼆进制数的基数是“2”,⼗进制数的基数为“10”,⼗六进制的基数为“16”。
⽆符号数(Unsigned integer):
当⼀个编码的所有⼆进位都⽤来表⽰数值时,该编码表⽰的就是⽆符号数。可以看成是⼀种正整数。常⽤⽆符号数来进⾏地址运算。
有符号数(Signed number):
在计算机内部对正、负号进⾏编码的数。有符号数⼜分为定点数和浮点数。定点数有定点整数和定点⼩数两种。现实世界中的整数在计算机内部由定点整数表⽰。现实世界中的实数在计算机内部由浮点数表⽰。
定点数(Fixed-point number):
定点数是计算机中⼩数点固定在最左边或最右边的有符号数,有定点整数和定点⼩数两种。定点整数的⼩数点总是约定在数的最右边,主要⽤来表⽰现实世界中的整数和浮点数中的指数。定点⼩数的⼩数点总是约定在数的最左边,主要⽤来表⽰浮点数中的尾数。
定点数的编码⽅式有原码、反码、补码和移码。整数常⽤补码来表⽰;浮点数的尾数⼀般⽤原码⼩数来表⽰;浮点数的指数⼀般⽤移码来表⽰。
原码(Signed magnitude):
⼀种对定点整数或定点⼩数进⾏⼆进制编码的编码⽅案。它的编码规则是:正号“+ ”⽤符号位“0”表⽰,负号“-” ⽤符号位“1”表⽰,数值部分不变。这种编码简单,但计算机处理不⽅便,50年代以后,就不⽤它来表⽰整数。但现代计算机中,⼀般⽤它来表⽰浮点数的尾数,如:IEEE754标准。
反码(One’s complement):
⼀种对定点整数或定点⼩数进⾏⼆进制编码的编码⽅案。由于计算机处理反码没有补码⽅便,反码已经不被再⽤了。
补码(Two’s complement):
⼀种对定点整数或定点⼩数进⾏⼆进制编码的编码⽅案。其编码规则如下:正号“+ ”⽤符号位“0”表⽰,负号“-” ⽤符号位“1”表⽰,正数的数值部分不变,负数的数值部分是各位取反,末位加1。这种编码较原码复杂,但由于它是⼀种模运算系统,计算机处理很⽅便,50年代以后,整数就都⽤它来表⽰。
变形补码(Four’s complement):
变型补码是⼀种双符号位补码。早期计算机⽤双符号位来检测定点整数是否发⽣溢出。采⽤双符号位的补码相当于在原来的数位上增加了⼀位。所以也称为4-补码。采⽤“变形补码”进⾏溢出检测时的判断规则为:“当结果的两个符号位不同时,发⽣溢出”。有时⽤双符号位来保存运算时进到⾼位的数值部分。
浮点数(Floating-point number ):
浮点数是计算机中可以指定⼩数点在不同位置的有符号数。任意⼀个浮点数F可写成:F=M x 2E 的形式。这样,⼀个浮点数就可以有两个定点数表⽰,M称为浮点数的尾数,⽤⼀个定点⼩数来表⽰;E称为浮点数的指数或阶码,⽤⼀个定点整数来表⽰。
尾数(mantissa, significand):
任意⼀个浮点数F 可写成:F=M x 2E 的形式,因⽽由两部分组成。这⾥,M称为浮点数的尾数,⽤⼀个定点⼩数来表⽰。
阶码(exponent):
任意⼀个浮点数F 可写成:F=M x 2E 的形式,因⽽由两部分组成。这⾥,E称为浮点数的指数或阶码,⽤⼀个定点整数来表⽰。
移码(excess notation,biased notation):
移码是⼀种⽤来表⽰浮点数阶码的编码⽅案。它的编码规则是:将真值加上⼀个偏置常数。因为在浮点数的加减运算中,要进⾏对阶操作,需要⽐较两个阶的⼤⼩。⽤移码表⽰阶码后,使得所有数的阶码都是⼀个正整数,⽐较⼤⼩时,就只要按⾼位到低位顺序⽐较就⾏了,因⽽,移码主要⽤来表⽰阶码,可以简化阶码的⽐较过程。
单精度浮点数(Single precision floating point):
IEEE754标准规定的32位浮点数格式表⽰的浮点数。阶码是8位,⽤移码表⽰,偏置常数为127,尾数⽤原码表⽰,规格化浮点数的最⾼位“1”隐含不表⽰,显式表⽰的尾数有23位,所以⼀共有24位尾数。
双精度浮点数(Double precision floating point):
IEEE754标准规定的64位浮点数格式表⽰的浮点数。阶码是11位,⽤移码表⽰,偏置常数为1023,尾数⽤原码表⽰,规格化浮点数的最⾼位“1”隐含不表⽰,显式表⽰的尾数有52位,所以⼀共有53位尾数。
对阶(align exponent):
浮点数加/减运算时,在尾数相加/减之前所进⾏的操作称为对阶。对阶时,需要⽐较两个阶的⼤⼩。阶⼩的那个数的尾数右移,阶码增量。右移⼀次,阶码加1,直到两数的阶码相等为⽌。
溢出(Overflow):
溢出是指⼀个数⽐给定的格式所能表⽰的最⼤值还要⼤,或⽐最⼩值还要⼩的现象。因为⽆符号数、有符号定点数和有符号浮点数的位数是有限的,所以,都有可能发⽣溢出,但判断溢出的具体⽅法不同。
下溢(Underflow):
在浮点数运算中,当⼀个浮点数的指数⽐最⼩允许值还⼩,此时,浮点数发⽣下溢。⼀般机器把下溢时的值置为0。此时,不发⽣溢出故障。
上溢(Overflow):
在浮点数运算中,当⼀个浮点数的指数超过了最⼤允许值,此时,浮点数发⽣上溢(即:向∞⽅向溢出)。如果结果是正数,则发⽣正上溢(有的机器把值置为+∞);如果是负数,则发⽣负上溢(有的机器把值置为-∞)。这种情况为软件故障,通常要引⼊溢出故障处理程序来处理。
保护位(Guard bit):
煤仓疏松机
为了使数据有效位在右移时最⼤限度地保证不丢失,⼀般在运算中间值后⾯增加若⼲数据位,这些位⽤来保存右移后的有效数据,称为保护位。增设保护位后,能保证运⾏的中间结果的有效位数,但最终必须将结果的保护位去掉,以得到规定格式的浮点数,此时要考虑舍⼊。
规格化数(Normalized number):
为了使浮点数中能尽量多地表⽰有效位数,⼀般要求运算结果⽤规格化数形式表⽰。规格化浮点数的尾数⼩数点后的第⼀位⼀定是个⾮零数。因此,对于原码编码的尾数来说,只要看尾数的第⼀位是否为1就⾏;对于补码表⽰的尾数,只要看符号位和尾数最⾼位是否相反。
左规(Left Normalize):
在浮点数运算中,当⼀个尾数的数值部分的⾼位出现0时,尾数为⾮规格化形式。此时,进⾏“左规”操作:尾数左移⼀位,阶码减1,直到尾数为规格化形式为⽌。
右规(Right Normalize) :
在浮点数运算中,当尾数最⾼有效位有进位时,发⽣尾数溢出。此时,进⾏“右规”操作:尾数右移⼀位,阶码加1,直到尾数为规格化形式为⽌。右规过程中,要判断是否发⽣溢出。此时,只要阶码不发⽣上溢,则浮点数不会溢出。
舍⼊(Rounding):
舍⼊是指数值数据右部的低位数据需要丢弃时,为保证丢弃后数值误差尽量⼩⽽考虑的⼀种操作。例如,定点整数“右移”时、浮点加/减运算中某数“对阶”时、浮点运算结果“右规”时都会涉及到舍⼊。
机器零(Machine “0”):
⽤⼀种专门的位序列表⽰“机器0”。例如,IEEE754单精度浮点数中,⽤“0000 0000H”表⽰“+0”,⽤“8000 0000H”表
⽰“– 0”。当运算结果出现阶码过⼩时,计算机将该数近似表⽰为“机器0”。
BCD码(Binary Coded Decimal,BCD):
⼗进制数⽤⼆进制编码的形式表⽰称为BCD码。
逻辑数据(Logic Data):
逻辑数据⽤来表⽰命题的“真”和“假”,分别⽤ “1”和“0”来表⽰。进⾏逻辑运算时,按位进⾏。
ASCII码(American Standard Code for Information Interchange):
⽬前计算机中使⽤最⼴泛的西⽂字符集及其编码,即美国标准信息交换码(American Standard Code for Information Interchange),简称ASCII码。
逻辑移位(logical Shifte):
代码转换逻辑移位是对⽆符号数进⾏的移位,把⽆符号数看成⼀个逻辑数进⾏移位操作。左移时,⾼位移出,低位补0;右移时,低位移出,⾼位补0。
算术移位(arithmetic Shifte):
算术移位是对带符号数进⾏的,移位前后符号位不变。左移⼀位,数值扩⼤⼀倍,相当于乘2操作;右移⼀位,数值缩⼩⼀半,相当于除2操作。移位时,符号位不动,只是数值部分进⾏移位。对于不同的编码,其移位规则不同。① 原码左移:⾼位移出,末位补0。移出⾮零时,发⽣溢出。右移:⾼位补0,低位移出。移出时进⾏舍⼊操作。② 补码左移:⾼位移出,末位补0。移出⾮符时,发⽣溢出。右移:⾼位补符,低位移出。移出时进⾏舍⼊操作。
循环(逻辑)移位(rotating Shifte):
循环移位是⼀种逻辑移位,移位时把⾼(低)位移出的⼀位送到低(⾼)位,即:左移时,各位左移⼀位,并把最左边的位移到最右边;右移时,各位右移⼀位,并把最右边的位移到最左边。
移位器(Shifter):
具有移位功能的寄存器,称为移位寄存器。
扩展操作(extending):
在计算机内部,有时需要将⼀个取来的短数扩展为⼀个长数,此时要进⾏填充(扩展)处理。有“零扩展”和“符号扩展”两种。
零扩展(Zero extending):
对⽆符号整数进⾏⾼位补0的操作称为“零扩展”。
符号扩展(Sign extend):
座便轮椅
对补码整数在⾼位直接补符的操作,称为“符号扩展”。
扩展器(Extender):
进⾏扩展(填充)操作的部件,称为扩展器。⼀般输⼊为n位,输出为2n位。
半加器(Half Adder):
只考虑本位两个加数⽽不考虑低位进位来⽣成本位和的⼀位加法器。
全加器(Full Adder,(3, 2) adder):
风叶不仅考虑本位两个加数⽽且考虑低位进位来⽣成本位和的⼀位加法器。
加法器(Adder):
能进⾏n位加法运算的部件。
⾏波进位(Ripple Carry):
在进⾏n位加法运算时,低位向⾼位的进位采⽤像“⾏波”⼀样进⾏串⾏传递的⽅式,称为⾏波进位⽅式。
⾏波进位加法器(Ripple Carry Adder):
⾏波进位加法器也称为串⾏进位加法器,它通过n个全加器按照串⾏⽅式连起来实现。进位⽅式采⽤⾏波进位⽅式。
先⾏进位(Carry Lookahead):
通过引⼊两个进位辅助函数(进位⽣成和进位传递),使得加法器的各个进位之间相互独⽴、并⾏产⽣。这种进位⽅式也称为并⾏进位⽅式。
进位⽣成函数(Generate Carry):
n位加法器中,每⼀位定义⼀个函数:gi = Ai &Bi (“&”表⽰与操作)。该函数的含义是,只要函数值gi为1,不管低位有没有进位,⼀定能⽣成向⾼位的进位。这个函数称为进位⽣成函数。
进位传递函数(Propagate Carry):
n位加法器中,每⼀位定义⼀个函数:pi = Ai | Bi ( “|” 表⽰或操作),该函数的含义是,只要函数值pi为1,那么,低位来的进位⼀定能传递到⾼位。这个函数称为进位传递函数。
先⾏进位加法器(Carry Lookahead Adder):
玻璃精雕机
先⾏进位加法器也称为并⾏进位加法器,它通过引⼊进位⽣成函数和进位传递函数,使得进位之间相互独⽴、并⾏产⽣。因⽽能够快速得到最终整个和数。故也称为快速加法器。
算术逻辑部件(Arithmetic Logic Unit):
⽤来执⾏各种算术和逻辑运算的部件。有两个源输⼊端和⼀个结果输出端,并具有操作控制和低位进位输⼊端,以及输出结果是否为0等标志输出端。
布斯算法(Booth’s Algorithm):
是⼀种补码乘法算法,⽤于带符号数的乘法运算,由Booth提出。算法的基本思想是在乘数的末位添加⼀个“0”,乘数中出现的连
续“0”和连续“1”处不进⾏任何运算;出现“10”时,做减法;出现“01”时,做加法。每次只做⼀位乘法,因⽽每⼀步都右移⼀位。

本文发布于:2024-09-21 18:30:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/150460.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:浮点数   进位   称为
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议