第二章 数据的机器级表示与处理1
数字逻辑与计算机组成原理:第二章 数据的表示与运算
第二章 数据的表示与运算
第一节 数的表示
一、无符号数和有符号数
1、无符号数:
没有符号的数,寄存器中的每一位都可用 来存放数据
机器字长为n位,无符号数的表示范围 为0~2n-1
反映无符号数的表示范围
8位 16 位
0 ~ 255 0 ~ 65535
有两种常用的无符号表示法: ◆ 非负数码:表示0或一个正数
(1) 定义
整数
0,x
2n > x ≥ 0
[x]反 = ( 2n+1 – 1) + x 0 ≥ x > 2n(mod 2n+1 1)
x 为真值
n 为整数的位数
如 x = +1101
x = 1101
[x]反 = 0,1101
[x]反 = (24+1 1) 1101 = 11111 1101
用 逗号 将符号位
= 1,0010
和数值部分隔开
小数 x
[x]反 = ( 2 – 2-n) + x
1>x≥ 0 0 ≥ x > 1(mod 2 2-n)
x 为真值 n 为小数的位数
如 x = + 0.1101
x = 0.1010
[x]反 = 0.1101
[x]反 = (2 2-4) 0.1010
= 1.1111 0.1010
有符号小数: +0.1011,在机器中表示为
-0.1011,在机器中表示为
第一节 数的表示
一、无符号数和有符号数 2、有符号数
有符号整数: +1101,机器中表示为
-1101, 机器中表示为
第一节 数的表示
一、无符号数和有符号数
北科大计算机组成原理课件第二章
5
2.2 数字化信息编码
6
编码
编码:就是用少量简单的基本符号的组合, 表示大量复杂多样的信息。 在计算机系统中,凡是要进行处理、存储和 传输的信息,都是用二进制进行编码的。
7
计算机内部采用二进制表示的原因
只有0、1两个数码,易于用物理器件表 示; 2. 电位的高低, 脉冲的有无, 电路通断, 磁 化方向等都比较容易区别,可靠性高; 3. 运算规则简单; 4. 二进制的0、1与逻辑命题中的真假相对 应,为计算机中实现逻辑运算和逻辑判 断提供有利条件。 缺点:书写冗长,难认,难记,不易发现错 误。
10
数值数据的表示
三个要素: 1. 进位计数制; 2. 符号的数字化?带符号数的编码表示? 3. 小数点?位置?定/浮点表示。 问题:计算机中的字可表示的最大的数是多 少?计算机中的字可表示的最小的数是 多少?运算结果超出怎么办? 计算机的特性:离散性、有限性。
11
进位计数制
基数:允许使用的基本符号个数。 位权:不同数位的权值(数量级别)。 例:十进制数, 123.4 = 1102 + 2101+3100+410-1
15
机器数位的编号
一个字节:
7 6 5 4 3 2 1 0
0 0
最高位
0 0 1
0 1
0
最低位
问题:一个字节能表示几种码字(模式)? 能表示数的数量?
16
数值数据的编码表示
计算机用数字表示正负,隐含规定小数点 (定点与浮点)。 计算机中常用的数据表示格式有两种: 定点格式:容许的数值范围有限,但要求的 处理硬件比较简单。 浮点格式:容许的数值范围很大,但要求的 处理硬件比较复杂。
1 1011
数据的机器级表示与处理
作业三数据的机器级表示与处理一. 选择题1.108对应的十六进制形式是()。
A.63HB. 6CHC. B4HD. 5CH2.–1029的16位补码用十六进制表示为()。
A.7BFBHB. 8405HC. 0405HD. FBFBH3.考虑以下C语言代码:short si=–8196;unsigned short usi=si;执行上述程序段后,usi的值是()。
A.57339B. 8196C. 34572D. 573404.考虑以下C语言代码:short si=–32768;unsigned short usi=si;执行上述程序段后,usi的值是()。
A.65535B. 32768C. –32768D. 655365.考虑以下C语言代码:unsigned short usi=65535;short si=usi;执行上述程序段后,si的值是()。
A.–1B. 1C. –65535D. 655356.假定变量i、f的数据类型分别是int、float。
已知i=12345,f=1.2345e3,则在一个32位机器中执行下列表达式时,结果为“假”的是()。
A.i==(int)(float)iB. i==(int)(double)iC. f==(float)(double)fD. f==(float)(int)f二、问答题P75:3.实现下列各数的转换。
(涉及8421码的不做)(1)(25.8125)10= (?)2= (?) 8= (?) 16(2)(101101.011)2 = (?)10= (?) 8= (?) 16= (?) 8421(3)(0101 1001 0110.0011)8421 = (?)10= (?) 2= (?) 16P75:4.假定机器数为8位(1位符号,7位数值),写出下列各二进制数的原码和补码表示。
(如果无法完整表示,则写溢出)P75:5.假定机器数为8位(1位符号,7位数值),写出下列各二进制数的补码和移码表示。
南京航空航天大学计算机考研829大纲
一、计算机组成原理部分【目标】1. 理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。
2. 理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法。
3. 能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,并能对一些基本部件进行简单设计。
【大纲】1.计算机系统概述(1). 了解计算机的发展历程;(2). 掌握冯?诺依曼计算机结构的特点,计算机硬件的基本组成与功能,计算机系统的组成(硬件+软件)及其层次结构,计算机的工作原理;(3). 掌握计算机的性能指标,具体包括CPU执行时间、CPI、时钟周期、主频、MIPS、MFLOPS、GFLOPS、TFLOPS、PFLOPS等;2.数据的机器级表示(1).掌握数制与编码:包括进位计数制及其相互转换,真值和机器数,BCD编码,字符与字符串,校验码;(2). 熟练掌握定点数的表示与运算:包括无符号数的表示和有符号整数的表示,定点数的移位运算;原码定点数加减运算;补码定点数加减法运算;定点数乘除运算;识记溢出概念和判别方法;(3). 掌握浮点数的表示与运算:包括浮点数的表示,IEEE754标准,浮点数的加减运算及其规格化;(4).理解算术逻辑单元ALU:包括串行加法器和并行加法器,算术逻辑单元ALU 的功能与结构;3.运算方法与运算部件(1).掌握不同层次程序员看到的运算:高级语言以C语言为例,ISA层面则以MIPS为例;(2). 了解串行加法器、并行加法器及先行进位部件,掌握算术逻辑部件ALU 的设计;(3). 掌握定点数运算及运算部件:补码加减运算,无符号数乘法运算,无符号除法运算;掌握补码加减运算器如何实现;(4). 掌握浮点数加减运算及浮点数运算的精度问题;了解相应的运算部件实现思想; 4.存储器分层体系结构(1).了解存储器的分类及其分层结构,半导体存储器随机访问存储器的组织,只读存储器及主存的主要技术指标等;掌握存储器芯片与CPU的连接,多模块存储器的交叉存储;(2).掌握高速缓冲存储器的CPU的基本访存过程,Cache和主存之间的映射方式,程序访问的局部性原理对编程的影响及Cache-friendly的程序,了解Cache替换算法和Cache写策略;(3).掌握虚拟存储器的基本概念,三种实现方案,缺页的处理以及快表的工作原理,注意虚拟地址和物理地址的转换问题,如何查段表和页表;TLB的原理和作用;平均访问时间的计算等。
计算机组成原理课程习题答案_秦磊华
解释下列名词摩尔定律:对集成电路上可容纳的晶体管数目、性能和价格等发展趋势的预测,其主要内容是:成集电路上可容纳的晶体管数量每18个月翻一番,性能将提高一倍,而其价格将降低一半。
主存: 计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取。
控制器:计算机的指挥中心,它使计算机各部件自动协调地工作。
时钟周期:时钟周期是时钟频率的倒数,也称为节拍周期或T周期,是处理操作最基本的时间单位。
多核处理器:多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。
字长:运算器一次运算处理的二进制位数。
存储容量: 存储器中可存二进制信息的总量。
CPI:指执行每条指令所需要的平均时钟周期数。
MIPS:用每秒钟执行完成的指令数量作为衡量计算机性能的一个指标,该指标以每秒钟完成的百万指令数作为单位。
CPU时间:计算某个任务时CPU实际消耗的时间,也即CPU真正花费在某程序上的时间。
计算机系统的层次结构:计算机系统的层次结构由多级构成,一般分成5级,由低到高分别是:微程序设计级,机器语言级,操作系统级,汇编语言级,高级语言级。
基准测试程序:把应用程序中使用频度最高的那那些核心程序作为评价计算机性能的标准程序。
软/硬件功能的等价性:从逻辑功能的角度来看,硬件和软件在完成某项功能上是相同的,称为软/硬件功能是等价的,如浮点运算既可以由软件实现,也可以由专门的硬件实现。
固件:是一种软件的固化,其目的是为了加快软件的执行速度。
可靠性:可靠性是指系统或产品在规定的条件和规定的时间内,完成规定功能的能力。
产品可靠性定义的要素是三个“规定”:“规定条件”、“规定时间”和“规定功能”。
MTTF:平均无故障时间,指系统自使用以来到第一次出故障的时间间隔的期望值。
MTTR:系统的平均修复时间。
MTBF:平均故障间隔时间,指相邻两次故障之间的平均工作时间。
可用性:指系统在任意时刻可使用的概率,可根据MTTF、MTTR和MTBF等指标计算处系统的可用性。
第二章.信息数据与计算机表示
1
二进制数高位
13
2.1 进位计数制 例1:(13)10 = ( 1101 )2
21
3
2
6
2
3
21 0
余数 二进制数低位
1
0
1
1
二进制数高位
14
例2:(0.6875)10 = (
0. 6 8 7 5
×
2
1. 3 7 5 0
×
2
0. 7 5 0
×
2
1. 5制
)2
整数 1
二进制数高位
0
1 二进制数低位
1
15
2.1 进位计数制
例2: (0.6875)10 = (0.1011 )2
0. 6 8 7 5
×
2
整数
1. 3 7 5 0
1
×
2
0. 7 5 0
0
×
2
1. 5 0
1
×2
1. 0
1
二进制数高位 二进制数低位
16
2.1 进位计数制 例3:(13.6875)10 =(13)10+(0.6875)10
30
2.2 字符信息的表示方法
① 数的长度
在计算机中,数的长度按比特(bit)来计算。但因 存储容量常以“字节”为计量单位,所以数据长度也常 以字节为单位计算。
机器数的位数是固定的。所能表示的范围受到字长 和数据类型的限制。
② 数的符号
一般用数的最高位(左边第一位)来表示数的正负号, 并约定以“0”表示正,以“1”表示负。
9
2.1 进位计数制 (4)十六进制数制
主要特点: ① 有16个不同的计数符号:0、1、2、3、4、5、 6、7、8、9、A(10)、B(11)、C(12)、D(13)、 E(14)、F(15),其基数为16位; ② 按“逢十六进一”的规则计数。 ③ 转换为十进制数。
计算机组成原理课程教案
计算机组成原理课程教案二00九年九月上海建桥学院计算机组成原理课程教案周次 1 第 1 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次 1 第 2 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次 2 第 3 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次 2 第 4 次课学时2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案计算机组成原理课程教案周次 3 第 6 次课学时 2 教案设计人丁纪凯、范新民计算机组成原理课程教案周次4 第7 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次4 第8 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次5 第9 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次 5 第10 次课学时 2 教案设计人丁纪凯、范新上 海 建 桥 学 院计算机组成原理课程教案周次 6 第 11 次课 学时 2 教案设计人 丁纪凯、范新上海 建 桥 学 院计算机组成原理 课程教案周次 6 第 12 次课 学时 2 教案设计人 丁纪凯、范新计算机组成原理课程教案周次7 第13 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次7 第14 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次8 第15 次课学时 2 教案设计人丁纪凯、范新民上海建桥学院计算机组成原理课程教案周次8 第16 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次9 第17 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次9 第18 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次10 第19 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次10 第20 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次11 第21 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次11 第22 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次12 第23 次课学时 2 教案设计人丁纪凯、范新民计算机组成原理课程教案周次12 第24 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次13 第25 次课学时 2 教案设计人丁纪凯、范新上海建桥学院计算机组成原理课程教案周次13 第26 次课学时 2 教案设计人丁纪凯、范新上 海 建 桥 学院计算机组成原理 课程教案周次 14 第 27 次课 学时 2 教案设计人 丁纪凯、范新上海建桥学院计算机组成原理课程教案计算机组成原理课程教案周次15 第29 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次15 第30 次课学时 2 教案设计人丁纪凯、范新民计算机组成原理课程教案周次16 第31 次课学时 2 教案设计人丁纪凯、范新计算机组成原理课程教案周次16 第32 次课学时 2 教案设计人丁纪凯、范新。
计算机系统结构题库
《计算机系统结构》题库一.单项选择题(在下列每小题的四个备选答案中,只有一个答案是正确的,请把你认为是正确的答案填入题后的()内,每小题2分)第一章:1.计算机系统多级层次中,从下层到上层,各级相对顺序正确的应当是:A.汇编语言机器级---操作系统机器级---高级语言机器级B.微程序机器级---传统机器语言机器级---汇编语言机器级C.传统机器语言机器级---高级机器语言机器级---汇编语言机器级D.汇编语言机器级---应用语言机器级---高级语言机器级答案:B 分数:2 所属章节1—12.汇编语言源程序变成机器语言目标程序是经来实现的。
A. 编译程序解释B. 汇编程序解释C. 编译程序翻译D. 汇编程序翻译答案:D 分数:2 所属章节1—13.直接执行微指令的是:A. 汇编程序B. 编译程序C. 硬件D. 微指令程序答案:C 分数:2 所属章节1—14.对系统程序员不透明的是:A. Cache存储器B. 系列机各档不同的数据通路宽度C. 指令缓冲寄存器D. 虚拟存储器答案:D 分数:2 所属章节1—25.对应用程序员不透明的是:A. 先行进位链B. 乘法器C. 指令缓冲器D. 条件码寄存器答案:D 分数:2 所属章节1—26.对机器语言程序员透明的是:A. 中断字B. 主存地址寄存器C. 通用寄存器D. 条件码答案:B 分数:2 所属章节1—27.计算机系统结构不包括:A. 主存速度B. 机器工作状态C. 信息保护D. 数据表示答案:A 分数:2 所属章节1—28.对计算机系统结构透明的是:A. 字符行运算指令B. 是否使用通道行I/O处理机C. 虚拟存储器D. VLSI技术答案:D 分数:2 所属章节1—29.对汇编语言程序员透明的是:A.I/O方式中的DMA访问方式B. 浮点数据表示C. 访问方式保护 D 程序性中断.答案:A 分数:2 所属章节1—210.属计算机系统结构考虑的应是:A. 主存采用MOS还是TTLB. 主存采用多体交叉还是单体C. 主存容量和编址方式D. 主存频宽的确定答案:C 分数:2 所属章节1—211.从计算机系统结构上讲,机器语言程序员所看到的机器属性是:A. 计算机软件所要完成的功能B. 计算机硬件的全部组成C. 编程要用到的硬件组织D. 计算机各部件的硬件实现答案:C 分数:2 所属章节1—212.计算机组成设计不考虑:A. 专用部件设置B. 功能部件的集成度C. 控制机构的组成D. 缓冲技术答案:B 分数:2 所属章节1—213.在多用户机器上,应用程序员不能使用的指令是:A. “执行”指令B. “访管”指令C. “启动I/O”指令D. “测试与置定”指令答案:C 分数:2 所属章节1—214.以下说法中,不正确的是:软硬件功能是等效的,提高硬件功能的比例会:A. 提高解题速度B. 提高硬件利用率C. 提高硬件成本D. 减少所需要的存储容量答案:B 分数:2 所属章节1—315.在系统结构设计中,提高软件功能实现的比例会:A. 提高解题速度B. 减少所需要的存储容量C. 提高系统的灵活性D. 提高系统的性能价格比答案:C 分数:2 所属章节1—316.下列说法中不正确的是:A.软件设计费用比软件重复生产费用高B.硬件功能只需实现一次,而软件功能可能要多次重复实现C.硬件的生产费用比软件的生产费用高D.硬件的设计费用比软件的设计费用低答案:D 分数:2 所属章节1—317. 在计算机系统设计中,比较好的方法是:A. 从上向下设计B. 从下向上设计C. 从两头向中间设计D. 从中间开始向上、向下设计答案:D 分数:2 所属章节1—318. “从中间开始”设计的“中间”目前多数是在:A.传统机器语言级与操作系统机器级之间B.传统机器语言级与微程序机器级之间C.微程序机器级与汇编语言机器级之间D.操作系统机器级与汇编语言机器级之间答案:A 分数:2 所属章节1—319.系列机软件应做到:A.向前兼容,并向上兼容B.向后兼容,力争向上兼容C.向前兼容,并向下兼容D.向后兼容,力争向下兼容答案:B 分数:2 所属章节1—520. 推出系列机的新机器,不能更改的是:A.原有指令的寻址方式和操作码B.系统总线的组成C.数据通路宽度D.存储芯片的集成度答案:A 分数:2 所属章节1—521. 不同系列的机器之间,实现软件移植的途径不包括:A. 用统一的高级语言B. 用统一的汇编语言C. 模拟D. 仿真答案:B 分数:2 所属章节1—522. 利用时间重叠概念实现并行处理的是:A. 流水处理机B. 多处理机C. 并行(阵列)处理机D. 相联处理机答案:A 分数:2 所属章节1—523. 多处理机主要实现的是:A. 指令级并行B. 任务级并行C. 操作级并行D. 操作步骤的并行答案:B 分数:2 所属章节1—5第二章:1.程序员编写程序时使用的地址是()。
计算机原理 计算机中数据的表示方法
第二章计算机中数据的表示方法第一节计算机中数据的分类和表示方法计算机内部传送的信息分为两大类:控制信息和数据信息。
数据信息又分为两种,数值型数据和非数值型数据。
注意:任何数据在计算机中都是用二进制表示的。
一、数据的单位1.位(bit):是计算机中最小的数据单位,常用小写字母b来表示。
2.字节(Byte):用大字母B来表示,1B=8b表示文件的长度,衡量存储器的容量,存储器编址用字节做单位。
磁盘的存储单位是:簇磁盘存放信息的最小编址单位是:扇区信息编码的的最小单位是:码元3.字(word):由若干字节组成,是字节的整数倍。
在计算机内部进行数据传送,或CPU进行数据处理时,用它作基本单位。
字的长度即字长,并不是所有的计算机字长都一样,常见的字长有16位,32位,64位。
字长是CPU一次能够处理二进制的位数。
字长越长,计算机速度越快,精度越高。
4.常用的存储单位之间的换算1TB=1024GB 1GB=1024MB 1MB=1024KB 1KB=1024B 210 1B=8b二、数据的分类1.按数据处理方式分类数值型和非数值型非数值型又分为:字符数据和逻辑数据2.按数据传输形式分类数字数据和模拟数据数字数据:离散型的;模拟数据:连续的值模拟数据被数字化后存入计算机,采用模数转化将模拟数据数字化后存入计算机。
三、数据的表示方法1.数值型数据的表示(1)按小数点的处理可分为定点数和浮点数。
(2)按符号位有原码、补码,反码三种形式的机器数2.非数值型数据的表示第二节各种数制及其转换方法一、数制的组成数制是指计数的方法,任何一种数制都有两个要素:基数和权。
例如二进制数1001.01,它的基数是2,最左边1的权是23,最右边的1的权是2-2。
234二、常用字的数制二进制(B),八进制(Q),十进制(D),十六进制(H)三、不同进制之间的转换1.十进制转换成非十进制分成整数部分和小数部分:整数部分:除基数倒取余小数部分:乘基数取整注意:十进制数转换在二进制数的方法是除2倒取余。
南京航空航天大学课程教学大纲-南京航空航天大学计算机科学与技术
本门课程涉及的学科知识领域属于计算机系统领域中的计算机系统的基本组成部分。 总体 上由以下知识单元构成。 (一)计算机系统概述(6 学时) 1. 简单了解计算机的发展历程,掌握冯·诺依曼计算机结构的特点,计算机硬件的基本 组成与功能; (2 学时) 2. 计算机系统的组成(硬件+软件)及其层次结构和相互关系,计算机的基本工作原理, 程序执行原理; (2 学时) 3. 掌握计算机的性能评价,具体指标包括 CPU 执行时间、指令的 CPI 及计算机系统中平 均 CPI、时钟周期、指令执行性能的 MIPS 指标、MFLOPS、GFLOPS、TFLOPS 等(*) ; (2 学时) (二)数据的机器级表示(6 学时) 1. 数值数据的表示 (3 学时) (1) 掌握定点数的二进制编码、原码、补码(*) 、移码、带符号整数和无符号整数的表 示 (2) 掌握 IEEE754 浮点数标准(*) 、单精度浮点数、双精度浮点数、特殊数的表示形式 (3) 掌握 C 语言程序中的整数类型、浮点数类型所对应的机器数表示 2. 非数值数据表示及数据的宽度、存储排列、纠/检错 (3 学时) (1) 掌握逻辑数据、西文字符、汉字 (Δ)等非数值数据的表示 (2) 掌握数据的宽度及长度单位 Byte,KB,MB,GB,TB,PB 等 (3) 掌握数据的大端与小端方式存储排列,数据对齐 (4) 了解数据的纠错和检错:奇偶校验、海明校验(Δ) (三)运算方法与运算部件(8 学时) 1. 掌握不同层次程序员看到的运算:高级语言以 C 语言为例,ISA 层面则以 MIPS 为例; (1 学时) 2. 了解串行加法器、并行加法器及先行进位加法器,掌握算术逻辑部件 ALU 的设计; (1 学时) 3. 掌握定点数运算及运算部件:补码加减运算(*) ,无符号数乘法运算(*) ,无符号除 法运算(Δ) ;掌握补码加减运算器如何实现(*) ; (4 学时) 4. 掌握浮点数加减运算及浮点数运算的精度问题;了解相应的运算部件实现思想(Δ) ; (2 学时) (四)指令系统(*) (4 学时) 1. 了解指令格式的设计(1 学时) (1) 地址码的个数 (2) 设计原则 2. 指令系统的设计原则(1 学时) (1) 类型和格式,操作数类型,寻址方式,定长/变长操作码(*) ; (2) 掌握数据类型:寄存器组织、存储器组织(*) ; (3) 熟悉条件码和标志寄存器(Δ) ; (4) 指令设计风格以及 RISC、CISC 的特点等(*) ; 3. 熟悉指令系统实例(Δ) ;掌握 MIPS 的程序机器级表示(Δ) :包括其指令格式,指
计算机结构原理试题
计算机结构原理试题第⼀章计算机系统概论例题精选1.冯.诺依曼型计算机中指令和数据均以⼆进制形式存放在存储器中,CPU区分它们的依据是(C)。
A.指令操作码的译码结果B.指令和数据的寻址⽅式C.指令周期的不同阶段D.指令和数据所在的存储单元2.下列选项中,能缩短程序执⾏时间的措施是(D)。
I提⾼CPU时钟频率,II优化数据通路结构,III对程序进⾏编译优化A.仅I和IIB.仅I和IIIC.仅II和IIID.I,II,III3.什么是计算机系统?说明计算机系统的层次结构。
计算机系统包括硬件和软件。
从计算机层次结构来看,它通常有五个以上的层次,在每⼀层次(级)上都能进⾏程序设计。
由下⾄上排序为:第⼀级微程序机器级,微指令由硬件直接执⾏;第⼆级传统机器级,⽤微程序解释机器指令;第三级操作系统级,⼀般⽤机器语⾔程序解释作业控制语句;第四级汇编语⾔机器级,这⼀级由汇编程序⽀持和执⾏;第五级⾼级语⾔机器级,采⽤⾼级语⾔,由各种⾼级语⾔编译程序⽀持和执⾏。
此外,还可以有第六级应⽤语⾔机器级,采⽤各种⾯向问题的应⽤语⾔。
4.设主存储器容量为64K 32位,并且指令字长、存储字长、机器字长三者相等。
写出MAR、MDR、IR、ACC、MQ、X的位数。
由主存容量为64K×32位,可得共需要数据线32根,存储字长为32位;由于MDR的位数与存储字长相等,故MDR为32位;由于MAR的位数对应存储单元的个数,且216=64K,故MAR为16位,地址线16根。
因指令字长=机器字长=存储字长(32位),则IR、ACC、MQ、X均为32位。
试题精选1.以晶体管为主要元件的计算机属于计算机发展史上的哪⼀代?BA.第⼀代B.第⼆代C.第三代D.第四代2.下列(B)是冯.诺依曼机⼯作⽅式的基本特点。
A.多指令流单数据流B.按地址访问并顺序执⾏指令C.堆栈操作D.存储器按内容选择地址3.完整的计算机系统应该包括(D)。
A.运算器、存储器、控制器B.外部设备和主机C.主机和应⽤程序D.配套的硬件设备和软件系统4.CPU存取速度的⽐较,下列哪个是正确的(C)。
第2章 数据的机器级表示与处理
• 为什么用补码表示带符号整数?
– 补码运算系统是模运算系统,加、减运算统一 – 数0的表示唯一,方便使用 –符号数:unsigned int ( short / long);带符号整数: int ( short / long) 常在一个数的后面加一个“u”或“U”表示无符号数 若同时有无符号和带符号整数,则C编译器将带符号整数强制转换为无符号数 假定以下关系表达式在32位用补码表示的机器上执行,结果是什么?
Decimal 0 1 2 3 4 5 6 7
u
Binary 0000 0001 0010 0011 0100 0101 0110 0111
Decimal -0 -1 -2 -3 -4 -5 -6 -7
Binary 1000 1001 1010 1011 1100 1101 1110 1111
容易理解, 但是: ü 0 的表示不唯一,故不利于程序员编程 ü 加、减运算方式不统一 ü 需额外对符号位进行处理,故不利于硬件设计 ü 特别当 a<b时,实现 a-b比较困难
结论1: 一个负数的补码等于对应正数补码的“各位取 反、末位加1”
运算器适合用补码表示和运算
运算器只有有限位,假设为n位,则运算结果只能保留低n位, 故可看成是个只有n档的二进制算盘,因此,其模为2n 。 当n=4时,共有16个机器数: 0000 ~ 1111,可看成是模为 24 的钟表系统。真值的范围为
从 50年代开始,整数都采用补码来表示 但浮点数的尾数用原码定点小数表示
补码 - 模运算(modular运算)
重要概念:在一个模运算系统中,一个数与它除以“模”后的余数等价。
时钟是一种模12系统 现实世界中的模运算系统 假定钟表时针指向10点,要将它拨向6点, 则有两种拨法: ① 倒拨4格:10- 4 = 6 ② 顺拨8格:10+8 = 18 ≡ 6 (mod 12) 模12系统中: 10- 4 ≡ 10+8 (mod 12) -4≡8 (mod 12) 则,称8是- 4对模12的补码 (即:- 4的模12补码等于8)。 同样有 -3 ≡ 9 (mod 12) -5 ≡ 7 (mod 12)等 结论1: 一个负数的补码等于模减该负数的绝对值。 结论2: 对于某一确定的模,某数减去小于模的另一数,总可 以用该数加上另一数负数的补码来代替。 补码(modular运算):+ 和– 的统一
计算机组成原理教案(第二章)
最小负数值=-(215-1)10=(-32767)10
1
111 111 111 111 111
例6]假设由S,E,M三个域组成的一个32位二进制字所表示的非零规格 化浮点数x,真值表示为: x=(-1)s×(1.M)×2E-128 问:它所表示的规格化的最大正数、最小正数、最大负数、最小负 数是多少? 1)最大正数 0 11 111 111 111 111 111 111 111 111 111 11
2.1.1 数据格式
计算机中常用的数据表示格式有两种
一是定点格式,数值范围有限,要求但的处理硬件比较简单。
二是浮点格式,数值范围很大,但要求硬件比较复杂。
1.定点数的表示方法
定点表示:约定机器中所有数据的小数点位置是固定不变的
(x0:符号位,0代表正号,1代表负号):
纯小数和纯整数
目前计算机中多采用定点纯整数表示,因此将定点数表示的运算 简称为整数运算。
00000001 0000000011
(2).压缩的十进制数串形式
每个数位占用半个字节(即4个二进制位),其值可用二-十编码 (BCD码)或数字符的ASCII码的低4位表示。 符号位也占半个字节并放在最低数字位之后,其值选用四位编 码中的六种冗余状态中的有关值,
1 2 3 C
(+123) 0 1 2 D
2.浮点数的表示方法
浮点表示法:把一个数的有效数字和数的范围在计算机的一个 存储单元中分别予以表示,这种把数的范围和精度分别表示的 方法,数的小数点位置随比例因子的不同而在一定范围内自 由浮动。 9 × 10-28=0.9 × 10-27
N=Re.M M :尾数,是一个纯小数。
e :比例因子的指数,称为浮点数的指数,是一个整数。 R :比例因子的基数,对于二进计数值的机器是一个常数 ,一般规定R 为2,8或16。
计算机系统结构(课后习题答案)
第一章电脑系统结构的基本概念1.有一个电脑系统可按功能分成4级,每级的指令互不相同,每一级的指令都比其下一级的指令在效能上强M倍,即第i级的一条指令能完成第i-1级的M条指令的计算量。
现假设需第i级的N 条指令解释第i+1级的一条指令,而有一段第1级的程序需要运行Ks,问在第2、3和4级上一段等效程序各需要运行多长时间?答:第2级上等效程序需运行:(N/M)*Ks。
第3级上等效程序需运行:(N/M)*(N/M)*Ks。
第4级上等效程序需运行:(N/M)*(N/M)*(N/M)*Ks。
note: 由题意可知:第i级的一条指令能完成第i-1级的M条指令的计算量。
而现在第i 级有N条指令解释第i+1级的一条指令,那么,我们就可以用N/M来表示N/M 表示第i+1级需(N/M)条指令来完成第i级的计算量。
所以,当有一段第1级的程序需要运行Ks时,在第2级就需要(N/M)Ks,以此类推2.硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。
答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。
但是实现的性能价格比,实现的难易程序不同。
在DOS操作系统时代,汉字系统是一个重要问题,早期的汉字系统的字库和处理程序都固化在汉卡〔硬件〕上,而随着CPU、硬盘、内存技术的不断发展,UCDOS把汉字系统的所有组成部份做成一个软件。
3.试以实例说明电脑系统结构、电脑组成与电脑实现之间的相互关系与影响。
答:电脑系统结构、电脑组成、电脑实现互不相同,但又相互影响。
〔1〕电脑的系统结构相同,但可采用不同的组成。
如IBM370系列有115、125、135、158、168等由低档到高档的多种型号机器。
从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/主存,通道、设备控制器,外设4级构成。
其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。
人工智能[第二章知识表示方法]山东大学期末考试知识点复习
山东大学 期末考试知识点复习
蕴涵式是一个谓词公式,本身有真值,而产生式不是谓词公式,没有真值。 3.产生式系统 产生式系统一般由 3 个基本部分组成:规则库、综合数据库和推理机。它们 之间的关系如图 2.1 所示。
(1)规则库 规则库就是用于描述某领域内知识的产生式集合,是 图 2.1 产生式系 统的基本结构某领域知识(规则)的存储器,其中的规则是以产生式形式表示的。 规则库中包含着将问题从初始状态转换成目标状态(或解状态)的那些变换规则。 规则库是产生系统的核心,是进行问题求解的基础,其中知识的完整性和一致性、 知识表达的准确性和灵活性以及知识组织的合理性,都将对产生式系统的性能和 运行效率产生直接影响。 (2)综合数据库 综合数据库又称为事实库,用于存放输入的事实、外部数据库输入的事实以 及中间结果(事实)和最后结果的工作区。当规则库中的某条产生式的前提可与综 合数据库中的某些已知事实匹配时,该产生式就被激活,并把用它推出的结论放 人综合数据库中,作为后面推理的已知事实。显然,综合数据库的内容是在不断 变化的,是动态的。 (3)推理机 推理机是一个或一组程序,用来控制和协调规则库与综合数据库的运行,包 含了推理方式和控制策略。控制策略的作用就是确定选用什么规则或如何应用规 则。通常从选择规则到执行操作分 3 步完成:匹配、冲突解决和操作。 ①匹配。匹配就是将当前综合数据库中的事实与规则中的条件进行比较,如 果相匹配,则这一规则称为匹配规则。因为可能同时有几条规则的前提条件与事
计算机组成原理知识点
计算机组成原理知识点第一章:概论1、电子计算机:电子模拟计算机(连续变化的物理量)和电子数字计算机(离散的数字量)。
2、计算机的发展历史:根据电子元器件的不同,分为若干个代:电子管,晶体管,小、中规模的集成电路,大、超大规模的集成电路,甚大规模的集成电路,极大规模的集成电路。
3、冯诺伊曼存储程序的概念:5大组成部分,二进制,存储与程序控制4、计算机的组成框图:5、计算机的主要部件:输入设备,输出设备,存储器,运算器,控制器6、计算机总线结构:单总线和双总线7、计算机系统:硬件和软件8、计算机的主要性能指标:机器字长、数据通路宽度、主存容量、运算速度第二章:数据的机器层次表示1、无符号数和有符号数:2、原码表示法:[X]=X/2n-X;补码表示法:[X]=X/M+X;反码表示法:[X]=X/(2-2-n)+X3、模和同余的概念:4、三种码制之间的相互转换:5、机器数的定点表示法:定点整数和定点小数:6、浮点表示法:N=M×r E;浮点数的表示范围,规格化浮点数。
7、ASCII字符编码,汉字国标码,汉字区位码,汉字机内码8、十进制数的编码:8421码,2421码,余3码9、数据校验码:奇偶校验码,海明校验码,第三章:指令系统1、指令的基本格式:操作码字段+地址码字段(一、二、三、四和零)地址2、指令操作码的定长编码和变长编码:3、编址方式:编址单位:字、字节、位;指令中地址码的位数与主存容量和最小寻址单位有关。
4、指令寻址和数据寻址:分为:顺序寻址和跳跃寻址(直接、相对和间接)。
5、数据寻址的方式:立即寻址(立即数)、寄存器寻址(寄存器地址)、直接寻址(主存中有效地址)、间接寻址(又分一级和多级,需要多次访问主存)、寄存器间接寻址(主存地址放在寄存器中)、变址寻址(变址寄存器与指令给出的形式地址A相加)、基址寻址(基址寄存器的内容与指令给出的位移量D相加)、相对寻址(程序计数器的基准地址与指令给出的位移量D相加)、页面寻址(分为基页寻址:0与给出地址拼接和当前页寻址,PC的高位地址与给出的地址拼接)、自增型寄存器简址和自减型寄存器简址(寄存器内容自动增量修改,指向下一个地址和自动减量修改)、扩展变址方式(变址和间址相结合:一种先进行变址运算,其结果作为间接寻址;先进行间接寻址,然后再与变址值进行运算)、基址变址寻址(基址寄存器中的值、变址寄存器中的值和位移量三者相加得到)6、堆栈分为:硬堆栈和软堆栈7、指令类型:数据传送类指令、运算类指令:算术运算、逻辑运算、移位;程序控制类指令(转移指令、子程序调用指令、返回指令)、输入输出类指令(独立编址、统一编址)第四章:数值的机器运算1、加法器:全加器、进位的产生和传递。
《计算机组成原理》名词解释
摩尔定律:对集成电路上可容纳的晶体管数目、性能和价格等发展趋势的预测,其主要内容是:成集电路上可容纳的晶体管数量每18个月翻一番,性能将提高一倍,而其价格将降低一半。
主存: 计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取。
控制器:计算机的指挥中心,它使计算机各部件自动协调地工作。
时钟周期:时钟周期是时钟频率的倒数,也称为节拍周期或T周期,是处理操作最基本的时间单位。
多核处理器:多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。
字长:运算器一次运算处理的二进制位数。
存储容量: 存储器中可存二进制信息的总量。
CPI:指执行每条指令所需要的平均时钟周期数。
MIPS:用每秒钟执行完成的指令数量作为衡量计算机性能的一个指标,该指标以每秒钟完成的百万指令数作为单位。
CPU时间:计算某个任务时CPU实际消耗的时间,也即CPU真正花费在某程序上的时间。
计算机系统的层次结构:计算机系统的层次结构由多级构成,一般分成5级,由低到高分别是:微程序设计级,机器语言级,操作系统级,汇编语言级,高级语言级。
基准测试程序:把应用程序中使用频度最高的那那些核心程序作为评价计算机性能的标准程序。
软/硬件功能的等价性:从逻辑功能的角度来看,硬件和软件在完成某项功能上是相同的,称为软/硬件功能是等价的,如浮点运算既可以由软件实现,也可以由专门的硬件实现。
固件:是一种软件的固化,其目的是为了加快软件的执行速度。
可靠性:可靠性是指系统或产品在规定的条件和规定的时间内,完成规定功能的能力。
产品可靠性定义的要素是三个“规定”:“规定条件”、“规定时间”和“规定功能”。
MTTF:平均无故障时间,指系统自使用以来到第一次出故障的时间间隔的期望值。
MTTR:系统的平均修复时间。
MTBF:平均故障间隔时间,指相邻两次故障之间的平均工作时间。
可用性:指系统在任意时刻可使用的概率,可根据MTTF、MTTR和MTBF等指标计算处系统的可用性。
第二章 数据的机器层次表示(1)
3.由原码转换为补码
当X为正数时,[X]补=[X]原=X 当X为负数时,由[X]原转换为[X]补的方法: ①[X]原除掉符号位外的各位取反加“1”。 ②自低位向高位,尾数的第一个“1”及其右 部的“0”保持不变,左部的各位取反,符号位保 持不变。
2.1.5 反码表示法
反码表示法与补码表示法有许多类似之处, 对于正数,数值部分与真值形式相同;对于负 数,将真值的数值部分按位取反。 若真值为纯小数,它的反码形式为 Xs.X1X2…Xn,其中Xs表示符号位。 若真值为纯整数,它的反码形式为 XsX1X2…Xn,其中Xs表示符号位。 在反码表示中,真值0也有两种不同的表 示形式: [+0]反=00000 [-0]反=11111
2.1.2 无符号数和带符号数(续)
常见的机器数有原码、反码、补码等3种 不同的表示形式。 带符号数的最高位被用来表示符号位,而 不再表示数值位。
2.1.3 原码表示法
原码表示法是一种最简单的机器数表示法,用最 高位表示符号位,符号位为“0”表示该数为正,符号 位为“1”表示该数为负,数值部分与真值相同。 设二进制纯小数的原码形式为Xs.X1X2…Xn,字长 n+1位,其中Xs表示符号位。 设二进制纯整数的原码形式为XsX1X2…Xn,其中Xs 表示符号位。 在原码表示中,真值0有两种不同的表示形式: [+0]原=00000 [-0]原=10000
1位 es k位 e 阶码部分E 1位 ms n位 m 尾数部分M
图2-5 浮点数的一般格式
浮点数的底是隐含的,在整个机器数中不 出现。阶码的符号位为es,阶码的大小反映了 在数N中小数点的实际位置;尾数的符号位为ms, 它是整个浮点数的符号位,表示了该浮点数的 正负。
计算机系统基础
计算机系统基础本书主要介绍与计算机系统相关的核心概念,解释这些概念如何相互关联并最终影响程序执行的结果和性能。
本书共分8章,主要内容包括数据的表示和运算、程序的转换及机器级表示、程序的链接、程序的执行、存储器层次结构、虚拟存储器、异常控制流和I/O操作的实现等。
本书内容详尽,反映现实,概念清楚,通俗易懂,实例丰富,并提供大量典型习题供读者练习。
本书可以作为计算机专业本科或大专院校学生计算机系统方面的基础性教材,也可以作为有关专业研究生或计算机技术人员的参考书目录信息丛书序言序言前言第一部分系统概述和可执行目标文件的生成第1章计算机系统概述21.1 计算机的发展历程21.1.1 电子计算机的诞生21.1.2 第一代计算机21.1.3 第二代计算机31.1.4 第三代计算机31.1.5 第四代计算机41.2 计算机系统的基本功能和基本组成51.2.1 计算机系统的基本功能51.2.2 计算机硬件61.2.3 计算机软件101.3 程序开发与执行过程111.3.1 从源程序到可执行程序111.3.2 可执行文件的启动和执行12 1.3.3 程序中每条指令的执行131.4 计算机系统的层次结构151.4.1 计算机系统抽象层的转换15 1.4.2 计算机系统的不同用户171.5 计算机系统性能评价191.5.1 计算机性能的定义191.5.2 计算机性能的测试191.5.3 用指令执行速度进行性能评估21 1.5.4 用基准程序进行性能评估23 1.6 本书的主要内容和组织结构24 1.7 小结26习题27第2章数据的机器级表示与处理29 2.1 数制和编码292.1.1 信息的二进制编码292.1.2 进位计数制312.1.3 定点与浮点表示352.1.4 定点数的编码表示352.2 整数的表示402.2.1 无符号整数和带符号整数的表示40 2.2.2 C语言中的整数及其相互转换41 2.3 浮点数的表示432.3.1 浮点数的表示范围432.3.2 浮点数的规格化442.3.3 IEEE 754浮点数标准442.3.4 C语言中的浮点数类型482.4 十进制数的表示502.4.1 用ASCII码字符表示502.4.2 用BCD码表示502.5 非数值数据的编码表示512.5.1 逻辑值512.5.2 西文字符512.5.3 汉字字符522.6 数据的宽度和存储542.6.1 数据的宽度和单位542.6.2 数据的存储和排列顺序552.7 数据的基本运算582.7.1 按位运算和逻辑运算592.7.2 左移运算和右移运算592.7.3 位扩展运算和位截断运算61 2.7.4 整数加减运算612.7.5 整数乘除运算652.7.6 常量的乘除运算672.7.7 浮点数运算692.8 小结73习题74第3章程序的转换及机器级表示82 3.1 程序转换概述823.1.1 机器指令及汇编指令833.1.2 指令集体系结构843.1.3 生成机器代码的过程843.2 IA-32指令系统概述883.2.1 数据类型及其格式893.2.2 寄存器组织和寻址方式90 3.3 IA-32常用指令类型及其操作95 3.3.1 传送指令953.3.2 定点算术运算指令983.3.3 按位运算指令1013.3.4 控制转移指令1023.3.5 x87浮点处理指令1073.3.6 MMX/SSE指令集1083.4 C语言程序的机器级表示110 3.4.1 过程调用的机器级表示110 3.4.2 选择语句的机器级表示121 3.4.3 循环结构的机器级表示125 3.5 复杂数据类型的分配和访问128 3.5.1 数组的分配和访问1283.5.2 结构体数据的分配和访问132 3.5.3 联合体数据的分配和访问135 3.5.4 数据的对齐1373.6 越界访问和缓冲区溢出138 3.6.1 缓冲区溢出攻击1393.6.2 缓冲区溢出攻击的防范141 3.7 兼容IA-32的64位系统143 3.7.1 x86-64的发展简史1433.7.2 x86-64的基本特点1443.7.3 x86-64的基本指令和对齐144 3.8 小结150习题151第4章程序的链接1654.1 编译、汇编和静态链接165 4.1.1 编译和汇编1654.1.2 可执行目标文件的生成166 4.2 目标文件格式1684.2.1 ELF目标文件格式1684.2.2 可重定位目标文件格式170 4.2.3 可执行目标文件格式171 4.3 符号表和符号解析1734.3.1 符号和符号表1734.3.2 符号解析1764.3.3 与静态库的链接1794.4 重定位1814.4.1 重定位信息1824.4.2 重定位过程1824.5 可执行文件的加载1864.6 动态链接1884.6.1 动态链接的特性1884.6.2 程序加载时的动态链接188 4.6.3 程序运行时的动态链接190 4.7 小结191习题192第二部分可执行目标文件的运行第5章程序的执行2005.1 程序执行概述2005.1.1 程序及指令的执行过程200 5.1.2 CPU的基本功能和组成202 5.1.3 打断程序正常执行的事件204 5.2 数据通路基本结构和工作原理205 5.2.1 数据通路基本结构2055.2.2 数据通路的时序控制2065.2.3 数据通路基本工作原理208 5.3 流水线方式下指令的执行213 5.3.1 指令流水线的基本原理213 5.3.2 适合流水线的指令集特征217 5.3.3 CISC和RISC风格指令集217 5.3.4 指令流水线的实现2205.3.5 高级流水线实现技术2245.4 小结225习题226第6章层次结构存储系统2296.1 存储器概述2296.1.1 存储器的分类2296.1.2 主存储器的组成和基本操作231 6.1.3 存储器的主要性能指标231 6.1.4 各类存储元件的特点2326.1.5 存储器的层次结构2336.2 主存与CPU的连接及其读写操作233 6.2.1 主存模块的连接和读写操作2336.2.2 "装入"指令和"存储"指令操作过程237 6.3 磁盘存储器2386.3.1 磁盘存储器的结构2386.3.2 磁盘存储器的性能指标2406.3.3 磁盘存储器的连接2426.3.4 固态硬盘2436.4 高速缓冲存储器2446.4.1 程序访问的局部性2446.4.2 cache的基本工作原理2466.4.3 cache行和主存块的映射2486.4.4 cache中主存块的替换算法2536.4.5 cache一致性问题2546.4.6 影响cache性能的因素2556.4.7 IA-32的cache结构举例2576.4.8 cache和程序性能2586.5 虚拟存储器2616.5.1 虚拟存储器的基本概念2626.5.2 虚拟地址空间2636.5.3 虚拟存储器的实现2646.5.4 存储保护271*6.6 IA-32/Linux中的地址转换272 6.6.1 逻辑地址到线性地址的转换272 6.6.2 线性地址到物理地址的转换277 6.7 小结280习题280第7章异常控制流2877.1 进程与进程的上下文切换287 7.1.1 程序和进程的概念2877.1.2 进程的逻辑控制流2887.1.3 进程的上下文切换2907.1.4 进程的私有地址空间2917.1.5 程序的加载和运行2937.2 异常和中断2957.2.1 基本概念2957.2.2 异常的分类2967.2.3 中断的分类3007.2.4 异常和中断的响应过程301 7.2.5 IA-32的中断向量表3037.2.6 IA-32的中断描述符表3037.2.7 IA-32中异常和中断的处理305 7.2.8 Linux对异常和中断的处理306 7.2.9 IA-32/Linux的系统调用3097.3 小结312习题312第8章I/O操作的实现3158.1 I/O子系统概述3158.2 用户空间I/O软件3188.2.1 用户程序中的I/O函数319 8.2.2 文件的基本概念3208.2.3 系统级I/O函数3228.2.4 C标准I/O库函数324 8.2.5 用户程序中的I/O请求328 8.3 I/O硬件与软件的接口330 8.3.1 I/O设备3308.3.2 设备控制器3318.3.3 I/O端口及其编址3338.3.4 I/O控制方式3348.4 内核空间I/O软件3418.4.1 与设备无关的I/O软件341 8.4.2 设备驱动程序3438.4.3 中断服务程序3448.5 小结346习题347附录A 数字逻辑电路基础352附录B gcc的常用命令行选项366 附录C GDB的常用命令368。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第⼆二章 数据的机器级表⽰与处理数制与编码“转换”的概念在数据表示中的反映具体实现抽象概括感觉媒体信息树、链表等结构化数据描述int, float, array, struct等类型指令指定寄存器或内存中数据ALU中运算或总线上传输的数据逻辑门位信息问题(应用)算法程序(语言)指令集体系结构(ISA)微体系结构电路器件(晶体管)各类数据之间的转换关系对连续信息采样,以使信息离散化对离散样本用0和1进行编码定点运算指令浮点运算指令逻辑、位操作或字符处理指令信息的二进制编码•机器级数据分两大类–数值数据:无符号整数、带符号整数、浮点数(实数)–非数值数据:逻辑数(包括位串)、西文字符和汉字•计算机内部所有信息都用二进制(即:0和1)进行编码•用二进制编码的原因–制造二个稳定态的物理器件容易(电位高/低,脉冲有/无,正/负极)–二进制编码、计数、运算规则简单–正好与逻辑命题真/假对应,便于逻辑运算–可方便地用逻辑电路实现算术运算•真值和机器数( 非常重要的概念!)–机器数:用0和1编码的计算机内部的0/1序列–真值:真正的值,即:现实中带正负号的数例:unsigned short型变量x的真值是127,其机器数是多少?127=27-1,其机器数为0000 0000 0111 1111数值数据的表示•数值数据表示的三要素–进位计数制–定、浮点表示–如何用二进制编码即:要确定一个数值数据的值必须先确定这三个要素。
例如,20137564的值是多少?答案是:不知道!•进位计数制–十进制、二进制、十六进制、八进制数及其相互转换•定/浮点表示(解决小数点问题)–定点整数、定点小数–浮点数(可用一个定点小数和一个定点整数来表示)•定点数的编码(解决正负号问题)–原码、补码、反码、移码(反码很少用)十进制(Decimal)计数制•十进制数,每个数位可用十个不同符号0,1,2,…,9来表示,每个符号处在十进制数中不同位置时,所代表的数值不一样。
例如,2585.62代表的值是:2585.62 = 2×103+5×102+8×101+5×100+6×10-1+2×10-2•一般地,任意一个十进制数D=d n d n-1... d1d0. d-1d-2... d-m(m,n为正整数)•其值可表示为如下形式:V(D) = d n×10n+ d n-1×10n-1+ ...+ d1×101+ d0×100+ d-1×10-1+ d-2 ×10-2+...+d-m×10-m其中,d i(i=n,n–1, ... ,1,0, –1, –2, ... –m)可以是0,1,2,3,4,5,6,7,8,9这10个数字符号中的任何一个;“10”称为基数(base),它代表每个数位上可以使用的不同数字符号个数。
10i 称为第i位上的权。
运算时,“逢十进一”。
二进制(Binary)计数制•二进制数,每个数位可用两个不同符号0和1来表示,每个符号处在不同位置时,所代表的数值不一样。
例如,100101.01代表的值是:(100101.01)2= 1×25+ 0×24+ 0×23+ 1×22 + 0×21+ 1×20+ 0×2-1+ 1×2-2= 37.25•一般地,任意一个二进制数B=b n b n-1... b1b0. b-1b-2... b-m(m,n为正整数)•其值可表示为如下形式:V(B) = b n×2n+ b n-1×2n-1+ ...+ b1×21+ b0×20+ b-1×2-1+b-2 ×2-2+...+b-m×2-m其中,b i(i=n,n–1, ... ,1,0, –1, –2, ... –m)可以是0或1“2”称为基数(base),它代表每个数位上可以使用的不同数字符号个数。
2i 称为第i位上的权。
运算时,“逢二进一”。
后缀“B”表示二进制数,如01011010BR 进位计数制•在R进制数字系统中,应采用R个基本符号(0,1,2,...,R-1)表示各位上的数字,采用“逢R进一”的运算规则,对于每一个数位i,该位上的权为R i 。
R被称为该数字系统的基。
二进制:R=2,基本符号为0和1八进制:R=8,基本符号为0,1,2,3,4,5,6,7十六进制:R=16,基本符号为0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 十进制:R=10,基本符号为0,1,2,3,4,5,6,7,8,989A B C D E F89101112131415101112131415161710001001101010111100110111101111十六进制十进制八进制二进制01234567012345670123456700000001001000110100010101100111十六进制十进制八进制二进制23=8,对应3位二进制24=16,对应4位二进制八进制和十六进制日常生活中用十进制表示数值,计算机中用二进制表示所有信息!那为什么还要引入八进制/ 十六进制呢?八进制/ 十六进制是二进制的简便表示。
便于阅读和书写!它们之间对应简单,转换容易。
在机器内部用二进制表示,在屏幕或其他设备上表示时,转换为八进制/十六进制数,可缩短长度。
八进制:Octal (用后缀“O”表示)十六进制:Hexadecimal (用后缀“H”,或前缀“0x”表示)例:1010 1100 0100 0101 0001 0000 1000 1101B可写成0x ac45108d 0x AC45108D 或ac45108d H AC45108D H 或8进制:25421210215O010 101 100 010 001 010 001 000 010 001 101现代计算机系统多用十六进制表示机器数十进制数与R进制数之间的转换(1) R进制数=> 十进制数按“权”展开例1: (10101.01)2=1x24+1x 22+1x20+1x2-2=(21.25)10例2: (307.6)8=3x82+7x80+6x8-1=(199.75)10例1: (3A. 1)16=3x161+10x160+1x16-1=(58.0625)10 (2)十进制数=> 二进制数,再将二进制转换为16或8进制整数部分和小数部分分别转换①整数----“除基取余,上右下左”②小数----“乘基取整,上左下右”理论上的做法实际上,记住1、2、4、8、16、32、64、128、256、512、1024、2048、4096、8192、16384、32768、65536,…..就可简单进行整数部分的转换记住0.5、0.25、0.125、0.0625、…… 就可简单进行小数部分的转换十进制数与二进制数之间的转换例1: (835.6875)10=(11 0100 0011.1011)2整数----“除基取余,上右下左”小数----“乘基取整,上左下右”简便方法:835=512+256+64+2+1,故结果为11 0100 00110.6875=0.5+0.125+0.0625,故结果为0.1011结果为11 0100 0011.1011这里有一个问题:小数点在计算机中如何表示?例2:(835.63)10=(1503.50243…)8可能小数部分总得不到0,此时得到一个近似值说明:现实中的精确值可能在机器内部无法用0和1精确表示!十进制数与8进制数之间的转换整数----“除基取余,上右下左”小数----“乘基取整,上左下右”定点数和浮点数•计算机中只有0和1,数值数据中的小数点怎么表示呢?–计算机中只能通过约定小数点的位置来表示•小数点位置约定在固定位置的数称为定点数•小数点位置约定为可浮动的数称为浮点数•定点小数用来表示浮点数的尾数部分•定点整数用来表示整数,分带符号整数和无符号整数•任何实数:X=(-1)s ×M×R E 其中,S取值为0或1,用来决定数X的符号;M是一个二进制定点小数,称为数X的尾数(mantissa);E是一个二进制定点整数,称为数X 的阶或指数(exponent);R是基数(radix、base),可以为2、4和16等。
计算机中只要表示S、M和E三个信息,就能确定X的值,这称为浮点数S E M结论:要解决数值数据的表示问题,只要解决定点数的编码问题!定点数的编码表示数值数据的表示•数值数据表示的三要素–进位计数制–定、浮点表示–如何用二进制编码•进位计数制–十进制、二进制、十六进制、八进制数及其相互转换•定/浮点表示(解决小数点问题)–定点整数、定点小数–浮点数(可用一个定点小数和一个定点整数来表示)•定点数的编码(解决正负号问题)–原码、补码、移码、反码(很少用)原码(Sign and Magnitude)表示Binary Decimal 0123456700000001001000110100010101100111 容易理解, 但是: 0 的表示不唯一,故不利于程序员编程 加、减运算方式不统一 需额外对符号位进行处理,故不利于硬件设计 特别当a<b时,实现a-b比较困难从50年代开始,整数都采用补码来表示但浮点数的尾数用原码定点小数表示Binary Decimal -0-1-2-3-4-5-6-710001001101010111100110111101111“正”号用0表示“负”号用1表示数值部分不变!补码-模运算(modular运算)时钟是一种模12系统假定钟表时针指向10点,要将它拨向6点,则有两种拨法:①倒拨4格:10-4 = 6②顺拨8格:10+8 = 18 ≡ 6 (mod 12)模12系统中:10-4 ≡10+8 (mod 12) -4 ≡8 (mod 12) 则,称8是-4对模12的补码(即:-4的模12补码等于8)。
同样有-3 ≡9 (mod 12)-5 ≡ 7 (mod 12)等结论2:对于某一确定的模,某数减去小于模的另一数,总可以用该数加上另一数负数的补码来代替。
补码(modular运算):+ 和–的统一重要概念:在一个模运算系统中,一个数与它除以“模”后的余数等价。
结论1:一个负数的补码等于模减该负数的绝对值。
现实世界中的模运算系统补码(2’s comlement)的表示现实世界的模运算系统举例例1:“钟表”模运算系统假定时针只能顺拨,从10点倒拨4格后是几点?10-4=10+(12-4)=10+8=6(mod 12)例2:“4位十进制数”模运算系统假定算盘只有四档,且只能做加法,则在算盘上计算9828-1928等于多少?9828-1928=9828+(104-1928)=9828+8072=17900=7900(mod 104)取模即只留余数,高位“1”被丢弃!相当于只有低4位留在算盘上。