C++程序设计:第一章计算机基础知识1_第1页
C++程序设计:第一章计算机基础知识1_第2页
C++程序设计:第一章计算机基础知识1_第3页
C++程序设计:第一章计算机基础知识1_第4页
C++程序设计:第一章计算机基础知识1_第5页
已阅读5页,还剩279页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、东南大学(课时:40学时 课内试验机时32学时)在本课程开始之前,有些不太轻松的话题要作如下说明: 当然,程序设计是一门实践性非常强的课程,为此,我们为每个同学安排了32个课时的上机实践,每次上机都是针对所学内容,以帮助理解、巩固和提高为目的。因此,上机也是上课,上机时与上课的要求一样,请同学们务必遵守上机的规则和要求。 此外,学习程序设计,要涉及很多术语、名词、规则等等,课堂上教师不可能逐一描述,只能讲授和解释其中的重点和难点。其余部分也必须通过反复阅读和作业练习才能逐步熟悉和理解。为此,我们规定: 在计算机比较普及的今天,有条件的同学对计算机的一些基本操作,甚至一些硬件以及软件外围的术语可

2、能比较熟练、熟悉,应该说,这对学好这门课程有一定的帮助。但是,这些所谓高科技的市井知识与程序设计的能力完全是两回事。要学好这门课程,必须在课堂学习的基础上,通过反复阅读和练习才能逐步理解和掌握。累计4次未交按时交作业与累计3次缺课一样将被视为放弃考试资格1.1本章主要知识点计算机的基本组成与内部结构 计算机的基本工作原理计算机中数据的存储和表示算法设计数据结构基本概念1.2 计算机系统结构及工作原理 我们现在普遍使用的通用电子数字计算机(Generic Electronic Numerical Computer,简称计算机)是一种现代计算工具。电子计算机最基本的工作特点是人将其启动后能自动进行

3、计算直至得出最终答案。 为了具有自动计算能力,需要为计算机设计一套完整的部件,使之除了具有存储数据的功能外,还应能够允许人向机器输入预先编写的指令,然后使机器自动执行这套指令对数据进行计算,最后将计算结果以人能够看到的形式输出。这是对计算机组成结构的基本要求。电子计算机之父电子计算机之父冯冯 诺依曼诺依曼冯冯 诺依曼思想:诺依曼思想: 1 1、二进制;、二进制; 2 2、程序存储、程序控制;、程序存储、程序控制; 3 3、五大模块(输入、存储、五大模块(输入、存储、运算、控制、输出);、运算、控制、输出); 美籍匈牙利科学家冯冯诺诺依曼依曼历来被誉为“电子计算机之父”。也是本世纪最伟大的数学家

4、、物理学家、经济学家之一。世界上第一台电子计算机世界上第一台电子计算机 19461946年,世界上第一台电子计算机年,世界上第一台电子计算机ENIACENIAC在美在美国宾夕法尼亚大学莫尔学院诞生国宾夕法尼亚大学莫尔学院诞生了!了!:重达重达3030吨吨:启动电力启动电力150000150000瓦瓦:1700017000个电子管个电子管:保存保存8080个字节个字节 事实上,从上世纪40年代的第一台真正意义上的电子计算机ENIAC到现在21世纪最先进计算机的结构设计,都采用同一种计算机体系结构,这就是冯诺依曼体系结构。 冯冯诺依曼计算机的特点诺依曼计算机的特点 能够把解题所需要的程序和数据输入

5、计算机中。 必须具有长时间记忆程序、数据、中间结果及最终运算结果的能力。 能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。 能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。 能够按照要求将计算结果输出给用户。 输入设备输入设备内存储器内存储器输出设备输出设备外存储器外存储器运算器运算器控制器控制器表示数据流表示数据流表示控制流表示控制流 计算机系统的基本逻辑结构包括硬件和软件两个子系统。计算机的基本组成与内部结构计算机系统计算机硬件系统计算机软件系统主机外部设备中央处理器内存储器运算器控制器外存储器输入设备输出设备系统软件应用软件计算机的基本组成与内部结构 如果没有外

6、围设备,CPU和内存就像一个没有躯体的大脑。 计算机内的插槽和端口可以使系统增加外部设备变得十分简单,用户可以在计算机里的扩展槽里插入专用电路板(叫做卡或扩展卡),来个性化他们的计算机。微型计算机的基本结构微机结构特点开放式、模块化体系结构主板(母板)+ 扩展卡 + 设备计算机的基本组成与内部结构 当前微机主要有Intel x86系列和APPLE的Power系列,无论哪个系列,从基本配置的角度,微机由主板和各类扩展卡组成。 主板上主要有CPU、存储器、系统芯片和I/O接口插槽,这些部件均采用总线相连接。 计算机的基本组成与内部结构主板:I/O接口接口内存条内存条扩展槽扩展槽CPU插座插座芯片组

7、芯片组 计算机的基本组成与内部结构控制器控制器随机存储器(随机存储器(RAM)只读存储器(只读存储器(ROM)串行输入串行输入/输出接口输出接口USB接口接口显示器接口显示器接口微型计算机硬微型计算机硬件系统件系统主机主机主板主板中央处理器中央处理器运算器运算器寄存器寄存器内部存储器内部存储器外围接口电路外围接口电路总线总线扩展板卡扩展板卡机箱、电源机箱、电源外围设备外围设备地址总线地址总线控制总线控制总线数据总线数据总线显卡显卡网卡网卡声卡声卡多功能卡多功能卡输入设备输入设备存储设备(外部存储器)存储设备(外部存储器)输出设备输出设备微型计算机的基本结构并行输入并行输入/输出接口输出接口计算

8、机硬件系统的基本组成 逻辑结构冯诺依曼机 一个计算机硬件系统,从功能的角度而言, 一般包含五大功能部件:运算器、控制器、存储器、输入设备和输出设备。总线接口DRPCALUAARI/O桥内存储器I/O总线USB控制器图形适配器磁盘控制器磁盘显示器鼠标键盘存储器总线系统总线+1通用寄存器IR解码器时序扩展槽网络网络适配器CPU 芯片输入/输出设备以太网计算机的基本组成与内部结构 1、 中央处理器CPU (Centre Proccessing Unit)是计算机的核心部件,它完成计算机的运算和控制功能,一般由运算器、控制器和寄存器组成。 运 算 器 又 称 算 术 逻 辑 部 件 ( A L U A

9、rithmetical Logic Unit),主要功能是完成对数据的算术运算和逻辑运算操作。 控制器(Controller)是计算机的控制指挥中心,计算机的神经中枢。它的基本功能是从内存储器中取出指令并对指令进行分析、判断,并根据指令发出相应的各种控制信号,使计算机的有关设备或电子器件有条不紊地协调工作 ,保证计算机能自动、连续地工作。1、CPU CPU中还包括若干寄存器,用来存放运算过程中的各种数据、地址或其他信息。寄存器的种类很多,主要的有: (1)通用寄存器:向ALU提供运算数据,或保留运算结果。一般CPU有多个通用寄存器。 (2)累加器A:这是一个使用相对频繁的特殊的通用寄存器,有重

10、复累加数据的功能。 (3)程序计数器PC:存放将要执行的指令的地址。 (4)指令寄存器IR:用于存放正在执行的指令,或存放根据PC的内容从内存储器中取出的指令。1、CPU1、CPU 19711971年年1111月,美国月,美国 Intel Intel 公司公司制成了制成了世界上第一片微处理器世界上第一片微处理器IntelIntel 40044004。随。随后,许多公司竞相研制微处理器,相继后,许多公司竞相研制微处理器,相继推出了推出了8 8位、位、1616位、位、3232位位和和6464位位微处理器,微处理器,芯片的主频和集成度不断提高,微型计芯片的主频和集成度不断提高,微型计算机发展非常迅速

11、,以算机发展非常迅速,以2 23 3年的速率更年的速率更新换代。新换代。衡量CPU性能的主要技术 (1 1)CPUCPU字长字长 CPUCPU字长指字长指CPUCPU内部各寄存器之间一内部各寄存器之间一次能够传送的数据位。现在主要是次能够传送的数据位。现在主要是3232位位,但是,但是6464位位已经逐步普及;已经逐步普及; (2 2)运算速度运算速度 运算速度一般用每秒钟能够执行运算速度一般用每秒钟能够执行多少条指令来表示。多少条指令来表示。 (3 3)工作频率工作频率 CPUCPU的工作频率也称为的工作频率也称为CPUCPU的主频,的主频,它指它指CPUCPU内核电路的实际运行频率。内核电

12、路的实际运行频率。 (4 4)CPUCPU的生产的生产工艺技术工艺技术 CPUCPU的生产工艺技术通的生产工艺技术通常用常用m m来描述。来描述。CPU的工艺和集成度 所熟知的制造技术应该是从所熟知的制造技术应该是从0.250.25微米开始,到微米开始,到19991999年的年的0.180.18微米微米、20012001年的年的0.130.13微米、微米、20032003年年的的9090纳米纳米( (0.090.09微米微米) ),20052005年年6565纳米纳米( (0.0650.065微米微米) )以及以及20082008年年4545纳米纳米( (0.0450.045微米微米) )制造

13、工艺。制造工艺。 第一代的第一代的Pentium 4Pentium 4只有只有42004200万个晶体管,转变到万个晶体管,转变到NorthwoodNorthwood核心之后提高到核心之后提高到55005500万个,而万个,而PrescottPrescott核心,晶体管总数达到核心,晶体管总数达到1 1亿亿25002500万万个。个。双双核心处理器核心处理器,晶体管规模已经突破,晶体管规模已经突破3 3亿亿个。现在的个。现在的6565纳米的纳米的4 4核处理器在将近核处理器在将近700700平方毫米的面积上平方毫米的面积上集成了集成了20.520.5亿个晶体管亿个晶体管,据称据称4545纳米的

14、纳米的4 4核处理器核处理器的晶体管数是的晶体管数是6565纳米处理器的纳米处理器的2 2倍!倍! 2、存储器 存储器存储器是有记忆能力的部件,用来是有记忆能力的部件,用来保存程序和数据保存程序和数据。在计算机运算过程中,由存储器把预先编制和存储在计算机运算过程中,由存储器把预先编制和存储的程序快速提交给计算机的的程序快速提交给计算机的CPUCPU进行处理。存储器进行处理。存储器分为内存储器和外存储器两类。分为内存储器和外存储器两类。内存储器 内存储器内存储器(也称(也称主存储器主存储器,简称,简称内存内存或或主存主存)可)可以以和和CPUCPU直接相连直接相连,用来存放当前要执行的程序和数用

15、来存放当前要执行的程序和数据,以便快速向据,以便快速向CPUCPU提供信息。内存储器一般采用提供信息。内存储器一般采用半半导体材料和集成电路导体材料和集成电路制造。制造。 内存按其工作方式不同,可分为随机存取存储器(RAM Random Access Memory)和只读存储器(ROM Read Only Memory)两种。ROM:在正常工作的时候只能读出其中存放的数据,而不能改变其内容。因此ROM经常被用来存放那些固定不变,无需修改的数据与程序 。ROM的最大特点是掉电以后,数据不会丢失,通电后可以继续使用。举例:举例:BIOS BIOS 即基本输入/输出系统。 RAM:内存的存储单元可以

16、顺序使用,也可以随机一个单元来使用,这些能被用户程序或指令访问的内存被称为随机存取存储器。DRAM 、SRAMRAM在掉电的时候会将其存储的数据丢失。举例:互补金属氧化物半导体CMOS 内存储器BIOS BIOS (Basic Input/Output System)即基本输入/输出系统。全称是ROMBOIS,是只读存储器基本输入输出系统的简写,它实际是一组被固化到电脑中,为电脑提供最低级最直接的硬件控制的程序,它是连通软件程序和硬件设备之间的枢纽,通俗地说,BOIS是硬件与软件程序之间的一个“转换器”或者说是接口(虽然它本身也只是一个程序),负责解决硬件的即时要求,并按软件对硬件的操作要求具

17、体执行。当开机时,BOIS中的程序开始启动。内存储器互补金属氧化物半导体CMOS (complementary metal oxide semiconductor) : 是主板上的一块可读写的RAM芯片,一种能量消耗低的RAM,可以在电池电量的支持下长期存储少量的数据,CMOS RAM用来存储系统的日期和时间,系统的口令,系统中安装的软盘、硬盘驱动器的个数、类型及参数,显卡的类型,系统启动时访问外存储器的顺序。CMOS芯片是易失性存储器,所以需要专门的电池供电,以支持断电之后的工作。内存储器 外存储器(也称辅助存储器,简称外存),一般需要通过特殊接口与CPU连接。外存储器用来存放当前暂不参加运

18、行而又需要长期保留的程序和数据。存放在外存的程序必须调入内存才能运行。软盘、硬盘和光盘驱动器都属于外存储器。外存储器硬盘属于外部存储器的一种。说起硬盘,你一定不会陌生,包硬盘属于外部存储器的一种。说起硬盘,你一定不会陌生,包括括WindowsWindows系统在内的所有的软件都是安装在硬盘里的,平时系统在内的所有的软件都是安装在硬盘里的,平时所用的资料也都是存储在硬盘中的。硬盘的大小是衡量一台电所用的资料也都是存储在硬盘中的。硬盘的大小是衡量一台电脑性能的重要指标。脑性能的重要指标。1、硬盘 2、软盘 3、光盘和光驱 (4)、移动存储器 闪存盘以闪速存储器为介质,采用USB接口(因此也称其为U

19、盘),体积只有拇指般大小,重量仅15克左右,容量目前一般为2GB4GB,最高可达32GB。闪存盘不需要驱动器,无外接电源,使用方便,即插即用,可带电插拔。它的存储单元可反复檫写100万次,数据可以保持10年以上。 存储器的层次结构塔式结构 内存的存取速度直接影响计算机的运算速度。 内存一般使用半导体材料制造,存取速度较快,容量较小,成本较高;而外存通常以磁性材料和其他材料制造,容量较大,速度较慢,成本较低。 第一层,CPU内部的通用寄存器,用来暂存中间结果,第四和第五层都是辅助存储器,它们与CPU的通信需要经过专门的接口 现代的CPU的速度越来越快,它访问数据的周期只需几个纳秒(ns),而主存

20、储器访问数据的周期需要几十个纳秒。 计算机工作时CPU需频繁地与内存交换信息,这就会使CPU不得不进入等待状态,放慢运行速度,极大地影响计算机的整体性能。 为了有效解决CPU和内存之间的速度匹配问题,目前在微机上采用了高速缓冲存储器(Cache)的方案。 Cache 是高速缓冲存储器,其速度几乎与CPU一样快。它是CPU和内存之间的桥梁。 高速缓冲存储器 cache( (3)、高速缓冲存储器 cache CacheCache按其功能可分为按其功能可分为CPUCPU内部的内部的CacheCache和和CPUCPU外部外部的的CacheCache两类。两类。CPUCPU内部的内部的CacheCac

21、he称为一级称为一级CacheCache,简称,简称L1L1(Level Level 1 1)。它是)。它是CPUCPU内核的一部内核的一部分,与分,与CPUCPU制作在同一个制作在同一个芯片上,速度和芯片上,速度和CPUCPU一致,一致,容量较小,负责容量较小,负责CPUCPU内部内部的寄存器与外部的寄存器与外部CacheCache之之间的缓冲。间的缓冲。CPUCPU外部的外部的Cache Cache 称为二级称为二级CacheCache(L2L2,Level 2Level 2)是相)是相对独立的部件,是对独立的部件,是L1L1的补充,的补充,负责整个负责整个CPUCPU与内存之间的与内存之

22、间的缓冲。缓冲。 存储器的层次结构主要体现在两个层次上:(1)高速缓冲存储器和主存:解决存储器系统的速度问题。(2)主存和辅存:主要解决存储器的容量问题。 (4)存储容量的度量 在计算机中,信息的存储单位常采用位、字节在计算机中,信息的存储单位常采用位、字节 、字等几、字等几种量纲。种量纲。1 1、位、位(bit ) bit ) :一位二进制数(:一位二进制数(0 0或或1)1) 2 2、字节、字节(Byte ) Byte ) :yte = 8bityte = 8bit位(位(BitBit):度量数据的度量数据的最小单位最小单位字节(字节(ByteByte):最常用最常用的基本单位b7 b6

23、b5 b4 b3 b2 b1 b0图图1.4 1.4 字节型存储单元的结构字节型存储单元的结构每个存储单元都有一个编号,此编号称为存储单元的地址(Address)。 CPU对存储器的读写操作都是通过地址来进行的。8个二进制位为一个单元?为了便于对存储器内存放的信息进行管理,整个内存被划分成多存储单元 。一个单元 (3)字(Word):又称计算机字,是可作为独立的信息单位进行运算或处理的若干位的组合,其中所含的二进制数位的个数称为字长。字长一般是字节的整数倍,微型计算机的CPU芯片有16位、32位和64位等规格。 3、总线和接口总线的一般概念总线是计算机系统各部件之间传输地址、数据和控制信息的通

24、道。由一组导线和相关的控制、驱动电路组成。任一时刻,只能有一个部件/设备通过总线发送数据,其他部件只能处于接收状态。 总线的分类及特点 按总线的层次结构 内部总线:在CPU内部,寄存器之间和算术逻辑部件ALU与控制部件之间传输数据所用的总线称为片内总线(即芯片内部的总线)。 系统总线:微机中各插件板与系统板之间的总线,用于插件板一级的互连; 外部总线:微机和外部设备之间的总线,微机作为一种设备,通过该总线和其他设备进行信息与数据交换,它用于设备一级的互连。按传送信息的类型划分 数据总线数据总线(Data Bus,DB) 传输数据信息,双向 其宽度决定了其数据传输能力 数据总线的位数是微型计算机

25、的一个重要指标,通常与微处理的字长相一致。例如Intel 8086微处理器字长16位,其数据总线宽度也是16位。 地址总线地址总线(Address Bus,AB) 传输地址信息,单向 其宽度决定了微机系统的寻址能力 比如8位微机的地址总线为16位,则其最大可寻址空间为21664KB,16位微型机的地址总线为20位,其可寻址空间为2201MB。一般来说,若地址总线为n位,则可寻址空间为2n字节。 控制总线控制总线(Control Bus,CB) 传输控制信号、时序信号和状态信号 特点各异:入/出/双向等特性均不相同 CPU地址总线(地址总线(AB)内存、插内存、插槽槽I/O接口接口I/O设备设备

26、外存接口外存接口硬盘等硬盘等数据总线(数据总线(DB)控制总线(控制总线(CB)地址总线只能把地址信息从CPU单向地传送到存储器或I/O设备。?0 x00000 x00000 x00010 x00010 xffff0 xffff地址总线为地址总线为1616位,则其最大可寻址空间为位,则其最大可寻址空间为2 2161664KB64KB,地址范围从地址范围从0 02 21616-1-1,十六进制,十六进制数为数为0 x00000 x00000 xffff0 xffff0 x00040 x00040 x00030 x0003I/O接口: 计算机和计算机和I/OI/O设备的信息类型和格式可能不一样。设

27、备的信息类型和格式可能不一样。 通过通过I/OI/O接口实现计算机与外部设备的隔离和信号接口实现计算机与外部设备的隔离和信号转换。转换。 计算机和计算机和I/OI/O设备信号传输处理的速度可能不匹配,设备信号传输处理的速度可能不匹配,信号时序有很大差别,信号时序有很大差别,通过通过I/OI/O接口来进行缓冲和接口来进行缓冲和协调。协调。计算机系统中输入计算机系统中输入/ /输出设备是必不可少的一部分,输出设备是必不可少的一部分,但是但是I/OI/O设备一般不与设备一般不与CPUCPU或内存储器直接相连,而是或内存储器直接相连,而是通过通过I/OI/O接口与接口与CPUCPU或内存储器进行信息交

28、换。或内存储器进行信息交换。 串行与并行接口不可缺少的输入输出接口 1、一次只能发送和接受一个比特信息的设备的串行端口,常用于连接到调制解调器。 2、能够成组发送或者接受比特流的设备的并行端口,常用于连接打印机。 硬盘接口 在微型计算机中使用最广泛的硬盘接口标准是IDE和SCSI。 SCSI接口可以连接外部设备,如光盘、扫描仪、打印机。 USB接口 USB接口是一种新型的输入输出总线接口,可以连接多个外 部设备。已普遍所用USB接口。 计算机系统的主板上面常见的接口有:计算机系统的主板上面常见的接口有:其他端口在扩展板上可以看到,而不是系统板上其他端口在扩展板上可以看到,而不是系统板上: :1

29、、将彩色显示器连接到显卡的视频端口。2、将声音设备连接到声卡的麦克风端口、扬声器端口、耳机端口和MIDI(音乐工具的数字界面)端口。 这些端口都遵循经过行业协会认证的接口标准,这样一个厂商生产的设备可以连接到另一个厂商生产的计算机上。常见接口插槽PS2鼠标PS2键盘千兆网10/100M网卡USB并行口MIDI/游戏接口显示器接口13941394a音箱/线入接口/麦克风串行口 输入设备是向计算机输入信息的装置,输入到计算机中的信息都使用二进制中的“0”和“1”两个符号来表示。按照输入信息的类型,设备可以划分如下类型: 数字和文字输入设备(键盘、写字板等)位置和命令输入设备(鼠标器、触摸屏等) 图

30、形输入设备(扫描仪,数码相机等)声音输入设备(话筒,MIDI演奏器等) 视频输入设备(摄像机)温度、压力输入设备(温度、压力传感器)4、外设输入设备输出设备主要用于将计算机处理过的信息保存起来(用“0”和“1”的组合表示),或以人们能接受的数字、文字、符号、图形、语音、动画和图像等形式显示或打印出来。 常用的输出设备有显示器、打印机、绘图仪、磁盘驱动器、数模转换器(DA)等。 输出设备从外部看到的微机系统从外部看到的微机系统 :主机内部的结构:主机内部的结构: 主板也称为主机板、系统板( System Board )、母板(motherboard)。它固定在主机机箱箱体上的一块电路板,主板上装

31、有大量的有源电子元件。其中主要组件有:CMOS、基本输入输出系统(Basic input and output system,BIOS)、高速缓冲存储器(cache)、内存插槽、CPU插槽、键盘接口、软盘驱动器接口、硬盘驱动器接口、总线扩展插槽(提供ISA、PCI等扩展槽)、串行接口(COM1、COM2)、并行接口(打印机接口LPT1)等。因此,主板是计算机各种部件相互连接的纽带和桥梁。 主板的实物图主板的实物图1、 程序、指令和指令系统 一条计算机指令由若干二进制位来表示,指令中一般包含操作码和操作数两部分,其基本格式如图1.7所示。 其中其中操作码操作码指明该指令要完成的操作,例如,加指明

32、该指令要完成的操作,例如,加法、减法、乘法、除法、取数、存数等。法、减法、乘法、除法、取数、存数等。操作数操作数表表示操作对象的内容或所在的示操作对象的内容或所在的存储单元地址。存储单元地址。 图1.7 指令的格式 图1.8 一条加法指令的位模式1.2.3 计算机的工作原理5726用虚构的助记符可表示为用虚构的助记符可表示为ADD GX, BX, FX。图1.8是一个简单指令集中的一条16位指令的位模式示意图。 如果将图中每个4位分别转换成十进制,即为5726,其中操作码5的含义是做加法,该指令表示将2号寄存器与6号寄存器中的数值相加,和放入7号寄存器中。由于二进制数码序列不易看清,一般用助记

33、符描述指令,如图1.8中的指令,用虚构的助记符可表示为ADD GX, BX, FX。按功能分类,可将计算机的指令分为以下几种类型:数据传送指令:实现数据在不同地点之间的传送,这些不同的地点包括CPU、内存和寄存器。在存储器中,数据被传送至另一地点后,原处的数据仍未消失。数据处理指令:实现对数据进行算术运算和逻辑运算。程序控制指令:实现改变程序执行顺序的功能,如跳转指令、循环控制指令、子程序调用及返回指令。输入输出指令:实现CPU与外部设备之间的数据交换。其他指令:实现对计算机硬件的管理,如中断指令和标志位操作指令。一台计算机所能执行的全部指令的集合称为该计算机的指令系统,或称该计算机的机器语言

34、指令系统。不同种类的计算机,其指令系统的指令数目与格式也不同,如80 x86类型的CPU有64条运算指令。但无论哪种类型的计算机,其指令系统都包含有上述5种类型的指令。 微机的工作过程就是逐条执行进入到内存中的二进制机器指令流的过程。而一条指令的执行过程可以简单地分为五个操作阶段:1.取指令,根据程序计数器PC中的地址,从内存储器中取出指令,并送到指令寄存器中(IR)。2、一条指令执行完成后,将下一条要执行的指令地址送入程序计数器PC 。 2、 指令的执行过程3、分析指令。对指令寄存器中的指令进行分析,由译码器对指令中的操作码部分进行译码,得知该条指令要完成什么样的操作,并转换成相应的控制信号

35、;由操作地址码部分得到操作数。4、执行指令。由操作控制电路发出完成该操作所需的一系列控制信号,完成该指令所要求的操作。5、检查有无中断请求。 程序的执行过程就是周期性和重复性地进行这五个操作。微机的工作过程 下面以Intel 8086 CPU中的一条加法指令 ADD AX, NUM 为例来分析其执行过程,假设该指令存放在地址为0200H 的存储单元中。指令中各部分的含义如下:u ADD 加法的操作码。u AX 一个通用寄存器。AX 既提供操作对象,也用来存放运算结果。u NUM 一个变量或变量的地址,该变量的值是加法运算的另一个操作对象。该指令执行的操作可以表示成:执行这条指令前,指令指针寄存

36、器IP中存放的是该指令的地址, 程序计数器程序计数器PC0200H内存内存0200HADD AX, NUM指令寄存器指令寄存器ADD AX, NUMNUM23 AXALU3512译码译码ADD AX, NUMADDPC时序发生器时序发生器解码器解码器IRAAR总线接口总线接口ALUUSB控制器控制器图形适配器图形适配器磁盘控制器磁盘控制器网络适配器网络适配器I/O桥桥DR+1ADD Ri, RjCPU内存内存I/OI/O设备设备接口接口AR PC, PC PC+1读主存读主存, IR 读出内容读出内容(指令指令)Ri Ri+Rj, 保存状态保存状态检测有无中断请求检测有无中断请求流水线 把一条

37、指令的操作分成多个更小的步骤,每个步骤的操作由专门的电路完成。 利用各电路间可并行执行的特点,让各个步骤的执行在时间上重叠起来。 译码译码2取指取指1 译码译码1执行执行1 取指取指2执行执行2 取指取指3译码译码3 执行执行3取指取指1取指取指1 译码译码1执行执行1取指取指2执行执行2取指取指3 译码译码3 执行执行3译码译码2流水线执行方式流水线执行方式 现代计算机是数字计算机,在计算机中的一切信息都是以数字的形式存放和处理的。数值数据:有确定的值并在坐标轴上有对应的点。非数值数据:如文字、字符、图形、声音、逻辑数据信息1.3 数制转换、字符编码信息必须数字化编码,才能传送、存储和处信息

38、必须数字化编码,才能传送、存储和处理。理。一、一、基本概念基本概念1.3 数制转换、字符编码二进制的优点:二进制的优点:物理上容易实现,可靠性强物理上容易实现,可靠性强 运算简单,通用性强运算简单,通用性强 。 数值 十二进制转换 西文 ASCII码 汉字 输入码机内码转换 声音、图像 模数转换 二十进制转换 西文字形码 汉字字形码 数模转换 内存 输入设备 输出设备 数值 西文 汉字 声音、图像 1.3.1进位计数制 什么是计数 ?如何计数?进位计数制(进位计数方法) 进位计数制的基本思想是,首先定义一个有限的计数方法,然后在此基础上再定义一个扩展该有限计数方法的方法,从而完成无限的计数。扩

39、展有限计数方法的方法一般都是通过并列多个有限计数方法实现。进位方进位方式式十进制是人类最熟悉的计数方法。它的基数是10,表示每一位可能出现用于计数的符号个数,有0、1、2、3、4、5、6、7、8、9。最多计数十个量,它的位权是一个可能的计数符号在不同位置时所具有的基本值,如:、10-2、10-1、100、101、102、。如果需要计算的量超过十个,则需要扩展,即并列两个基本的有限计数(两位)。BA基本的有限计数(09)扩展方向由于B是对A的扩展,因此,B的1相当于A的10高位低位扩展的另一个基本的有限计数(09) 十进制的基本计数规则是,逢十进一,借一当十。十进制的所有运算都是建立在此基 础

40、上 。 十 进 制 数 6 6 6 . 6 6 表 示 为 6102+6101+6100+610-1+610-2 。 在与计算机相关的资料中,十进制数表示可以是101、101D、(101)10 十进制表十进制表示形式示形式 假设基数用b表示,各位分别用ai表示(0 ai b-1),则一个进位计数制数N可以表示为: N = anbnan-1bn-1a1b1a0b0 a-1b-1+a-2b-2+a-mb-m = 其中,m、n是正整数。mniiiba第i位相应的权第第i i位数位数字字666.66= 6 102+6 101+6 100+6 10-1+6 10-2二进制的基本计数规则是,逢二进一,借一

41、当二。二进制的所有运算都是建立在此基础上。(11001010)2 - (00010101)2 = (10110101)2 (01001010)2 + (00010101)2 = (01011111)2 在与计算机相关的资料中,二进制数表示可以是101B、(101)2。 二进制表示二进制表示形式形式进位制二进制八进制十进制十六进制规则逢二进一,借一当二逢八进一,借一当八逢十进一,借一当十逢十六进一,借一当十六基数R=2R=8R=10R=16数符0,10,70,90,9,A,E权2i8i10i16i形式表示 BODH计算机中常用的四种进位计数制1.3.2不同进位计数制之间的转换 不同进位计数制之间

42、的等值转换实质上是进行基数的转换。转换所依据的原则是:如果两个数的值相等,则两数的整数部分和小数部分的值一定分别相等。因此在转换时应对该数的整数部分和小数部分分别进行转换。 不同进位计数制之间的转换 尽管得到的表示结果是不同的,但该数本身并没有发生改变。等值转换实质上是进行基数的转换:各种进制数转换成十进制数 任何进制数转换成十进制数都比较简单,只需按该进制的位权按位展开、然后相加即可,其和便是相应的十进制数。这种方法称为按权相加法。比如: (11011.01)2 = 124+123+022+121+120+02-1+12-2 = 16+8+0+2+1+0+0.25 = (27.25)10 (

43、1316.04)8 = 183+382+181+680+08-1+48-2 = 512+192+48+6+0+0.0625 = (758.0625)10 (1FC.88)16 = 1162+F161+C160+816-1+816-2 = 256+240+12+0.5+0.03125 = (508.53125)10 如果A=(12367)8,则A除以(8)10的整数部分是(?)8,余数部分是7; A中有(?)8个(64)10;A除以4的余数是(?)10。 请思考 一个二进制数乘以4的运算能否通过改变小数点位置的方法实现? 请思考(3456)10 =(11011000000)2 =(6600)8

44、=(D80)16 16 ) 3 4 5 6 0 16)2 1 6 8 16) 1 3 13 (D80)16 0 十进制数转换成其他进制数,需要对整数部分和小数部分采用不同的方法进行。(1)对于整数部分,将十进制数不断地除以要转换的进制的基数,并取得其余数。整数部分继续上述方法,直到商为0时停止。所有余数的反向排列即为所需要的某进制数。这种方法称为除基数取余法。 例如: 十进制数转换成其他进制数转换原理?2)3 4 5 6 0 2)1 7 2 8 0 2) 8 6 4 0 2) 4 3 2 0 2) 2 1 6 0 2) 1 0 8 0 2)54 0 (1 110110000000)2 2)2

45、7 1 2)1 3 1 2)6 0 2)3 1 2)1 1 08 )3 4 5 6 0 8) 4 3 2 0 8) 5 4 6 (6600)8 8) 6 6 0十进制数转换成其他进制数设一个十进制整数X已被表示成一个二进制数( kn kn1 k1 k0),那么X按二进制的权展开如下:X = kn2nkn-12n-1k121k020由于展开的前几项均为2的整数倍,因此k0即为X除以2的余数。也即, X/2的商为:kn2n1kn-12n-2k120余数为k0转换原理:(2)对于小数部分,将十进制小数不断地乘以要转换的进制的基数,并取得其整数部分。余小数部分继续上述方法,直到满足精度(因为有可能出现

46、循环现象,因此一般要给出小数位数)停止。所有整数的正向排列即为所需要的某进制小数。这种方法称为乘基数取整法。 例如:(0.346)10 =(0.0101100)2=(0.260)8=(0.58)16 (有一定精度有一定精度) 0.3462 = 0.692 0 0.6922 = 1.384 1 0.3842 = 0.768 0 0.7682 = 1.536 1 (0.0101100)2 0.5362 = 1.072 1 0.0722 = 0.144 0 0.1442 = 0.288 0 0.3468 = 2.768 2 0.7688 = 6.144 6 (0.261)8 0.1448 = 1.1

47、52 1 0.34616 = 5.824 5 (0.5D)16 0.82416 = 13.184 13十进制数转换成其他进制数转换原理?设一个十进制纯小数X已被表示成一个二进制数k1 k2 k(m-1) k-m,那么X按二进制的权展开如下:X = k-12-1k-22-2k-m2-m将其乘以2,即为 :k-1+k-22-1k-m2-m+1转换原理:整数部分为k1 对于既有整数又有小数部分的十进制数,则可对其整数与小数部分分别转换成二进制数,再把两部分结果合并起来。 比如,(18)10 = (10010) 2;(0.8125)10 = (0.1101)2 因此,(18.8125)10 = (10

48、010.1101)2 对于十进制转换成其它进制数时,要充分理解位权和基数的概念。通过位权和基数的概念,可以采用简便的转换方法。 十进制数转换成其他进制数10)12811(10)217(= (-11128-1)10 = (-112-7)10= (-10112-7)2 = (-0.0001011)2= (7+12-1)10 = (111+12-1)2= (111+0.1)2 = (111.1)2= A(8+2) = A8 + A2= A23 +A2A10比如:(47/128)10把以下几个十进制数转化成二进制数:=(47/27)10 =(101111/27)2=(0.0101111)2 因二进制数

49、的基数是2,八进制数的基数是8,由于23=8,所以八进制的一位可以表达的计数范围对应于二进制的三位联合可以表达的计数范围。 二进制数转换成八进制数的基本方法是,以小数点为基准,整数部分从右至左,每三位一组,最高位不足三位时补0;小数部分从左至右,每三位一组,最低有效位不足三位时补0。然后,每组改成等值的一位八进制数即可。这种方法称为“三归一法”。二进制数与八进制数、十六进制数之间的转换 同理,十六进制的一位可以表达的计数范围对应于二进制的四位联合可以表达的计数范围。二进制数转换成十六进制数采用“四归一法”: 比如: (11101.10101)(11101.10101)2 2 (00000011

50、101.1010111101.10101000000) )2 2 = = (1D.A81D.A8)1616 反之,八进制数转换成二进制数可采用“一拆三法”,即把一位八进制数写成等值的三位二进制数然后按权连接即可。十六进制数转换成二进制数可采用“一拆四法”。二进制数与八进制数、十六进制数之间的转换1.3.3计算机中的数据表示及其存储 在计算机中,所有的数据、指令和符号都是用特定的二进制代码来表示的。一个数在计算机内部表示成的二进制形式称为机器数,原来的数称为这个机器数的真值。机器数具有下列特点:(1) 由于计算机设备的限制,机器数有固定的位数,它所表示的数受到计算机固有位数的限制,所以机器数具有

51、一定的范围,超过这个范围便无法正确表示,我们称这种情况为“溢出”。机器数及其表示 (2) 机器数把其真值的符号数字化。计算机中使用具有两个不同状态的电子器件,它们只能分别代表数字符号“0”或“1”。那末,数的正负号也只能通过0和1来加以区分。通常,我们用机器数中规定的符号位(一般是一个数的最高位)取0或1,来分别表示其真值的正或负。(3) 机器数中依靠格式上的约定表示小数点的位置。根据约定的小数点位置是否固定,分为定点表示法和浮点表示法两种。 关于正负号的处理,机器数也有不同的表示方法,常用的有四种:原码、补码、反码和移码。 (1)原码 :最高位(最左边一位)表示数的符号:“0”表示正号,“1

52、”表示负号;其余各位表示数的大小,即这个数的绝对值。通常用X原表示X的原码。 +57原 = 00111001-57原 = 10111001-1原 = 10000001-127原 = 11111111+127原 = 01111111+0原 = 00000000,-0原 = 10000000 不唯一,有“正零”和“负零”之分一、机器数对于正负号的处理补码的理解模(表示范围)举例:设举例:设a=4,b=6,用原码计算用原码计算(a-b)。(2) 补码表示法在讨论补码之前,先介绍模的概念。“模”是指一个计量系统的计数范围。模实质上是计量器产生“溢出”的量,它的值在计量器上表示不出来,计量器上只能表示出

53、模的余数。以众所周知的时钟为例,设当前时钟指向1点,而准确时间应为5点,调整时间的方法有两种。一种方法是将时针倒拨8小时,即13-5=8;另一种方法是将时针顺拨4小时,即。由此可见,在以12为模的系统中加4和减8的效果是一样的,即(-8)=(+4)(Mod 12)。 这里称- 8和+4互补,它们的绝对值相加恰好等于时钟的模12。 下面引入补码表示法。对于整数而言,若计算机字下面引入补码表示法。对于整数而言,若计算机字长为长为n位,则位,则 x 0 x 2n-1 2n + x 2n-1 x 0时,最大值为X补=01111111=+127;而当X0时,绝对值最大为X补=10000000对应的真值为

54、 -128。所以8位整数的表示范围是-128+127。 数0的补码表示是唯一的,即 0 补=+0 补=- 0 补=00000000对负数而言求其补码有一个简便的方法是:符号位取1,其余各位按其真值取反,然后在它的末位加1。简称“求反加1法”。【例例1-8】 求求- 36的补码。的补码。解:第解:第1步:将步:将- 36表示成二进制数:表示成二进制数: - 0 1 0 0 1 0 0 第第2步:步: 1 1 0 1 1 0 1 1 第第3步:步:反之,反之,从补码求真值的方法从补码求真值的方法是:是:1、若符号位为、若符号位为0,则符号位后的二进制数就是真值,且为正;则符号位后的二进制数就是真值

55、,且为正;2、若、若符号位为符号位为1,则将符号位后的二进制代码逐位取反,则将符号位后的二进制代码逐位取反,再在末位加再在末位加1,所得结果为真值,且为负。,所得结果为真值,且为负。+11 1 0 1 1 1 0 0【例例1-9】 求求11110110补补的真值。的真值。解:解:第第1步:步:除符号位外,各位取反:除符号位外,各位取反: 1 1 1 1 0 1 1 0 1 0 0 0 1 0 0 1第第2步:步: 1 0 0 0 1 0 1 0所以所以 真值为(真值为(0001010)2,即(,即(10)10+1根据补码定义,可以证明根据补码定义,可以证明x 补补+y 补补= x + y 补补

56、x 补补y 补补= xy 补补 这表明,这表明,两个补码加减的结果也是补码两个补码加减的结果也是补码,而且在,而且在运算时,符号位可同数值部分作为一个整体参加运算时,符号位可同数值部分作为一个整体参加运算,如果符号位有进位,则舍去进位。运算,如果符号位有进位,则舍去进位。x 补补+-y 补补= x - y 补补x 补补+y 补补= x + y 补补【例例1-10】 设设a=4,b=6,请用补码求和方法,请用补码求和方法计算计算(a - b)。解:因为解:因为a 补补=00000100,- b 补补=11111010 且且a - b 补补=a 补补+- b 补补=00000100+1111101

57、0=11111110所以所以 (a - b)= - 2x 补补+-y 补补= x - y 补补(3)反码 :对于正数,反码与其原码相同,。对于负数,将其原码的符号位保持不变,其余各位取反。+57反 = 00111001-57反 = 11000110-1反 = 11111110+127反 = 01111111 -127反 = 10000000+0反 = 00000000;-0反 = 11111111不唯一移码 :把补码的符号位取反求得。+57原 = 00111001-57原 = 10111001-1原 = 10000001-127原 = 11111111+127原 = 01111111+0原 =

58、 00000000,-0原 = 10000000 不唯一假定一个数在机器中占用8位。(1) 原码0X1|X|0X1|X|0X1|X|+1+7: 00000111 +0:00000000 7: 10000111 0:10000000 +7: 00000111 +0:00000000 7:11111 000 0:11111111 +7: 00000111 +0:00000000 7:11111001 0:00000000 (2)(2)反码反码(3)(3)补码补码XX原原= =X反反=X补补=真值原码反码补码1270111 11110111 11110111 111110000 0001 0000

59、0001 0000 000100000 0000 0000 0000 0000 000001000 0000 1111 11110000 000011000 0001 1111 11101111 11111271111 11111000 0000 1000 0001128无法表示无法表示1000 0000典型数编码举例:1、原码、反码表示数的范围是:127127,而补码表示数的范围是:127128;2、原码、反码有0和0之分;3、正数的原码、补码、反码的表示形式相同。结论:结论:补码的理解取反加1x补 =x 0 x2n-1 2n+x -2n-1x02n + x= 2n - 1 + 1 + x=

60、1111 + 1 + x=1111 + x + 1=1111 - |x| + 1=|x| + 1nnn二、机器数对于小数点的处理 (1) 定点表示法 定点表示法中约定所有数据的小数点隐含固定在某个位置,该位置在计算机设计制造时已经规定,勿需再用其他状态来明显地表示小数点。用这种方法表示的数称为定点数。只能处理定点数的计算机叫做“定点机”。 把小数点位置固定在数的最高位之前,使机器所表示的数是纯小数。这种表示中,|X|min=2-n ,|X|max=1-2-n(设尾数有n位) S符号位符号位小数点小数点|N|1定点整数定点整数S小数点小数点小数点|N|=2 n 1 10=N_C:_ 其中 “_” 是为光

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论