当前位置: 首页 > article >正文

【计算机组成原理】:计算机系统概述

目录

一、计算机系统层次结构

1️⃣计算机系统的组成

2️⃣计算机硬件

1. 冯·诺依曼机的基本思想

         💤思考:冯·诺依曼机的来源❓

         🌸知识点:冯·诺依曼机的特点

         💤思考:以运算器为中心的计算机有什么缺点❓

2. 计算机的功能部件

3️⃣计算机软件

1. 系统软件和应用软件

2. 三个级别的语言

4️⃣计算机系统的层次结构

💤思考:计算机系统为什么要分层❓

🌸知识点:计算机系统的层次结构

二、计算机的性能指标

参考资料


一、计算机系统层次结构

1️⃣计算机系统的组成

计算机系统=软件+硬件

  • 💡硬件:有型的物理设备,计算机系统中实际物理装置的总称。
  • 💡软件:在硬件上运行的程序和相关的数据及文档。
  • 💡软件和硬件在逻辑上是等效的(原因:对于某一功能来说,其既可以使用软件实现,也可以用硬件来实现)

2️⃣计算机硬件

1. 冯·诺依曼机的基本思想

 💤思考:冯·诺依曼机的来源❓

        EDVAC之前的计算机需要人工去干涉(即:说一条,运行一条)。十分麻烦,所以冯·诺依曼就提出了“存储程序”的概念

  • 💡 “存储程序”的基本思想是:将事先编制好的程序和原始数据送入主存后才能执行,一旦程序被启动执行,就无须操作人员的干预,计算机自动逐条执行指令,直至程序执行结束。

 🌸知识点:冯·诺依曼机的特点

 特点如下:

  1. 计算机由五大部件组成(存储器、运算器、控制器、输出设备、输入设备)。
  2. 指令和数据以同等地位存于存储器,可按地址寻访。
  3. 指令和数据用二进制表示。
  4. 指令由操作码和地址码组成。
  5. 存储程序(指令和数据提前放在存储器中)
  6. 以运算器为中心(数据的传送必须通过运算器)

 💤思考:运算器为中心的计算机有什么缺点

        由图可知:采购部门(输入设备)不可以直接将原材料给仓储部门(存储器)仓储部门(存储器)也不可直接将处理后的原材料给销售部门(输出设备),冯诺依曼只能通过生产加工部门(运算器)来传递原材料,效率大大的降低了

        

        所以现代计算机的结构应运而生:

        

  •  现代计算机:以存储器为中心
  • CPU=运算器+控制器 (运算器和控制器的逻辑关系十分紧密,所以进行大多数计算器进行了整合)整合后如右图

2. 计算机的功能部件

🌸知识点:主存储器

  • 分类:
    • 💡主存储器(内存):CPU可直接访问
    • 💡辅助存储器(外存):帮助主存储器记忆更多信息。

  • 主存储器(如图)
    • 工作方式:按存储单元的地址进行存储
    • 基本组成
      • 💡存储体:存放二进制信息
      • 💡地址寄存器(MAR):存放访存地址
      • 💡数据寄存器(MDR):存放从存储器中读或写的信息
      • 上图解析:我将取件号(访存地址)店员(MAR),店员就可以根据取件号(访存地址)去货架(存储体)上找到我想要的包裹(存储器中的信息),然后将包裹(存储器中的信息)放到柜台(MDR),我就可以取走包裹(存储器中的信息)

🌸知识点:运算器

  • 功能:计算器的执行部件,用于进行算数运算(加、减、乘、除)和逻辑运算(与、或、非、异或、比较、移位)
  • 运算器中包含的寄存器:
    • 💡算数逻辑单元(ALU)核心,通过内部复杂的电路实现算数运算、逻辑运算
    • 💡累加器(ACC):用于存放操作数,或运算结果
    • 💡乘商寄存器(MQ):在乘、除时,存放操作数或运算结果
    • 💡操作数寄存器(X):通用的操作数寄存器,用于存放操作数
    • 变址寄存器(LX)、基址寄存器(BR)

🌸知识点:控制器

  •  地位:计算器的指挥中心
  • 组成:
    • 💡程序计数器(PC):存放下一条指令地址,有自动+1的功能
    • 💡指令寄存器(IR):存放当前执行的指令
    • 💡控制单元(CU)核心,分析指令,给出控制信号
    • 完成一条指令的过程:PC(取指令)------>IR(分析指令)------>CU(执行指令)

🌸知识点:输入设备和输出设备

  • 输入设备:将程序和数据以机器所能识别和接收的信息形式输入计算机
  • 输出设备:将计算机处理的结果以人们所能接受的形式或其他系统所要求的信息形式输出。
  • 输入输出设备(简称I/O设备)是计算机与外界联系的桥梁,是计算机中不可缺少的重要组成部分。

3️⃣计算机软件

1. 系统软件和应用软件

计算机软件按功能可分为:系统软件和应用软件

  • 💡系统软件:一组保证计算机系统高效、正确运行的基础软件,通常作为系统资源提供给用户使用。系统软件主要有操作系统(OS)、数据库管理系统(DBMS)、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务性程序等。
  • 💡应用软件:用户为解决某个应用领域中的各类问题而编制的程序,如QQ、微信等。
  • 数据库管理系统和数据库系统是有区别的。数据库管理系统是系统软件。而数据库系统一般是由数据库,数据库管理系统,数据库管理员和应用系统构成。所以只能说它里面有系统软件,但并不能说它为系统软件。

2. 三个级别的语言

  1. 💡机器语言(二进制语言):二进制代码组成,计算机唯一可以直接识别和执行的语言。
  2. 💡汇编语言:助记符(英文单词或其缩写代替二进制指令代码),使用时必须通过系统软件,翻译成机器语言,才可以在计算机硬件上运行。
  3. 💡高级语言:C、C++、Java。
    1. 高级语言运行过程:高级语言(编译程序)————>汇编语言(汇编程序)————>机器语言(计算机识别)

由于高级语言无法直接被计算机理解和执行,所以就需要将高级语言转换为机器语言,就有了翻译程序,编译程序分为三类:

  1. 💡汇编程序(汇编器):汇编语言————>机器语言
  2. 💡解释程序(解释器):高级语言————>机器语言;(同声传译:来一句翻译一句)
  3. 💡编译程序(编译器):高级语言————>汇编语言;或高级语言————>机器语言;(全文翻译:只需翻译一次就可以啦)

4️⃣计算机系统的层次结构

💤思考:计算机系统为什么要分层

        计算机是一个软硬件组成的综合体。由于软/硬件的设计者和使用者从不同角度、不同语言来对待同一个计算机系统,因此他们看到的计算机系统的属性对计算机提出的要求也就不同。

         根据从各种角度所看到的机器之间的有机联系,来分清彼此之间的界面,明确各自的功能,以便构成合理、高效的计算机系统。

🌸知识点:计算机系统的层次结构

  1.  微程序机器层:一个实在的硬件层, 它由机器硬件直接执行微指令。
  2. 传统机器语言层:一个实际的机器层,由微程序解释机器指令系统。
  3. 操作系统层:由操作系统程序实现。操作系统程序是由机器指令和广义指令组成的,这些广义指令是为了扩展机器功能而设置的,是由操作系统定义和解释的软件指令,所以这一层也称混合层
  4. 汇编语言层:为用户提供一种符号化的语言,借此可编写汇痛语言源程序。这一层由汇编程序支持和执行。
  5. 高级语言层面向用户的,是为方便用户编写应用程序而设置的。该层由各种高级语言编译程序支持和执行。在高级语言层之上,还可以有应用程序层,它由解决实际问题的处理程序组成,如文字处理软件、多媒体处理软件和办公自动软件等。

        3~5层称为虚拟机,简单来说就是软件实现的机器(汇编和高级语言并不能被硬件直接理解和执行),虚拟机器只对该层的观察者存在。

二、计算机的性能指标

🌸知识点:存储器性能指标

 主存容量 = 存储单位个数×存储字长(bit位) 
         =  存储单元个数×存储字长/8(Byte字节)

🌸知识点:CPU性能指标

名称含义单位公式
主频(时钟频率)CPU内数字脉冲信号震荡频率Hz
时钟周期CPU最小的时间单位微秒、纳秒
1/CPU主频
CPI执行一条指令所需要的时钟周期数
执行一条指令耗时=CPI*时钟周期
CPU执行时间运行一个程序所花费的时间
    CPU时钟周期数/主频
或
    (指令条数*CPI)/主频
IPS

每秒执行多少条指令

分为:MIPS、KIPS

主频/平均CPI
FLOPS

每秒执行多少次浮点运算

分为:KFLOPS、MPLOPS...

K、M、G、T为数量单位

K=Kilo=10^3;M=Million=10^6;G=Giga=10^9;T=Trea=10^12

🌸知识点:系统整体的性能指标

  1. 数据通路带宽:数据总线一次所能并行传送信息的数位(各硬件部件通过数据总线传输数据)
  2. 吞吐量:指系统在单位时间内处理请求的数量
  3. 响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得他所需要的结果的等待时间。
  4. 基准程序:用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同程序的其他计算机性能进行比较。

参考资料

《王道:23计算机组成原理考研复习指导》


http://www.kler.cn/a/2077.html

相关文章:

  • 有哪些免费的 ERP 软件可供选择?哪些 ERP 软件使用体验较好?
  • MySql:基本查询
  • gitee给DeployKey添加push权限
  • 2024_12_20_生活记录
  • 知网研学 | 知网文献(CAJ+PDF)批量下载
  • 苹果手机怎么清理空间:拯救你的拥挤手机
  • 鸟哥的Linux私房菜 Shell脚本
  • 【Leetcode】队列实现栈和栈实现队列
  • 【三维几何学习】从零开始网格上的深度学习-3:Transformer篇(Pytorch)
  • 【Zabbix实战之部署篇】docker部署Zabbix+grafana监控平台
  • 【C++初阶】四、类和对象(下)
  • 沁恒CH32V307使用记录:使用TIM输出PWM信号
  • C++笔记——第六篇 list的简介和使用
  • 多线程 (六) 单例模式
  • 蓝桥杯备赛经验 pythonA组(非科班选手)
  • 拯救会议纪要!快用这三个音频转文字方法,让领导对你刮目相看
  • FLEXPART拉格朗日粒子扩散模式建模技术及研究大气污染物源-汇关系中的实践经验
  • 【Java】i++和++i的实现原理
  • 函数(上)——“Python”
  • 金三银四Java面试题及答案整理(2023最新版) 持续更新
  • 知识点16--k8s资源配置清单入门
  • 使用sqlalchemy-gbasedbt连接GBase 8s数据库
  • 使用旧电脑玩Linux
  • spring2
  • CSDN 周赛38期题解
  • 【性能分析】分析JVM出现的内存泄漏的性能故障