计算机系统结构第2章.ppt

上传人:wuy****n92 文档编号:73976271 上传时间:2023-02-23 格式:PPT 页数:40 大小:265.13KB
返回 下载 相关 举报
计算机系统结构第2章.ppt_第1页
第1页 / 共40页
计算机系统结构第2章.ppt_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《计算机系统结构第2章.ppt》由会员分享,可在线阅读,更多相关《计算机系统结构第2章.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、属性 P4-5 计算机系统结构的属性应包括:计算机系统结构的属性应包括:1.硬件能直接处理的数据类型硬件能直接处理的数据类型,格式等格式等 2.最小寻址单位最小寻址单位,寻址类型寻址类型,地址计算等地址计算等 3.通用通用/专用寄存器的设置专用寄存器的设置 4.指令系统指令系统 5.内存组织内存组织 6.中断系统中断系统 7.机器级管态机器级管态 /用户态的定义和功能切换用户态的定义和功能切换 8.机器级机器级I/O结构结构 9.信息保护方式和保护机构信息保护方式和保护机构 原理上,软件实现的功能完全可以用硬件或固件完成,硬件实现的功能也可以由软件的模拟来完成,只是其性能、价格实现的难易程度有

2、所不同。软件和硬件在逻辑上是等效的。具有相同功能的计算机系统,其软、硬件功能分配比例可以在很宽的范围内变化。第二章第二章 数据表示与指令系统数据表示与指令系统 (P36P36)2.1 浮点数表示和浮点数表示和 IEEE 754 标准标准 2.2 高级数据表示高级数据表示 自定义数据自定义数据/向量数据向量数据/堆堆栈数据数据2.3 寻址方式与指令格式的优化设计寻址方式与指令格式的优化设计 寻址方式址方式/程序定位技术程序定位技术/指令格式指令格式优化化设计2.4 指令系统设计的两种风格指令系统设计的两种风格 指令系指令系统的功能的功能 CISC/RISC 两种指令系两种指令系统风格和它格和它们

3、的比的比较 第二章 数据表示与指令系统数据表示与指令系统 (P36P36)本章的主要内容:本章的主要内容:表示型与结构型数据表示型与结构型数据;IEEE标准浮点表示;标准浮点表示;高级数据表示;指令系统设计的两种风格。高级数据表示;指令系统设计的两种风格。本章学本章学习目的和要求:目的和要求:掌握掌握IEEE浮点表示;掌握描述型数据表示、浮点表示;掌握描述型数据表示、掌握掌握 RISC 指令系统要点。指令系统要点。本章重点:本章重点:IEEE-754浮点数标准浮点数标准;RISC 指令系统。指令系统。本章本章难点:点:以以 2 n 为底的浮点数尾数的理解。为底的浮点数尾数的理解。数据漫谈 我们

4、谈谈数据我们谈谈数据(Data)和数据分类和数据分类 数据数据(Data):没有发明电子计算机之前:没有发明电子计算机之前,Data 原意是原意是材料材料。通常指那些。通常指那些被证实可以使用的非实物材料被证实可以使用的非实物材料,如如数字数字,信息和消息信息和消息,写文章的素材写文章的素材,打官司的理由,打官司的理由,或者别的什么或者别的什么,乃至人们的思想乃至人们的思想,等等等一切等一切“待处待处理的对象理的对象”都可称都可称“Data”,范围非常非常广。范围非常非常广。今天在计算机行业今天在计算机行业,我们把我们把一切可以由计算机处理的一切可以由计算机处理的数字数字,符号和其它信息符号和

5、其它信息,统称,统称 Data。.本课仅讲解本课仅讲解:用户自定义的用户自定义的Data,系统系统Data,指令。指令。2.1 浮点数表示浮点数表示和和 IEEE754 标准标准 (P36P36)2.1.1类型表示结构 数据数据类型型,数据表示数据表示,数据数据结构及其关系构及其关系 计算机的数据来源有三:计算机的数据来源有三:一一由用户在程序中定义,由用户在程序中定义,是要处理的数据。是要处理的数据。二二由系统在程序运行过程蕴含生由系统在程序运行过程蕴含生成,是系统固有的。成,是系统固有的。三三是指令即控制序列。是指令即控制序列。.数据类型数据类型:指一组值的集合以及作用于这个集合上指一组值

6、的集合以及作用于这个集合上的操作集。的操作集。从系统结构角度看从系统结构角度看,数据类型可分为数据类型可分为基基本数据类型本数据类型、结构型数据类型结构型数据类型、访问指针数据类型、抽象数据类型等。表示型数据表示型数据和结构型数据和结构型数据 (P36P36)表示型、结构型.表示型数据表示型数据:硬件能直接识别和引用的、由运算指:硬件能直接识别和引用的、由运算指 令和运算部件实现运算的数据。如定点数令和运算部件实现运算的数据。如定点数,浮点数,浮点数,布尔数和二进串,布尔数和二进串,表示型数据表示型数据是是自然自然数据形式。数据形式。.结构型数据结构型数据:将表示型数据按一定的逻辑组织起来:将

7、表示型数据按一定的逻辑组织起来,就成为结构型数据。它们面向应用和软件。如就成为结构型数据。它们面向应用和软件。如:串串,栈栈,队列队列,向量向量,树树,图等等。图等等。结构型数据结构型数据是是人为的人为的 数据表示数据表示(续(续P37P37)数据表示 结构型数据结构型数据由数据结构学科通过高级语言详细描由数据结构学科通过高级语言详细描描述。硬件不描述。硬件不“懂懂”数据结构,要通过一定的数据结构,要通过一定的算法算法变成变成为为表示型数据表示型数据硬件才可以处理。硬件才可以处理。例如数据结构中的例如数据结构中的“树树”,”,硬件不懂什么是硬件不懂什么是“根根”,”,什么是什么是“叶叶”,”,

8、它只认它只认 0 和和 1。结构型数据。结构型数据 “树树”需要需要人确定:如何在计算机系统将其转变为人确定:如何在计算机系统将其转变为 0 和和 1 组成组成的表示型数据计算机才可处理。的表示型数据计算机才可处理。数据表示数据表示(续(续P37P37)数据表示 结构型数据构型数据 通过一定的算法变成通过一定的算法变成 表示型数据表示型数据才能在系统中处理。才能在系统中处理。结构型数据构型数据和和表示型数据表示型数据的的差距是高级语言语义和机器语言语义的差距,数差距是高级语言语义和机器语言语义的差距,数据结构学科的研究,填补了差距的算法和映像。据结构学科的研究,填补了差距的算法和映像。例如例如

9、“数组数组”通过变址寻址变为线性的一维数据,通过变址寻址变为线性的一维数据,硬件可以直接识别而处理之硬件可以直接识别而处理之 再如用软件还是用硬件实现再如用软件还是用硬件实现BCD运算,在系统运算,在系统设计时就必须确定。设计时就必须确定。续(R/H)数据表示是自然的数据表示是自然的,硬件可以识别硬件可以识别,数据结构数据结构 是人为的是人为的,要通过软件才可识别。要通过软件才可识别。系统结构设计者在设计系统时系统结构设计者在设计系统时,要确定哪些数据要确定哪些数据 类型用类型用数据表示数据表示实现?哪些数据类型用实现?哪些数据类型用数据结构数据结构 构构实现?亦即确定实现?亦即确定硬件硬件和

10、和软件软件的选用问题。的选用问题。例如实现例如实现BCD运算,是选用软件模块还是选用运算,是选用软件模块还是选用硬件模块呢?在系统设计时就必须考虑好硬件模块呢?在系统设计时就必须考虑好。两两型数据决定硬件和软件的划界型数据决定硬件和软件的划界 (P37-)续(向量)举例:分别用软件和硬件实现向量运算的问题:举例:分别用软件和硬件实现向量运算的问题:设向量操作设向量操作 A=A+B,若,若 A,B 都是都是 200 阶的方阵。阶的方阵。在没有硬件支持向量数据表示的计算机在没有硬件支持向量数据表示的计算机,需要用需要用 6 条条指令软件实现。其中指令软件实现。其中 4 条要循环条要循环4万次万次!

11、在有向量表示的计算机上只一条在有向量表示的计算机上只一条“向量加向量加”就够了就够了,访内就减少访内就减少 16 万次万次!大大加快了程序的运行。可见大大加快了程序的运行。可见,对有大量向量运算的场合对有大量向量运算的场合,选用向量处理机合算。选用向量处理机合算。硬件 软件 数据表示 数据结构 表示型数据 结构型数据 机器语言语义 高级语言语义 浮点数据表示浮点数据表示 按小数点的位置是否固定,机器数分定点数和浮点数。.定点整数:约定最高位为符号位,小数点固定在 数的最低位右边。如:+1011011.定点纯小数:约定最高位为符号位,小数点固定在 符号位之后。如:+.1011011 注:注:*只

12、有整数和纯小数可用定点表示,以补码为例,只有整数和纯小数可用定点表示,以补码为例,如如 -0011011 定点补码为定点补码为 11100101 -0.0011011 定点补码为定点补码为 1.1100101 *但是但是,无论什么数都可以用浮点表示无论什么数都可以用浮点表示 .浮点数一般的典型格式如图所示:数数符符阶阶符符E(阶码)(阶码)M(尾数的有效(尾数的有效数字)数字)一般浮点表示 小小数数点点S SE E1 En M1 M2 MmN(-1)S 2 2 E 0.M .理论上理论上浮点数浮点数从格式换算为真值:从格式换算为真值:.浮点数定义为小数点位置可按需浮动的数。.浮点数可表示整数,

13、纯小数,既有整数又有小数的数。数数符符阶阶符符E(原码表阶码原码表阶码)M(原码表原码表尾数的有效数尾数的有效数)一般浮点表示 小小数数点点1 0001001 0 0 1 1 0 0 0 0浮点数是浮点数是小数点位置可按需浮动的数小数点位置可按需浮动的数它的二进制一般格式是它的二进制一般格式是 N(-(-1)S 2 E 0.M (这里用原码表示)(这里用原码表示)式中式中 N:数的值数的值;S:符号位符号位;E:阶码阶码;M:尾数有效数字尾数有效数字 例:例:将十进制数将十进制数(-(-9.5)表示为表示为16位的浮点字位的浮点字。解:解:(-(-9.5)(-(-1001.1 B),按格式书写

14、:按格式书写:(-(-1001.1 B)(-(-1)12+4 0.10011 IEEE754标准格式和一般格式有些差别标准格式和一般格式有些差别。在本标准:v 约定阶码约定阶码 E 实际阶码值实际阶码值127,所以本标准中所以本标准中E无无 负数负数,这个这个阶码是一种移码阶码是一种移码表示表示。v 约定约定 M 小数点前面隐含一个小数点前面隐含一个“1 1”,这意味着格式这意味着格式化化 的尾数值是的尾数值是 1.1.M,表数精度比一般格式高。,表数精度比一般格式高。v 采取某些措施表示几个特别的数字采取某些措施表示几个特别的数字(P46(P46,表表2.4)。v IEEE 754 规格化的

15、单精度浮点数真值按下计算:浮点数真值按下计算:式中式中 尾数的真值尾数的真值=1.M,阶的真值,阶的真值=E-127,符号符号S=0或或1 IEEE N(1)S 2 E127 1.M IEEE 754 标准浮点数格式表示标准浮点数格式表示2.1.3 IEEE,P45(a)单精度格式字长单精度格式字长32位,其真值位,其真值N求得方法如下:求得方法如下:1S EM23位位8位位N(1)S 2 E127 1.M (b)双精度格式字长双精度格式字长64位,其真值位,其真值N求得方法如下:求得方法如下:N(1)S 2 E1023 1.M SME152位位11位位 IEEE标准 按按IEEE标准常用的三

16、种浮点数的格式为:标准常用的三种浮点数的格式为:数符数符 阶码阶码 尾数尾数 总位数总位数 短短 实实 数数 1 8 23 32 长 实 数 1 11 52 64 临时实数 1 15 64 80 以下各片供复习时参考:以下各片供复习时参考:v 符号位(Sign)表示整个浮点数的符号。v 有符号原码定点整数的表示范围为:-(2n-1)(2n-1)n 为尾数位数 v 有符号补码定点整数的表示范围为:-2n (2n-1)n 为尾数位数v 如8位定点数原码表示范围为 -127 127 补码表示范围为 -128 127 复习参考 为解决浮点运算,把各个浮点数阶码化为同阶,叫作浮点的的对阶浮点的的对阶。设

17、浮点数 1:F1=M12n1 浮点数 2:F2=M22n2 若 n1n2,为保证 F1 的值不变 将 n1 减小,M1 增大(小数点右移)直到 n1=n2 或 n2 增大,M2 减小(小数点左移)直到 n1=n2 例:例:F1=1.101125,F2=1.110123 可化 F1=110.1123 就可与 F2 作加减运算 或化 F2=0.01110125 就可与 F1 作加减运算 续上 4)移码:移码符号位与补码反,其余数位与补码同。一个数的移码这样求得:将该数的补码符号位取反符号位取反即得。如:+1101 的补码是 01101,则其移码为则其移码为 11101。1101 的补码是 1001

18、1,则其移码为则其移码为 00011。移码P48,表2.4 IEEE 754 单精度浮点数作出一些规定单精度浮点数作出一些规定让规定字长范围内尽可能多地表示浮点数让规定字长范围内尽可能多地表示浮点数 表示表示 0 0 S=S=0 0 or 1 1,E 0 0,M0,N0 表示表示 S=S=0 0 or 1 1,E255,M0,N 表表NaN S=S=0 0 or 1 1,E255,M0,NNaN 表非规格化数表非规格化数 S=S=0 0 or 1 1,E 0,M 0,N(1)S2E1260.M 表示真浮点数表示真浮点数 S=S=0 0 or 1 1,0E254,M0 N(1)S2E1271.M

19、例题P49例例1 1 将十进数将十进数(1.5)1.5)以以IEEE 754单精度浮点表示单精度浮点表示解:浮点表示可将二进制的解:浮点表示可将二进制的 S,E,M 依次依次拼接而得拼接而得 N(1)1)1 22 0 1.1 1.1 得得 S=S=1 1,E127,M100000(22个个0)1.5 1.5 表示为表示为IEEE 754 单精度浮点数是:单精度浮点数是:1 1 0111111101111111例例2 2 已知单精度浮点数已知单精度浮点数,求其十进制表示。浮点数为:求其十进制表示。浮点数为:1 1 1000000110000001解:解:S=S=1 1,E129,M0.25,代入

20、公式代入公式 N(1)S2E1271.M 得得 N 5 5 2.2 高级数据表示高级数据表示 2.2 高级数据表示高级数据表示 (P47P47).数据表示分两大类:数据表示分两大类:1)1)基本数据表示基本数据表示:从数学概念引申而来,如定点数:从数学概念引申而来,如定点数 据表示,浮点数据表示,逻辑数据表示,二进制据表示,浮点数据表示,逻辑数据表示,二进制 数据表示,十进制数据表示,等等。数据表示,十进制数据表示,等等。3 3 2)2)高级数据表示:高级数据表示:由基本数据表示经构造而成由基本数据表示经构造而成,目目 的在于使机器对数据结构提供支持的在于使机器对数据结构提供支持,以缩小计算以

21、缩小计算 机高级语言和机机器语言间的语义差距。机高级语言和机机器语言间的语义差距。.我们介绍高级数据表示的:我们介绍高级数据表示的:自定义数据表示自定义数据表示,向量数据表示向量数据表示,堆栈数据表示堆栈数据表示.自定义表示 自定义数据表示自定义数据表示 .为克服语义差距为克服语义差距,减少编译工作量减少编译工作量,引入引入“自定义自定义 数据类型数据类型”,”,试图把不同类型的同种运算指令统一。试图把不同类型的同种运算指令统一。.这里介绍两种自定义的数据表示:这里介绍两种自定义的数据表示:1)1)对于一般数据,在数据前面增加一个标志对于一般数据,在数据前面增加一个标志(Tag)就构成就构成“

22、带标志符的数据表示带标志符的数据表示”2)2)对于性质相同的数据块,用一个字作为描述符,对于性质相同的数据块,用一个字作为描述符,构成构成“数据块的描述符表示法数据块的描述符表示法”或或Descriptor 就构成自定义数据表示就构成自定义数据表示。称为通用化指令称为通用化指令(涵盖所有数据类型涵盖所有数据类型).).a)带标志符的数据表示带标志符的数据表示 数据前面有数据前面有“标志符标志符”(Tag)的数据的数据a 带带tagtag的表示的表示TagData.不同用途数据的区别含于不同用途数据的区别含于 Tag 中中,Tag 指明数据的指明数据的 功能。对数值数据功能。对数值数据,Tag

23、指明数值的类型和其他细指明数值的类型和其他细 节。对指令而言节。对指令而言,指令种类是大大的减少了。指令种类是大大的减少了。.带带 Tag 的数据由的数据由 系统软件系统软件 和和 高级语言的编译器建高级语言的编译器建 立立,对程序员和用户是透明的。对程序员和用户是透明的。.不论数值数据不论数值数据,指针指针,指令指令,控制字,格式统一为:控制字,格式统一为:b)带标志符带标志符(tag)(tag)的数据格式:的数据格式:b 带带tagtag的格式的格式FCD A T ATrapTypeP操作数操作数指指 令令地地 址址控制字控制字 R/RW捕捕捉捉方方式式只只读读或或读读写写16种种数数据据

24、类类型型奇奇偶偶校校验验图图2.5 2.5 R-2 R-2 计算机计算机 Tag 功能说明功能说明十进制数十进制数定点数定点数浮点数浮点数字符串字符串例如例如二进制数二进制数22141标志符数据带带tag tag 优与疑优与疑.c)带标志的数据表示有以下优点带标志的数据表示有以下优点:(P51P51)11)数据数据类型一致了型一致了,便于一致性便于一致性检验。22)大大大大简化了指令化了指令33)简化系化系统程序和程序和编译程序的程序的设计44)方便方便调试和开和开发,55)支持支持DBS实现“与数据类型无关与数据类型无关”的需求的需求.d)带标志的数据表示有以下质疑讨论带标志的数据表示有以下

25、质疑讨论:11)存存储空空间节约了了吗?22)指令指令执行速度提高了行速度提高了吗?33)硬件硬件设计的复的复杂程度如何程度如何?2)描述符表示法描述符表示法 2.DescriptorsDescriptors在结构型数据在结构型数据,一个数据块一个数据块有成百上千个数据有成百上千个数据,如果每如果每个数据都用个数据都用 Tag 说明说明,就太就太繁琐、太浪费了。于是人们繁琐、太浪费了。于是人们把把 Tag 单独作一个字单独作一个字,称为称为描述符 Descriptor,描述符 放在数据块的最前面。放在数据块的最前面。描述符描述符数数 据据数数 据据数数 据据主主 存存被描述的数据块 2)Bur

26、roughs公司率先使用描述符,格式如下2.DescriptorsDescriptors图图2.8 B-6700 数据描述符表示法(数据描述符表示法(P50)101数据块起址数据块起址数据块长度数据块长度标志位标志位000010数数 值值 数数 据据 数据块中的描述符数据块中的一个数值数据8位20位20位3位48位3位图2.9 P51操作码操作码图图2.9 通过描述符通过描述符 ,的的取指操作取指操作YX101101101000B000000A101101地址形成逻辑数据块数据块数据块数据块000图2.1010图图2.10 用描述符描述用描述符描述二维数组二维数组000a21101S12101

27、S22101S32101S33000a22000a31000a32000a11000a1232二维数二维数A祖祖三元素向量三元素向量 向量数据表示向量数据表示 P52 向量 要计算向量要计算向量 Ci A i+B i8 在标量机通常用高级语言在标量机通常用高级语言 如:如:for(i=4;i=11;i+)C(i)=A(i)+B(i8)在编译后借助变址操作实现,各条指令顺序在编译后借助变址操作实现,各条指令顺序 执行。为了实现执行。为了实现 for 的全部功能的全部功能 可设置如下可设置如下“向量加向量加”指令指令 向量指令向量指令 P53P53 C(4:11)A(4:11)+B(-4:3)(-

28、4:3)向量区段寄存器X,放A的位移量区段寄存器Y,放B的位移量A向量的基址及长度B向量的基址及长度区段寄存器Z,放C的位移量C向量的基址及长度向量加向量加AYBZC操作码向量起始地址向量起始地址s=基址基址b+位移量位移量d,向量的有效长度向量的有效长度e=向量长度向量长度位移量位移量d向量Ci=Ai+BiA11A10A9A8A7A6A5A4A3A2A1A0C11C10C9C8C7C6C5C4C3C2C1C0B3B2B1B0B-1B-2B-3B-4基址基址A始址始址A基址基址Bb基址基址C位移量位移量Ad=4有效长度有效长度Ae=11-4向量长度向量长度Av源向量源向量A源向量源向量B结果向

29、量结果向量C始址始址B始址始址C向量起始地址向量起始地址s=基址基址b+位移量位移量d,向量的有效长度向量的有效长度e=向量长度位移量向量长度位移量dC(4:11)A(4:11)+B(-4:3)堆栈数据表示堆栈数据表示 P54P54 堆栈(1).堆栈堆栈(Stack)从硬件角度看是一种存储结构。从硬件角度看是一种存储结构。.从软件角度看,堆栈是一种后进先出的表从软件角度看,堆栈是一种后进先出的表,如同如同 弹夹。堆栈只有一个数据出入的端口。弹夹。堆栈只有一个数据出入的端口。.堆栈数据操作的特点是指令只需指出是什么操作堆栈数据操作的特点是指令只需指出是什么操作,无需指出操作数地址。无需指出操作数

30、地址。.存储器堆栈在主存存储器堆栈在主存,栈底固定栈顶浮动栈底固定栈顶浮动,堆栈指堆栈指 针指向栈顶针指向栈顶,数据存取在栈顶单元进行数据存取在栈顶单元进行,速度慢。速度慢。.寄存器堆栈没有堆栈指针寄存器堆栈没有堆栈指针,栈顶固定栈顶固定,栈底浮动栈底浮动,数据存取在栈顶单元进行,速度快。数据存取在栈顶单元进行,速度快。堆栈数据表示堆栈数据表示 堆栈(2).堆栈型数据表示对复杂的算术表达式的求解比较堆栈型数据表示对复杂的算术表达式的求解比较 方便;将算术表达式转换为逆波兰式表示法,在方便;将算术表达式转换为逆波兰式表示法,在 堆栈上进行运算,可以缩短计算程序。堆栈上进行运算,可以缩短计算程序。.堆栈型数据表示支持子程序调用、中断、嵌套和堆栈型数据表示支持子程序调用、中断、嵌套和 递归,广泛高级语言编译及程序调用技术。递归,广泛高级语言编译及程序调用技术。.现代计算机一般都设计有堆栈数据表示。现代计算机一般都设计有堆栈数据表示。.具有堆栈型数据表示具有堆栈型数据表示,且以面向堆栈寻址方式为且以面向堆栈寻址方式为 主的计算机称主的计算机称“堆栈型计算机堆栈型计算机”。3.11作业:作业:P87 2.2P88 2.7(1)、()、(2)2.8(3)、()、(4)2.10、2.11

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁