系统概论
现代计算机的多态性
根据大小和复杂性,可以将现代计算机按以下顺序排列:
物联网设备:通常非常小,内置微型计算机,如智能家居传感器。
可穿戴设备:如智能手表、健康监测设备,略大于普通物联网设备。
嵌入式系统(Embedded Systems):被嵌入到其他设备中,如汽车、家用电器等,大小不一,但通常较小。
微型计算机(Microcomputers):
智能手机:体积小,便于携带。
平板电脑:略大于智能手机。
笔记本电脑:比平板电脑大,但仍具便携性。
台式电脑:相对更大,不易移动。
小型计算机(Minicomputers):如服务器、工作站等,通常安置于机房,体积大于个人使用的微型计算机。
大型计算机(Mainframes):体积较大,用于处理大量数据,主要用于大型企业和政府机构。
超级计算机(Supercomputers):体积最大,用于执行高性能计算任务,如科学研究、天气预测等。
一个计算机系统通常由硬件和软件两大部分组成,它们相互协同工作,使得计算机能夠执行各种复杂的任务。下面详细解释计算机系统的组成部分。
硬件
计算机硬件是物理组件,这些组件包括:
中央处理器(CPU):被认为是计算机的大脑,用于执行指令和处理数据。
存储器:
主存储器(RAM):临时存储正在被CPU处理的数据和指令。
辅助存储器:如硬盘驱动器(HDD)、固态驱动器(SSD)、光盘等,用于长期存储数据。
输入设备:如键盘、鼠标、触摸屏、摄像头、麦克风等,用于向计算机传输用户的输入信息。
输出设备:如显示器、打印机、扬声器等,用于展示计算机处理后的结果给用户。
主板:连接所有其他硬件组件的平台,并提供它们之间的数据通道。
图形处理单元(GPU):用于渲染图像和视频内容,它可以单独存在或作为CPU的一部分。
电源供应:转换交流电为计算机内部使用的直流电。
软件
计算机软件是指那些使得硬件可以执行特定任务的指令集合。主要分两类:
系统软件:用来管理整个计算机系统,包括语言处理程序,操作系统,服务性程序,数据库管理系统,网络软件
应用软件:这些直接为用户提供特定功能的程序,例如文字处理器、电子表格、数据库管理、游戏、图像编辑和网络浏览器等。
系统组成
计算机系统的工作流程通常如下所示:
输入:用户通过输入设备向计算机提供数据或命令。
处理:CPU根据操作系统和应用软件的指导对数据进行处理。
存储:处理过程中产生的数据可以被存放在RAM中,长期数据则保存在辅助存储器里。
输出:数据处理的结果通过输出设备展现给用户。
计算机系统的层次结构
系统复杂性的管理方法1:抽象
在计算机科学和软件工程中,抽象是一种基本的概念和设计哲学,指的是隐藏复杂性的过程,同时突出展现系统或组件的核心功能。通过抽象,设计者可以专注于当前层次相关的问题,而不必考虑底层的具体实现细节。
抽象的类型
数据抽象:
数据抽象是指对数据的结构只给出有关它如何被使用或操作的信息,而隐藏背后的具体实现。例如,在编程语言中,数据类型(如整数、列表、对象)就是一种形式的数据抽象。
过程抽象:
过程抽象指的是把复杂的操作封装成过程,只提供接口说明(如函数名、输入、输出),隐藏了内部的具体执行步骤。调用者不需要知道过程内部是如何实现的,只要知道如何使用该过程。
计算机层次结构与抽象是紧密相关的概念。它们共同构成了一种方法论
计算机层次结构通常指的是计算系统的不同分层,每一层执行不同的功能,并建立在下一层的基础上。从底层硬件到高层应用程序,每层次都对其下层的复杂性进行了封装,并向上层提供了一组更高级别的操作和服务。
抽象是每个计算层次中所应用的原则,它是指在某一层级中隐藏下层的实现细节,只暴露所需的功能接口。这样,上层就不需要理解下层的具体工作原理,只需知道如何通过接口来使用该层提供的服务。
计算机系统结构定义了计算机软硬件的交界面,提供了上层软件进行编写的时候与下层硬件交互的接口
计算机的基本组成
冯·诺依曼计算机
硬件框图如下:
实线表示数据通路,虚线表示控制与状态反馈
冯·诺依曼计算机的特点:
计算机由五大部件组成
指令和数据以同等地位存于存储器,可按地址寻访
指令和数据用二进制表示
指令由操作码和地址码组成
存储程序
以运算器为中心
以存储器为中心的计算机硬件
现代计算机硬件框图
系统复杂性的管理方法 2:(3’Y)
层次化(Hierachy):将被设计的系统划分为多个模块或子模块
模块化(Modularity):有明确定义(well-defined)的功能和接口
规则性(regularity):模块更容易被重用
计算机的工作步骤
上机前的准备:
- - 建立数学模型
- - 确定计算方法
- - 编制解题程序
举例:
计算 ax2+bx+c分为以下步骤:
取x 至运算器中
乘x 在运算器中
乘a 在运算器中
存ax2 在存储器中
取b 至运算器中
乘x 在运算器中
加ax2 在运算器中
加c 在运算器中
若将上述改为(ax+b)x+c,可简化为一下步骤:
取x 至运算器中
乘a 在运算器中
加b 在运算器中
乘x 在运算器中
加c 在运算器中
将上述运算步骤写成某计算机一一对应的机器指令,就完成了运算程序的编写
设某机的指令字长为16位,其中操作码占6位,地址码占10位
操作码 地址码
6位 10位
操作码表示机器所执行的各种操作,如取数,存数,加,减,乘,除,停机,打印等。地址码表示参加运算的数在存储器内的位置。机器指令的操作码和地址码都采用0,1代码的组合来表示。下表为与上例子有关的各条机器指令的操作码及其操作性质的对应关系。
操作码 操作性质
000001 取数
000010 存数
000011 加
000100 乘
000101 打印
000110 停机
具体内容:
取数:将指令地址码指示的存储单元中的操作数取到运算器的累加器ACC中
存数:将ACC中的数存至指令地址码指示的存储单元中
加:将ACC中的数与指令地址码指示的存储单元中的数相加,结果存于ACC中
乘:将ACC中的数与指令地址码指示的存储单元中的数相乘,结果存于ACC中
打印:将指令地址码指示的存储单元中的操作数打印输出
计算ax2+bx+c程序清单
地址码,或者叫做操作数指示器,是指令中的一部分,指定操作码所涉及的数据应该从何处获取,或者结果数据应该放在何处
指令和数据都是保存在存储器中的
计算机的解题过程
存储器的基本组成
存储单元
存储器由大量的存储单元组成,每个存储单元可以存放一个固定大小的数据。在大多数现代计算机中,最小的存储单位是Bit,它可以是0或1。通常,多个位组合成更大的存储单位,如字节。
存储字
存储单元中二进制代码的组合
存储字长
存储单元中二进制代码的位数
每个存储单元赋予一个地址号
MAR
地址寄存器
反应存储单元的个数
MDR
数据寄存器
反应存储字长
运算器的组成及操作过程
运算器最少包括3个寄存器和一个算术逻辑单元(ALU)。
ACC:累加器
MQ: 乘商寄存器
X:操作数寄存器(数据寄存器)
ACC在加法存储被加数,和这两个数据
乘法在这里是按位操作,再进行累加,选择ACC,运算结果会比被乘数长度增加一倍,结果存储在ACC和MQ中
除法是通过减法和移位的操作实现的。
加法操作过程
指令:
加 M
初态: ACC 已经存储被加数
将加数存储到X中:[M]->X
[ACC]+[X]->ACC
减法操作过程
指令:
减 M
初态:ACC 已经存储被减数
[M]->X;
[ACC]-[X]->ACC
乘法操作过程
指令:
乘 M
初态:ACC存储被乘数
[M]->MQ 把乘数放在MQ寄存器中
[ACC]->X 把被乘数放在X寄存器中
0 -> ACC
[X]×[MQ]->ACC//MQ;
只有把ACC内容送入X后才能进行
除法操作过程
指令:
除 M
初态:ACC存储被除数
[M]->X
[ACC]÷[X[->MQ
余数在ACC中
控制器的基本组成
控制器是中央处理单元的一部分,负责解释指令,保证指令的按序执行
完成一条指令操作:
取指阶段:命令存储器读出一条指令
分析阶段:对这条指令进行分析,指出改指令要完成什么样的操作,并按照寻址特征指明操作数的地址
执行阶段:根据操作数所在的地址以及指令的操作码完成某种操作
控制器由程序计数器(PC)、指令寄存器(IR)以及控制单元(CU)组成。
PC用来存放当前欲执行指令的地址,它与主存的MAR之间有一条直接通路,且具有自动加1的功能,即可自动形成下一条指令的地址。IR用来存放当前的指令,IR的内容来自主存的MDR。IR中的操作码(OP(IR))送至CU,记作 OP(IR)→CU,用来分析指令;其地址码(Ad(IR))作为操作数的地址送至存储器的MAR,记作 Ad(IR)→MAR。CU用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用以控制所有被控对象。
主机完成一条指令的过程
取指令:
启动机器后,控制器立即将PC的内容送至主存的MAR(记作PC->MAR),并命令存储器做读操作
主存内容送入MDR内
由MDR送至控制器的IR(记作MDR->IR)
分析与执行指令:
经CU分析(记作OP(IR)->CU)
CU又将IR中的地址码送至MAR(记作Ad(IR)->MAR),并命令存储器做读取操作
将该地址单元中的操作数送至MDR,再有MDR送至运算器的ACC(记作MDR->ACC),完成此指令的执行过程。
与此同时,PC完成自动加1的操作,形成下一条指令的地址“1号”。
计算机的主要技术指标
机器字长:CPU一次能处理数据的位数,与CPU中的寄存器位数有关,字长越长,数的表示范围越大,精度也越高
运算速度:计算机的运算速度与许多因素有关,如机器的主频、核数,每个核支持的线程数,吉普森法、CPI(执行一条指令所需时钟周期数)、MIPS(每秒执行百万条指令)、FLOPS(每秒浮点运算次数)
存储容量:
主存容量:指主存中存放的二进制代码的总位数,即存储容量=存储单元个数×存储字长
MAR的位数反映了存储单元的个数,MDR的位数反映的存储字长,例如,MAR为16位,根据216=65 536,表示此存储体内有65 536个存储单元(即64K个存储字,1K=1 024 =210);而 MDR为32位,表示存储容量为216×32 =221=2M位(1M =210)。
辅存容量:通常用字节数表示,如某机的赋存容量为80GB(1G=1024M=210×220=230).
本节内容到此结束,感谢观看!!!
————————————————