计算机体系结构金星第二章数据表示与指令系统2
本章节主要讲解计算机体系结构中的数据表示和指令系统。数据表示是指可由硬件直接辨认的数据类型,可以分为自定义数据表示、数据描述符、向量数据表示和堆栈数据表示四种类型。
自定义数据表示的特点是数据类型和数据本身直接联系在一起,优点是简化指令系统、简化编译、易于对编程查错、自动类型转换、方便程序调试,支持了数据库系统的实现与数据类型无关的要求。但是缺点是增加存储空间又使指令执行速度变慢。
数据描述符的特点是数据类型和数据分开存储,主要用来描述复杂和多维结构的数据类型。它与带标志符数据表示不同之处是标志符要与每个数据相连,两者合存在一个存储单元中;而描述符则和数据分开存放,在描述成块数据时节省空间,要访问数据时,必须先访问描述符,这就至少增加一级寻址。
向量数据表示是在硬件上支持向量的并行执行,具有基址、位移量、向量长度、元素步距等特点。堆栈数据表示支持高级语言编译和子程序功能调用,传统堆栈用通用寄存器实现,放在主存中,堆栈指令数少,速度低,堆栈机器用高速寄存器实现堆栈,具有寄存器的速度和主存堆栈的容量。
引入数据表示的原则是系统的效率是否提高,是否减少了实现时间和存储空间,其通用性和利用率是否高。
浮点数据尾数据基值大小是浮点数表示的重要组成部分,浮点数的表示数学符号是(-1)^mf* rp^e * rm^(-p),其中mf是尾数的符号位,ef是阶码的符号位,e是阶码的值,m是尾数的值。讨论尾数的基值为rm的非负阶、正尾数、规格化数(rp=2),可以表示的最小值和最大值,尾数个数、阶个数、可表示数的个数等。
结论是rm越大,在数轴上可表示数的密度分布越稀,rm越大,精度越小,rm越大,精度损失越小,rm越大,运算速度提高。
尾数下溢处理方法的选择有截断法、舍入法、恒置1法、查表舍入法等。