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

目录

一、计算机系统层次结构

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计算机组成原理考研复习指导》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/2144.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【微服务】—— 统一网关Gateway

文章目录1. 概述1.1 为什么需要网关1.2 SpringCloud Gateway2. gateway快速入门搭建网关服务1、创建新的module,引入SpringCloudGateway的依赖和nacos的服务发现依赖:2、编写路由配置和nacos地址3. 断言工厂路由断言工厂Route Predicate Factory4. 过滤器…

【数据结构】千字深入浅出讲解队列(附原码 | 超详解)

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:C语言实现数据结构 💬总结:希望你看完…

javaweb实习实训管理系统mysql

本毕业设计基于JSP的实习实训管理系统,本系统能实现网上的实习实训信息管理,主要功能有:添加用户、查看用户、管理用户、添加实验室、查看实验室、管理实验室、添加课程、查看课程、管理课程、添加教学、查看教学、管理教学、添加实习、查看实…

STM32的推挽输出和开漏输出

文章目录 前言一、推挽输出二、开漏输出三、区别和适应场景总结前言 本篇文章将带大家了解STM32的推挽输出和开漏输出,并且学习这两个的区别,学习分别在什么时候使用这两个不同的输出方式。 在 STM32 微控制器中,GPIO(General Purpose Input/Output)模块是一个通用的输入…

Java 到底是值传递还是引用传递?

C 语言是很多变成语言的母胎,包括 Java。对于 C 语言来说,所有的方法参数都是通过 “值” 传递的,也就是说,传递给被调用方法的参数值存放在临时变量中,而不是存放在原来的变量中。这就意味着,被调用的方法…

项目质量管理工作 不得不重视的4大关键点

1、三大视角确保项目质量 我们需要从客户视角、SOW视角和组织视角三大视角,确保项目的质量。 从客户视角方面出发,满足客户的要求,如项目交付的准时性、项目质量的保证等。我们需要全力保障客户对项目质量的要求。 从SOW视角确保项目质量&…

[ 漏洞复现篇 ] Joomla未授权访问Rest API漏洞(CVE-2023-23752)

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

Java实习生------MySQL10道面试题打卡

今日语录:“没有执行力,就没有竞争力 ”🌹 参考资料:图解MySQL、MySQL面试题 1、事务有哪些特性? 原子性: 一个事务中的所有操作,要么全部完成,要么全部不完成,不会出现…

Three.js——learn01

Three.js——learn01Three.js——learn01本地搭建文档通过parcel搭建Threejs环境1.初始化2.安装parcel设置打包位置3.设置目录结构QuickStart安装threejsindex.htmlindex.cssindex.js启动Three.js——learn01 本地搭建文档 登录GitHub搜索three.js git clone https://github…

基于数据安全的沙盘推演体系

背景 2022年由IBM和Ponemon研究所联合发布的一份全球性的研究报告,分析了550家遭受数据泄露事件的组织的各种成本和影响因素。根据报告,2022年全球数据泄露规模和平均成本均创下历史新高,数据泄露事件的平均成本高达435万美元,比2…

C语言—文件操作

1.为什么使用文件使用文件可以直接将数据存放到电脑硬盘上,做到数据的持久化2.什么是文件硬盘上的文件是文件但在程序中,我们一般谈的文件有两种:程序文件和数据文件(从文件功能角度来分类的)2.1程序文件包括源程序文件…

vue3使用vee-validate自定义表单校验,提交实现步骤

1、首先安装vee-validate(指定版本),安装命令如下: npm i vee-validate4.0.32、在app.vue中写入如下内容:用vee-validate提供的Form组件代替form标签,用Field组件代替input标签,errors是接收校…

UnixBench----x86架构openEuler操作系统上进行性能测试

【原文链接】UnixBench----x86架构openEuler操作系统上进行性能测试 (1)打开github上 UnixBench 地址,找到发布的tag (2)找到tar.gz包,右键复制链接 比如这里是 https://github.com/kdlucas/byte-unix…

1、OSI模型

目录 一、OSI模型 二、TCP / IP 模型 (协议簇) 1、TCP/IP简介 2、自下而上了解TCP/IP协议: (网络接口和物理层) 3、TCP/IP协议其他知识点 三、基本知识点 1、socket——插座 2、为什么需要socket 3、什么是socket 4、IP地…

【数据结构】夯实基础|线性表刷题01

作者:努力学习的大一在校计算机专业学生,热爱学习和创作。目前在学习和分享:算法、数据结构、Java等相关知识。博主主页: 是瑶瑶子啦所属专栏: 【数据结构|刷题专栏】:该专栏专注于数据结构知识,持续更新&a…

【三维几何学习】从零开始网格上的深度学习-3:Transformer篇(Pytorch)

本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052 从零开始网格上的深度学习-3:Transformer篇引言一、概述二、核心代码2.1 位置编码2.2 网络框架三、基于Transformer的网格分类3.1 分类结果3.2 全部代码引言 本文主要内容如下&#…

linux中写定时任务

场景:我们生产环境中有大量的日志记录,但是我们的磁盘没有太大,需要定时清理磁盘 文章目录crond 定时任务详解安装定时任务crontab服务启动与关闭crontab操作crontab 命令test.sh查看日志丢弃linux中的执行日志Linux进入nano模式方式一方式二…

Unreal Engine 网络系统(四):UEC++的RPC

目录 行为同步 On Server:服务端的RPC代码 On Client:客户端的RPC代码 NetMulticast:广播的RPC代码 属性同步 行为同步 借助UFUNCTION进行函数标记 UFUNCTION(Server):声明一个在客户端调用,在服务端执行的函数U…

测试老鸟都在用的接口抓包常用工具以及接口测试工具都有哪些?

目录 接口 接口测试的重要性 常用抓包工具 常用接口测试工具 接口 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间…

pkg打包node项目到linux中运行

首先看一下pkg的一些基本操作 pkg打包node项目为exe_node静态项目 导出exe_疆~的博客-CSDN博客由于win7最高只支持node13.14.0,而pkg不支持node13,为了既兼容win7,又能使用pkg打包,故使用node12.22.11。新建node_global和node_ca…