文档介绍:第四章数据表示和指令系统
数据类型和表示
指令系统设计原理和优化
RISC计算机
本章要点
浮点数据表示IEEE标准及应用
自定义数据表示定义、分类及优点
哈夫曼概念及在计算机中应用,操作码编码法
指令系统编码方法,指令系统设计原则
两种指令系统风格,特点(RISC、CISC)
简述RISC的主要技术
引言
(1)考虑计算机面向的应用领域,程序设计语言,编译程序,操作系统直到硬件构成等诸多因素。
(2)如何继承软件资产,保证软件向后兼容和向上兼容也是要加以考虑的现实问题。
指令系统:又称指令集(instruction set)是计算机体系结构设计的核心,是计算机软、硬件接口,是用机器语言汇编语言编写程序的用户所能看到的计算机基本属性。
传统计算机指令系统的设计技术
总之要对执行性能,软、硬件开发费用,可靠性等各种因素间的矛盾,综合权衡考虑。设计一种新的指令系统,从提出指令系统的编码到实现这种指令系统的硬件要经过几次反复。
(1)根据计算机未来用途及通常机器指令集拟出初步指令系统设计及实现,
(2)编出这套指令系统设计的编译程序,
(3)进行模拟测试,研究这套指令操作码,寻址方式及其他效能,
(4)进行指令系统的优化。
(5)如此反复进行,要充分考虑计算机应用和对各类高级语言执行效率,并对大量算法进行测试,使机器效能最高。
计算机指令系统的设计技术基本过程:
现代计算机指令系统设计必须由编译程序设计人员同系统结构设计人员共同配合进行传统计算机指令系统的设计。
完备性:要求计算机的所有功能操作都包含在指令系统中,指令系统愈丰富,功能愈强,编译程序愈好写好用,运用范围愈广。
指令系统设计规则:
规整性,均匀性:要使相似的操作具有相同的规定,所有操作都均匀对称地在存储器和寄存器单元间进行,尽可能甚至不出现例外情况和特殊用法。
正交性:编译程序设计人员希望数据类型、寻址方式、操作类型都互相独立,这样便于处理,也减轻编译负担。
可组合性对称性:指令系统对所有的寻址方式和所有数据类型都能适用,减化编译程序的代码生成。
从系统结构设计人员角度出发,指令系统还应考虑到:
兼容性:指令系统设计多次反复,注意简单周到,还应注意系列机中软件兼容性.
可扩性:保留一定余量的操作码空间,为以后扩展用,并适应工艺技术的新发展。
指令码高密度性:对于那些频度高的指令串可以进行优化,设计新指令代替,提高指令码密度,减少存储容量和访问存储器次数,以提高效率。
指令系统发展的两种途径CISC,RISC
(一)复杂指令集计算机(CISC)
(二)精简指令系统计算机(RISC)
通过减少指令总数和简化指令的功能来降低硬件设计的复杂程度,提高指令执行速度,使指令简单,有效可行。
指令系统庞大
硬件复杂、庞大
执行速度低
编译程序复杂、长
部分指令使用效率低
PENTIUM处理器:
RISC特征:某些指令以硬连线来实现,并能在一个时钟周期执行完;
CISC特征:用微代码实现,需要2-3个时钟周期的执行时间,有多种寻址方式,多种指令长度,为数不多的通用寄存器。
数据类型和数据表示 数据类型
计算机中常用数据有三类:
用户定义的数据
系统数据
指令数据
数据类型:指一组数据值的集合,还定义了可作用于这个集合上的操作集。
从系统结构看有基本数据类型,结构数据类型,抽象数据类型和访问指针。
用户定义
系统数据类型
基本数据表示
数据表示:指在计算机中能由硬件直接辩认,指令系统可以直接调用的数据类型。
数据结构:结构化数据的组织方式,它反应了应用中各种数据元或信息元间的结构关系。它必须通过软件映象,变换成机器中所具有的(存储于一维存储器内)各种数据表示来实现的。
数据表示实质上是一个软、硬件取舍的问题。
二进制定点,浮点, 数据表示
IEEE754 浮点数据表示标准:
1
8
23
S符号位
E
M
指数
尾数
32位单精度形式
1
11
52
S 符号位
E
M
指数
尾数
64位双精度形式