【计算机组成原理·考研】计算机系统层次结构

一.计算机系统的组成

硬件系统与软件系统共同组成了一个完整的计算机系统。其中软件是指在硬件上运行的程序和相关的数据及文档。

二.计算机硬件

1.冯诺依曼机

1.1思想

将事先编制好的程序和原始数据送入主存后才能执行,一旦程序被启动执行,就无需操作人员的干预,计算机会自动逐条执行指令,直至程序执行结束。

根据该思想,计算机应该具有下面五大功能:
1.数据传输功能
2.数据存储功能
3.数据处理功能
4.操作控制功能
5.操作判断功能

1.2特点

(1)采用存储程序的工作方式。
(2)计算机硬件系统由运算器,控制器,存储器,输入设备,输出设备组成。
(3)指令和数据以无差别的存储在存储器中,但是计算机能够通过指令周期的不同阶段区分他们。
(4)指令和数据均以二进制代码的方式表示,其中,指令由操作码+地址码组成,操作码指明操作类型,地址码指明操作数的地址。

2.计算机硬件

2.1 运算器
2.1.1 概述

是计算机的执行部件,用于进行算术运算和逻辑运算。其中算术运算包括:加、减、乘、除;逻辑运算包括:与、或、非、异或,移位,比较。

2.1.2 组成
算术逻辑单元(ALU)

是运算器的核心,其内部包含多个寄存器,用于暂存操作数与中间结果:
累加器(ACC),乘商寄存器(MQ),操作数寄存器(X),变址寄存器(IX),基址寄存器(BR)。

移位器
状态寄存器(PSW)

也称为标志寄存器,用于存放ALU处理得到的标志信息或状态信息,如结果是否溢出、有无借位进位、结果是否为负…

通用寄存器

…(后续章节会进一步详细说明)

2.2 控制器
2.2.1 概述

是计算机的指挥中心。

2.2.2 组成
程序计数器(PC)

存放下一条(尚未执行的)指令的执行地址,具有自动+"1"的功能(Ps:这里的1是指一个指令长度),与主存的MAR之间有一条直接通路。

指令寄存器(IR)

用来存放当前执行的指令,内容来自主存的MDR,指令中的操作码部分将会送到CU中以便分析指令生成对应的微操作命令序列(后续会详细说明);地址码部分将会送到MAR以取得操作数。

控制单元(CU)

image.png

Ps:完整的计算机系统 = 配套的硬件设备 + 软件系统

2.3 存储器
2.3.1 概述

分为主存储器(内存储器)和辅助存储器(外存储器)。

2.3.2详细说明
主存储器

概述
CPU可直接访问,以按存储单元的地址的进行数据存取的方式工作。
组成
存储体:
结构:由许多存储单元组成,每个存储单元存储多个二进制位。
作用:存放二进制信息。
说明:单个存储单元存储的多个二进制代码,这一串二进制代码称为存储字,这串代码的长度则称为存储字长(Ps:存储字长只能为1字节或字节的偶数倍)
地址寄存器(MAR):存放访存地址,以便进行寻址。2^MAR的位数 = 存储单元的个数
数据寄存器(MDR):暂存要从存储器中读或写的数据。MDR的位数 = 存储字长,其位数一般为字节的2^x倍
时序控制逻辑:产生存储器操作所需的各种时序信号。

PS:上面的MAR和MDR尽管均为主存储器的一部分,但现代计算机中却存在于CPU中

辅助存储器

书上也没提…

2.4 输入设备
作用

将程序和数据以机器所能识别和接受的信息形式输入到计算机中。

栗子🌰

键盘、鼠标、扫描仪、摄像机…

2.5 输出设备
作用

将计算机处理的结果以人们所能接受的形式或其他系统所要求的信息形式输出。

栗子🌰

显示器、打印机…

PS:输入输出设备统称为I/O设备,其是计算机与外界联系的桥梁

3.计算机软件

3.1 分类
系统软件
概述

保证计算机高效、正确运行的基础软件,通常作为系统资源提供给用户使用。

栗子🌰

操作系统(OS)、数据库管理系统(DBMS)、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务性程序…

应用软件
概述

用户为解决某个应用领域中的各类问题而编制的程序。

栗子🌰

科学计算类程序、工程设计类程序、数据统计与处理程序…

4.计算机语言

4.1 机器语言

又称 二进制代码语言,是计算机唯一可以识别并执行的语言。

4.2 汇编语言

用英文单词或其缩写代替二进制代码的指令代码,易于人类理解。
汇编语言编辑的程序,必须经过汇编程序的翻译,才能在计算机的硬件系统上运行。

4.3 高级语言

为方便程序设计人员写出解决问题的处理方案和解题过程的程序。
高级语言程序需要先经过编译程序的翻译成汇编语言程序,再经过汇编程序的翻译得到机器语言程序。
此外,高级语言程序还可以直接翻译成机器语言程序。

4.4 翻译程序
4.4.1 概述

进行类似于高级语言程序->机器语言程序 转换的软件系统。

4.4.2 分类
编译程序/编译器

将高级语言程序翻译成汇编语言程序。

汇编程序/汇编器

将汇编语言程序翻译成机器语言程序。

解释程序/解释器

将源程序中的语句按顺序逐条翻译成机器指令并立即执行。

5.软件和硬件的逻辑功能的等价性

5.1 概述

对于某一功能来说,如果既可以采用软件实现,也可以采用硬件实现,并且对于用户而言,这两种实现方式在功能上是等价的。

6.计算机层次结构

6.1 结构
微程序机器层(第1层)

属于硬件层范畴,它由机器硬件直接执行微指令。

传统机器语言层(第2层)

由微程序直接解释机器指令系统。

操作系统层/混合层(第3层)

它由操作系统实现,由机器指令和广义指令组成。
Ps:广义指令是为了拓展机器功能而设置的,是由操作系统定义和解释的软件指令。

汇编语言层(第4层)

由汇编程序支持并执行。

高级语言层(第5层)

由高级语言编译程序支持并执行。
image.png

6.2 其他说明

(1)高级语言层之外还可以有应用程序层,它由解决实际问题的处理程序组成。
(2)没有配备软件的纯硬件系统称为裸机。
(3)第3~5层被称为虚拟机,即软件实现的机器。
(4)层与层之间的关系:下层是上层的基础,上层是下层的拓展。
image.png

指令集体系结构(ISA)

它定义了计算机可以执行的所有指令的集合,每条指令规定了计算机执行什么样的操作以及所处理的操作数存放的地址控件和操作数类型。

7.计算机系统的工作原理

7.1 “存储程序”工作方式
7.2 “存储程序”思想

程序执行前,需要将程序所含的指令和数据送入主存,一旦程序被启动执行,就无需操作人员的干预,自动逐条完成指令的取出和执行任务。
image.png
Ps:
1.PC指针+1的操作是在当前指令取得并译码后执行。
2.PC指针的值并不总是当前执行指令的下条指令地址,也有可能是指令中指定的目标地址(跳转型指令)

7.2 源程序->可执行文件

image.png

翻译过程
预处理阶段

通过预处理器(cpp)对源程序中的#开头的命令进行处理,并输出以.i为拓展名的源文件。

编译阶段

通过编译器对上一阶段处理的产物进行编译,从而生成一个汇编语言源程序(以.s作为拓展名)。

汇编阶段

通过汇编器对上一阶段处理的产物进行编译,从而生成一个机器语言源程序(是一个可重定位的二进制文件,以.o作为拓展名)。

链接阶段

通过链接器将多个可重定位目标文件和标准库函数合并为一个可执行文件。

7.3 程序执行过程(后续会详细介绍)

image.png

说明

(1)上述例子中的程序是hello.c中包含的文件内容,数据则是"Hello,world\n"字符串。
(2)涉及对键盘、磁盘等外设的操作时,用户程序不能直接访问这些底层硬件,必须通过操作系统内核来完成。

7.4 程序执行过程(后续会详细介绍)
取指令

根据PC的值,从主存中取出指令并送到IR。
PC->MAR->M->MDR->IR

分析指令

控制器根据指令的操作码,生成相应的控制信号,送到不同的执行部件。
OP(IR)->CU

执行指令

根据IR中的指令中的操作码去主存中取出操作数,并最终将其送到所需要的部件。
Ad(IR)->MAR->M->MDR->XXX

  • 26
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程旧事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值