配色: 字号:
计算机系统结构指令集设计基础知识
2022-12-30 | 阅:  转:  |  分享 
  
计算机系统结构(春) ----指令集设计: 基础知识大纲数据表示CISC与RISCLi-2.1,Li-2.2,Li-2.4Pa-B.2, P
a-B.32022/9/28dahogn@sdu.edu.cn2数据表示数据表示与数据结构 高级数据表示 浮点数尾数基值大小和下溢
处理方法的选择(选讲)2022/9/283dahogn@sdu.edu.cn数据表示定义:机器硬件能直接识别和引用的数据类型。条件
:相应的运算指令和运算硬件(处理部件)。分类:基本数据表示、高级数据表示、自定义数据表示。目标:缩小高级语言和机器语言间的语义差别
提高性能/价格比节省处理时间和存储空间实现:最小的存储空间、最简单的存取算法。2022/9/284dahogn@sdu.edu.c
n数据表示与数据结构数据表示:由硬件实现的数据类型数据结构:面向计算机系统软件、面向应用领域所需处理的数据类型。由软件实现的数据类
型。目标:最大限度满足应用要求、最简化的方法实现。实现:通过数据表示和软件映象相结合方法实现。数据表示是数据类型的子集。数据表示的
确定实质上是软、硬件的取舍问题数据结构和数据表示是软、硬件的界面 2022/9/285dahogn@sdu.edu.cn数据类型
定义:具有一组值的集合,且定义了作用于该集合的操作集。目的:防止不同类型数据间的误操作。分类:基本类型、结构类型。基本数据类型内容
:二进制位、二进制位串、整数、十进制数、浮点数、字符、布尔数等。结构数据类型定义:由一组相互有关的数据元素复合而成的数据类型。分类
:系统数据类型、用户自定义数据类型内容:数组、字符串、向量、堆栈、队列、记录等2022/9/286dahogn@sdu.edu.c
n数据表示中应表达的内容 数值的表达进位制数、负数、小数点的方式 字符和符号的表达 ASCII码 数据单位的表达 字:逻辑单位,
一条指令处理的数据单位。字节、半字、字、双字 数据的属性类型、存放的位置、对数据的约束 2022/9/287dahogn@sdu.
edu.cn数据表示的发展定点数据表示用定点数表示浮点数不方便而低效 50年代提出变址操作,为向量、阵列提供方便。用循环遍历向量和
阵列可变长字符串数据表示 支持串数据结构的实现用于输入、输出、事务处理和编译2022/9/288dahogn@sdu.edu.cn
高级数据表示自定义数据表示(Self_defining)带标识符的数据表示 数据描述符 向量数组数据表示 堆栈数据表示2022/
9/289dahogn@sdu.edu.cn带标识符的数据表示 主要用于指明数据类型(如二进制整数、十进制整数等,也
可用于指明及其内部所用信息的各种类型。 对高级程序员透明。 2022/9/2810dahogn@sdu.edu.cn
带标识符的数据表示的优缺点优点:简化指令系统和程序设计简化编译程序便于一致性校验能由硬件自动完成数据类型的变换支持数据库系统的实现
与数据类型无关的要求为软件调试和应用软件开发提供支持; 缺点:使程序所占用的主存空间增加(如下图)降低指令的执行速度;2022/9
/2811dahogn@sdu.edu.cn采用标识符缩短操作码而节省程序空间通常有面积B>面积A2022/9/2812dahog
n@sdu.edu.cn数据描述符 000数据描述符 数据目的:描述复杂和多维的结构类型。2022/9/2813dahogn@sd
u.edu.cn数据描述符与带标识符的区别 标识符是和每一个数据相连的,合存在一个存储单元中,描述单个数据的类型特征。 描述符是和
数据分开存放的,专门用来描述所要访问的数据是整块数据还是单个数据,访问该数据块或数据元素需要的地址以及其他特征信息等。 2022/
9/2814dahogn@sdu.edu.cn数据描述符实现阵列数据的索引比变址方法实现的好,而且能检查程序设计中阵列越界错误。
为向量、数组数据结构的实现提供一定的支持,有利于简化编译中的代码生成。工作过程:如下图2022/9/2815dahogn@sdu.
edu.cn描述符的工作过程2022/9/2816dahogn@sdu.edu.cn2022/9/2817dahogn@sdu.e
du.cn堆栈数据表示 有利于编译和子程序调用。 堆栈机器:具有堆栈数据表示的机器。有若干高速寄存器组成的硬件堆栈,并附加控制电路
让它与主存中的堆栈区在逻辑上组成一个整体,使堆栈的访问速度是寄存器的,堆栈的容量是主存的;有很丰富的堆栈操作类指令(数十条)且功能
很强,直接可对堆栈中的数据进行各种运算和处理;2022/9/2818dahogn@sdu.edu.cn堆栈数据表示(续)有力地支持
高级语言程序的编译;算术赋值表达式 F=AB+C/(D-E)逆波兰表达式 ABCDE
-/+ 有力地支持子程序的嵌套和递归调用。减少大量辅助性工作多使用零地址指令存储效率高2022/9/2819dahogn@sdu.
edu.cn浮点数二进制的定点数符号数值、反码、补码浮点数数据表示IEEE标准754 1985年 提出三部分:符号位、指数、尾数
浮点数尾数基值的选择浮点数尾数下溢处理方法 2022/9/2820dahogn@sdu.edu.cnIEEE 754标准Willi
am Kahan加州大学伯克利分校数学系教授帮助Intel公司设计了8087浮点处理器1989年图灵奖This standard
defines a family of commercially feasible ways for new systems to
perform binary floating-point arithmetic2022/9/28dahogn@sdu.edu.
cn21IEEE754表示:若E=0且M=0,N为0若E=0且M≠0,N=(-1)S·2-126 ·(0.M),非规格化数;若1≤
E≤254,N=(-1)S·2E-127 ·(1.M),规格化数;若E=255且M ≠ 0,N=NaN(非数值);若E=255且M
= 0,N= (-1)S ∞(无穷大)2022/9/2822dahogn@sdu.edu.cn浮点数尾数下溢处理方法2022/9
/2823dahogn@sdu.edu.cn寻址方式 寻址方式:是指令按什么方式寻找(访问)到所需的操作数或信息的。寻址方式分析
逻辑地址与主存物理地址 2022/9/2824dahogn@sdu.edu.cn寻址方式分析面向主存:主要访问内存,少量访问寄存器
面向通用寄存器:多数在寄存器,少量在内存面向堆栈:主要在堆栈,可减轻编译负担 2022/9/2825dahogn@sdu.edu.
cn寻址方式分析寻址方式的种类立即寻址、直接寻址、间接寻址、相对寻址、变址寻址、寄存器寻址 寻址方式在指令中的指明方式 操作码占用
位:DJS200地址码设置寻址方式字段:VAX-11寻址灵活、操作码短 2022/9/2826dahogn@sdu.edu.cn逻
辑地址与主存物理地址 逻辑地址:程序员编写程序时使用的地址。物理地址:程序在主存中的实际地址。早期,二者一致一般来讲,逻辑地址的空
间大于物理地址的空间。 因此,映射实际上是压缩。2022/9/2827dahogn@sdu.edu.cn再定微技术静态再定位:用软
件方法把目标程序的逻辑地址变换成物理地址,而在程序的执行过程中,物理地址不再改变。动态再定位:在执行每条指令时才形成访存物理地址的
方法。通过基址寻址。2022/9/2828dahogn@sdu.edu.cn变址寻址与基址寻址区别变址寻址:支持向量、数组,实现循
环;基址寻址:支持逻辑地址到物理地址的变换,实现动态再定位;存储保护:设置多对上、下界寄存器。2022/9/2829dahogn@
sdu.edu.cn整数边界存储概念信息在存储器中按整数边界存储的概念让任何时候所需的信息都只用一个存储周期访问到,要求信息在主存
中存放的地址必须使该信息宽度的整数倍。即字节信息地址:X…XXXX半字信息地址:X…XXX0单字信息地址:X…XX00双字信息地址
:X…X000保证访存速度造成浪费2022/9/2830dahogn@sdu.edu.cn对齐的概念2022/9/2831daho
gn@sdu.edu.cn2022/9/28dahogn@sdu.edu.cn32指令集的形式堆栈型累加器型存储器-寄存器型寄存器
-寄存器型2022/9/28dahogn@sdu.edu.cn332022/9/28dahogn@sdu.edu.cn342022
/9/28dahogn@sdu.edu.cn35大小端的概念如果将一个32位的整数0x12345678存放到一个整型变量(int)
中,这个整型变量采用大端或者小端模式在内存中的存储由下表所示。地址偏移 大端模式 小端模式 0x00
12(OP0) 78(OP3) 0x01 34(OP1) 56(OP2) 0x02 5
6(OP2) 34(OP1) 0x03 78(OP3) 12(OP0)2022/9/28dahogn@s
du.edu.cn362022/9/28dahogn@sdu.edu.cn37按简化指令功能的方向发展精简指令系统思想的提出IBM
公司的John Cocke设计一个电话交换系统的控制器,1979年研制出32位的IBM 801 小型计算机,120条指令,10MI
PS(1千万条指令/秒)。1979年,美国加州大学伯克利分校David Patterson研究小组开始研究RISC系统。1981年
Patterson等人研制了32位RISC I微处理器,共31种指令,3种数据类型,2种寻址方式;研制周期10个月,比当时最先进的
MC68000和Z8002快3至4倍;1983年又研制了RISC II,指令种类扩充到39种,单一的变址寻址方式,通用寄存器138
个CISC的主要特点 指令系统庞大,指令功能复杂,指令格式、寻址方式多;绝大多数指令需多个机器周期完成;各种指令都可访问存储器;采
用微程序控制;有专用寄存器,少量;难以用优化编译技术生成高效的目标代码程序;CISC存在的问题 指令系统庞大,指令功能复杂,指令格
式、寻址方式多;执行速度慢;难以优化编译,编译程序复杂;80%的指令在20%的运行时间使用;无法并行;无法兼容; 从CISC到RI
SCCISC指令系统存在的问题:20%与80%规律CISC中,大约20%的指令占据了80%的处理机时间。其余80%指令:使用频度只
占20%的处理机运行时间VLSI技术的发展引起的问题VLSI工艺要求规整性,RISC正好适应了VLSI工艺的要求主存与控存的速度相
当,简单指令没有必要用微程序实现,复杂指令用微程序实现与用简单指令组成的子程序实现没有多大区别;由于VLSI的集成度迅速提高,使得
生产单芯片处理机成为可能。从CISC到RISC(续)软硬件的功能分配问题复杂的指令使指令的执行周期大大加长 一般CISC处理机的指
令平均执行周期都在4以上,有些在10以上CISC增强了指令系统功能,简化了软件,但硬件复杂了,设计周期加长。 减少CPI是RISC
思想的精华程序执行时间的计算公式: P = I· CPI · T 其中:P是执行这个程序所使用的
总的时间;I是这个程序所需执行的总的指令条数;CPI 是每条指令执行的平均周期数T是一个周期的时间长度。RISC的速度要比CISC
快3倍左右,关键是RISC的CPI减小了硬件方面:采用硬布线控制逻辑,减少指令和寻址方式的种类,使用固定的指令格式,采用LOAD/
STORE结构,指令执行过程中设置多级流水线等。软件方面:十分强调优化编译技术的作用RISC设计思想也可以用于CISC中例如:In
tel公司的80x86处理机的CPI在不断缩小 8088的CPI大于20 80286的CPI大约是5.5 80386的CPI
进一步减小到4左右 80486的CPI已经接近2 Pentium处理机的CPI已经与RISC十分接近 目前,超标量
、超流水线处理机的CPI已经达到0.5,实际上用IPC (Instruction Per Cycle)更确切。RISC的定义90年
代初,IEEE的Michael Slater对RISC定义的描述:RISC为使流水线高效率执行,应具有:简单而统一格式的指令译码大
部分指令可以单周期执行完成仅Load和Store指令可以访问存储器简单的寻址方式采用延迟转移技术采用LOAD延迟技术RISC为使优
化编译器便于生成优化代码,应具有:三地址指令格式、较多的寄存器、对称的指令格式RISC的设计原则 使用频度很高的指令(精简指令条数
)大大减少寻址方式(指令字等长)所有指令在一个机器周期完成扩大通用寄存器个数采用硬联控制实现,提高速度通过精简指令和优化设计编译程
序,以简单有效的方式支持高级语言 CISC与RISC的主要特征对比 主要RISC产品 DEC公司DEC Alpha 21064,2
1066, 21164 ,21264MIPS公司(SGI公司)R3000,R4000,R8000,R10000,R12000, R
T5IBM, Motorola ,ApplePowerPC 601,602,603,603E,604,615,620,630,64
0Power3、Power4、Power5HP公司PA-RISC8000SUN公司Sun SPARC MicroSPARC, S
uperSPARC,UltraSPARCRISC技术的发展 采用RISC后的好处简化指令系统设计提高机器的执行速度和效率降低设计成
本,提高系统可靠性提供直接支持高级语言的能力,简化编译程序的设计 RISC的不足 指令少,加重汇编程序员的负担 浮点运算和虚拟存储
器支持不足 编译程序难写 堆栈计算机罗伯特·巴登B5000两个操作数放在堆栈中 执行结果自动送入堆栈指令中不需要地址部分。指令中需
要相对指针的地址即可特点存储空间节省(省掉了指令的地址部分) 程序紧凑(去掉了所有中间结果的存取指令)2022/9/28dahog
n@sdu.edu.cn51逆波兰表达式(a+b)(c+d)转换为ab+cd+d+入栈和出栈就可以搞定任何普通表达式的运算。运
算方式如下:当前字符为变量或者为数字,则压栈,如果是运算符,则将栈顶两个元素弹出作相应运算,结果再入栈,最后当表达式扫描完后,栈里
的就是结果。2022/9/28dahogn@sdu.edu.cn52逆波兰表达式(2)转换过程包括用下面的算法读入中缀表达式的操作
数、操作符和括号: 1. 初始化一个空堆栈,将结果字符串变量置空。 2. 从左到右读入中缀表达式,每次一个字符。 3. 如果
字符是操作数,将它添加到结果字符串。 4. 如果字符是个操作符,弹出(pop)操作符,直至遇见开括号(opening paren
thesis)、优先级较低的操作符或者同一优先级的右结合符号。把这个操作符压入(push)堆栈。 5. 如果字符是个开括号,把它
压入堆栈。 6. 如果字符是个闭括号(closing parenthesis),在遇见开括号前,弹出所有操作符,然后把它们添加到
结果字符串。 7. 如果到达输入字符串的末尾,弹出所有操作符并添加到结果字符串。2022/9/28dahogn@sdu.edu.
cn53信息论1948年香农发表的《通讯的数学理论》信息是负熵信息是选择的自由度消息是信息的外壳,信息是消息的内核信息既不是物质,
又不是能量,信息就是信息。信息存在于自然界,也存在于人类社会!2022/9/28dahogn@sdu.edu.cn54信息的概念信
息是标志事物存在及其关系的属性。信息可以界定为由信息源(如自然界、人类社会等)发出的被使用者接受和理解的各种信号。事件发生的概率大
,事先容易判断,有关此事件的消息排队事件发生的不确定程度小,则包含的信息量就小;反之则大2022/9/28dahogn@sdu.e
du.cn55信息特征可识别可转换可传递可加工处理可多次利用(无损耗性)在流通中扩充主客体二重性信息的能动性可共享性信息与物质和能量的主要区别。信息的产生、存在和流通,依赖于物质和能量,没有物质和能量就没有能动作用。信息可以控制和支配物质与能量的流动。2022/9/28dahogn@sdu.edu.cn56四次信息技术革命第一次革命是人类创造了语言和文字,接着现出了文献。第二次革命是造纸和印刷技术的出现。第三次革命是电报、电话、电视及其它通讯技术的发明和应用。第四次革命是电子计算机和现代通讯技术在信息工作中的应用。信息爆炸2022/9/28dahogn@sdu.edu.cn57香农(1916-2001)大部分在贝尔实验室和MIT度过两大贡献信息理论、信息熵的概念符号逻辑和开关理论通信领域的大师级人物5台钢琴、30多种其他乐器骑独轮车,手里抛着三个球上班踩着高跷骑摩托,有两个座位的独轮车下棋机器、迷宫老鼠二战期间研究德军密码破译2022/9/28dahogn@sdu.edu.cn58
献花(0)
+1
(本文系通信农民工原创)