计算机原理资料_第1页
计算机原理资料_第2页
计算机原理资料_第3页
计算机原理资料_第4页
计算机原理资料_第5页
已阅读5页,还剩308页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

思考题:在电子时代前,有可能制造成功自动工作的计算机吗?自动工作的计算机有两个条件:一是具有内动力,二是要按照程序存储控制方式工作。从第一个条件看,显然不能使用蒸汽机、内燃机作为内动力,否则机器就太庞大了,因此,计算机的内动力只有到了电气时代以后才能可能。从第二个条件看,为了存储程序(当然要存储计算使用的数据),就需要相应的存储技术。从现在看,在电气时代可以用于存储的技术有纸带穿孔技术,磁芯存储技术。但是纸带穿孔技术如果不与光、电技术结合,就得使用笨重的机械杠来测试有孔与无孔,其速度和可计算规模是非常低下的。而光电技术只有到了电子时代才可能使用。所以在电子时代之前,虽然有可能知道成功自动工作的计算机,但是由于体积过于庞大,其计算规模会受到很大限制。`第一章概论计算机(Computer):

1、

概念: 计算机是一种以电子器件为基础的,不需人的直接干预,能够对各种数字化信息,进行算术和逻辑运算的快速工具。

(1)

以电子器件为物质基础:电子数字计算机

(DigitalComputer)(2)

不需要人的直接干预:自动化(存储程序为基础)(3)

数字化信息:二进制(计算机能够具有逻辑判断和处理能力的基础)(4)

算逻运算:基本运算操作是算术和逻辑运算(5)

快速工具:(A)

电子器件(B)

存储程序2、

层次:

(1)内部特征:

(A)

高速高集成度开关元件(B)

数字化信息编码(C)

逻辑判断和处理能力(D)

存储程序(2)外部特征:(A)

快速性(由(1)中(A)(D)决定)

(B)准确性(由(1)中(B)(D)决定)(C)逻辑性(由(1)中(A)(C)(D)决定)(D)

通用性(由(1)中(A)(B)(C)(D)决定)

3、特征:

1.1.1计算机的发展概况1、第一代计算机(1)

1946年第一台计算机ENIAC~~50年代末(2)

主要特征:电子管作为电子器件(3)

软件处于初始阶段,使用机器语言与符号语言编制程序(4)

特点:体积大,运算速度低,存储容量小,主要用于科学计算。

1.1计算机的发展、应用和分类

逻辑器件使用电子管,用穿孔卡片机作为数据和指令的输入设备,用磁鼓或磁带作为外存储器,使用机器语言编程。其代表机型有:ENIAC、IBM650(小型机)、IBM709(大型机)等。1.1.1计算机的发展概况2、第二代计算机(1)

50年代末~~60年代初(2)

主要特征:晶体管作为电子器件(3)

软件方面开始使用计算机高级语言(4)

特点:体积减小,重量轻、寿命长、耗电少、运算速度快、存储容量比较大等优点。不仅用于科学计算,还用于数据处理和事务理,并逐渐用于工业控制。

1.1计算机的发展、应用和分类

使用晶体管代替了电子管,内存储器采用了磁芯体,引入了变址寄存器和浮点运算硬件,利用I/O处理机提高了输入输出能力。在软件方面配置了子程序库和批处理管理程序,并且推出了Fortran、COBOL、ALGOL等高级程序设计语言及相应的编译程序,降低了程序设计的复杂性。其代表机型有:IBM7090、IBM7094、CDC7600等。1.1.1计算机的发展概况

3、第三代计算机(1)

60年代中期~~70年代初期(2)

主要特征:中、小规模集成电路作为电子器件(3)

操作系统的出现(4)

特点:体积与功耗都得到了进一步的减小,可靠性和运算速度进一步提高。不仅用于科学计算,还用于文字处理、企业管理、自动控制等领域,出现了管理信息系统,可用于生产管理、交通管理、情报检索等领域。

1.1计算机的发展、应用和分类

用半导体、小规模集成电路(IntegratedCircuit——IC)作为元器件代替晶体管等分立元件,用半导体存储器代替磁芯存储器,使用微程序设计技术简化处理机的结构,这使得计算机的体积和耗电量显著减小,而计算速度和存储存量却有较大提高,可靠性也大大加强。在软件方面则广泛地引入多道程序、并行处理、虚拟存储系统和功能完备的操作系统,同时还提供了大量的面向用户的应用程序。计算机开始定向标准化、模块化、系列化,此时,计算机的应用进入到许多科学技术领域。其代表机器有:IBM360系列、富士通F230系列等。1.1.1计算机的发展概况

4、第四代计算机(1)70年代初~~今(2)主要特征:大规模与超大规模集成电路作为电子器件(3)软件越来越丰富,并且功能强大(4)特点:计算机在各种性能上都得到了大幅度提高。

1971年以来,作为第四代计算机重要产品的微型计算机得到了飞速的发展,对计算机的普及起到了决定性的作用。以微机为例,IBMPC8088—80286—80386—80486—Pentium

1.1计算机的发展、应用和分类

大规模集成电路使计算机发生了巨大的变化,半导体存储器的集成度越来越高。Intel公司推出了微处理器,诞生了微型计算机,使计算机的存储容量、运算速度、可靠性、性能价格比等方面都比上一代计算机有较大突破。计算机也沿着两个方向飞速向前发展。一方面,利用大规模集成电路制造多种逻辑芯片,组装出大型、巨型计算机。另一方面,利用大规模集成电路技术,将运算器、控制器等部件集成在一个很小的集成电路芯片上,从而出现了微处理器。完善的系统软件、丰富的系统开发工具和商品化的应用程序的大量涌现,以及通信技术和计算机网络的飞速发展,使得计算机进入了一个大发展的阶段。1.1.1计算机的发展概况

5、未来的计算机 以超大规模集成电路为基础,未来的计算机将向巨型化、微型化、网络化与智能化的方向发展。

1.1计算机的发展、应用和分类

1、科学计算2、过程检测与控制利用计算机对工业生产过程中的某些信号自动进行检测,并把检测到的数据存入到计算机,再根据需要对这些数据进行处理。这样的系统称为计算机检测系统。但一般来说,实际的工业生产过程是一个连续的过程,往往既需要用计算机进行检测,又需要用计算机进行控制。3、信息管理信息管理是目前计算机应用最广泛的一个领域。所谓信息管理,是指利用计算机来加工、管理与操作任何形式的数据资料,如企业管理、物资管理、报表统计、帐目计算、信息情报检索等。4、计算机辅助系统计算机用于辅助设计、辅助制造、辅助教学等方面,统称为计算机辅助系统。

1.1.2计算机的应用领域

计算机按其复杂程度的不同,可适用于各种行业,从仪器仪表和家电的智能化,到科学计算、自动控制、数据和事务处理、辅助设计、办公自动化、生产自动化、数据库应用、网络应用、人工智能、计算机模拟、计算机辅助教育等各个领域均得到了广泛的应用。(1)办公自动化:简称为OA(OfficeAutomation)。它是计算机、通信与自动化技术相结合的产物,也是当前最为广泛的一类应用。

(2)生产自动化:包括计算机辅助设计、计算机辅助制造和计算机集成制造系统等,它们是计算机在现代生产领域特别是制造业中的典型应用,不仅提高了自动化水平,而且使传统的生产技术发生了革命性的变化。

1.1.2计算机的应用领域

(3)数据库应用:数据库是在计算机存储设备中按照某种关联方式存放的一批数据。借助数据库管理系统DBMS,可对其中的数据实施控制、管理和使用。(4)网络应用:计算机网络就是利用通信设备和线路等与不同的计算机系统互连起来,并在网络软件支持下实现资源共享和传递信息。通常有局域网(LAN)、广域网(WAN)、城市网(CAN)和因特网(Internet)。(5)人工智能:人工智能研究方向中最具有代表性的两个领域是专家系统和机器人。(6)计算机仿真:计算机仿真是使用仿真软件在计算机上进行必要的模拟试验,从而大大减少投资、避免风险。(7)远程教育:远程教育是建立在互联网上的一种教学环境。它以现代化的信息技术为手段,以适合远程传输和交互式学习的教学资源为教材构成开放式教育网络。

1、

根据计算机的应用范围分: (1)

专用计算机:为特定应用问题而设计的计算机,具有经济、有效和快速等特点,但它的使用面较窄。 (2)

通用计算机:通用计算机使用面广,通用性强,操作相对简单。

2、根据计算机的规模分: (1)

巨型机 (2)

大型机 (3)

中型机 (4)

小型机 (5)

微型机 发展方向:巨型化、微型化、网络化与智能化1.1.3计算机的分类

计算机系统是由计算机硬件和计算机软件组成的。 计算机硬件(Hardware)是指构成计算机的所有实体部件的集合,通常这些部件由电路(电子元件)、机械等物理部件组成。

1.2计算机硬件

1、冯·诺依曼原理的基本思想:

采用二进制形式表示数据和指令。指令由操作码和地址码组成;

“存储程序”和“程序控制”(简称存储程序控制);

指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。

计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成。

1.2.1计算机的组成部件

1.2.1计算机的组成部件

2、基本组成它由5大组成部件,如图1.1所示。(1)

存储器存储器包括主存储器、辅助存储器和高速缓冲存储器,是赋予计算机记忆功能的部件。存储系统的特性已经成为影响整个系统最大吞吐量的决定因素。

(A)

基本功能:读和写(a)对象:数据和指令(b)单元:存储单元—地址(B)

分类:(a)内存(主存)分为ROM和RAM

(b)外存(辅存)磁盘硬盘

1.2.1计算机的组成部件主存储器按照存取限制分为RAM(randomaccessmemory),随机存储器和ROM(readonlymemory),只读存储器两种,前者可以读写,后者只能读不能写。半导体RAM元件分为静态和动态两种,SRAM(staticRAM)和DRAM(dynamicRAM)他们的区别是:前者是利用开关特性进行记忆,只要电源有电,总能保持一个状态。后者除了电源有电外还要动态每隔一个周期进行刷新,否则信息丢失。ROM是一种在机器运行过程中,只能读出不能写入的信息无源存储器,他是一种非易失性器件,它所存储的信息用特殊方式写入,一般用于存储固定信息。ROM分为以下几类ROM、PROM、EPROMROM指MROM(MOSROM,掩膜只读存储器)采用一次制成,可靠性高,集成度高,成本低,灵活性差等特点。

(1)

存储器PROM(programmableROM)可编程的ROM,可以完成一次程序的写入。EPROM(erasableprogrammableROM),可擦除可编程ROM,是一种可改写的ROM,目前使用最多。主存储器的性能指标

1每位成本

2容量

3存取速度

4信息可靠保存性非易失性和可更改性

5可靠性辅助存储器是主存储器的后援存储设备,用以存放当前暂时不用的程序或者数据。辅助存储器的要求是:容量大,成本低,可以脱机保存。目前有磁读写和光读写两类。包括磁盘磁带光盘等。硬盘存储器的主要性能指标

1记录密度和硬盘容量

2主轴转速

3寻道时间

4平均存取时间

5缓冲存储区大小

6数据传输率

7误码率

硬盘的接口标准IDE(电子集成驱动器)多用于家用电脑SCSI(小型计算机系统接口)不是硬盘专用,应用广,多任务,cpu占用低,价格高。用于中端或高端服务器。光纤通道支持热插拔,远程连接,连接设备数量大,价格贵,用于高端服务器上。SATA串口硬盘,结构简单,支持热插拔。目前应用最为广泛。磁带存储器容量大价格便宜顺序存取,访问速度慢。光盘存储器特点记录密度高,容量大非接触方式读写没有磨损可靠性高长期保存(60-100年)成本低,易于复制存储密度大,体积小,读取时间低于磁盘光盘存储器的类型只读型只写一次型可擦写光盘闪速存储器具有速度快,抗震,节能,轻便特点,一般用作U盘。Cache高速缓冲存储器,她存取速度高,一般用SRAM元件制成,速度与cpu相当。但是价格昂贵,所以它的容量小。

2、基本组成

(2)

运算器(A)

主要功能:对二进制数码进行算术(+-*/)和逻辑(与或非)运算

(B)

组成:

(a)ALU(ArithmeticLogicUnit):核心为并行加法器(b)通用寄存器组(c)多路开关或数据锁存器:控制数据输入(d)输出移位开关:控制数据输出(e)与其他部件间信息传送的总线及控制数据传送的接收器和发送器

(C)

精度和速度是运算器重要的性能指标。

1.2.1计算机的组成部件

1.2.1计算机的组成部件

运算器基本逻辑框图总线发送器输出移位开关接收器ALU多路开关多路开关通用寄存器

2、基本组成

(3)

控制器

(A)

功能:读取指令、翻译指令代码、并向计算机各部分发出控制信号,以便执行指令。当一条指令执行完以后,控制器会自动地去取下一条将要执行的指令,重复上述过程直到整个程序执行完毕。(定序、定时、操作控制)(B)

组成:(a)指令部件

IR(指令寄存器)、ID、PC(指令计数器)、PSW、地址形成部件

(b)时序部件(c)微操作控制线路(d)中断控制逻辑1.2.1计算机的组成部件

2、基本组成

(4)输入设备输入设备能将数据和程序变换成计算机内部所能识别和接受的信息方式,并顺序地把它们送入存储器中。输入设备由许多种类,例如键盘、鼠标、扫描仪、光电输入机等。

(5)输出设备输出设备将计算机处理的结果以人们能接受的或其它机器能接受的形式送出。输出设备同样由许多种类,例如显示器、打印机、绘图仪等。1.2.1计算机的组成部件

在计算机的5大部件中,运算器和控制器是信息处理的中心部件,所以它们合称为“中央处理单元”(CPU:CentralProcessingUnit)。存储器、运算器和控制器在信息处理操作中起主要作用,是计算机硬件的主体部分,通常被称为“主机”。而输入(Input)设备和输出(Output)设备统称为“外部设备”,简称为外设或I/O设备。

1.2.1计算机的组成部件

1.存储程序原理把事先编制好的由计算机指令组成的程序存放到存储器内,计算机在运算时依次取出指令,根据指令的功能进行相应的运算,这就是存储程序原理。2.程序的自动执行程序在执行前先装入内存储器,CPU负责从内存中逐条取出指令,分析识别指令,最后执行指令,从而完成一条指令的执行周期。程序的执行流程:取指令—分析指令—执行指令。3、工作原理

(1)

程序的执行:(A)

编写程序(B)

翻译成机器指令(C)

将程序和数据写入存储器(D)

将第一条指令地址放入PC

(E)

执行所有指令(F)

结束3、工作原理

(2)

指令的执行:三个阶段:取指令、分析指令、执行指令(A)开始时,将第一条指令地址=》PC

(B)(PC)=》MAR(主存的地址寄存器),发“读”命令,使(MDR主存的数据寄存器)=》IR

(C)翻译IR的操作性质(D)取操作数(E)将操作数运算器,运行(F)送结果(a)R

(b)内存

(G)(PC)+1=》PC3、工作原理

一、总线1、概念:

总线(Bus)就是计算机中用于传送信息的公用通道,是为多个部件服务的一组信息传送连接线。分时和共享是总线的两个基本特性。共享:多个部件连接在同一组总线上,各个部件相互之间交换信息都通过这组总线传达。分时:是指同一个时刻总线只能在一对部件之间传送信息,系统中多个部件不能同时传送信息。1.2.2计算机的总线结构2、总线的工作原理总线的通信控制方式同步通信和异步通信同步通信中,各个部件通过总线进行数据的传送,用一个公共的时钟信号进行同步控制,时钟信号通常由CPU发出,并发送到每一个设备,经过固定的时间,本次传送周期结束,并开始进行下一个周期。优点是模块间的配合简单,并且采用公共时钟,每个部件什么时间发送或者接收信息统一,具有较高的传输效率。缺点是缺乏灵活性。异步通信也称问答方式,这种方式没有公共时钟,没有固定的标准。采用“请求”和“应答”方式进行控制。异步应答主要分为全互锁、半互锁、不互锁。3、总线的组成总线基本上包括三个部分(1)传输线总线是信号的集合,这些总线可以分为以下几种类型。地址线:决定直接寻址范围数据线:决定同时并行传输数据的宽度控制、时序、中断信号线:决定总线功能的强弱,适应性好坏电源线:决定电源电压种类,地址分布以及其他的用法。备用线:用户进行性能扩展,满足特殊需要。(2)逻辑接口总线于各个部件并不是直接相连的,通常需要一些三态门和缓冲器作为接口。(3)总线控制器总线要为多个部件共享,实现他们的通信需要一个总线控制器,进行合理的分配和管理。

4、分类:(1)按照传送信息的属性来分:

数据总线(DB:DataBus)——用于在各部件之间传送数据信息。

地址总线(AB:AddressBus)——用于传送各部件相互访问用的地址信息。

控制总线(CB:ControlBus)——用于传送控制各部件操作的控制信息。(2)按信息传送的方向区分:单向总线和双向总线。(3)按连接对象和完成的功能分:

I/OBUS和MEMORYBUS

存储总线——用于CPU与主存储器的信息交换,I/O总线——用于外设与主机的信息交换。5、按总线连接方式,计算机组成结构分为三类A、单总线结构这种结构把各功能部件都连接在单总线(SingleBus)上,所有部件间的信息交换都经由单总线进行,如图1.2。(1)Unified-Bus:一元化总线:PDP-11(2)Single-Bus:单总线:IBM-PCB、双总线结构(1)两种总线:存储总线——用于CPU与主存储器的信息交换,I/O总线——用于外设与主机的信息交换。(2)三种形式:

(A)

以CPU为中心的双总线结构

(B)

以存储器为中心的双总线结构(C)采用通道或输入输出处理机IOP来处理输入输出工作的双总线结构。C、多总线结构在高速外设与主存储器之间可以增设直接存储器访问(DMA:DirectMemoryAccess)方式的高速I/O总线(DMA总线),从而形成多总线结构,如图1.4。单总线外设存储器CPU图1.2单总线的组成结构(a)以CPU为中心存储总线I/O总线外设存储器CPU(c)采用通道形式(b)以存储器为中心存储总线I/O总线I/O总线外设存储器CPU存储总线外设外设CPU图1.3双总线的组成结构存储器通道存储总线DMA总线I/O总线存储器CPU图1.4多总线的组成结构外设外设ISA总线微通道结构MCA和EISAPCI(外部部件互联总线)一般有以连接网卡、声卡、打印机等AGP总线一种为了提高视频带宽而设计的总线规范。接口标准(设备总线)USB(通用串行总线)目前已经推出3.0标准。使用USB接口可以连接不同设备,支持热插拔,即插即用。6、几种系统总线标准

1、软件(Software): 是指能使计算机工作的程序和程序运行时所需要的数据,以及与这些程序和数据有关的文字说明和图表资料,其中文字说明和图表资料又称为文档。程序+数据+文档1.3计算机软件

2、分类:(1)

系统软件 系统软件是指管理、监控和维护计算机资源(包括硬件和软件)的软件。(A)

操作系统

DOS、WINDOWS、UNIX、XENIX

通常,操作系统具有五个方面的功能:存储管理、处理机管理、设备管理、文件管理和作业管理。 (B)语言处理程序 机器语言、汇编语言和高级语言(编译、解释)三类。(C)数据库管理系统 数据库和管理数据库的软件构成数据库管理系统。(D)服务程序

(2)

应用软件1.3计算机软件1.4.1软件与硬件的逻辑等价

1、含义:(1)

任何一个由软件所完成的操作也可以直接由硬件来实现(2)

任何一条由硬件所执行的指令也能用软件来完成

2、固件(Firmware): 固件是一种界于传统的软件和硬件之间的实体,功能上类似软件,但形态上又是硬件。 微程序是计算机硬件和软件相结合的重要形式。1.4计算机系统硬件和软件的结合

1.4.2计算机系统的层次结构图1.5计算机系统的层次结构第5层编译程序高级语言层第4层汇编程序汇编语言层第3层操作系统操作系统层第2层微程序机器语言层第1层微指令直接由硬件执行微程序设计层

1、系列机: 一组计算机若是属同一个系统结构,但在性能上由低档到高档形成一个系列,就组成一个计算机系列(family)。这一系列计算机(系列机)中的每个机型都具有:相同的基本指令系统,相同的数据结构,相同的基本输入输出操作,支持相同的基本系统软件等。1.4.3系列机与兼容性2、兼容性:(1)

软件兼容是指一个软件不经修改就能在不同机型上正确运行。(2)

软件兼容存在以下两种情况:

软件的向上兼容性——这是指某档机原开发的软件可以不加修改便能在它的高档机上正确运行使用。

软件的向下兼容性——这是指某档机的软件可以不加修改便能在它的低档机上正确运行使用。在这种情况下,软件向上兼容是不成问题的。(3)

兼容(Compatible)是一个广泛的概念,包括软件兼容、硬件兼容、系统兼容等等。1.4.3系列机与兼容性

主频——主频很大程度上决定了计算机的运行速度,它的单位是兆赫兹(MHz)。

字长——字长决定了计算机的运算精度、指令字长度、存储单元长度等,可以是8/16/32/64位。

运算速度——(1)早期方法是每秒执行加法指令的次数,(2)现在通常用等效速度。等效速度由各种指令平均执行时间以及对应的执令运行比例计算得出,即用加权平均法求得。它的单位是每秒百万指令(MIPS)。对比:Mflops

存储容量——字数*字长

1024(210)简称为1K(千),1024K(220)为1M(兆),1024M(230)为1G(千兆)。1.5计算机的性能指标第2章编码与运算基础学习目的:

掌握二进制编码的方法、运算规则及在计算机中的实现方法,了解冗余码的编码原理。主要内容:

基于二进制的各种数据的编码;数值运算规则;基本逻辑电路;用于检错和纠错的冗余码的编码原理。预备知识22=424=1628=256210=1024220=10485761K=210=1024(Kilo)1M=1024K=220

(Mega)1G=1024M=230(Giga)1个二进制位:bit(比特)8个二进制位:Byte(字节)1Byte=8bit2个字节:Word(字)1Word=2Byte=16bit为什么用二进制计算机中为什么采用二进制?

计算机中,数是用物理器件的状态表示的,二进制只有两种状态(0,1),容易用电路表示。电位的高低,脉冲的有无,电路的通断等都可表示。二进制运算规则简单,容易用数字逻辑电路实现。二进制可方便的表示逻辑值,进行逻辑运算。

2.1计算机中的数制及其转换

通常,计算机中的数据分为两类:(1)数:用来直接表示量的多少,有大小之分,能够进行加减等运算。(2)码:通常指代码或编码,在计算机中用来描述某种信息。

2.1.1数制的基本概念

1.数的表示

任何一种数制表示的数都可以写成按位权展开的多项式之和。

N=dn-1bn-1+dn-2bn-2+dn-3bn-3+……d-mb-m式中:n——整数的总位数。

m——小数的总位数。

d下标——表示该位的数码。

b——表示进位制的基数。

b上标——表示该位的位权。2.计算机中常用的进位计数制计数制基数数码进位关系二进制20、1逢二进一八进制80、1、2、3、4、5、6、7逢八进一十进制100、1、2、3、4、5、6、7、8、9逢十进一十六进制160、1、2、3、4、5、6、7、8、9A、B、C、D、E、F逢十六进一3.计数制的书写规则(1)在数字后面加写相应的英文字母作为标识。如:二进制数的100可写成100B

十六进制数100可写成100H(2)在括号外面加数字下标。如:(1011)2表示二进制数的1011

(2DF2)16表示十六进制数的2DF2

2.1.2数制之间的转换(1)十进制整数转换为二进制整数采用基数2连续去除该十进制整数,直至商等于“0”为止,然后逆序排列余数。(2)十进制小数转化为二进制小数连续用基数2去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。(3)十进制整数转换为八进制整数或十六进制整数采用基数8或基数16连续去除该十进制整数,直至商等于“0”为止,然后逆序排列所得到的余数。(4)十进制小数转换为八进制小数或十六进制小数连续用基数8或基数16去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。(5)二、八、十六进制数转换为十进制数用其各位所对应的系数,按“位权展开求和”的方法就可以得到。其基数分别为2、8、16。(6)二进制数转换为八进制数从小数点开始分别向左或向右,将每3位二进制数分成1组,不足3位数的补0,然后将每组用1位八进制数表示即可。(7)八进制数转换为二进制数将每位八进制数用3位二进制数表示即可。(8)二进制数转换为十六进制数从小数点开始分别向左或向右,将每4位二进制数分成1组,不足4位的补0,然后将每组用一位十六进制数表示即可。(9)十六进制数转换为二进制数将每位十六进制数用4位二进制数表示即可。

【例2.1】将十进制整数(105)10转换为二进制整数,采用“除2倒取余”的方法,过程如下:2︳105

2︳52

余数为12︳26

余数为02︳13

余数为02︳6

余数为12︳3

余数为02︳1

余数为10 余数为1

所以,(105)10=(1101001)2【例2.2】将十进制小数(0.8125)10转换为二进制小数,采用“乘2顺取整”的方法,过程如下:0.8125×2=1.625 取整数位10.625×2=1.25取整数位10.25×2=0.5 取整数位00.5×2=1.0 取整数位1

所以,(0.8125)10=(0.1101)2如果出现乘积的小数部分一直不为“0”,则可以根据精度的要求截取一定的位数即可。

【例2.3】将十进制整数(2347)10转换为十六进制整数,采用“除16倒取余”的方法,过程如下:16︳2347

16︳146

余数为11(十六进制数为B)

16︳9

余数为20余数为9

所以,(2347)10=(92B)16 一个数的表示方法,也就是它们在计算机中的组成格式和编码规则。 当一个数送入计算机进行运算处理时,首先将其转换为二进制数,同时还要解决以下几个问题:

1.怎样表示数的符号

2.怎样确定小数点的位置2.2计算机中数值数据的表示

2.2.1基本概念

在计算机内部表示二进制数的方法称为数值编码,把一个数及其符号在机器中的表示加以数值化,称为机器数。机器数所代表的数称为数的真值。表示一个机器数,应考虑以下三个因素:

1.机器数的范围字长为8位,无符号整数的最大值是(11111111)B=(255)D,此时机器数的范围是0~255。字长为16位,无符号整数的最大值是(1111111111111111)B=(FFFF)H=(65535)D

此时机器数的范围是0~65535。

2.机器数的符号

在算术运算中,数据是有正有负的,将这类数据称为带符号数。为了在计算机中正确地表示带符号数,通常规定每个字长的最高位为符号位,并用0表示正数,用1表示负数。

3.机器数中小数点的位置

在机器中,小数点的位置通常有两种约定:一种规定小数点的位置固定不变,这时的机器数称为“定点数”。另一种规定小数点的位置可以浮动,这时的机器数称为“浮点数”。2.2.2计算机中的数1.原码

正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值。用这样的表示方法得到的就是数的原码。【例2.13】当机器字长为8位二进制数时:

X=+1011011 [X]原码=01011011Y=-1011011 [Y]原码=11011011[+1]原码=00000001[-1]原码=10000001[+127]原码=01111111[-127]原码=11111111

原码表示的整数范围是:-(2n-1-1)~+(2n-1-1),其中n为机器字长。则:8位二进制原码表示的整数范围是-127~+12716位二进制原码表示的整数范围是-32767~+32767

2.反码

对于一个带符号的数来说,正数的反码与其原码相同,负数的反码为其原码除符号位以外的各位按位取反。【例2.14】当机器字长为8位二进制数时:

X=+1011011[X]原码=01011011[X]反码=01011011Y=-1011011[Y]原码=11011011[Y]反码=10100100[+1]反码=00000001 [-1]反码=11111110[+127]反码=01111111 [-127]反码=10000000

负数的反码与负数的原码有很大的区别,反码通常用作求补码过程中的中间形式。反码表示的整数范围与原码相同。

3.补码

正数的补码与其原码相同,负数的补码为其反码在最低位加1。【例2.15】(1)X=+1011011(2)Y=-1011011(1)根据定义有:[X]原码=01011011[X]补码=01011011(2)根据定义有:[Y]原码=11011011[Y]反码=10100100 [Y]补码=10100101

补码表示的整数范围是-2n-1~+(2n-1-1),其中n为机器字长。则:8位二进制补码表示的整数范围是-128~+12716位二进制补码表示的整数范围是-32768~+32767

当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出。

4.补码与真值之间的转换

正数补码的真值等于补码的本身;负数补码转换为其真值时,将负数补码按位求反,末位加1,即可得到该负数补码对应的真值的绝对值。【例2.16】[X]补码=01011001B,[X]补码=11011001B,分别求其真值X。(1)[X]补码代表的数是正数,其真值:

X=+1011001B

=+(1×26+1×24+1×23+1×20)=+(64+16+8+1)=+(89)D(2)[X]补码代表的数是负数,则真值:

X=-([1011001]求反+1)B

=-(0100110+1)B

=-(0100111)B

=-(1×25+1×22+1×21+1×20)=-(32+4+2+1)=-(39)D三种码制的比较相同点:解决数值数据的符号在机器中的表示。最高位都表示符号位。不同点:原码的符号位和数值位必须分开进行运算。原码和反码的零各自都有两种表示方法。当需要扩展代码字长时,采用的处理方法各不相同。原码和反码能表示的正数和负数的范围相对于零是对称的,而补码的负数表示范围比正数表示范围要宽。机器数的表示法

正数负数范围(n位)正0负0原码0数值1绝对值-(2n-1-1)~+(2n-1-

1)0000000010000000反码0数值1按位取反-(2n-1-1)~+(2n-1-1)0000000011111111补码0数值1按位取反+1-(2n-1)~+(2n-1-1)0000000000000000关于-0的问题

[—0]原=10000000B[—0]补=00000000B[—128]补=10000000B

关于-0的问题例:—6411000000+—64+11000000—128110000000=[—128]补符号位进位丢掉

—12810000000+127+01111111

—111111111=[—1]补码

关于—0的问题若误认为[—0]补=10000000B运算会出错

—010000000+1+00000001+110000001=[—127]补≠+1可将[—0]补=[—0]反+1=11111111+1=00000000

练习题:把下列十进制数转换成8位二进制数:

84,114,0.375,0.6875,0.8将下列各式用二进制进行计算:

93.5-42.75将下列十六进制数转换成十进制数:

7E8F,EF,8C在一个8位二进制的机器中,补码表示整数的范围是从____到_____,这两个数在机器中的补码表示为_____到______。数0的补码为_______。对于二进制码1000000,若其值为0,则它是用____表示的,若其值为_____128,则它是用______表示的,若其值为-127,则它是用____表示的。若其值为-0,则它是用____表示的。把下列个数转换成8位二进制数的原码反码补码

+1、-1、+2、-2、+4、-4、+8、-8、+19、-19、+75、-56、+37-482.2.3定点数和浮点数表示

1.定点数

由于定点位置不同,一般又分为两种情况。对于整数,小数点约定在最低位的右边,称为定点整数。对于纯小数,小数点约定在符号位之后,称为定点小数。

2.浮点数

如果要处理的数既有整数部分,又有小数部分,则采用定点数会遇到麻烦。为此可以采用浮点数,即小数点的位置不固定。

数据的表示常用的有两种:定点表示法和浮点表示法。 任何一个二进制数N都可以表示为N=2E·S

其中E是一个二进制整数,称为数N的阶码,2为阶码的基数,S是二进制小数,称为数N的尾数。E和S可正可负。尾数S表示数N的全部有效数据,阶码E指明该数的小数点位置,表示数据的大小范围。例如:一个十进制数可以表示为:

N=3.14159=0.0314159*102同样一个二进制数可以表示为:

N=0.0011B=0.110B*2-1=0.0011B*21定点数和浮点数(1)

阶码E保持不变(2)

若E=0,小数点固定在最高位之前,则该数是一个纯小数或定点小数。例如N=20·0.110101001=0.110101001(3)若取E=n(n为尾数的位数),则把小数点定在尾数最末位之后,这时表示一个纯整数(定点整数)。例如

N=27·0.1011010=01011010定点数表示法1.

浮点数的格式

通常,阶码位数m与尾数位数n之间有如下关系:2m-1≥n

即表示阶码的值应保证实际的小数点可以在整个尾数的位格中移动。浮点数表示法图2.1浮点数的表示形式阶码阶符尾数尾符2.

规格化浮点数 所谓浮点数的规格化,就是通过移动尾数,使尾数S的最高位数字为1。即S满足1/2≤|S|<1时,这个浮点数就是规格化的数,否则就不是。在字长一定的情况下,规格化的浮点数精度最高。定点数和浮点数1.两种表示法所表示的数据范围不同(1)定点表示法,8位小数,则能表示的数据范围(绝对值)为:

0.0000001~0.1111111(2-7~1-2-7)(2)浮点表示法,2位阶码,1位阶符,4位尾数,1位尾符,则能表示的数据范围(绝对值)为:

0.0001*2-11~0.1111*211例如:将十进制数7.5表示成二进制浮点规格化的数(阶符1位,阶码2位,数符1位,位数4位)7.5=111.1B阶码与位数均用原码表示则表示为0.1111*2011在机器里可以写成01101111定点数表示法和浮点数表示法的比较2.运算规则的复杂性不同定点数:较简单;浮点数:较复杂。4.规格化浮点数的精度远远大于定点数。当字长一定时,浮点表示法能表示的数的范围比定点数大,而且阶码部分占的位数越多,能表示的数的范围就越大,但是由于浮点数的阶码部分占用了一些位数,使尾数部分的有效位数减少,数的精度下降。定点数和浮点数 计算机进行算术运算的特点:(1)所有数据都是用二进制数位形式来表示的。(2)在机器内部,数是以编码形式即机器数来表示的。(3)机器运算规模有限,因而机器运算就要解决运算方法、数据表示格式及数据长度的选取、规定等问题。(4)用计算机进行运算时,都要把复杂的运算,简化为一系列的、最基本的运算才能实现。计算机可以实现的基本运算有算术运算(加、减、乘、除等)和逻辑运算(与、或、异或等)。原码加减是指:操作数与运算结果均为原码表示,运算时操作数进行加减,符号单独处理。我们将两个操作数的加减操作可以归纳为四类:(+A)+(+B)=(+A)—(—B)(—A)+(—B)=(—A)—(+B)(+A)+(—B)=(+A)—(+B)(—A)+(+B)=(—A)—(—B)前两类是同号相加或者异号相减,他们需要做的操作是绝对值相加,结果符号位取被加(减)数的数符。后两类是异号相加或者同号相减,他们需要的实际操作是绝对值相减,按是否够减决定结果符号。3.1.1原码加减运算规则

减法的实现可采用将负数变反相加方法实现,规则如下:若实际操作为两异号数相加,则正数取其原码,负数取其反码,然后两数相加,若有最高位进位产生则末位加1,结果为正,相加后若最高位无进位产生,则结果变反,数符为负。例如9+3=121001+0011=1100,结果为01100(-9)+(-3)=-121001+0011=1100结果为111003.1.1原码加减运算规则9-3=61001+1100(-3变反)=10101(有进位)+1=0110结果为001103-9=-60011+0110(-9变反)=1001(无进位)=0110(结果变反)结果为10110原码加减运算总结:(1)

符号位单独处理(2)

绝对值加或减(3)

合并(符号和数值)3.1.1原码加减运算规则(1)公式:

[X+Y]补=[X]补+[Y]补

[X-Y]补=[X]补+[-Y]补由[Y]补求[-Y]补称为对[Y]补求补或者变补,将[Y]补连同符号位一起变反加1(不论[Y]补为正或者负)例3.4X=0.001010Y=-0.100011求[X-Y]补解[X]补=0.001010[-Y]补=0.100011

则[X-Y]补

=[X]补+[-Y]补

=0.001010+0.100011=0.101101(2)变形补码:

[X+Y]

变补=[X]

变补+[Y]

变补

[X-Y]

变补=[X]

变补+[-Y]

变补3.1.2补码加减运算规则例3.5X=0.1011Y=0.0011求[X+Y]补解[X]变补

=00.1011[Y]变补

=00.0011[X+Y]变补

=00.1011+00.0011=00.1110

所以[X+Y]补

=0.1110例3.6X=0.1011Y=0.1001求[X+Y]补解:[X]变补

=00.1011[Y]变补

=00.1001[X+Y]变补

=00.1011+00.1001=01.0100

运算结果的两符号位是01,不相同,发生溢出,因第一符号位是0,代表正数,所以称这种溢出为“正溢出”。3.1.2补码加减运算规则例3.7X=-0.1101Y=-0.1010求[X+Y]补解[X]变补

=11.0011[Y]变补

=11.0110[X+Y]变补

=11.0011+11.0110=10.1001(mod4)

结果的两符号位是10,不相同,发生溢出,因第一符号位是1,代表负数,所以称这种溢出为“负溢出”。(3)判断溢出的原则:当两符号位不同时,溢出;当两符号位相同时,正确。练习

[X]补=11101011,[Y]补=01001010,则[X-Y]补=_____A.10100001B.11011111C.10100000D溢出3.1.2补码加减运算规则基本逻辑运算,符号,逻辑门与门或门非门,反相器复合逻辑运算、符号与逻辑门与非(NAND)或非(NOR)=1异或(XOR)=同或(XNOR)Z=X⊙Y此外,还有与-或-非门(AND-OR-INVERTER)

1、基本公式交换律:A+B=B+AA·B=B·A结合律:A+B+C=A+(

B+C)

A·B·C=A·(B·C

)

分配律:A+BC=(A+B)(A+C)A(B+C)=AB+AC

A·1=AA·0=0A+0=AA+1=10、1律:A·A=0A+A=1互补律:

2.1.1逻辑代数的基本定律和恒等式重叠律:A+A=AA·A=A反演律:AB=A+B

A+B=A·B吸收律

2、基本公式的证明例

证明,列出等式、右边的函数值的真值表(真值表证明法)01·1=001+1=0001111·0=101+0=0011010·1=100+1=0100110·0=110+0=11100A+BA+BABAB1一位加法器——全加器运算器是计算机中直接执行各种操作的装置,其核心部件就是加法电路。观察0.111+0.011中对应的第i位相加的过程看出,加法运算时某一位相加需要五个变量。输入:被加数Xi、加数Yi、低位进位Ci-1输出:本位进位Ci

本位全和Si因此一个全加器应有5个端口:3个输入端,2个输出端。

0.111被加数

0.011加数

1.11进位

1.010和3.1.4二进制加法/减法器3.1.4二进制加法/减法器Ci-1XiYiZiCi输出输入0110100001101000100010100010111010111111表3.1全加器真值表则逻辑表达式为:Si=~Xi~YiCi--1+~XiYi~Ci--1+Xi~Yi~Ci--1+XiYiCi--1Ci=~XiYiCi--1+Xi~YiCi--1+XiYi~Ci--1+XiYiCi--1化简:Si=~Xi~YiCi--1+~XiYi~Ci--1+Xi~Yi~Ci--1+XiYiCi--1=~Ci--1(~XiYi+Xi~Yi)+Ci--1(~Xi~Yi+XiYi)=~Ci--1(XiYi)+Ci--1(~(XiYi))=XiYiCi--13.1.4二进制加法/减法器Ci=~XiYiCi--1+Xi~YiCi--1+XiYi~Ci--1+XiYiCi--1=(~XiYi

+Xi~Yi)Ci--1+XiYi(~Ci--1+Ci--1)=(XiYi)Ci--1+XiYi=XiYi+(XiYi)Ci--13.1.4二进制加法/减法器3.1.4二进制加法/减法器=1=1&&>=1XiYiCiCi-1Si练习画出下列函数的真值表f(A,B,C)=AB+~BCf(A,B,C)=A+~B+C用三种基本门组成下面逻辑电路(1)异或(2)同或(3)与非(4)或非利用基本性质证明(1)A~B+B~C+C~A=~AB+~BC+~CA(2)A+BC=(A+C)(A+B)(3)~(A+B+C)A=01.1操作系统概念1.1.1什么是操作系统任何一个计算机系统都是由两部分组成:计算机硬件和计算机软件。计算机硬件通常是由中央处理机(运算器和控制器)、存储器、输入设备和输出设备等部件组成。计算机软件包括系统软件和应用软件。系统软件如操作系统、多种语言处理程序(汇编和编译程序等)、连接装配程序、系统实用程序、多种工具软件等;应用软件为多种应用目的而编制的程序。没有任何软件支持的计算机称为裸机,它仅仅构成了计算机系统的物质基础,而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。图1.1展示了这种情形。图1.1操作系统与硬件软件的关系因此,引入操作系统的目的可从三方面来考察:(1)从系统管理人员的观点来看:引入操作系统是为了合理地组织计算机工作流程,管理和分配计算机系统硬件及软件资源,使之能为多个用户高效率地共享。因此,操作系统是计算机资源的管理者(2)从用户的观点来看:引入操作系统是为了给用户使用计算机提供一个良好的界面,以使用户无需了解许多有关硬件和系统软件的细节,就能方便灵活地使用计算机。(3)从发展的观点看:引入操作系统是为了给计算机系统的功能扩展提供支撑平台,使之在追加新的服务和功能时更加容易和不影响原有的服务与功能。综上所述,我们可以非形式地把操作系统定义为:操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们管理和控制计算机系统中的硬件及软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与其用户之间起到接口的作用。1.2操作系统的历史1946年—50年代末:第一代,电子管时代,无操作系统。50年代末—60年代中期:第二代,晶体管时代,批处理系统。60年代中期—70年代中期:第三代,集成电路时代,多道程序设计。70年代中期至今:第四代,大规模和超大规模集成电路时代,分时系统。现代计算机正向着巨型、微型、并行、分布、网络化和智能化几个方面发展着。1.2.1手工操作阶段

在第一代计算机时期,构成计算机的主要元器件是电子管,计算机运算速度慢,没有操作系统,甚至没有任何软件。用户直接用机器语言编制程序,并在上机时独占全部计算机资源。1.2.2早期批处理(batchprocessing)解决的途径有两个:配备专门的计算机操作员进行批处理每一批作业将有专门编制的监督程序(monitor)自动依次处理。早期的批处理可分为两种方式。1.联机批处理慢速的输入输出(I/O)设备是和主机直接相连。作业的执行过程为:(1)用户提交作业:作业程序、数据,用作业控制语言编写的作业说明书;(2)作业被作成穿孔纸带或卡片;(3)操作员有选择地把若干作业合成一批,通过输入设备(纸带输入机或读卡机)把它们存入磁带;(4)监督程序读入一个作业(若系统资源能满足该作业要求);(5)从磁带调入汇编程序或编译程序,将用户作业源程序翻译成目标代码;(6)连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行程序;(7)启动执行;(8)执行完毕,由善后处理程序输出计算结果;(9)再读入一个作业,重复(5)—(9)各步;(10)一批作业完成,返回到(3),处理下一批作业。这种联机批处理方式解决了作业自动转接,从而减少作业建立和人工操作时间。但是在作业的输入和执行结果的输出过程中,主机CPU仍处在停止等待状态,这样慢速的输入输出设备和快速主机之间仍处于串行工作,CPU的时间仍有很大的浪费。2.脱机批处理这种方式的显著特征是增加一台不与主机直接相连而专门用于与输入输出设备打交道的卫星机。如图1.2所示。卫星机的功能是:(1)输入设备通过它把作业输入到输入磁带;(2)输出磁带将作业执行结果输出到输出设备。这样,主机不是直接与慢速的输入输出设备打交道,而是与速度相对较快的磁带机发生关系。主机与卫星机可以并行工作,二者分工明确,以充分发挥主机的高速度计算能力。因此脱机批处理和早期联机批处理相比大大提高了系统的处理能力。图1.2早期脱机批处理模型批处理出现于20世纪50年代末到60年代初。它的出现促使了软件的发展。再有重要的是监督程序,它管理作业的运行——负责装入和运行各种系统处理程序,如汇编程序、编译程序、连接装配程序、程序库(如输入输出标准程序等);完成作业的自动过渡,同时也出现程序覆盖等程序设计技术。批处理仍有些缺点:磁带需人工拆装,既麻烦又易出错;而另一个更重要的问题是系统的保护。让我们来回忆一下在监督程序管理下的解题过程,如图1.3所示。图1.3监督程序管理下的解题过程在进行批处理过程中,监督程序、系统程序和用户程序之间存在着一种调用关系,任何一个环节出问题,整个系统都会停顿;用户程序也

温馨提示

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

评论

0/150

提交评论