现代计算机的多态性
根据大小和复杂性,可以将现代计算机按以下顺序排列:
物联网设备:通常非常小,内置微型计算机,如智能家居传感器。
可穿戴设备:如智能手表、健康监测设备,略大于普通物联网设备。
嵌入式系统(Embedded Systems):被嵌入到其他设备中,如汽车、家用电器等,大小不一,但通常较小。
微型计算机(Microcomputers):
智能手机:体积小,便于携带。
平板电脑:略大于智能手机。
笔记本电脑:比平板电脑大,但仍具便携性。
台式电脑:相对更大,不易移动。
小型计算机(Minicomputers):如服务器、工作站等,通常安置于机房,体积大于个人使用的微型计算机。
大型计算机(Mainframes):体积较大,用于处理大量数据,主要用于大型企业和政府机构。
超级计算机(Supercomputers):体积最大,用于执行高性能计算任务,如科学研究、天气预测等。
一个计算机系统通常由硬件和软件两大部分组成,它们相互协同工作,使得计算机能夠执行各种复杂的任务。下面详细解释计算机系统的组成部分。
计算机硬件是物理组件,这些组件包括:
计算机软件是指那些使得硬件可以执行特定任务的指令集合。主要分两类:
系统软件:用来管理整个计算机系统,包括语言处理程序,操作系统,服务性程序,数据库管理系统,网络软件
应用软件:这些直接为用户提供特定功能的程序,例如文字处理器、电子表格、数据库管理、游戏、图像编辑和网络浏览器等。
系统组成
计算机系统的工作流程通常如下所示:
输入:用户通过输入设备向计算机提供数据或命令。
处理:CPU根据操作系统和应用软件的指导对数据进行处理。
存储:处理过程中产生的数据可以被存放在RAM中,长期数据则保存在辅助存储器里。
输出:数据处理的结果通过输出设备展现给用户。
在计算机科学和软件工程中,抽象是一种基本的概念和设计哲学,指的是隐藏复杂性的过程,同时突出展现系统或组件的核心功能。通过抽象,设计者可以专注于当前层次相关的问题,而不必考虑底层的具体实现细节。
抽象的类型
数据抽象:
数据抽象是指对数据的结构只给出有关它如何被使用或操作的信息,而隐藏背后的具体实现。例如,在编程语言中,数据类型(如整数、列表、对象)就是一种形式的数据抽象。
过程抽象:
过程抽象指的是把复杂的操作封装成过程,只提供接口说明(如函数名、输入、输出),隐藏了内部的具体执行步骤。调用者不需要知道过程内部是如何实现的,只要知道如何使用该过程。
计算机层次结构与抽象是紧密相关的概念。它们共同构成了一种方法论
计算机层次结构通常指的是计算系统的不同分层,每一层执行不同的功能,并建立在下一层的基础上。从底层硬件到高层应用程序,每层次都对其下层的复杂性进行了封装,并向上层提供了一组更高级别的操作和服务。
抽象是每个计算层次中所应用的原则,它是指在某一层级中隐藏下层的实现细节,只暴露所需的功能接口。这样,上层就不需要理解下层的具体工作原理,只需知道如何通过接口来使用该层提供的服务。
计算机系统结构定义了计算机软硬件的交界面,提供了上层软件进行编写的时候与下层硬件交互的接口
硬件框图如下:
实线表示数据通路,虚线表示控制与状态反馈
冯·诺依曼计算机的特点:
以存储器为中心的计算机硬件
现代计算机硬件框图
- 建立数学模型
- 确定计算方法
- 编制解题程序
举例:
计算 ax2+bx+c分为以下步骤:
若将上述改为(ax+b)x+c,可简化为一下步骤:
将上述运算步骤写成某计算机一一对应的机器指令,就完成了运算程序的编写
设某机的指令字长为16位,其中操作码占6位,地址码占10位
操作码 | 地址码 |
---|---|
6位 | 10位 |
操作码表示机器所执行的各种操作,如取数,存数,加,减,乘,除,停机,打印等。地址码表示参加运算的数在存储器内的位置。机器指令的操作码和地址码都采用0,1代码的组合来表示。下表为与上例子有关的各条机器指令的操作码及其操作性质的对应关系。
操作码 | 操作性质 |
---|---|
000001 | 取数 |
000010 | 存数 |
000011 | 加 |
000100 | 乘 |
000101 | 打印 |
000110 | 停机 |
具体内容:
计算ax2+bx+c程序清单
地址码,或者叫做操作数指示器,是指令中的一部分,指定操作码所涉及的数据应该从何处获取,或者结果数据应该放在何处
指令和数据都是保存在存储器中的
运算器最少包括3个寄存器和一个算术逻辑单元(ALU)。
ACC:累加器
MQ: 乘商寄存器
X:操作数寄存器(数据寄存器)
ACC在加法存储被加数,和这两个数据
乘法在这里是按位操作,再进行累加,选择ACC,运算结果会比被乘数长度增加一倍,结果存储在ACC和MQ中
除法是通过减法和移位的操作实现的。
加法操作过程
指令:
加 | M |
---|
初态: ACC 已经存储被加数
减法操作过程
指令:
减 | M |
---|
初态:ACC 已经存储被减数
乘法操作过程
指令:
乘 | M |
---|
初态:ACC存储被乘数
只有把ACC内容送入X后才能进行
除法操作过程
指令:
除 | M |
---|
初态: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完成自动加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).
本节内容到此结束,感谢观看!!!