计算机组成原理笔记
计算机组成原理知识点总结csdn

计算机组成原理知识点总结本文对计算机组成原理的一些基本概念和知识点进行了总结,包括计算机系统的层次化结构、硬件与软件之间的界面、指令集体系结构的基本知识和基本实现方法等。
一、计算机系统概述1.1 计算机的分类电子计算机分两大类:电子模拟计算机、电子数字计算机。
2.4 计算机的性能指标处理机字长:处理机运算器一次能够完成二进制运算的位数,如32 位、64 位。
存储器容量:存储器中所有存储单元的总数目,通常用 KB、MB、GB、TB 来表示。
计算机五个组成部分:存储器、运算器、控制器、输入设备、输出设备(其中 CPU 由运算器和控制器组成)。
冯·诺依曼型计算机的设计思想:存储程序并按地址顺序执行。
计算机软件一般分为两大类:系统程序、应用程序。
硬件可以由软件来实现,软件也可以由硬件来实现,故软件与硬件的逻辑等价性。
二、运算方法和运算器1. 计算机中常用的数据表示格式有两种:一是定点格式,二是浮点格式。
2. 阶码位数多,表示数的范围大;尾数位数多,说明该数的精确度越高。
3. 数的机器码表示:原码、反码、补码、移码表示法。
4. 浮点加、减法运算步骤:(0 操作数检查)、(比较阶码大小并完成对阶)、(尾数求和运算)、(结果规格化处理)、(舍入处理)。
三、多层次的存储器3.1.1 存储器的分类:1. 按存取方式分:随机存储器和顺序存储器。
2. 按存储内容可变分:只读存储器(ROM)和读写存储器(RAM)。
3.2 存储器的层次化结构3.2.1 存储器层次化的原因:为了提高存储器的存取速度和容量。
3.2.2 存储器层次化的方案:多级存储器、高速缓存、虚拟存储器等。
3.3 存储器的访问控制3.3.1 存储器的访问方式:顺序访问、随机访问。
3.3.2 存储器的访问控制原理:地址转换、存储器映射、内存管理等。
四、指令集体系结构4.1 指令集体系结构的基本知识4.1.1 指令集:计算机能够直接执行的指令集合。
4.1.2 指令集体系结构的基本特点:完备性、有序性、可组合性、可重用性、可扩展性、易维护性等。
计算机四级计算机组成原理知识点总结

计算机四级计算机组成原理知识点总结
计算机四级计算机组成原理涉及多个关键知识点,主要包括:
1.**计算机的基本组成**:计算机主要由运算器、控制器、存储器、输入设备和输出设备五大部件组成。
其中,运算器和控制器合称为中央处理器(CPU)。
2.**指令系统**:指令是计算机执行某种操作的命令,通常由操作码和操作数地址码组成。
指令系统是指一台计算机中所有指令的集合。
指令的长度取决于操作码的长度、操作数地址码的长度和操作数地址的个数,与机器字长没有固定的关系。
指令可以分为零地址指令、一地址指令等多种类型。
3.**计算机硬件层次结构**:计算机硬件层次结构可以分为微程序机器层(M0)、传统机器层(M1)、虚拟机器层(M2)、汇编语言机器层(M3)和高级语言机器层(M4)。
每一层都对应着不同的指令系统和执行方式。
4.**存储系统**:存储系统包括主存储器(内存)和辅助存储器(外存)。
主存储器是计算机直接访问的存储部件,其速度快,但容量小。
辅助存储器则容量大,速度慢,需要通过输入输出设备才能访问。
5.**输入输出系统**:输入输出系统负责计算机与外部世界的联系,包括输入设备和输出设备。
输入设备用于将外部信息输入到计算机中,输出设备用于将计算机的处理结果输出到外部世界。
6.**总线系统**:总线是连接计算机各部件的通信线路,包括数据总线、地址总线和控制总线。
总线系统负责在各部件之间传输数据和控制信号。
以上就是计算机四级计算机组成原理的主要知识点,掌握了这些知识,就能对计算机的基本组成和工作原理有深入的理解。
计算机组成原理读书笔记

计算机组成原理读书笔记一、计算机系统概述计算机系统由硬件和软件组成。
硬件包括中央处理器(CPU)、存储器、输入/输出(I/O)设备及各种外部设备。
软件包括操作系统、各种应用程序以及数据。
二、计算机的基本构成计算机的基本构成包括运算器、存储器、控制器和输入/输出设备。
运算器负责数据的加减乘除等基本运算,存储器负责数据的存储,控制器负责指令的执行和协调各个部件的工作,输入/输出设备则负责数据的输入和输出。
三、计算机的指令系统计算机的指令系统是计算机能够执行的各种指令的集合。
指令系统包括操作码和操作数两个部分,操作码表示指令的操作性质,操作数表示参与操作的数值或操作数所在的位置。
四、计算机的存储系统计算机的存储系统由高速缓存、主存和辅存构成。
高速缓存速度快但容量小,主存速度慢但容量大,辅存则位于高速缓存和主存之间,容量大且速度慢。
五、计算机的输入/输出系统计算机的输入/输出系统负责数据的输入和输出。
输入设备包括键盘、鼠标等,输出设备包括显示器、打印机等。
六、计算机的中断系统计算机的中断系统是计算机处理突发事件的一种机制。
当计算机遇到突发事件时,中断系统会暂停当前的程序执行,保存现场并转去处理突发事件。
处理完事件后,中断系统会返回原程序继续执行。
七、计算机的系统结构计算机的系统结构包括硬件系统和软件系统。
硬件系统包括中央处理器、存储器、输入/输出设备等,软件系统包括操作系统、应用程序等。
八、计算机的性能评估计算机的性能评估包括吞吐量、响应时间、CPU利用率等指标。
这些指标可以用来衡量计算机的性能表现,帮助用户选择合适的计算机。
计算机组成原理复习笔记

计算机组成原理复习笔记前件知识: 基本电路知识与、或、非、异或、与非、或非等如下表所示:第一章 计算机系统概论1.计算机系统组成计算机系统组成:计算机组成原理由硬件系统与软件系统组成。
根据冯诺.依曼的存储程序控制原理由五大部件组成:运算器、控制器、存储器、输入设备和输出设备。
软件系统:系统软件、应用软件摩尔定律:记住价格与时间成反比。
2.计算机系统性能指标字长(处理机字长)是指计算机处理器一次能够完成的二进制位数(16,32,64)。
MIPS 是指计算机处理器每秒执行百万条指令。
计算机系统3.计算机系统的层次结构计算机系统的层次结构分为五级以下图所示:第二章 运算方法和运算器补码的真值公式:将所有位上的数按基数2(n 为数所在的位置)相乘后求出和,这个和的结果就是补码的真值。
计算某个数大于或小于某个值得条件。
例:[X]补=(01101)2,[Y]补=(11101)2。
则X 与Y 的十进制数是多少。
X=-0×24+1×23+1×22+0×21+1×20=8+4+1=(+13)10 Y=-1×24+1×23+1×22+0×21+1×20=-8+4+1=(-1)10浮点数的表示范围就省略了。
3.BCD 和ASCLL 码BCD :俗称8421码。
使用4位二进数才表现一位十进制数。
(4位) ASCLL 码:用于表示字符。
(用一个字节八位来表示,只使用了七位。
最前后一位始终为0).记住特殊的字符的ASCLL 码值:4.校验码:奇偶校验奇偶校验(含校验码的个数)110101 数奇校验奇数个1 110101 1偶校验偶数个1 110101 0奇偶校验提供奇数个错误检测,无法检测偶数个错误,更无法识别错误信息的位置。
5.变形补码与溢出判断溢出方法:(1)双符号位两个符号位异号,用异或门实现变形补码是判断溢出的一种检测方法。
计算机组成原理知识点笔记

计算机组成原理知识点笔记第一课时1、指令分为操作码和地址码,操作码指明了操作类型,地址码指明了对哪两个数进行操作。
2、CPU的时钟频率也即是CPU的主频。
3计算机系统结构:概念性结构和功能特性。
是指硬件子系统的概念性结构和功能特性。
由指令系统所规定的所有属性,所以也称指令集体系结构。
主要研究计算机系统软件和硬件的功能分配,以及如何最佳地实现分配给硬件的功能。
例如:指令系统中是否包括乘法指令?4、计算机组织:也称计算机组成:计算机主要部件的类型、数量、组成方式、控制方式和信息流动方式以及相互连接而构成的而系统。
主要研究数据和指令的组织,数据的存取、传送和加工处理。
数据流和指令流的控制方式基本运算的算法例如:如何实现乘法指令?5计算机实现:计算机功能的物理实现。
6、加法指令执行速度因为加法指令能反映乘除等运算,而其他指令的执行时间也大体与加法指令相当。
7、CPI,执行一条指令所需时钟周期数,是主频的倒数。
8、等效指令速度法9存储器不仅能存放数据,而且也能存放指令,两者在形式上没有区别,但计算机应能区分数据还是指令。
10 有时我们说某个特定的功能是由硬件实现的,但并不是说不要编写程序,如乘法功能可由乘法器这个硬件实现,但要启动这个硬件(乘法器)工作,必须先执行程序中的乘法指令。
11 指令译码器是译指令的操作码。
而是在读出之前就知道将要读的信息是数据还是指令了12 在计算机领域中,站在某一类用户的角度,如果感觉不到某个事物或属性的存在,即“看”不到某个事物或属性,则称为“对xxxx用户而言,某个事物或属性是透明的”。
13程序控制器:(PC)是执行指令的机器。
14 机器字长定义为CPU中在同一时间内一次能够处理的二进制数的位数,实际上就是CPU中数据通路的位数15 浮点运算器的数据通路要宽得多。
16所以一般把定点运算器的数据通路宽度定为机器字长。
因为机器字长与内存单元的地址位数有关,而地址计算是在定点运算器中进行的。
计算机组成原理笔记

计算机组成原理笔记计算机组成原理是计算机科学与技术专业的一门重要课程,它是学生们打开计算机硬件世界的一把钥匙。
在这门课程中,我们将学习到计算机硬件系统的基本组成和工作原理,为今后的学习和工作打下坚实的基础。
下面,我将为大家简要介绍一些计算机组成原理的基本知识和重要概念。
首先,我们要了解计算机组成原理的基本组成部分。
计算机主要由中央处理器(CPU)、存储器(内存)、输入设备、输出设备和外部设备等几大部分组成。
其中,CPU是计算机的大脑,负责执行各种指令和数据处理;内存用于临时存储数据和程序;输入设备用于向计算机输入数据和指令;输出设备用于从计算机输出数据和结果;外部设备则是计算机的扩展设备,如打印机、扫描仪等。
其次,我们要了解计算机组成原理的工作原理。
计算机工作的基本过程可以简单概括为取指、译码、执行和写回四个阶段。
在取指阶段,CPU从内存中取出要执行的指令;在译码阶段,CPU对指令进行译码,确定需要执行的操作;在执行阶段,CPU执行指令中的操作;最后,在写回阶段,CPU将执行的结果写回到内存或者输出到外部设备。
此外,我们还要了解计算机组成原理中的重要概念。
例如,时钟频率是衡量CPU运行速度的重要指标,它表示CPU每秒钟执行的时钟周期数;指令集架构是CPU支持的指令集合,不同的CPU有不同的指令集架构;存储器层次结构是计算机存储器按照访问速度和容量划分的不同层次,包括寄存器、高速缓存、内存和外存等。
总的来说,计算机组成原理是一门极具挑战性和深度的学科,它涉及到计算机硬件系统的方方面面,需要我们认真学习和理解。
通过对计算机组成原理的学习,我们可以更好地理解计算机的工作原理,为今后的学习和工作打下坚实的基础。
希望大家能够认真对待这门课程,努力学习,取得优异的成绩。
祝大家学习进步!。
计算机组成原理知识点总结csdn

计算机组成原理知识点总结csdn计算机组成原理知识点总结CSDN计算机组成原理是计算机科学与技术专业的一门重要课程,是学习计算机体系结构的基础知识。
通过学习计算机组成原理,我们可以深入理解计算机的工作原理,并能掌握计算机系统的设计与实现。
本文将从计算机的基本组成部分、主要硬件和软件组成以及计算机指令和指令系统设计等方面进行详细的知识点总结。
一、计算机的基本组成部分1.中央处理器(CPU):是计算机的核心部件,负责执行指令和进行数据处理。
2.存储器:包括主存储器和辅助存储器,用于存储数据和指令。
3.输入输出设备:负责与外部设备进行信息的交换。
4.系统总线:负责各个部件之间的数据传输。
二、主要硬件和软件组成1.主板:是计算机的核心部件,可插入各种主要硬件设备。
2.中央处理器:负责执行计算机的指令和处理数据。
3.内存:用于存储正在运行的程序和数据。
4.硬盘:主要用于长期存储和备份数据。
5.显示器:用于显示计算机处理的结果。
6.键盘和鼠标:用于输入指令和操作计算机。
7.操作系统:是计算机系统的核心软件,负责管理计算机硬件和软件资源。
8.应用软件:包括各种常用的办公软件、娱乐软件等。
三、计算机指令和指令系统设计1.机器码和指令格式:机器码是计算机可以直接执行的指令,指令格式决定了指令的操作码和操作数。
2.指令的执行过程:包括取指、译码、执行和存储结果等阶段。
3.指令的分类:主要包括数据传输指令、算术逻辑指令、控制指令等。
4.指令系统设计:包括指令的选择、指令的编码、指令的功能等。
四、常见的计算机结构和体系结构1.冯·诺依曼结构:是一种计算机的基本结构,采用存储程序的方式进行运算。
2.哈佛结构:将指令存储器和数据存储器分开,可以同时进行指令的取指和数据的读写。
3.RISC和CISC体系结构:RISC体系结构是精简指令集计算机,CISC体系结构是复杂指令集计算机。
五、计算机的性能评价指标1.CPU的时钟频率:表示CPU每秒钟能够执行的指令数。
计算机组成原理复习笔记

第一章计算机系统概论1. 计算机分类:模拟计算机、数字计算机。
2. 数字计算机分类:专用计算机、通用计算机。
3. 通用计算机分类:巨型机、大型机、小型机、微型机、单片机。
4. 计算机的应用:科学计算、自动控制、测量和测试、辅助设计/分析/制造/教学、信息处理、智能模拟。
5. 数字计算机硬件系统由五大部分组成:运算器、控制器、存储器、输入设备、输出设备。
6. 通常,计算机用总线连接各大部件,系统总线包括:数据总线(DBUS)、控制总线(CBUS)、地址总线(ABUS)。
7. CPU由运算器和控制器组成,负责数据加工、数据运算和指挥各部件有序有效工作。
8. 计算机的存储器是一个存储体系,可由三级存储器构成:主存、外存、Cache。
9. 微机中,存储器容量常以字节为单位计量,常用单位有:KB、MB、GB、TB,这里的K是Kilo(千)的缩写,但它表示。
换算关系如下:1024 B = 1KB1024 KB = 1MB1024 MB = 1GB1024 GB = 1TB10. 计算机的主存储器由两类存储器构成:随机存取存储器(RAM)、只读存储器(ROM)。
11. Cache可以分为CPU片内Cache(主高速缓存)和CPU片外Cache(次高速缓存),片外的比片内的稍慢,但都比主存快得多,CPU访问内存是的顺序是:片内Cache→片外Cache→主存。
12. 所有的外存可以归类为输出设备,因为里面的信息都要先通过接口送入内存,进而给CPU访问。
13. 外存有:软盘存储设备、硬盘存储设备、光盘存储设备。
14. 冯·诺依曼体系结构计算机的特点:(1)计算机由五大部件组成。
(2)采用存储程序的方式,程序和数据放在同一个存储器中,并以二进制码表示。
(3)指令由操作码和地址码组成。
(4)指令在存储器中按执行顺序存放。
(5)机器以运算器为中心,输入输出设备与存储器之间的数据传送都经过运算器。
15. 软件分类:系统软件、应用软件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机体系结构(Computer Architecture)主要研究硬件和软件功能的划分,确定硬件和软件的界面,哪部分功能由硬件系统来完成,哪部分功能由软件系统来完成。
计算机组成原理(Computer Organization)是依据计算机体系结构,在确定且分配了硬件子系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,以及它们之间的连接关系,实现机器指令级的各种功能和特性,这点上说计算机组成原理是计算机体系结构的逻辑实现。
计算机实现(Computer Implementation)是计算机组成的物理实现,包括中央处理器、主存储器、输入输出接口和设备的物理结构,所选用的半导体器件的集成度和速度,器件、模块、插件、底板的划分,电源、冷却、装配等技术,生产工艺和系统调试等各种问题。
总之,就是将完成逻辑设计的计算机组成方案转换成真实的计算机,也就是将满足设计、运行、价格等各项要求的计算机系统真正地制作并调试出来。
计算机组成原理【考查目标】1. 理解单处理器计算机系统中各部件的内部工作原理,组成结构以及相互连接方式,具有完整的计算机系统的整机概念.2. 理解计算机系统层次化结构概念,熟悉硬件与软件间的界面,掌握指令集体系结构的基本知识和基本实现方法3. 能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算,分析,并能对一些基本部件进行简单设计.一, 计算机系统概述(一) 计算机发展历程第一台电子计算机ENIAC诞生于1946年美国宾夕法尼亚大学.ENIAC用了18000电子管,1500继电器,重30吨,占地170m2,耗电140kw,每秒计算5000次加法.冯•诺依曼(VanNeumann)首次提出存储程序概念,将数据和程序一起放在存储器,使编程更加方便.50年来,虽然对冯•诺依曼机进行很多改革,但结构变化不大,仍称冯•诺依曼机.一般把计算机的发展分为五个阶段:发展阶段时间硬件技术速度/(次/秒)第一代1946-1957 电子管计算机时代40 000第二代1958-1964 晶体管计算机时代200 000第三代1965-1971 中小规模集成电路计算机时代 1 000 000第四代1972-1977 大规模集成电路计算机时代10 000 000第五代1978-现在超大规模集成电路计算机时代100 000 000 ENIAC(Electronic Numerical Integrator And Computer)电子数字积分机和计算机EDVAC(Electronic Discrete Variable Automatic Computer)电子离散变量计算机组成原理是讲硬件结构的系统结构是讲结构设计的摩尔定律微芯片上的集成管数目每3年翻两番.处理器的处理速度每18个月增长一倍.每代芯片的成本大约为前一代芯片成本的两倍新摩尔定律全球入网量每6个月翻一番.数学家冯·诺依曼(von Neumann)在研究EDVAC机时提出了“储存程序”的概念.以此为基础的各类计算机通称为冯·诺依曼机.它有如下特点:①计算机由运算器,控制器,存储器,输入和输出五部分组成②指令和数据以同等的地位存放于存储器内,并可按地址寻访③指令和数据均用二进制数表示④指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置⑤指令在存储器内按顺序存放⑥机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成图中各部件的功能·运算器用来完成算术运算和逻辑运算并将的中间结果暂存在运算器内·存储器用来存放数据和程序·控制器用来控制,指挥程序和数据的输入,运行以及处理运行结果·输入设备用来将人们熟悉的信息转换为机器识别的信息·输出设备将机器运算结果转为人熟悉的信息形式运算器最少包括3个寄存器(现代计算机内部往往设有通用寄存器)和一个算术逻辑单元(ALU Arithmetic Logic Unit).其中ACC(Accumulator)为累加器,MQ(Multiplier-Quotient Register)为乘商寄存器,X为操作数寄存器,这3个寄存器在完成不同运算时,说存放的操作数类别也各不相同.计算机的主要硬件指标(4.a) 主机完成一条指令的过程——以取数指令为例(4.b) 主机完成一条指令的过程——以存数指令为例(二) 计算机系统层次结构1. 计算机硬件的基本组成计算机硬件主要指计算机的实体部分,通常有运算器,控制器,存储器,输入和输出五部分.CPU是指将运算器和控制器集成到一个电路芯片中.2. 计算机软件的分类计算机软件按照面向对象的不同可分两类:系统软件:用于管理整个计算机系统,合理分配系统资源,确保计算机正常高效地运行,这类软件面向系统.(包括:标准程序库,语言处理程序,OS,服务程序,数据库管理系统,网络软件)应用软件:是面向用户根据用户的特殊要求编制的应用程序,这类软件通常实现用户的某类要求.3. 计算机的工作过程(1)计算机的工作过程就是执行指令的过程指令由操作码和操作数组成:操作码指明本指令完成的操作操作码地址码地址码指明本指令的操作对象.(3)指令的读取为了纪录程序的执行过程,需要一个记录读取指令地址的寄存器,称为指令地址寄存器,或者程序计数器.指令的读取就可以根据程序计数器所指出的指令地址来决定读取的指令,由于指令通常按照地址增加的顺序存放,故此,每次读取一条指令之后,程序计数器加一就为读取下一条指令做好准备.(4)执行指令的过程在控制器的控制下,完成以下三个阶段任务:1)取指令阶段按照程序计数器取出指令,程序计数器加一2)指令译码阶段分析操作码,决定操作内容,并准备操作数3)指令执行阶段执行操作码所指定内容(三) 计算机性能指标1. 吞吐量,响应时间(1) 吞吐量:单位时间内的数据输出数量.(2) 响应时间:从事件开始到事件结束的时间,也称执行时间.2. CPU时钟周期,主频,CPI,CPU执行时间(1) CPU时钟周期:机器主频的倒数,T C(2)主频:CPU工作主时钟的频率,机器主频Rc(3)CPI:执行一条指令所需要的平均时钟周期(4)CPU执行时间:T CPU=In×CPI×T CIn执行程序中指令的总数CPI执行每条指令所需的平均时钟周期数T C时钟周期时间的长度3. MIPS,MFLOPS(1)MIPS:(Million Instructions Per Second)Te:执行该程序的总时间=指令条数/(MIPS×)In:执行该程序的总指令数Rc:时钟周期Tc的到数MIPS只适合评价标量机,不适合评价向量机.标量机执行一条指令,得到一个运行结果.而向量机执行一条指令,可以得到多个运算结果.(2) MFLOPS: (Million Floating Point Operations Per Second)MFLOPS=Ifn/(Te×)Ifn:程序中浮点数的运算次数MFLOPS测量单位比较适合于衡量向量机的性能.一般而言,同一程序运行在不同的计算机上时往往会执行不同数量的指令数,但所执行的浮点数个数常常是相同的.特点:1.MFLOPS取决于机器和程序两方面,不能反映整体情况,只能反映浮点运算情况2.同一机器的浮点运算具有一定的同类可比性,而非同类浮点操作仍无可比性当前微处理器的发展重点①进一步提高复杂度来提高处理器性能②通过线程进程级的并发性提高处理器性能③将存储器集成到处理器芯片来提高处理器性能④发展嵌入式处理器软件开发有以下几个特点1)开发周期长2)制作成本昂贵3)检测软件产品质量的特殊性计算机的展望一、计算机具有类似人脑的一些超级智能功能要求计算机的速度达1015/秒二、芯片集成度的提高受以下三方面的限制•芯片集成度受物理极限的制约•按几何级数递增的制作成本•芯片的功耗、散热、线延迟计算机辅助设计CAD 计算机辅助制造CAM计算机辅助工艺规划 Computer Aided Process Planning CAPP计算机辅助工程 Computer Aided Engineering CAE计算机辅助教学 Computer Assisted Instruction CAI科学计算和数据处理工业控制和实时控制网络技术应用虚拟现实办公自动化和管理信息系统 Computer Aided DesignCAD,CAM,CIMS Computer Aided Manufacturing多媒体技术 Computer Integrated Manufacturing System人工智能,模式识别,文字/语音识别,语言翻译,专家系统,机器人…二, 数据的表示和运算(一) 数制与编码1. 进位计数制及其相互转换 1)进位计数制进位计数制是指按照进位制的方法表示数,不同的数制均涉及两个基本概念:基数和权. 基数:进位计数制中所拥有数字的个数.权:每位数字的值等于数字乘以所在位数的相关常数,这个常数就是权. 任意一个R 进制数X,设整数部分为n 位,小数部分为m 位,则X 可表示为:X =a n-1r n-1+ a n-2r n-2+ ┅ + a 0r 0+ a -1r -1+ a -2r -2+ ┅ + a -m r -m(X)r =∑--=mn i iirK 12)不同数制间的数据转换(1)二,八,十六进制数转换成十进制数利用上面讲到的公式: (N)2=∑Di •2i ,(N)8=∑Di •8i , (N)16=∑Di •16i ,进行计算.(2)十进制数转换成二进制数通常要对一个数的整数部分和小数部分分别进行处理,各自得出结果后再合并. ◆ 对整数部分,一般采用除2取余数法,其规则如下:将十进制数除以2,所得余数(0或1)即为对应二进制数最低位的值.然后对上次所得商除以2,所得余数即为二进制数次低位的值,如此进行下去,直到商等于0为止,最后得的余数是所求二进制数最高位的值. ◆ 对小数部分,一般用乘2取整数法,其规则如下:将十进制数乘以2,所得乘积的整数部分即为对应二进制小数最高位的值,然后对所余数的小数部分部分乘以2,所得乘积的整数部分为次高位的值,如此进行下去,直到乘积的小数部分为0,或结果已满足所需精度要求为止.(3)二进制数,八进制数和十六进制数之间的转换八进制数和十六进制数是从二进制数演变而来的: 由3位二进制数组成1位八进制数; 由4位二进制数组成1位十六进制数.对一个兼有整数和小数部分的数以小数点为界,小数点前后的数分别分组进行处理,不足的位数用0补足. 对整数部分将0补在数的左侧,对小数部分将0补在数的右侧.这样数值不会发生差错. 2. 真值和机器数真值:数据的数值通常以正(+)负(-)号后跟绝对值来表示,称之为“真值”.机器数:在计算机中正负号也需要数字化,一般用0表示正号,1表示负号.把符号数字化的数成为机器数. 3. BCD 码(Binary Coded Decimal 以二进制编码的十进制码)在计算机中采用4位二进制码对每个十进制数位进行编码.4位二进制码有16种不同的组合,从中选出10种来表示十进制数位的0~9,用0000,0001,…,1001分别表示0,1,…,9,每个数位内部满足二进制规则,而数位之间满足十进制规则,故称这种编码为“以二进制编码的十进制(binary coded decima1,简称BCD)码”.在计算机内部实现BCD 码算术运算,要对运算结果进行修正,对加法运算的修正规则是: 如果两个一位BCD 码相加之和小于或等于(1001)2,即(9)10,不需要修正;如相加之和大于或等于(1010)2,或者产生进位,要进行加6修正,如果有进位,要向高位进位.4. 字符与字符串在计算机中要对字符进行识别和处理,必须通过编码的方法,按照一定的规则将字符用一组二进制数编码表示.字符的编码方式有多种,常见的编码有ASCII码,EBCDIC码等.1)ASCII码(American Standard Code for Information Interchange 美国信息交换标准码)ASCII码用7位二进制表示一个字符,总共128个字符元素,包括10个十进制数字(0-9),52个英文字母(A-Z 和a-z),34专用符号和32控制符号.2)EBCDIC码为Extended Binary Coded Decimal Interchange Code的简称,它采用8位来表示一个字符.3)字符串的存放向量存储法:字符串存储时,字符串中的所有元素在物理上是邻接的.串表存储法:字符串的每个字符代码后面设置一个链接字,用于指出下一个字符的存储单元的地址.5. 校验码Check Digit数据校验码是一种常用的带有发现某些错误或自动改错能力的数据编码方法.其实现原理,是加进一些冗余码,使合法数据编码出现某些错误时,就成为非法编码.这样,可以通过检测编码的合法性来达到发现错误的目的.合理地安排非法编码数量和编码规则,可以提高发现错误的能力,或达到自动改正错误的目的.码距:码距根据任意两个合法码之间至少有几个二进制位不相同而确定的,仅有一位不同,称其码距为1. 1)奇偶校验码(Parity Bit)WIKI(开销最小,能发现数据代码中一位出错情况的编码,常用于存储器读写检查或ASCII字符或其它类型的信息传输的检查)P216它的实现原理,是使码距由1增加到2.若编码中有1位二进制数出错了,即由1变成0,或者由0变成1.这样出错的编码就成为非法编码,就可以知道出现了错误.在原有的编码之上再增加一位校验位,原编码n位,形成新的编码为n+1 位.增加的方法有2种:奇校验:增加位的0或1要保证整个编码中1的个数为奇数个.偶校验:增加位的0或1要保证整个编码中1的个数为偶数个.2)海明校验码(Hamming Code)P100实现原理,在数据中加入几个校验位,并把数据的每一个二进制位分配在几个奇偶校验组中.当某一位出错就会引起有关的几个校验组的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为自动纠错提供了依据.假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余2r-1个信息指出错误发生在哪一位.然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系:2r k+r+13)CRC校验码(Cyclic Redundancy Check 循环冗余校验)P144CRC校验码一般是指k位信息之后拼接r位校验码.关键问题是如何从k位信息方便地得到r位校验码,以如何从位k+r信息码判断是否出错.将带编码的k位有效信息位组表达为多项式:式Ci中为0或1.若将信息位左移r位,则可表示为多项式M(x).xr.这样就可以空出r位,以便拼接r位校验位.CRC码是用多项式M(x).xr除以生成多项式G(x)所得的余数作为校验码的.为了得到r位余数,G(x)必须是r+1位.设所得的余数表达式为R(x),商为Q(x).将余数拼接在信息位组左移r位空出的r位上,就构成了CRC码,这个码的可用多项式表达为:M(x)·xr+R(x)=[Q(x)·G(x)+R(x)]+R(x)=[Q(x)·G(x)]+[R(x)+R(x)]=Q(x)·G(x)因此,所得CRC码可被G(x)表示的数码除尽.将收到的CRC码用约定的生成多项式G(x)去除,如果无错,余数应为0,有某一位出错,余数不为0.(二) 定点数的表示和运算1. 定点数的表示1)无符号数的表示无符号数就是指正整数,机器字长的全部位数均用来表示数值的大小,相当于数的绝对值.对于字长为n+1位的无符号数的表示范围为: 0-12)带符号数的表示 (真值范围-n-1n)带符号数是指在计算机中将数的符号数码化.在计算机中,一般规定二进制的最高位为符号位,最高位为“0”表示该数为正,为“1”表示该数为负.这种在机器中使用符号位也被数码化的数称为机器数.根据符号位和数值位的编码方法不同,机器数分为原码,补码和反码.(1)原码表示法机器数的最高位为符号位,0表示正数,1表示负数,数值跟随其后,并以绝对值形式给出.这是与真值最接近的一种表示形式.原码的定义:(2)补码表示法机器数的最高位为符号位,0表示正数,1表示负数,其定义如下:(3)反码表示法机器数的最高位为符号,0表示正数,1表示负数.反码的定义:原码补码反码整数(mod )(mod()) 小数(mod 2) (mod(2-))0 =0.0000=1.0000 =0.0000 =0.0000=1.1111负数原码求反+1 负数每位求反移码移码表示中零也是唯一的真值的移码和补码仅差一个符号位.若将补码的符号位由0改为1或从1改为0即可得到真值的移码乘法运算可用移码和加法来实现,两个n位数相乘,总共要进行n次加法运算和n次移位运算·三种机器数的最高位均为符号位.符号位和数值位之间可用“.”(对于小数)或“,”(对于整数)隔开·当真值为正时,原码,补码和反码的表示形式均相同,即符号位用“0”表示,数值部分与真值部分相同·当真值为负时,原码,补码和反码的表示形式不同,其它符号位都用“1”表示,而数值部分有这样的关系,即补码是原码的“求反加1”,反码是原码的“每位求反”.1)定点数的位移运算左移,绝对值扩大;右移,绝对值缩小.算术移位规则码制添补代码正数0负数原0补右移添0左移添1 反 1算术移位:带符号数移位;逻辑移位:无符号数移位;2)原码定点数的加/减运算;对原码表示的两个操作数进行加减运算时,计算机的实际操作是加还是减,不仅取决指令中的操作码,还取决于两个操作数的符号.而且运算结果的符号判断也较复杂.例如,加法指令指示做(+A)+(-B)由于一操作数为负,实际操作是做减法(+A)-(+B),结果符号与绝对值大的符号相同.同理,在减法指令中指示做(+A)-(-B)实际操作做加法(+A)+(+B),结果与被减数符号相同.由于原码加减法比较繁琐,相应地需要由复杂的硬件逻辑才能实现,因此在计算机中很少被采用.3)补码定点数的加/减运算;(1) 加法整数 [A]补 + [B]补= [A+B]补(mod 2n+1)小数 [A]补 + [B]补= [A+B]补(mod 2)(2) 减法整数 [A]补 - [B]补= [A+(-B)]补=[A]补+ [-B]补(mod 2n+1)小数 [A]补 - [B]补= [A+(-B)]补=[A]补 + [-B]补(mod 2)无需符号判定,连同符号位一起相加,符号位产生的进位自然丢掉4)定点数的乘/除运算(1)一位乘法<1>原码定点一位乘法两个原码数相乘,其乘积的符号为相乘两数的异或值,数值两数绝对值之积.设 [X]原=X0 X1 X2 …Xn[Y]原=Y0 Y1 Y2 …Yn[X·Y]原=[X]原·[Y]原= (X0⊕Y0)∣(X1 X2 …Xn)·(Y1 Y2 …Yn) 符号∣表示把符号位和数值邻接起来.原码两位乘和原码一位乘比较原码一位乘原码两位乘符号位操作数绝对值绝对值的补码移位逻辑右移算术右移移位次数n最多加法次数n<2>定点补码一位乘法有的机器为方便加减法运算,数据以补码形式存放.乘法直接用补码进行,减少转换次数.具体规则如下: [X·Y]补=[X]补(-Y0 + 0. Y1 Y2… Yn )<3>布斯法“布斯公式”: 在乘数Yn后添加Yn+1=0.按照Yn+1 ,Yn相邻两位的三种情况,其运算规则如下:(1) Yn+1 ,Yn =0( Yn+1 Yn =00或11),部分积加0,右移1位;(2) Yn+1 ,Yn =1( Yn+1 Yn =10) ,部分积加[X]补,右移1位;(3) Yn+1 ,Yn =-1( Yn+1 Yn =01) ,部分积加[-X]补,右移1位最后一步不移位.(2)两位乘法Yi-1 Yi C 操作0 0 0 0 0 1 0 1 00 1 11 0 0 1 0 1 1 1 0 1 1 1 +0, 右移2位 0→C +X, 右移2位 0→C +X, 右移2位 0→C +2X, 右移2位 0→C +2X, 右移2位 0→C -X, 右移2位 1→C -X, 右移2位 1→C +0, 右移2位 1→C<2>补码两位乘法Yn-i-1 Yn-i Yn-i+1 [Pi+2]补0 0 0 0 0 1 0 1 00 1 11 0 0 1 0 1 1 1 0 1 1 1 +0, 右移2位 +[X]补, 右移2位 +[X]补, 右移2位 +2[X]补, 右移2位 -2[X]补, 右移2位 -[X]补, 右移2位 -[X]补, 右移2位 +0, 右移2位当乘数由1位符号位和以n(奇数)位数据位组成时,求部分积的次数为(1+n)/2,而且最后一次的右移操作只右移一位.若数值位本身为偶数n,可采用下述两种方法之一:①可在乘数的最后一位补一个0,乘数的数据位就成为奇数,而且其值不变,求部分积的次数为1+(n+l)/2,即n/2+1,最后一次右移操作也只右移一位.②乘数增加一位符号位,使总位数仍为偶数,此时求部分积的次数为n/2+1,而且最后一次不再执行右移操作.(3)补码除法笔算除法和机器除法的比较笔算除法机器除法商符单独处理符号位异或形成心算上商余数不动低位补“0”减右移一位的除数余数左移一位低位补“0”减除数2 倍字长加法器 1 倍字长加法器上商位置不固定在寄存器最末位上商1>恢复余数法被除数(余数)减去除数,如果为0或者为正值时,上商为1,不恢复余数;如果结果为负,上商为0,再将除数加到余数中,恢复余数.余数左移1位.2>加减交替法当余数为正时,商上1,求下一位商的办法,余数左移一位,再减去除数;当余数为负时,商上0,求下一位商的办法,余数左移一位,再加上除数.<2>定点补码一位除法(加减交替法)1〉如果被除数与除数同号,用被除数减去除数;若两数异号,被除数加上除数.如果所得余数与除数同号商上1,否则,商上0,该商为结果的符号位.2〉求商的数值部分.如果上次商上1,将除数左移一位后减去除数;如果上次商上0,将余数左移一位后加除数.然后判断本次操作后的余数,如果余数与除数同号商上1,如果余数与除数异号商上0.如此重复执行n-1次(设数值部分n位).3〉商的最后一位一般采用恒置1的办法,并省略了最低+1的操作.此时最大的误差为2-n.5)溢出概念和判别方法当运算结果超出机器数所能表示的范围时,称为溢出.显然,两个异号数相加或两个同号数相减,其结果是不会溢出的.仅当两个同号数相加或者两个异号数相减时,才有可能发溢出的情况,一旦溢出,运算结果就不正确了,因此必须将溢出的情况检查出来.判别方法有三种:1〉当符号相同的两数相加时,如果结果的符号与加数(或被加数)不相同,则为溢出.2〉当任意符号两数相加时,如果C=Cf,运算结果正确,其中C为数值最高位的进位,Cf为符号位的进位.如果C≠Cf ,则为溢出,所以溢出条件=C⊕Cf .3〉采用双符号f s2f s1.正数的双符号位为00,负数的双符号位为11.符号位参与运算,当结果的两个符号位甲和乙不相同时,为溢出.所以溢出条件= fs2⊕fs1 ,或者溢出条件= fs2fs1 + fs2fs1(三) 浮点数的表示和运算1. 浮点数的表示1)浮点数的表示范围;浮点数是指小数点位置可浮动的数据,通常以下式表示:N=M×R E其中,N为浮点数,M(Mantissa)为尾数(可正可负),E(Exponent)为阶码(可正可负),R(Radix)称为“阶的基数(底)”,而且R为一常数,一般为2,8或16.在一台计算机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来.因此,浮点数的机内表示一般采用以下形式:浮点数的机内表示一般采用以下形式:Ms E M1位 n+1位 m位Ms是尾数的符号位,设置在最高位上.E为阶码(移码),有n+1位,一般为整数,其中有一位符号位,设置在E的最高位上,用来表正阶或负阶.M为尾数(原码),有m位,由Ms和M组成一个定点小数.Ms=0,表示正号,Ms=1,表示负.为了保证数据精度属数通常用规格化形式表示:当R=2,且尾数值不为0时,其绝对值大于或等于(0.5)10.对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求.浮点数的表示范围以通式N=M×R E设浮点数阶码的数值位取m位,尾数的数值位取n位2)IEEE754标准(Institute of Electrical and Electronics Engineers美国电气和电子工程协会)S 阶码(含阶符) 尾数数符小数点位置根据IEEE 754国际标准,常用的浮点数有三种格式:符号位S阶码尾数总位数短实数 1 8 23 32长实数 1 11 52 64临时实数 1 15 64 80单精度格式32位,阶码为8位,尾数为23位.另有一位符号位S,处在最高位.由于IEEE754标准约定在小数点左部有一位隐含位,从而实际有效位数为24位.这样使得尾数的有效值变为1.M .例如,最小为x1.0…0,,最大为x1.1…1.规格化表示.故小数点左边的位横为1,可省去.阶码部分采用移码表示,移码值127,1到254经移码为-126到+127.S(1位) E(8位) M(23位) N(共32位)符号位0 0 0符号位0 不等于0 (-1)S·2-126·(0.M) 为非规格化数符号位1到254之间- (-1)S·2E-127·(1.M) 为规格化数符号位255 不等于0 NaN(非数值)符号位255 0 无穷大0 有了精确的表示,无穷大也明确表示.对于绝对值较小的数,可以采用非规格化数表示,减少下溢精度损失.非规格化数的隐含位是0,不是1.2. 浮点数的加/减运算加减法执行下述五步完成运算:1)“对阶”操作比较两浮点数阶码的大小,求出其差ΔE,保留其大值E,E=max(Ex, Ey).当ΔE≠0时,将阶码小的尾数右移ΔE位,并将其阶码加上ΔE,使两数的阶码值相等.2)尾数加减运算执行对阶之后,两尾数进行加减操作.3)规格化操作规格化的目的是使得尾数部分的绝对值尽可能以最大值的形式出现.4)舍入在执行右规或者对阶时,尾数的低位会被移掉,使数值的精度受到影响,常用“0”舍“1”入法.当移掉的部分最高位为1时,在尾数的末尾加1,如果加1后又使得尾数溢出,则要再进行一次右规.5)检查阶码是否溢出阶码溢出表示浮点数溢出.在规格化和舍入时都可能发生溢出,若阶码正常,加/减运算正常结束.若阶码下溢,则设置机器运算结果为机器零,若上溢,则设置溢出标志.定点数和浮点数可从如下几个方面进行比较①当浮点机和定点机中的位数相同时,浮点数的表示范围比定点数大得多②当浮点数位规格化数时,其相对绝对远比定点数高③浮点数运算要分阶码部分和尾数部分,而且运算结果都要求规格化,故浮点运算步骤比定点运算的步骤多,运算速度比定点运算的低,运算线路比定点运算的复杂④在溢出的判断方法上,浮点数是对规格化的阶码进行判断,而定点数是对数值本身进行判断总之,浮点数在数的表示范围,数的精度,溢出处理和程序编程方面(不取比例因子)均优于定点数.但在运算规则即硬件成本方面又不如定点数。