计组原理:系统概论与基本组成

news2025/2/25 21:13:11

系统概论与基本组成

  • 系统概论
      • 硬件
      • 软件
    • 计算机系统的层次结构
      • 系统复杂性的管理方法1:抽象
  • 计算机的基本组成
    • 冯·诺依曼计算机
      • 系统复杂性的管理方法 2:(3’Y)
    • 计算机的工作步骤
      • 上机前的准备:
      • 计算机的解题过程
        • 存储器的基本组成
        • 运算器的组成及操作过程
        • 控制器的基本组成
        • 主机完成一条指令的过程
  • 计算机的主要技术指标

系统概论

现代计算机的多态性

根据大小和复杂性,可以将现代计算机按以下顺序排列:

  • 物联网设备:通常非常小,内置微型计算机,如智能家居传感器。

  • 可穿戴设备:如智能手表、健康监测设备,略大于普通物联网设备。

  • 嵌入式系统(Embedded Systems):被嵌入到其他设备中,如汽车、家用电器等,大小不一,但通常较小。

  • 微型计算机(Microcomputers):
    智能手机:体积小,便于携带。
    平板电脑:略大于智能手机。
    笔记本电脑:比平板电脑大,但仍具便携性。
    台式电脑:相对更大,不易移动。

  • 小型计算机(Minicomputers):如服务器、工作站等,通常安置于机房,体积大于个人使用的微型计算机。

  • 大型计算机(Mainframes):体积较大,用于处理大量数据,主要用于大型企业和政府机构。

  • 超级计算机(Supercomputers):体积最大,用于执行高性能计算任务,如科学研究、天气预测等。

一个计算机系统通常由硬件和软件两大部分组成,它们相互协同工作,使得计算机能夠执行各种复杂的任务。下面详细解释计算机系统的组成部分。

硬件

计算机硬件是物理组件,这些组件包括:

  • 中央处理器(CPU):被认为是计算机的大脑,用于执行指令和处理数据。
  • 存储器:
    主存储器(RAM):临时存储正在被CPU处理的数据和指令。
    辅助存储器:如硬盘驱动器(HDD)、固态驱动器(SSD)、光盘等,用于长期存储数据。
  • 输入设备:如键盘、鼠标、触摸屏、摄像头、麦克风等,用于向计算机传输用户的输入信息。
  • 输出设备:如显示器、打印机、扬声器等,用于展示计算机处理后的结果给用户。
  • 主板:连接所有其他硬件组件的平台,并提供它们之间的数据通道。
    图形处理单元(GPU):用于渲染图像和视频内容,它可以单独存在或作为CPU的一部分。
  • 电源供应:转换交流电为计算机内部使用的直流电。

软件

计算机软件是指那些使得硬件可以执行特定任务的指令集合。主要分两类:

  • 系统软件:用来管理整个计算机系统,包括语言处理程序,操作系统,服务性程序,数据库管理系统,网络软件

  • 应用软件:这些直接为用户提供特定功能的程序,例如文字处理器、电子表格、数据库管理、游戏、图像编辑和网络浏览器等。
    系统组成

  • 计算机系统的工作流程通常如下所示:
    输入:用户通过输入设备向计算机提供数据或命令。
    处理:CPU根据操作系统和应用软件的指导对数据进行处理。
    存储:处理过程中产生的数据可以被存放在RAM中,长期数据则保存在辅助存储器里。
    输出:数据处理的结果通过输出设备展现给用户。

计算机系统的层次结构

系统复杂性的管理方法1:抽象

在计算机科学和软件工程中,抽象是一种基本的概念和设计哲学,指的是隐藏复杂性的过程,同时突出展现系统或组件的核心功能。通过抽象,设计者可以专注于当前层次相关的问题,而不必考虑底层的具体实现细节。

抽象的类型

  • 数据抽象
    数据抽象是指对数据的结构只给出有关它如何被使用或操作的信息,而隐藏背后的具体实现。例如,在编程语言中,数据类型(如整数、列表、对象)就是一种形式的数据抽象。

  • 过程抽象
    过程抽象指的是把复杂的操作封装成过程,只提供接口说明(如函数名、输入、输出),隐藏了内部的具体执行步骤。调用者不需要知道过程内部是如何实现的,只要知道如何使用该过程。

计算机层次结构与抽象是紧密相关的概念。它们共同构成了一种方法论

计算机层次结构通常指的是计算系统的不同分层,每一层执行不同的功能,并建立在下一层的基础上。从底层硬件到高层应用程序,每层次都对其下层的复杂性进行了封装,并向上层提供了一组更高级别的操作和服务。

抽象是每个计算层次中所应用的原则,它是指在某一层级中隐藏下层的实现细节,只暴露所需的功能接口。这样,上层就不需要理解下层的具体工作原理,只需知道如何通过接口来使用该层提供的服务。
在这里插入图片描述

在这里插入图片描述
计算机系统结构定义了计算机软硬件的交界面,提供了上层软件进行编写的时候与下层硬件交互的接口

计算机的基本组成

冯·诺依曼计算机

硬件框图如下:
在这里插入图片描述
实线表示数据通路,虚线表示控制与状态反馈

冯·诺依曼计算机的特点

  1. 计算机由五大部件组成
  2. 指令和数据以同等地位存于存储器,可按地址寻访
  3. 指令和数据用二进制表示
  4. 指令由操作码和地址码组成
  5. 存储程序
  6. 以运算器为中心

以存储器为中心的计算机硬件
在这里插入图片描述
现代计算机硬件框图
在这里插入图片描述

系统复杂性的管理方法 2:(3’Y)

  • 层次化(Hierachy):将被设计的系统划分为多个模块或子模块
  • 模块化(Modularity):有明确定义(well-defined)的功能和接口
  • 规则性(regularity):模块更容易被重用

计算机的工作步骤

上机前的准备:

 - 建立数学模型
 - 确定计算方法
 - 编制解题程序

举例:
计算 ax2+bx+c分为以下步骤:

  1. 取x 至运算器中
  2. 乘x 在运算器中
  3. 乘a 在运算器中
  4. 存ax2 在存储器中
  5. 取b 至运算器中
  6. 乘x 在运算器中
  7. 加ax2 在运算器中
  8. 加c 在运算器中

若将上述改为(ax+b)x+c,可简化为一下步骤:

  1. 取x 至运算器中
  2. 乘a 在运算器中
  3. 加b 在运算器中
  4. 乘x 在运算器中
  5. 加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 已经存储被加数

  1. 将加数存储到X中:[M]->X
  2. [ACC]+[X]->ACC

减法操作过程
指令:

M

初态:ACC 已经存储被减数

  1. [M]->X;
  2. [ACC]-[X]->ACC

乘法操作过程
指令:

M

初态:ACC存储被乘数

  1. [M]->MQ 把乘数放在MQ寄存器中
  2. [ACC]->X 把被乘数放在X寄存器中
  3. 0 -> ACC
  4. [X]×[MQ]->ACC//MQ;

只有把ACC内容送入X后才能进行

除法操作过程
指令:

M

初态:ACC存储被除数

  1. [M]->X
  2. [ACC]÷[X[->MQ
  3. 余数在ACC中
控制器的基本组成

控制器是中央处理单元的一部分,负责解释指令保证指令的按序执行

完成一条指令操作:

  1. 取指阶段:命令存储器读出一条指令
  2. 分析阶段:对这条指令进行分析,指出改指令要完成什么样的操作,并按照寻址特征指明操作数的地址
  3. 执行阶段:根据操作数所在的地址以及指令的操作码完成某种操作

控制器由程序计数器(PC)指令寄存器(IR)以及控制单元(CU)组成。
在这里插入图片描述
PC用来
存放当前欲执行指令的地址
,它与主存的MAR之间有一条直接通路,且具有自动加1的功能,即可自动形成下一条指令的地址。IR用来存放当前的指令,IR的内容来自主存的MDR。IR中的操作码(OP(IR))送至CU,记作 OP(IR)→CU,用来分析指令;其地址码(Ad(IR))作为操作数的地址送至存储器的MAR,记作 Ad(IR)→MAR。CU用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用以控制所有被控对象。

主机完成一条指令的过程

在这里插入图片描述

  1. 取指令:
    • 启动机器后,控制器立即将PC的内容送至主存的MAR(记作PC->MAR),并命令存储器做读操作
    • 主存内容送入MDR内
    • 由MDR送至控制器的IR(记作MDR->IR)
  2. 分析与执行指令:
    • 经CU分析(记作OP(IR)->CU)
    • CU又将IR中的地址码送至MAR(记作Ad(IR)->MAR),并命令存储器做读取操作
    • 将该地址单元中的操作数送至MDR,再有MDR送至运算器的ACC(记作MDR->ACC),完成此指令的执行过程。

与此同时,PC完成自动加1的操作,形成下一条指令的地址“1号”。

计算机的主要技术指标

机器字长:CPU一次能处理数据的位数,与CPU中的寄存器位数有关,字长越长,数的表示范围越大,精度也越高

运算速度:计算机的运算速度与许多因素有关,如机器的主频、核数,每个核支持的线程数,吉普森法、CPI(执行一条指令所需时钟周期数)、MIPS(每秒执行百万条指令)、FLOPS(每秒浮点运算次数)

存储容量

  1. 主存容量:指主存中存放的二进制代码的总位数,即存储容量=存储单元个数×存储字长
    MAR的位数反映了存储单元的个数,MDR的位数反映的存储字长,例如,MAR为16位,根据216=65 536,表示此存储体内有65 536个存储单元(即64K个存储字,1K=1 024 =210);而 MDR为32位,表示存储容量为216×32 =221=2M位(1M =210)

  2. 辅存容量:通常用字节数表示,如某机的赋存容量为80GB(1G=1024M=210×220=230).

本节内容到此结束,感谢观看!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

结构体内存对齐(面试重点)

结构体内存对齐 1. 结构体类型的声明1.1 结构体的概念1.1.1 结构的声明1.1.2 结构体变量的创建和初始化 1.2 结构的特殊声明1.3 结构的自引用 2. 结构体内存对齐2.1 对齐规则2.1.1 练习1:2.1.2 练习2:2.1.3 练习3:2.1.4 练习4: 2.2 offsetof宏的使用2.3 为什么存在内存对齐?2.…

蓝桥杯省赛无忧 编程7

为了解决这个问题,我们可以编写一个函数来计算从编号为1的石头到达编号为n的石头所需的最少步数。问题的关键是理解每一步的移动规则:从当前石头编号n移动到编号为nx的石头上,其中x是n的各位数字之和。因此,我们需要一个辅助函数来…

docker 部署 sentinel

docker 部署 sentinel 环境安装 拉取镜像 目前稳定的版本是1.8.0 docker pull bladex/sentinel-dashboard:1.8.0启动服务 docker run --name sentinel -p 8858:8858 -td bladex/sentinel-dashboard:1.8.0登录 登录的时候账号和密码都是sentinel

[安全警报] Npm木马利用“Oscompatible“包悄然安装AnyDesk

最近,一个名为OsCompatible的恶意包被上传到npm 。该包被发现包含一个针对 Windows 的远程访问木马。 这个名为OsCompatible的软件包于2024年1月9日发布,在被撤下之前共吸引了380次下载。 据了解,OsCompatible包含“几个奇怪的二进制文件”…

解决 pnpm : 无法加载文件 C:\Program Files\nodejs\pnpm.ps1,因为在此系统上禁止运行脚本。

执行下面命令进行安装pnpm安装后 npm install -g pnpm 然后执行pnpm 报错 解决办法: 以管理员身份运行 Windows PowerShell , 在命令行输入以下命令后按回车, set-ExecutionPolicy RemoteSigned 再输入Y 回车即可。 再回到控制台输入p…

Elasticsearch Index Shard Allocation 索引分片分配策略

Elasticsearch 索引分片的分配策略说明 在上一篇《索引生命周期管理ILM看完不懂你锤我 》(https://mp.weixin.qq.com/s/ajhFp-xBU1dJm8a1dDdRQQ)中,我们已经学会了索引级别的分片分配过滤属性,也就是在配置文件中指定当前节点的属…

srm-50——攻防世界

可以知道这道题是二类题型,你完成某个事情给你flag 我们输入正确的东西,给“flag” 运行一下可以知道这些关键词 直接关键词在字符串里面 找到运行得到的东西 INT_PTR __stdcall DialogFunc(HWND hDlg, UINT a2, WPARAM a3, LPARAM a4) {HMODULE Mo…

Vue 组件通信方式

✨ 专栏介绍 在当今Web开发领域中,构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架,正是为了满足这些需求而诞生。它采用了MVVM架构模式,并通过数据驱动和组件化的方式,使…

天津想转行学python培训班靠谱吗?

现在的职业如此繁多,很多人把高薪当成衡量工作好坏的重要标准,因此IT行业以超出其他行业几倍薪资水平成为不错的选择,而Python又以其简单易学好上手成为大家所青睐的学习目标。 Python发展前景如何 Python语言就业发展方向广泛:…

SpringSecurity+OAuth2.0 搭建认证中心和资源服务中心

目录 1. OAuth2.0 简介 2. 代码搭建 2.1 认证中心(8080端口) 2.2 资源服务中心(8081端口) 3. 测试结果 1. OAuth2.0 简介 OAuth 2.0(开放授权 2.0)是一个开放标准,用于授权第三方应用程序…

java垃圾回收GC过程

GC(Gabage Collection) 用于回收堆中的垃圾数据 清理方法 1.标记-清理 对数据标记,然后清理 缺点:容易产生内存碎片 2.标记-整理 对标记后的数据清理,剩下数据前移 缺点:每次清理后数据都要迁移&#xff0…

代码随想录二刷 | 回溯 | 组合优化

代码随想录二刷 &#xff5c; 回溯 &#xff5c; 组合优化 剪枝优化 剪枝优化 在遍历的过程中有如下代码&#xff1a; for (int i startIndex; i < n; i) {path.pop_back();backtracking(n, k, i 1);path.pop_back(); }n 4&#xff0c;k 4的话&#xff0c;那么第一层f…

qemu使用

百度qemu bios 问题 坑爹的玩意&#xff0c;编译qemu 还需要python3.5以上 解决方法&#xff1a; CentOS7安装Python3.8-CSDN博客 https://www.cnblogs.com/Oliver.net/p/7211967.html 编译python3.8还由于openssl过低 参考 QEMU启动x86-Linux内核_qemu-system-x86-…

SaaS多租户篇

文章目录 1. 多租户是什么2. 技术组件2.1 如何实现多租户的DB封装2.2 如何实现多租户的redis封装2.3 如何实现多租户的Web和Security封装2.4 如何实现多租户的Job封装2.5 如何实现多租户的 MQ 与 Async 封装&#xff1f;2.6 如何实现多租户的 AOP 与 Util 封装&#xff1f; 3.业…

【Qt之模型视图】5. Qt库提供的视图便捷类

1. 前言 Qt提供了一些便捷的视图类&#xff0c;如QListWidget提供项目列表&#xff0c;QTreeWidget显示多级树结构&#xff0c;QTableWidget提供单元格项的表格。每个类都继承了QAbstractItemView类的行为&#xff0c;QAbstractItemView类实现了项目选择和标题管理的通用行为。…

《WebKit 技术内幕》之五(1): HTML解释器和DOM 模型

第五章 HTML 解释器和 DOM 模型 1.DOM 模型 1.1 DOM标准 DOM &#xff08;Document Object Model&#xff09;的全称是文档对象模型&#xff0c;它可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。这里的文档可以是 HTML 文档、XML 文档或者 XHTML 文档。D…

ubuntu 相关内容

ubuntu 优盘安装&#xff1a; 台式机安装纯ubuntu系统的操作步骤-CSDN博客https://blog.csdn.net/youngwah292/article/details/127032009?ops_request_misc%257B%2522request%255Fid%2522%253A%2522170583039216800213099577%2522%252C%2522scm%2522%253A%252220140713.1301…

音视频开发ffmpeg

ffmpeg数据结构 重要的结构体 压缩数据 avpacket 帧数据 avframe 管家&#xff1a; avformatcontext 格式上下文 文件是一种协议 解协议&#xff08;http、rtsp rtmp mms tcp udp…&#xff09; AVIOContext URLProtocol URLContext存储音视频中的协议类型和状态 有缓冲区…

74.搜索二维矩阵 - 力扣(LeetCode)

题目描述 给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回…

爬虫案例—雪球网行情中心板块数据抓取

爬虫案例—雪球网行情中心板块数据抓取 雪球网行情中心网址&#xff1a;https://xueqiu.com/hq 目标&#xff1a;市场一览板块、热股榜板块、新股预告板块、关注排行榜板块 import datetimeimport requestsheaders {user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10…