Download presentation
Presentation is loading. Please wait.
1
计算机组成原理 第1章 概述
2
研究讨论单台计算机的完整硬件系统的基本组成原理与内部运行机制。
教学内容 研究讨论单台计算机的完整硬件系统的基本组成原理与内部运行机制。 单台:非多机系统 基本:不一定是最高性能、最合理的组成, 而是最基础的必要的组成部分. 完整:计算机整机、全部的硬件功能部件.
3
课程性质与目的 核心课程 主干课程 目的是使学生了解和掌握计算机系统中硬件部分的构成原理,掌握计算机的基本工作原理,了解计算机各主要部件的硬件结构、相互联系和作用,从而对整个计算机系统从硬件角度有完整的了解,为计算机专业的后续课程打下基础。
4
课程的基本要求 深刻理解计算机系统各功能部件的功能、结构和工作原理,正确理解各功能部件之间的相互关系以及他们在计算机系统中所起的作用。
了解和掌握计算机系统某些部件的设计与分析技术,包括数据与指令的编码、存储器、运算器、输入输出接口等。 理解和掌握计算机系统中的基本概念和方法,并能将这些概念和方法运用在后续课程的学习中。
5
第1章 概述 学习内容: 第1节 计算机硬件的基本构成 第2节 计算机软件概述 第3节 程序设计语言及其编译 学习目标与要求:
了解整个计算机系统的构成 掌握计算机各功能部件的基本功能 了解系统软件、应用软件的概念。 了解机器语言、汇编语言、高级语言的概念 了解编译和解释的概念
6
如何正确理解“计算机”这个术语呢?凡是能完成以下三类工作的机器就是计算机: ①能接受程序和数据的输入,并存储起来; ②能按照存储的程序对输入的数据进行自动处理并得出结果; ③能把结果输出。所以,计算机是一种能够接收信息,存储信息,并按照存储在其内部的程序(这些程序是人们意志的体现)对输入的信息进行加工、处理,得到人们所期望的结果,然后把处理结果输出的高度自动化的电子设备。
7
从计算机系统的层次结构的示意图中,我们可以看到:
(1) 指令系统是计算机硬件和软件的接口。 (2) 操作系统是用户和计算机硬件的接口,用户操作计算机直接面对的是操作系统,是和操作系统打交道,操作系统是用户的操作平台。 (3) 只有硬件没有软件的机器(裸机)是不能工作的。 计算机系统的层次结构的示意图
9
1.1 计算机硬件的基本构成 计算机的硬件是指组成一台计算机的各种物理装置,它们是由各种实实在在的器件组成的,是计算机进行工作的物质基础。计算机的硬件由输入设备、输出设备、运算器、存储器和控制器五部分组成。
10
计算机之父 冯·诺依曼理论奠定了现代电子数字计算机的理论, 按照该理论制成的计算机叫冯·诺依曼计算机.
11
冯·诺依曼计算机的特点 1.1 计算机硬件的基本构成 1. 计算机由五大部件组成 2. 指令和数据以同等地位存于存储器, 可按地址寻访
3. 指令和数据用二进制表示 4. 指令由操作码和地址码组成 5. 存储程序 5. 存储程序 6. 以运算器为中心
12
1.1 计算机硬件的基本构成 存储器 输入设备 运算器 控制器 输出设备
13
1.1 计算机硬件的基本构成 1.1.1 运算器 运算器(Arithmetic Unit)的功能是在控制器的指挥下,对信息或数据进行处理和运算,包括算术运算和逻辑运算,所以在其内部有一个算术逻辑部件ALU (Arithmetic and Logical Unit)。 运算器的功能可以归纳为: (1) 实现对数据的算术和逻辑运算。 (2) 暂时存放参与运算的数据和某些中间运算结果。 (3) 挑选参加运算的数据,选中要执行的运算功能,并把运算结果输出到所要求的部件中。
14
1.1 计算机硬件的基本构成 1.1.2 存储器 存储器(Memory)是计算机用来存放程序和数据的记忆部件,是计算机各种信息存放和交流的中心。它的基本功能是在控制器的控制下按照指定的地址存入或取出信息。 存储器可分为内存储器与外存储器,简称内存与外存。 内存是由中央处理器直接访问的存储器,它存放着现在运行的程序和数据,也可以存储计算的结果或中间结果。由于其直接和运算器、控制器交换信息,因此要求存取速度快,但存储容量较小。 内存通常由两种半导体存储芯片——随机存取存储器RAM (Random Access Memory)和只读存储器ROM (Read-Only Memory)组成,并通常叫做主存储器。
15
1.1 计算机硬件的基本构成 外存储器简称“外存”,是主机的外围设备,用来存储大量的暂时不参加运算或处理的数据和程序,因而允许速度较慢。一旦需要,可成批地与内存交换信息。它是主存储器的后备和补充,因此叫它为“辅助存储器”,如磁盘存储器、磁带存储器、光盘存储器等。外存的特点是存储容量大、可靠性高、价格低,在脱机情况下可以永久地保存信息。
16
计算机能存储的信息总字节量称为该计算机系统的存储容量,内存储器中能存储的信息总字节数称为内存容量(也有用所存储的二进制位的总数来表示存储容量的)。所谓字节(Byte,简写为B)是作为一个单位来处理的一串二进制数位,通常以8个二进制位(bit)作为一个字节。每1024个字节称为1K字节(1KB)。存储容量的单位还有MB(兆字节)、GB(吉字节)和TB(太字节)。它们之间的关系是: 1KB=1024B=210B 1MB=1024KB=220B= B 1GB=1024MB=230B= B 1TB=1024GB=240B= B
17
1.1 计算机硬件的基本构成 1.1.3 控制器 控制器(Control)是计算机的控制中心,用来实现计算机本身运算过程的自动化。它指挥计算机各部件按照指令功能的要求进行所需要的操作。它从存储器中取出指令,解释指令的操作码和地址码,并根据译码,产生一系列的控制信号,去控制计算机各部件协调地工作,并控制程序的执行顺序。因此,控制器的主要工作是不断地取指令、分析指令和执行指令。
18
1.1 计算机硬件的基本构成 1.1.4 输入输出设备 输入设备(Input Equipment)的功能是从计算机外部把信息和处理这些信息的程序通过输入接口输入到计算机的存储器中。 键盘(Keyboard)、鼠标器(Mouse)、 扫描仪(Scanner)、数字化仪(Digitizer)、光笔(Light Pen)、条形码扫描器(Barcode Scanner)、触摸屏、各种模-数(A/D)转换器、数码相机等。 输出设备(Output Equipment)的功能是用来输出计算机的处理结果。 I/O设备属于外围设备,但外围设备除I/O设备外,还应包括外存储器设备、多媒体设备、网络通信设备和输入输出处理机等。
19
控 制 器 运 算 器 输入出接口和总线 高速缓存 输入设备 主存储器 输出设备 虚拟存储器
20
运 算 器 运算器部件是计算机中进行数据加工的部件,其主要功能包括: 1. 执行数值数据的加减乘除等算术运算,
运 算 器 运算器部件是计算机中进行数据加工的部件,其主要功能包括: 1. 执行数值数据的加减乘除等算术运算, 执行逻辑数据的与或非等逻辑运算, 由一个被称为 ALU 的线路完成。 2. 暂时存放参加运算的数据和中间结果, 由多个通用寄存器和乘商寄存器承担。 3. 运算器通常也是数据传输的通路 。
21
运 算 器 控 制 器 1. 正确分析与执行每条指令: 取指令->分析指令->执行指令。
控 制 器 运 算 器 控制器是计算机中控制执行指令的部件,向计算机各功能部件提供每一时刻协同运行所需要的控制信号: 1. 正确分析与执行每条指令: 取指令->分析指令->执行指令。 2. 保证指令按规定序列自动连续地执行。 3. 对各种异常情况和请求及时响应和处理。
22
控 制 器 运 算 器 高速缓存 主存储器 虚拟存储器 拟存储器所组成的多级存储器系统, 是计算机中用于存储程序和数据的部件。
控 制 器 运 算 器 由高速缓冲存储器、主存储器、虚 拟存储器所组成的多级存储器系统, 是计算机中用于存储程序和数据的部件。 这三级存储器各自的功能分工、所用的 存储介质的工作原理和特性各不相同。 将作为三个部分分别讲解。 高速缓存 主存储器 虚拟存储器
23
运 算 器 控 制 器 高速缓存 输入设备 主存储器 虚拟存储器 输入设备是向计算机中送入程序 和数据的具有一定独立功能的设备,
运 算 器 控 制 器 高速缓存 输入设备 主存储器 输入设备是向计算机中送入程序 和数据的具有一定独立功能的设备, 通过 接口 和 总线与计算机主机连通, 用于人机交互联系,如计算机键盘和 鼠标等。 虚拟存储器
24
运 算 器 控 制 器 高速缓存 输入设备 主存储器 输出设备 虚拟存储器
控 制 器 运 算 器 高速缓存 输入设备 主存储器 输出设备 虚拟存储器 输出设备是计算机中用于送出计算机内部信息的设备,例如打印机、显示器等。
25
运 算 器 控 制 器 高速缓存 输入设备 主存储器 输出设备 虚拟存储器
控 制 器 运 算 器 输入出接口和总线 高速缓存 输入设备 主存储器 输出设备 虚拟存储器 这些部件和设备通过总线和接口连接在一起, 构成计算机整机系统,协同运行。 说到这里,我们可以把计算机想象为一个加工处理数据的“工厂”,则数据运算部件就是数据加工车间,数据存储部件就是存放原材料、半成品和最终产品的库房,输入设备相当于运入原材料的运货卡车,输出设备相当于发出最终产品的运货卡车,控制部件则相当于承担领导指挥功能的厂长和各个职能办公室。在“领导”的正确指挥下,如果能够源源不断地取得原材料,工厂内又有存放的场所,车间能够对这些原材料进行指定的加工处理,加工后的产品可以畅通地运出去销售,则这个工厂(计算机)就纳入正常运行的轨道。
26
现代计算机硬件框图 I/O 运算器 控制器 存储器 输入设备 输出设备 ALU CPU CU 主机 主存 辅存 硬件 I/O设备 主 ALU
27
1.2 计算机软件概述 在计算机系统中,各种软件的有机组合构成了软件系统。基本的软件系统应包括系统软件与应用软件两大类。
28
系统软件 系统软件是一组保证计算机系统高效、正确运行的基础软件,通常作为系统资源提供给用户使用。主要有以下几类: 1. 操作系统
2. 语言处理程序 4. 数据库管理系统 5. 分布式软件系统 6. 网络软件系统 7. 各种服务程序
29
应用软件 应用软件是指用户为解决某个应用领域中的各类问题而编制的程序,如各种科学计算类程序、工程设计类程序、数据统计与处理程序、情报检索程序、企业管理程序、生产过程控制程序等。由于计算机已应用到各种领域,因而应用程序是多种多样,极其丰富的。
30
硬件与软件的关系 计算机系统由硬件、软件两大部分组成。 硬件和软件是紧密相关、缺一不可的整体。 硬件是计算机系统的物质基础。
没有硬件,再好的软件也无法运行;没有强有力的硬件支持,就不可能编制出高质量、高效率的软件;没有好的硬件环境,一些先进的软件也无法运行。 软件是计算机系统的灵魂。 没有软件,再好的硬件也毫无用途;没有高质量的软件,硬件也不可能充分发挥它的效率。
31
虽然在一个具体的计算机系统中,硬件、软件是紧密相关、缺一不可的,但是对某一具体功能来说,可以用硬件实现,也可以用软件实现,这就是硬件、软件在逻辑功能上的等效。
32
硬件、软件在逻辑功能上的等效 任何由硬件实现的操作,在原理上,均可用软件来实现;同样,任何由软件实现的操作,在原理上都可硬化由硬件来实现。
如乘除运算,早期均由软件编程实现。现已由硬件乘、除法器实现。 在一些大型机中由硬件实现的功能,在微小型机中,为了降低系统复杂程度和成本,也可由软件编程实现。 硬件的软化:将由硬件实现的功能用软件实现。 软件的硬化:将由软件实现的功能用硬件实现。 固件:将复杂且常用的程序写入只读存储器就构成了固件。 固件从功能上看是软件,但从形态上看是硬件。
33
硬件软件的功能分配 在设计一个计算机系统时,必须根据设计要求、现实技术与器件条件,首先确定哪些功能直接由硬件实现,哪些功能通过软件实现。这就是硬件软件的功能分配。 随着电子技术的发展,可以使软件逐渐“固化”乃至“硬化”。所以设计计算机系统时必须首先解决硬、软件的功能分配问题。
34
计算机系统的多级层次结构 现代的计算机是一个硬件与软件组成的综合体。由于面对的应用范围越来越广,所以必须有复杂的系统软件和硬件的支持。
由于软件、硬件的设计者和使用者是从不同的角度,以各种不同的语言来对待同一个计算机系统。因此,他们各自看到的计算机系统的属性及对计算机系统提出的要求也就不一样。 如硬件设计人员要求机器能够高速有效地执行机器指令所规定的各种操作。而高级语言使用者则关心机器能否提供高效方便的编程环境。
35
对不同的对象而言,一个计算机系统就成为实现不同语言的、具有不同属性的机器。
假如在软件、硬件之间,系统设计者和使用者之间不能很好地协调、配合,就会大大影响系统的性能与效率。
36
计算机系统的多级层次结构 根据从各种角度所看到的机器之间的有机关系,可以将计算机系统分为多级层次结构。
将计算机系统分为多级层次结构的目的在于:分清各级层次结构彼此之间的界面,明确各自的功能,以便构成合理、高效的计算机系统。
37
计算机系统的多级层次结构
38
第一级 微程序机器层 实际的硬件层,它由机器硬件直接执行微指令。
第二级 传统机器语言层 实际的硬件层,由微程序解释机器指令系统。 第三级 操作系统层 由操作系统程序实现。操作系统程序是由机器指令和广义指令组成的。其中广义指令是为扩展机器功能而设置的,是由操作系统定义和解释的软件指令。这一层也称为混合层。 第四级 汇编语言层 汇编语言是一种符号形式语言,用户借此可编写汇编语言源程序。这一层由汇编程序支持和执行。 第五级 高级语言层 高级语言层为方便用户编写各类应用程序而设置的。它是面向用户的。该层由各种高级语言编译程序支持和执行。 第六级 应用语言层 应用语言层是直接面向某个应用领域,为方便用户编写该应用领域的应用程序而设置的。由相应的应用软件包支持和执行。
39
在多级层次结构中,第一级和第二级是实机器,上面几层均为虚机器。
虚机器:是指用软件技术构成的机器。 虚机器建立在实机器的基础上,利用软件技术扩充实机器的功能。从整体看就好像有了一台更强功能的机器,所以称它为虚机器。 机器语言层和操作系统层是虚、实机器的分界面。软、硬件功能的分配,决定了虚、实机器的界面。
40
利用多级层次结构观点,可以在设计计算机系统时,明确哪些功能由硬件完成,哪些功能由软件完成。同样还可以明确在虚机器中各层次应完成的功能,上级应得到下级的哪些支持。
多级层次结构观点,对于了解掌握计算机的组成,设计一个良好的计算机系统结构有很大的帮助。
41
软件兼容 软件兼容分为向上兼容、向下兼容、向前兼容和向后兼容四种。向上(下)兼容指的是按某档次机器编制的程序,不加修改就能运行在比它更高(低)档的机器上;向前(后)兼容是指按某个时期投入市场的某种型号机器编制的程序,不加修改就能运行在它之前(后)投入市场的机器上。
42
1.3 程序设计语言及其编译 计算机的程序(Program),就是用某种特定的符号系统(指令或语言)对被处理的数据和实现算法的过程进行的描述,它是由一系列指令或语句组成的,是为解决某一问题而设计的一系列排列有序的指令或语句的集合。 指令(Instruction)是指挥计算机如何工作的命令,它通常由一串二进制数码组成,即由操作码和地址码两部分组成。操作码规定了操作的类型,即进行什么样的操作;地址码规定了要操作的数据以及操作结果存放的位置。因此,指令就是由操作码和地址码组成的一串二进制数码。
43
1.3 程序设计语言及其编译 比如,下面一串二进制数码就是某小型机的一条加法指令(指令字长16位): 0110000010000001
为了清楚,可用八进制数表示为: ,即 。这里,八进制数06(二进制数0110)是操作码,它表示加法操作;八进制数0201(二进制数 )是地址码,有两个操作数的地址,源操作数地址02,表示是2号寄存器,目的操作数地址01,表示是1号寄存器。这条指令的含义是把2号寄存器中的数加上1号寄存器中的数,其和存放在1号寄存器中。
44
1.3 程序设计语言及其编译 计算机语言(Computer Language)指的是程序设计语言。要使用计算机解决某一实际问题,就需要编写程序。编写计算机程序,就必须掌握计算机的程序设计语言。程序设计语言分为三种类型: 机器语言、汇编语言和高级语言。 (1) 机器语言 机器语言(Machine Language)是一种二进制语言,它是用二进制代码表示的机器指令来描述的。用机器语言编写程序就是用机器指令来描述所求解问题的过程和步骤,这样的程序称为机器语言程序,或称二进制语言程序。
45
(2) 汇编语言 由于用机器语言编写程序有很多困难和缺点,为了便于人们使用计算机,20世纪50年代初发明了汇编语言(Assembler Language)。汇编语言和机器语言基本上是一一对应的,但在表示方法上用助记符和符号地址来表示指令,既容易辨认,又缩短了冗长的书写,给程序的编写带来很大的方便。 (3) 高级语言 使用汇编语言编写程序,虽然比用机器语言方便得多,但它仍没有摆脱机器指令的束缚,这对于人们抽象思维和学术交流十分不便。人们需要有更接近思维逻辑习惯,容易读、写和理解,且有很强描述解题方法的程序设计语言。经过人们的不断努力,各种面向问题的程序设计语言——高级语言(High-Level Language)陆续发明了,使计算机的应用大大跨进了一步。
46
机器语言程序 高级语言程序 C=A+B 汇编语言程序 MOV AL,A ADD AL,B MOV C,AL 0000H 10100000
0002H 0003H 0004H 0005H 0006H 0007H 0008H 0009H 1000H 1001H 1002H
47
用高级语言编写的源程序通常可用两种方式在计算机中执行。
用程序设计语言编写的程序称为源程序。 用高级语言编写的源程序通常可用两种方式在计算机中执行。 编译:它把高级语言源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。 解释:它将源语言书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。这种工作方式非常适合于人通过终端设备与计算机会话,如在终端上打一条命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入后,就能立即得到计算结果。这的确是很方便的,很适合于一些小型机的计算问题。但解释程序执行速度很慢,例如源程序中出现循环,则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费。
48
基本概念 字节:8位为1个字节。 字长:计算机中一个数据的长度称为一个字。 存储器的地址:识别存储器中不同数据字节的唯一标志。
读操作:将存储单元中的数据取出。 写操作:将数据放到存储单元中。 存储器的访问:存储器的数据读操作和写操作。 读周期:一个读数据的存储器访问周期。 写周期:写数据的访问周期。 存储器周期时间:一次访问存储器中的数据所需的时间。
Similar presentations