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

系统概论与基本组成

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

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

相关文章

AI教我学编程之C#类的实例化与访问修饰符

前言 在这篇文章中,我将带大家深入了解C#编程语言的核心概念,包括类的实例化、访问修饰符的应用,以及C#中不同数据类型的默认值。我会通过逐步分析和具体实例,详细解释如何在C#中正确创建和操作对象,并探讨如何通过访…

维基百科推广的12种方法帮你建立强大的品牌-华媒舍

维基百科是全球最大、最权威的多语言网络百科全书。它是许多人搜索信息、获取知识的首选平台,也是许多品牌建立强大影响力的重要途径。本文将介绍维基百科推广的12种方法,帮助你在维基百科上建立强大的品牌形象。 1. 准备工作 在开始维基百科推广之前&a…

IDEA怎么用Devtools热部署

IDEA怎么用Devtools热部署 大家知道在项目开发过程中,有时候会改动代码逻辑或者修改数据结构,为了能使改动的代码生效,往往需要重启应用查看改变效果,这样会相当耗费时间。 重启应用其实就是重新编译生成新的Class文件&#xff0…

机器学习:何为监督学习和无监督学习

目录 一、监督学习 (一)回归 (二)分类 二、无监督学习 聚类 一、监督学习 介绍:监督学习是指学习输入到输出(x->y)映射的机器学习算法,监督即理解为:已知正确答案…

C语言总结十一:自定义类型:结构体、枚举、联合(共用体)

本篇博客详细介绍C语言最后的三种自定义类型,它们分别有着各自的特点和应用场景,重点在于理解这三种自定义类型的声明方式和使用,以及各自的特点,最后重点掌握该章节常考的考点,如:结构体内存对齐问题&…

C++PythonC# 三语言OpenCV从零开发(5):ROI截取

文章目录 前言ROI测试图片部分区域截取CCsharpPython 颜色区域分割CCsharpPython 颜色通道合并CCsharpPython 总结 前言 C&Python&Csharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程(附带课程课件资料课件笔记&#xff09…

Mybatis Plus baomidou EasyCode插件自动生成驼峰字段实体类,而不是全小写字段实体类

开发环境: springboot 2.4.3baomidou 3.4.0mybatis plus 3.4.0jdk8 问题描述: 1、mybatis 使用baomidou 插件,EasyCode自动生成实体类,但字段都是全部小写的,不太符合编码规范。 2、mysql表字段全是驼峰&#xff0c…

大数据技术原理及应用课实验3 :熟悉常用的HBase操作

目录 实验3 熟悉常用的HBase操作 一、实验目的 二、实验平台 三、实验步骤(每个步骤下均需有运行截图) (一)编程实现以下指定功能,并用Hadoop提供的HBase Shell命令完成相同任务: 1.列出HBase所有的表…

科大讯飞将于1月30日发布星火大模型 V3.5,基于全国产化算力底座训练

科大讯飞即将发布全新AI大模型——星火认知大模型 V3.5,该模型将于14:00正式发布。据透露,相比于去年10月24日发布的V3.0版本,V3.5在逻辑推理、文本生成、数学答题及小样本学习能力上均实现了显著提升。 科大讯飞官网链接:讯飞星…

Leetcode的AC指南 —— 栈与队列:20. 有效的括号

摘要: **Leetcode的AC指南 —— 栈与队列:20. 有效的括号 **。题目介绍:给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字…

CMeet系列技术生态沙龙---城市开发者组织年度聚会·杭州 《把握未来趋势,持续学习创新》

CSDN始终致力于促进城市区域内尖端新兴技术开发者交流,提供开放自由的切磋平台。在这个充满挑战和机遇的一年即将结束之际,通过本次聚会,汇聚杭州本地各行各业的开发者朋友,回顾过去一年城市社区的成就和收获,感谢携手同行的各位,…

makefile的机制,执行命令的流程分析

makefile的机制,流程分析 calc:add.o sub.o multi.ogcc add.o sub.o multi.o calc.cpp -o calcadd.o:add.cppgcc -c add.cpp -o add.osub.o:sub.cppgcc -c sub.cpp -o sub.omulti.o:multi.cppgcc -c multi.cpp -o multi.oclean:rm -rf *.o calc按照这个例子分析&am…

常见网站结构

网站架构与部署架构 1、初始阶段的网站架构 一般来讲,大型网站都是从小型网站发展而来,一开始的架构都比较简单,随着业务复杂和用户量的激增,才开始做很多架构上的改进。当它还是小型网站的时候,没有太多访客&#…

数据结构之栈和队列

数据结构之栈和队列 1、栈1.1、栈的定义及基本运算1.2、栈的存储结构 2、队列2.1、队列的定义及基本运算2.2、队列的存储结构2.3、队列的应用 数据结构是程序设计的重要基础,它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从…

FDM3D打印系列——宝可梦妙蛙种子

fdm打印妙蛙种子 大家好,我是阿赵。   每次打印3D模型,都有新的感觉,这次打印了个宝可梦里面的妙蛙种子,也就是俗称的蒜头王八。   先来看看成果,然后在后面再聊一下关于3D打印的一些体会。使用创想三维的Sermoon …

华为机考入门python3--(0)测试题1-句子平均重量

分类:字符串 知识点: 获取输入 input().strip().split(" ") 拼接列表 " ".join(list) 输出指定位数的浮点数 print("%.2f" % value) 题目来自【华为招聘模拟考试】 # If you need to import additional packages or c…

Dell戴尔XPS 8930笔记本电脑原装Win10系统 恢复出厂预装OEM系统

链接:https://pan.baidu.com/s/1eaTQeX-LnPJwWt3fBJD8lg?pwdajy2 提取码:ajy2 原厂系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、Office办公软件、MyDell等预装程序 文件格式:esd/wim/swm 安装方式&am…

一文梳理金融风控建模全流程(Python)

▍目录 一、简介 风控信用评分卡简介 Scorecardpy库简介 二、目标定义与数据准备 目标定义 数据准备 三、安装scorecardpy包 四、数据检查 五、数据筛选 六、数据划分 七、变量分箱 卡方分箱 手动调整分箱 八、建立模型 相关性分析 多重共线性检验VIF KS和AUC …

李宏毅 Generative Adversarial Network(GAN)生成对抗网络

(延申)GAN Lecture 1 (2018)- Introduction_哔哩哔哩_bilibili Basic Idea of GAN 附课程提到的各式各样的GAN:https://github.com/hindupuravinash/the-gan-zoo 想要让机器做到的是生成东西。->训练出来一个generator。 假设要做图像生成,要做的是…

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

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