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

系统概论与基本组成

  • 系统概论
      • 硬件
      • 软件
    • 计算机系统的层次结构
      • 系统复杂性的管理方法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).

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

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

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

相关文章

Java List集合使用 Comparator.comparing 排序报空指针异常问题

前言 有时候对一个List集合的某个字段进行排序的时候会报错,问题就是排序的那个字段可能是个空值,那么下面就是处理这种问题的方式,亲自测试有效。 参考 点击可跳转:Java List集合使用 Comparator.comparing 排序报空指针异常问…

TPM模拟器安装

目录 TPM模拟器安装 1)安装配置所需依赖 2)从官网下载TPM模拟器程序ibmtpm1332.tar.gz 3)创建安装目录并将源码解压到对应目录 4)进入解压后的目录,然后执行安装命令 5)将tpm服务器添到Linux系统执行目…

gradle各版本下载地址

IDEA如何配置 Gradle(详细版)_idea gradle配置-CSDN博客 Gradle | Releases 参考以上文档

Python中函数的4种参数形式

默认参数的特点是在声明函数时使用“”来指定默认值。缺省参数指因为程序使用了默认值,使得函数调用时不必写出全部参数。 关键字参数可以摆脱位置匹配的限制,直接用变量名匹配。可变参数用于处理任意数量的参数,形参中带一个*,将…

小蓝和小桥的挑战*

题目 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int t sc.nextInt();sc.nextLine();while(t-- > 0) {int n sc.nextInt();sc.nextLine();int[] a new int[n];for(int i0;i<n;i)a[i…

Web server failed to start.Port xxxx was already in use.

目录 一、报错截图&#xff1a;二、解决方式 一、报错截图&#xff1a; 某端口被占用,导致出现如下报错&#xff1a; 二、解决方式 windowsR 输入cmd—>回车 如下图所示 查看被占用的端口的进程&#xff0c;如下图&#xff1a; netstat -ano |findstr 端口号结束这个进程…

恭喜CSDN,www.csdn.com域名买回来了!

摘要&#xff1a;www.csdn.com已经可以访问了&#xff0c;恭喜CSDN&#xff0c;迈出国际化的重要一步。 主页面浓浓的国际简约范 静态展示特点 著名的1024 day day up OpenStack & Open-Source 最后附上的是report 已经有众多支持者了&#xff0c;看排序。 博客不多&#…

重拾计网-第三弹 你不知道的计算机的秘密

&#x1f389;欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克&#x1f379; ✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;重拾计算机网络 &#x1f379;文章作者技术和水平很有限&#xff0c;如果文中出现错…

【MATLAB源码-第120期】基于matlab的GFSK系统调制解调仿真,输出各个节点的波形以及功率谱。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 GFSK&#xff08;高斯频移键控&#xff09;是一种数字调制技术&#xff0c;广泛应用于无线通信领域&#xff0c;尤其是在低功率和短距离通信系统中&#xff0c;例如蓝牙技术。GFSK是频移键控&#xff08;FSK&#xff09;的一…

Vue3+ElementUI 多选框中复选框和名字点击方法效果分离

现在的需求为 比如我点击了Option A &#xff0c;触发点击Option A的方法&#xff0c;并且复选框不会取消勾选&#xff0c;分离的方法。 <el-checkbox-group v-model"mapWork.model_checkArray.value"> <div class"naipTypeDom" v-for"item …

AI+量化02_金融市场的基础概念

文章目录 问答之纯小白 vs GPT4Q1. 请用尽可能简短的语句或例子&#xff0c;给小白讲解宏观经济Q2. 给小白讲解资本边际效率Q3. 如果证券没有风险是否意味着没有收益&#xff1f;Q4. 芒格&#xff1a;教人炒股&#xff0c;犹如引人吸毒Q5. 给小白快速讲解&#xff1a;卡房统计量…

IP 地址如何进行动态分配?

由于 IP 地址资源的有限性&#xff0c;大部分用户上网都是使用动态 IP 地址&#xff0c;而不是静态 IP 地址。动态 IP 地址指的是在需要的时候才进行 IP 地址分配的方式&#xff0c;而静态 IP 地址是固定分配一个 IP 地址&#xff0c;每次都用这一个地址。因此&#xff0c;IP 地…

docker常用基础命令

文章目录 1、Docker 环境信息命令1.1、docker info1.2、docker version 2、系统日志信息常用命令2.1、docker events2.2、docker logs2.3、docker history 3、容器的生命周期管理命令3.1、docker create3.2、docker run 总结 1、Docker 环境信息命令 1.1、docker info 显示 D…

硬件-11-服务器的基础知识

参考服务器基础知识大科普 1 电视剧背景 服务器被誉为互联网之魂。 电视剧《创业年代》是一部有冯绍峰和袁姗姗等人联手主演的一部讲述我国第一批科技创业者创业故事的电视剧&#xff0c;可以说是他们铲下了建设中关村的第一捧土。 电视剧《创业年代》中的潮信公司并没有…

Ubuntu上安装部署Qt

首先需要下载对应的虚拟机软件和ubuntu镜像&#xff0c;虚拟机软件使用VMware或者Virtual Box都行&#xff0c;我用的是前者&#xff0c;这里是VMware的下载链接&#xff1a;下载 VMware Workstation Pro | CN。Ubuntu镜像推荐去清华的网站下载&#xff1a;Index of /ubuntu-re…

不管过程有多难,也想做好送给你

大家好&#xff0c;我是小悟 春节临近&#xff0c;很多品牌都各自定制了专属红包封面&#xff0c;相信也有小伙伴也抢到了一些品牌主分发的红包封面&#xff0c;微信也在各种入口比如通过搜索、摇一摇、看视频帮助用户“薅”红包封面。作为“代码撬动改变世界”的实践者&#x…

stm32h7内部flash与qspi flash异同与差异

内部flash.与qspi flash区别 在STM32H7微控制器中&#xff0c;QSPI闪存&#xff08;Quad SPI Flash&#xff09;和内部闪存之间存在一些具体的差异。以下是一些常见的差异点&#xff1a; 访问速度&#xff1a;内部闪存通常具有更快的访问速度&#xff0c;可以以更高的速率读取…

Webpack 基本使用 - 1

Webpack 是什么 webpack 的核心目的是打包&#xff0c;即把源代码一个一个的 js 文件&#xff0c;打包汇总为一个总文件 bundle.js。 基本配置包括mode指定打包模式&#xff0c;entry指定打包入口&#xff0c;output指定打包输出目录。 另外&#xff0c;由于 webpack默认只能打…

计量属性和会计报表

目录 历史成本计价基础的优点重置成本计价可变现净值计价现值公允价值会计报表 \quad \quad 会计要素的计量属性简单的来说就是用什么样的方法来进行计量。 \quad \quad 历史成本计价基础的优点 (比如用发票) 1、数据客观 2、随时可以查证 3、防止随意更改 4、核算手续简化 历…

Python学习从0到1 day7 Python判断语句

路远殊途&#xff0c;祝你得偿所愿 ——24.1.21 前言 进行逻辑判断&#xff0c;是生活中常见的行为&#xff0c;同样&#xff0c;在程序中&#xff0c;进行逻辑判断也是最为基础的功能 一、布尔类型和比较运算符 1.布尔类型 进行判断&#xff0c;有两个结果&#xff0c;True、…