计算机组成原理_计算机的运算方法_61 无符号数和有符号数_
- 格式:pdf
- 大小:1.53 MB
- 文档页数:31
计算机组成原理第一章计算机系统概论1.概念:存储单元,存储字长,存储容量P17,机器字长P17,指令字长(P19—1.7)2.什么是指令?3.P8,冯诺依曼计算机特点,计算机结构框图,图1。
7.(P19—1。
5)第二章计算机发展及应用1。
什么是摩尔定律?第3章系统总线1.总线的概念P412.总线的分类,系统总线分类?通信总线分类?3.了解总线结构,尤其是双总线和三总线(P53)4.总线控制(重点)P57(1)总线判优控制:集中式,分布式,特点是什么呢?集中式控制:●链式查询,计数器定时查询,独立请求方式;●分别采用怎样的控制方式?(2)总线通信控制(P59)●什么是总线周期?可以分为哪些阶段?●申请分配阶段,寻址阶段,传数阶段,结束阶段各自有哪些功能?●总线通信控制的主要功能:解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调,如何配合的问题。
●四种通信方式:同步通信,异步通信,半同步通信和分离式通信。
●同步通信特点?●异步通信特点?根据应答方式的不同进行分类:不互锁方式,半互锁方式,全互锁方式.●例题:3。
2, 例题3.35课后题3.2, 3.4 3。
5 3。
6 3。
7 3。
13 3.14 3.16第4章存储器1了解主存的基本组成P722。
了解主存存储单元地址分配, 存储字长:一个存储单元存放一串二进制代码的位数。
P73 3。
概念:存储容量,存储速度,存取时间,存取周期, 存储器带宽。
4. 动态RAM的三种刷新方式:P86●集中刷新●分散刷新●异步刷新5存储器容量的扩展方式:位扩展,字扩展,位字扩展P916存储器与CPU连接(设计题)P93 例题4。
17存储器校验:汉明码校验方法P100 例题4。
4 例题4.58 Cache—主存地址映射方式: 直接映射,全相联映射、组相连映射,各自特点,例题4.8,例题4.99替换策略: 先进先出算法,近期最少用算法,随即算法10. 辅助存储器章节的概念:磁表面存储器主要技术指标:记录密度,存储容量,平均寻址时间,数据传输率,误码率P12511 循环冗余校验码CRC编码P145 例题4。
《计算机组成原理》唐朔飞第⼆版_笔记第1章概论1,计算机系统的软硬件概念1)硬件:计算机的实体部分,它由看得见摸得着的各种电⼦元器件,各类光、电、机设备的实物组成,如主机、外部设备等。
2)软件:由⼈们事先编制的具有各类特殊功能的程序组成,分为系统软件和应⽤软件。
①系统软件⼜称为系统程序,主要⽤来管理整个计算机系统,监视服务,使系统资源得到合理的调度,⾼效运⾏。
它包括:标准程序库、语⾔处理程序(编译程序)、操作系统、、服务程序(如诊断、调试、连接程序)、数据库管理系统、⽹络软件等。
②应⽤软件⼜称应⽤程序,它是⽤户根据任务需要所编制的各种程序,如科学计算程序、数据处理程序、过程控制程序、实物管理程序。
2、计算机系统的层次结构:1)硬联逻辑级:第零级是硬联逻辑级,这是计算机的内核,由门,触发器等逻辑电路组成。
2)微程序级:第⼀级是微程序级。
这级的机器语⾔是微指令集,程序员⽤微指令编写的微程序,⼀般是直接由硬件执⾏的。
3)传统机器级:第⼆级是传统机器级,这级的机器语⾔是该机的指令集,程序员⽤机器指令编写的程序可以由微程序进⾏解释。
操作4)系统级:第三级是操作系统级,从操作系统的基本功能来看,⼀⽅⾯它要直接管理传统机器中的软硬件资源,另⼀⽅⾯它⼜是传统机器的延伸。
5)汇编语⾔级:第四级是汇编语⾔级,这级的机器语⾔是汇编语⾔,完成汇编语⾔翻译的程序叫做汇编程序。
6)⾼级语⾔级:第五级是⾼级语⾔级,这级的机器语⾔就是各种⾼级语⾔,通常⽤编译程序来完成⾼级语⾔翻译的⼯作。
7)应⽤语⾔级:第六级是应⽤语⾔级,这⼀级是为了使计算机满⾜某种⽤途⽽专门设计的,因此这⼀级语⾔就是各种⾯向问题的应⽤语⾔。
把计算机系统按功能分为多级层次结构,就是有利于正确理解计算机系统的⼯作过程,明确软件,硬件在计算机系统中的地位和作⽤。
3、计算机组成和计算机体系结构1)计算机体系结构:是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性。
计算机组成原理教案(数字媒体专业)第一章计算机系统概论内容简介:计算机系统的层次结构,冯·诺伊曼计算机的硬件结构和主要功能,计算机的工作步骤以及计算机的主要技术指标。
教学目标:了解计算机系统的层次结构;了解冯·诺伊曼计算机的特点及硬件构成;理解计算机的工作步骤,了解计算机的主要技术指标的含义及其对计算机的影响。
教学重点和难点:虚拟机的概念;计算机的硬件构成;计算机的工作步骤。
教学媒体和教学方法:使用幻灯片在多媒体教室进行教学;教学中采用讲授与讨论相结合的方法。
教学过程:一、计算机系统简介1.计算机的软硬件概念(1)硬件(2)软件(3)软硬件的关系2.计算机系统的层次结构(1)虚拟机的概念(2)各层虚拟机及与真实机器的层次关系3.计算机的基本组成(1)冯·诺伊曼计算机的特点(2)计算机硬件结构,总线的构成。
讨论、分析直连结构的问题,提出总线思想,并简单介绍总线结构。
(3)计算机的工作步骤提出计算机解决问题的基本步骤计算机基本构成部件的介绍(运算器、存储器、控制器)以计算ax2+bx+c为例分析计算机工作的过程4.计算机的主要技术指标(1)机器字长计算机同时处理的二进制位机器字长与数据总线宽度、存储字长的关系(2)存储容量存储容量的单位主存容量辅存容量(3)运算速度几种计算运算速度的方法并对它们进行比较运算速度的表示单位第二章计算机的发展及应用内容简介:计算机的发展史;计算机的应用领域;计算机的发展展望。
教学目标:了解计算机的产生和发展以及发展思路;了解计算机的应用领域;了解计算机的发展趋势。
教学重点和难点:计算机的应用领域。
教学媒体和教学方法:使用幻灯片在多媒体教室进行教学;教学中采用讲授与讨论相结合的方法。
教学过程:一、计算机的发展史1.计算机的产生和发展现代计算机的研究工作第一台电子计算机的产生计算机的发展阶段计算机的发展规律计算机的发展趋势2.微型计算机的出现和发展微型计算机的发展阶段微型计算机的发展带来的工作、学习、生活方式的变化3.软件技术的兴起和发展软硬件的融合,简介嵌入式发展方向二、计算机的应用1.科学计算和数据处理通过ENIAC进行计算的一个案例,直观体会计算机的计算能力2.工业控制和实时控制3.网络技术应用4.虚拟现实介绍虚拟现实技术的一些应用5.办公自动化和管理信息系统6.多媒体技术7.人工智能三、计算机发展的展望第三章系统总线内容简介:总线的概念;总线的分类;总线的特性和性能指标;总线结构;总线控制。
数据在计算机内部的表示与存储作者:刘英皓2013/4/17 今天在做单片机实验的时候,突然对一个问题产生了浓厚的兴趣:数据在计算机内部是怎么表示的?晚上查阅了大量的资料,终于把其中的玄机弄明白了。
资料来源甚广,在此就不一一声明了,感谢!!数据是什么?它是用来表示信息的。
是信息的载体。
比如数值、文字、语言、图形、影像等都是不同形式的数据。
而在计算机中,无论是数值型数据还是非数值型数据,它们都被表示成了0和1。
既然都变成了0和1,那计算机怎么区别这些不同的信息呢?别担心,它们各在有各自的编码规则。
非数值型数据的编码主要有ASCII 码和汉字编码。
这里不深究。
数值型数据:它主要有两种形式,有符号数和无符号数1、有符号数和无符号数它们的定义估计你都听腻了,我就不重复了,我只强调两点:a.计算机不区分有符号数和无符号数。
b.只有有符号数才有原码、反码和补码。
2、原码、反码和补码还是两点:a.正数的原码、反码和补码都一样。
b.负数的反码为原码除符号位的按位取反,补码为反码加1.注意两点:b1.反码1111 1111的补码是0000 0000.b2.补码1000 0000没有对应的原码和反码,它表示-128,这是规定3、计算机存储单元中的数据这个要分两种情况:a.无符号数:直接以对应的二进制表示。
b.有符号数:补码形式表示,无论是计算还是存取。
比如在内存单元中有一个数据为FEH,那么它到底是表示什么?254还是-2?没关系,你说是什么就是什么。
因为计算机是不会区分这个数是有符号数还是无符号数的。
在你写程序的时候,指定这个量是有符号的,FEH就是一个补码,可以计算得它的真值就是-2,如果指定它是无符号的,那么它就是254。
不同的形式在程序中便会有不同的体现。
要注意的是在计算中不要超出了数值的范围,以免发生错误。
如有疑问请联系:yinghao1991@。
计算机组成原理—数字刘宏伟哈尔滨工业大学计算机科学与技术学院主要内容•1)计算机中数的表示•2)计算机的运算方法•3)运算器的设计教材:计算机组成原理(第2版)•普通高等教育“十二五”规划教材•面向21世纪课程教材•全国普通高等学校优秀教材二等奖•普通高等教育精品教材参考教材•David A.Patterson. John L.Hennessy. Computer Organization & Design: A Hardware/Software Interface •David Harris, Sarah Harris. Digital Design and Computer Architecture. Morgan Kaufmann, 2007课程内容的组织 CPU内部互连ALU CU中央处理器第3篇 CPU 计算机I/O系统总线存储器 CPU第6章计算机的运算方法6.1 无符号数和有符号数6.2 数的定点表示和浮点表示6.3 定点运算6.4 浮点四则运算6.5 算术逻辑单元6.1 无符号数和有符号数•一、无符号数•二、有符号数–1、机器数与真值–2、原码表示法–3、补码表示法–4、反码表示法–5、移码表示法✓定义✓特点✓举例机器数与真值的转换不同机器数形式之间的转化✓机器数表示的范围与其字长有关6.1 无符号数和有符号数一、无符号数寄存器的位数反映无符号数的表示范围8 位 0 ~ 25516 位 0 ~ 65535二、有符号数 6.11. 机器数与真值真值机器数带符号的数符号数字化的数+ 0.1011 01011小数点的位置– 0.1011 11011小数点的位置+ 1100 01100小数点的位置–1100 111002. 原码表示法 带符号的绝对值表示 (1) 定义整数 x 为真值 n 为整数的位数 如 x = +1110 [x ]原 = 0 , 1110 [x ]原 = 24 + 1110 = 1 , 1110 x = 1110 [x ]原 = 0,x 2n> x ≥ 0 2n x 0 ≥ x > 2n 用 逗号 将符号位和数值部分隔开6.1小数x 为真值 如 x = + 0.1101[x ]原 = 0 . 1101x = 0.1101 [x ]原 = 1 ( 0.1101) = 1 . 1101 x 1 > x ≥ 0 [x ]原 =1 – x 0 ≥ x > 1x = 0.1000000[x ]原 = 1 ( 0.1000000) = 1 . 1000000x = + 0.1000000 [x ]原 = 0 . 1000000用 小数点 将符号 位和数值部分隔开用 小数点 将符号 位和数值部分隔开6.1(2) 举例例 6.1 已知 [x ]原 = 1.0011 求 x 解: 例 6.2 已知 [x ]原 = 1,1100 求 x 解: x = 1 [x ]原 = 11.0011 = 0.0011x = 24 [x ]原 = 10000 1,1100 = 1100– – 0.00111100 由定义得由定义得6.1例 6.4 求 x = 0 的原码解: 设 x = +0.0000例 6.3 已知 [x ]原 = 0.1101 求 x解: ∴ x = + 0.1101同理,对于整数 [+ 0]原 = 0,0000[+0.0000]原 = 0.0000x =0.0000[0.0000]原 = 1.0000[ 0]原 = 1,0000∴ [+0] ≠ [0]根据 定义 ∵ [x ]原 = 0.11016.1原码的特点: 简单、直观但是用原码作加法时,会出现如下问题: 能否 只作加法 ?找到一个与负数等价的正数 来代替这个负数 就可使 减 加加法 正 正 加 加法 正 负 加法 负 正加法 负 负减 减 加要求 数1 数2 实际操作 结果符号正 可正可负 可正可负 负6.1- 123 (1) 补的概念 • 时钟逆时针 - 3 63顺时针+ 9 6 153. 补码表示法可见 3 可用 + 9 代替 记作 3 ≡ + 9 (mod 12) 同理 4 ≡ + 8 (mod 12)5 ≡ + 7 (mod 12)时钟以12为模减法 加法 6.1称 + 9 是 3 以 12 为模的 补数12396结论一个负数加上“模”即得该负数的补数 一个正数和一个负数互为补数时它们绝对值之和即为模数•计数器(模 16)– 1011 1011 0000 + 0101 1011 100001011 0000 ?可见 1011 可用 + 0101 代替同理 011 自然去掉6.1记作 1011 (mod 24)≡ + 0101(mod 23)≡ + 101+01014)≡ 1011 (mod2(2) 正数的补数即为其本身+ 10000 + 10000两个互为补数的数 + 0101 + 10101 ≡ 分别加上模 结果仍互为补数∴ + 0101 ≡ + 0101 + 0101 24+1 – 1011 1,0101 用 逗号 将符号位丢掉 10110 , 1 , ? ? 1011(mod24) 可见 ? + 01010101 01011011 0101 + (mod24+1)6.1100000 =(3) 补码定义整数x 为真值n 为整数的位数[x ]补 =0,x 2n> x ≥ 0 2n +1+ x 0 > x ≥ 2n(mod 2n +1)如 x = +1010 [x ]补 = 27+1+( 1011000 )= [x ]补 = 0,1010x = 1011000 1,0101000用 逗号 将符号位 和数值部分隔开6.11011000100000000小数x 为真值 x = + 0.1110 [x ]补 =x 1 > x ≥ 02 + x 0 > x≥ 1(mod 2)如[x ]补 = 0.1110x = 0.11000001.0100000 [x ]补 = 2 + ( 0.1100000 )= 用 小数点 将符号位6.10.1100000 10.0000000(4) 求补码的快捷方式= 100000 = 1,0110 10101 + 1= 1,0110又[x ]原 = 1,1010则[x ]补 = 24+11010 = 11111 + 1 1010= 11111 1010 1010 当真值为 负 时,补码 可用 原码除符号位外 每位取反,末位加 1 求得6.1+ 1设 x = 1010 时(5) 举例解:x = + 0.0001解:由定义得x = [x]补– 2= 1.0001 – 10.0000 [x]原= 1.1111例 6.6 已知 [x]补= 1.0001求x [x]补[x ]原?由定义得6.1例 6.5 已知 [x]补= 0.0001求x∴x = 0.1111–= 0.1111–2015/6/9 21哈尔滨工业大学刘宏伟例 6.7 解: x = [x ]补 – 24+1= 1,1110 – 100000[x ]原 = 1,0010当真值为 负 时,原码 可用 补码除符号位外 每位取反,末位加 1 求得[x ]补 [x ]原? ∴ x = 0010= 0010求 x 已知 [x ]补 = 1,1110由定义得6.12015/6/922哈尔滨工业大学 刘宏伟真值0, 1000110 1, 0111010 0.1110 1.0010 0.0000 0.0000 1.0000 0,10001101,10001100.1110 1.1110 0.0000 1.0000不能表示练习 求下列真值的补码[ 1]补 = 2 + x = 10.0000 1.0000 = 1.0000[+ 0]补 = [ 0]补 由小数补码定义= 1000110 [x ]补 [x ]原6.1x = +70 x = 0.1110 x = 0.0000 x = 70 x = 0.1110 x = 0.0000 x = 1.0000 = 1000110 [x ]补 =x1 > x ≥ 02+ x 0 > x ≥ 1(mod 2)234. 反码表示法(1) 定义整数 [x ]反 =0,x 2n> x ≥ 0( 2n +1– 1) + x 0 ≥ x > 2n(mod 2n +11)如x= +1101 [x ]反 = 0,1101= 1,0010x = 1101[x ]反 = (24+11) 1101= 11111 1101 用 逗号 将符号位 和数值部分隔开x 为真值n 为整数的位数6.124小数x= + 0.1101[x ]反 = 0.1101x = 0.1010[x ]反 = (2 2-4)0.1010= 1.11110.1010= 1.0101如[x ]反 =x 1 > x ≥ 0( 2 – 2-n) + x 0 ≥ x > 1(mod 2 2-n)用 小数点 将符号位 和数值部分隔开 x 为真值 6.1n 为小数的位数2015/6/925哈尔滨工业大学 刘宏伟(2) 举例例 6.10求 0 的反码设 x = +0.0000[+0.0000]反= 0.0000 解: 同理,对于整数 [+0]反= 0,0000 例6.9 已知 [x ]反 = 1,1110 求 x例6.8 已知 [x ]反 = 0,1110 求 x 解: 由定义得 x = + 1110解: 6.1= 1,1110 11111 = 0001由定义得 x = [x ]反 (24+11)x = 0.0000 [0.0000]反= 1.1111[ 0]反= 1,1111∴ [+ 0]反 ≠ [ 0]反26三种机器数的小结对于正数,原码 = 补码 = 反码 对于负数 ,符号位为 1,其 数值部分原码除符号位外每位取反末位加 1 补码 原码除符号位外每位取反 反码最高位为符号位,书写上用“,”(整数) 或“.”(小数)将数值部分和符号位隔开 6.12015/6/927哈尔滨工业大学 刘宏伟例6.11 00000000 00000001 00000010 …01111111 10000000 10000001 11111101 11111110 11111111… 128 129 -0 -1 -128 -127 -127 -126 二进制代码无符号数 对应的真值原码对应 的真值补码对应 的真值反码对应 的真值0 1 2 127 …253 254 255…-125 -126 -127…-3 -2 -1…-2 -1 -0…+0 +1 +2 +127 …+0 +1 +2 +127 …+0 +1 +2 +127 …6.1 设机器数字长为 8 位(其中1位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?例6.12 解: 已知 [y ]补 求[ y ]补<Ⅰ> [y ]补 = 0. y 1 y 2y n … y = 0. y 1 y 2 y n… y = 0. y 1 y 2 y n … [ y ]补 = 1.y 1 y 2y n + 2-n… <Ⅱ> [ y ]补 = 1. y 1 y 2y n … [ y ]原 = 1. y 1 y 2 y n + 2-n … y= (0. y 1 y 2 y n + 2-n )…y= 0. y 1 y 2y n + 2-n… [ y ]补= 0. y 1 y 2 y n + 2-n … 设 [y ]补 = y 0. y 1 y 2 y n… 6.1每位取反, 即得[ y ]补[y ]补连同符号位在内, 末位加 1 每位取反, 即得[ y ]补[y ]补连同符号位在内, 末位加 15. 移码表示法补码表示很难直接判断其真值大小 如 十进制x = +21 x = –21 x =+31x = –31x + 25+10101 + 100000 +11111 + 100000 10101 + 100000 11111 + 100000 大大错错大 大正确正确0,10101 1,01011 0,11111 1,00001+10101 –10101+11111 –11111= 110101 = 001011 = 111111 = 000001二进制 补码 6.1(1) 移码定义x 为真值,n 为 整数的位数移码在数轴上的表示[x ]移码2n +1– 1 2n2n–1–2n0 0真值如x = 10100[x ]移 = 25+ 10100 用 逗号 将符号位 和数值部分隔开x = –10100[x ]移 = 25– 10100 [x ]移 = 2n+ x (2n>x ≥ 2n)= 1,10100 = 0,011006.1(2) 移码和补码的比较设 x = +1100100[x ]移 = 27+ 1100100 [x ]补 = 0,1100100 设 x = –1100100[x ]移 = 27– 1100100 [x ]补 = 1,0011100 补码与移码只差一个符号位= 1,1100100 = 0,0011100 1 0 0 1 6.12015/6/932哈尔滨工业大学 刘宏伟- 1 0 0 0 0 0 - 1 1 1 1 1 - 1 1 1 1 0 - 0 0 0 0 1 + 0 0 0 0 1 + 0 0 0 1 0 + 1 1 1 1 0 …… 真值 x ( n=5 )[x ]补[x ]移[x ] 移对应的 十进制整数(3) 真值、补码和移码的对照表… …0 1 2 31 32 33 34 62 63 … … 0 0 0 0 1 00 0 0 0 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 1 01 1 1 1 1 0 … … 0 1 1 1 1 10 1 1 1 1 0 0 0 0 0 1 00 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 01 0 0 0 0 1 1 0 0 0 0 0 - 1 0 0 0 0 0 ± 0 0 0 0 0 + 1 1 1 1 10 0 0 0 0 0 1 1 1 1 1 10 0 0 0 0 0 1 0 0 0 0 0 6.1当 x = 0 时 [+0]移 = 25+ 0 当 n = 5 时 可见,最小真值的移码为全 0 (4) 移码的特点用移码表示浮点数的阶码能方便地判断浮点数的阶码大小= 1,00000= 1,00000= 000000 6.1[ 0]移 = 250 ∴ [+0]移 = [ 0]移[ 100000]移 = 25100000 最小的真值为 25= 1000002015/6/9。
关于有符号数和⽆符号数的转换1.引例:今天在做了⼀道关于有符号数和⽆符号数相互转换及其左移/右移的问题,被它们之间的转换原理和位移原理搞得头⼤了。
真的很后悔本科的时候没有认真学习《计算机组成原理》/《计算机操作系统》等计算机基础课程。
以下是我根据相关知识回顾和整理的材料,如有和某某的⽂章有雷同之处,请勿见怪。
另外也希望看到这篇⽂章的同志们能够有所收获吧。
#include <cstdio>#include <iostream>using namespace std;int main(){unsigned short int ui;signed short int si;ui = (unsigned short int)0x8000u;si = (signed short int)0x8000;printf("ui = %u\n", ui);printf("si = %d\n", si);ui = ui >> 1;si = si >> 1;printf("ui = %u\n", ui);printf("si = %d\n", si);cout << "------------------------------" << endl;ui = (unsigned short int)0x8000u;si = (signed short int)0x8000;printf("%u\n", ui);printf("%d\n", si);ui = ((signed short int)ui >> 1);si = ((unsigned short int)si >> 1);printf("%u\n", ui);printf("%d\n", si);cout << "------------------------------" << endl;ui = (unsigned short int)0x8000u;si = (signed short int)0x8000;printf("%u\n", ui);printf("%d\n", si);ui = ui << 1;si = si << 1;printf("%u\n", ui);printf("%d\n", si);cout << "-------------------------------" << endl;ui = (unsigned short int)0x8000u;si = (signed short int)0x8000;printf("%u\n", ui);printf("%d\n", si);ui = ((signed short int)ui << 1);si = ((unsigned short int)si << 1);printf("%u\n", ui);printf("%d\n", si);return0;}显⽰结果:2.概念在计算机中,可以区分正负类型的数,成为“有符号数”(signed);⽆正负类型的数(只有整数类型),成为“⽆符号数”(unsigned)。
计算机组成原理目录目录如下:第1篇概论第1章计算机系统概论1.1 计算机系统简介1.1.1 计算机的软硬件概念1.1.2 计算机系统的层次结构1.1.3 计算机组成和计算机体系结构1.2 计算机的基本组成1.2.1 冯·诺依曼计算机的特点1.2.2 计算机的硬件框图1.2.3 计算机的工作步骤1.3 计算机硬件的主要技术指标1.3.1 机器字长1.3.2 存储容量1.3.3 运算速度1.4 本书结构思考题与习题第2章计算机的发展及应用2.1 计算机的发展史2.1.1 计算机的产生和发展2.1.2 微型计算机的出现和发展2.1.3 软件技术的兴起和发展2.2 计算机的应用2.2.1 科学计算和数据处理2.2.2 工业控制和实时控制2.2.3 网络技术的应用2.2.4 虚拟现实2.2.5 办公自动化和管理信息系统2.2.6 CAD/CAM/CIMS2.2.7 多媒体技术2.2.8 人工智能2.3 计算机的展望思考题与习题第2篇计算机系统的硬件结构第3章系统总线3.1 总线的基本概念3.2 总线的分类3.2.1 片内总线3.2.2 系统总线3.2.3 通信总线3.3 总线特性及性能指标3.3.1 总线特性3.3.2 总线性能指标3.3.3 总线标准3.4 总线结构3.4.1 单总线结构3.4.2 多总线结构3.4.3 总线结构举例3.5 总线控制3.5.1 总线判优控制3.5.2 总线通信控制思考题与习题第4章存储器4.1 概述4.1.2 存储器的层次结构4.2 主存储器4.2.1 概述4.2.2 半导体存储芯片简介4.2.3 随机存取存储器4.2.4 只读存储器4.2.5 存储器与CPU的连接4.2.6 存储器的校验4.2.7 提高访存速度的措施4.3 高速缓冲存储器4.3.1 概述4.3.2 Cache—主存地址映射4.3.3 替换策略4.4.1 概述4.4.2 磁记录原理和记录方式4.4.3 硬磁盘存储器4.4.4 软磁盘存储器4.4.5 磁带存储器4.4.6 循环冗余校验码4.4.7 光盘存储器思考题与习题附录4A 相联存储器第5章输入输出系统5.1 概述5.1.1 输入输出系统的发展概况5.1.2 输入输出系统的组成5.1.3 I/O设备与主机的联系方式5.1.4 I/O设备与主机信息传送的控制方式5.2 I/O设备5.2.1 概述5.2.2 输入设备5.2.3 输出设备5.2.4 其他I/O设备5.2.5 多媒体技术5.3 I/O接口5.3.1 概述5.3.2 接口的功能和组成5.3.3 接口类型5.4 程序查询方式5.4.1 程序查询流程5.4.2 程序查询方式的接口电路5.5 程序中断方式5.5.1 中断的概念5.5.2 I/O中断的产生5.5.3 程序中断方式的接口电路5.5.4 I/O中断处理过程5.5.5 中断服务程序的流程5.6 DMA方式5.6.1 DMA方式的特点5.6.2 DMA接口的功能和组成5.6.3 DMA的工作过程5.6.4 DMA接口的类型思考题与习题附录5A ASCⅡ码附录5B BCD码附录5C 奇偶校检码第3篇中央处理器第6章计算机的运算方法6.1 无符号数和有符号数6.1.1 无符号数6.1.2 有符号数6.2 数的定点表示和浮点表示6.2.1 定点表示6.2.2 浮点表示6.2.3 定点数和浮点数的比较6.2.4 举例6.2.5 IEEE754标准6.3 定点运算6.3.1 移位运算6.3.2 加法与减法运算6.3.3 乘法运算6.3.4 除法运算6.4 浮点四则运算6.4.1 浮点加减运算6.4.2 浮点乘除法运算6.4.3 浮点运算所需的硬件配置6.5 算术逻辑单元6.5.1 ALU电路6.5.2 快速进位链思考题与习题附录6A 各种进位制6A.1 各种进位制的对应关系6A.2 各种进位制的转换附录6B 阵列乘法器和阵列除法器附录6C 74181逻辑电路第7章指令系统7.1 机器指令7.1.1 指令的一般格式7.1.2 指令字长7.2 操作数类型和操作类型7.2.1 操作数类型7.2.2 数据在存储器中的存放方式7.2.3 操作类型7.3 寻址方式7.3.1 指令寻址7.3.2 数据寻址7.4 指令格式举例7.4.1 设计指令格式应考虑的各种因素7.4.2 指令格式举例7.4.3 指令格式设计举例7.5 RISC技术7.5.1 RISC的产生和发展7.5.2 RISC的主要特征7.5.3 RISC和CISC的比较思考题与习题第8章 CPU的结构和功能8.1 CPU的结构8.1.1 CPU的功能8.1.2 CPU结构框图8.1.3 CPU的寄存器8.1.4 控制单元和中断系统8.2 指令周期8.2.1 指令周期的基本概念8.2.2 指令周期的数据流8.3 指令流水8.3.1 指令流水原理8.3.2 影响流水线性能的因素8.3.3 流水线性能8.3.4 流水线中的多发技术8.3.5 流水线结构8.4 中断系统8.4.1 概述8.4.2 中断请求标记和中断判优逻辑8.4.3 中断服务程序入口地址的寻找8.4.4 中断响应8.4.5 保护现场和恢复现场8.4.6 中断屏蔽技术思考题与习题第4篇控制单元第9章控制单元的功能9.1 微操作命令的分析9.1.1 取指周期9.1.2 间址周期9.1.3 执行周期9.1.4 中断周期9.2 控制单元的功能9.2.1 控制单元的外特性9.2.2 控制信号举例9.2.3 多级时序系统9.2.4 控制方式9.2.5 多级时序系统实例分析思考题与习题第10章控制单元的设计10.1 组合逻辑设计10.1.1 组合逻辑控制单元框图10.1.2 微操作的节拍安排10.1.3 组合逻辑设计步骤10.2 微程序设计10.2.1 微程序设计思想的产生10.2.2 微程序控制单元框图及工作原理10.2.3 微指令的编码方式10.2.4 微指令序列地址的形成10.2.5 微指令格式10.2.6 静态微程序设计和动态微程序程序设计10.2.7 毫微程序设计10.2.8 串行微程序控制和并行微程序控制10.2.9 微程序设计举例思考题与习题附录10A PC整机介绍10A.1 主板10A.1.1 主板的主要组成部件10A.1.2 CPU芯片及插座(插槽)10A.1.3 内存条插槽10A.1.4 扩展插10A.1.5 配套芯片和器件10A.1.6 主板结构的改进10A.2 芯片组10A.2.1 芯片组的功能10A.2.2 芯片组的组成《计算机组成原理》是2008年1月1日高等教育出版社出版的图书,作者是唐朔飞。
6.1 无符号数和有符号数
寄存器的位数
反映无符号数的表示范围
8 位 0 ~ 255 16 位 0 ~ 65535
带符号的数 符号数字化的数
+ 0.10110
1011小数点的位置+ 11000
1100
小数点的位置– 1100
1
1100
小数点的位置
– 0.10111
1011
小数点的位置真值 机器数
1. 机器数与真值
2. 原码表示法—整数
带符号的绝对值表示
x 为真值n 为整数的位数
如x = +1110
[x ]原 = 0 , 1110
[x ]原 = 24 + 1110 = 1 , 1110 x =
1110[x ]原 = 0,x 2n
> x ≥ 0
2n x 0 ≥ x > 2
n
用 逗号 将符号位和数值部分隔开
x 为真值
如x = + 0.1101
[x ]原 = 0 . 1101
x = – 0.1101[x ]原 = 1 – (–0.1101) = 1 . 1101
x 1 > x ≥ 0
[x ]原 =
1 – x 0 ≥ x >–1
x = – 0.1000000
[x ]原 = 1 – (– 0.1000000) = 1 . 1000000
x = + 0.1000000[x ]原 = 0 . 1000000
用 小数点 将符号位和数值部分隔开
用 小数点 将符号位和数值部分隔开
2. 原码表示法—小数
例 6.1 已知 [x ]原 = 1.0011 求 x 解:例 6.2 已知 [x ]原 = 1,1100 求 x 解:x = 1 – [x ]原 = 1 –
1.0011 = –0.0011
x = 24 – [x ]原 = 10000 – 1,1100 = –1100
– –0.0011 1100由定义得
由定义得
例 6.4 求 x = 0 的原码
解:设 x = +
0.0000例 6.3 已知 [x ]原 = 0.1101 求 x
解:x = + 0.1101
同理,对于整数[+ 0
]原 = 0,0000[+
0.0000]原 = 0.0000
x =
0.0000[
0.0000]原 = 1.0000
[ 0
]原 = 1,0000
∴ [+
0]原 ≠ [
0]原
根据 定义
原码的特点:简单、直观
但是用原码作加法时,会出现如下问题:
能否 只作加法 ?
找到一个与负数等价的正数 来代替这个负数就可使 减 加
加法 正 正加加法 正 负加法 负 正加法 负 负减减加
要求 数1 数2 实际操作 结果符号正可正可负可正可负负
无符号数
原码表示(整数)机器数与真值原码表示(小数)
6.1 无符号数和有符号数。