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

计算机组成原理:1. 计算机系统概论

更好的阅读体验\huge{\color{red}{更好的阅读体验}}更好的阅读体验


文章目录

    • 1.1 计算机系统简介
      • 1.1.1 计算机软硬件概念
      • 1.1.2 计算机的层次
      • 1.1.3计算机组成和计算机体系结构
    • 1.2 计算机的基本组成
      • 1.2.1 冯·诺伊曼计算机的特点
      • 1.2.2 计算机的硬件框图
      • 1.2.3 计算机的工作步骤
    • 1.3 计算机硬件的主要技术指标
      • 1.3.1 机器字长
      • 1.3.2 存储容量
      • 1.3.3 运算速度

1.1 计算机系统简介


1.1.1 计算机软硬件概念


计算机系统由硬件软件两大部分组成:

  • 硬件:是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成,如主机、外部设备等。

  • 软件:由人们事先编制的具有各类特殊功能的程序组成,通常存放在计算机的主存或辅存内。

    计算机性能的好坏取决于软、硬件功能的总和。

    计算机的软件通常又可以分为两大类:系统软件和应用软件:

  • 系统软件又称为系统程序,主要用来管理整个计算机系统,监视服务,使系统资源得到合理调度,高效运行。它包括:标准程序库、语言处理程序、操作系统、服务程序、数据库管理系统、网络软件等。

  • 应用软件又称为应用程序,它是用户根据任务需要所编制的各种程序,如科学计算程序、数据处理程序、过程控制程序、事务管理程序等。


1.1.2 计算机的层次


现代计算机具有多级层次的结构:

在这里插入图片描述

从计算机系统的多级层次结构来看,可以将硬件研究的主要对象归结为传统机器 M1M_1M1,和微程序机器 M0M_0M0。软件的研究对象主要是操作系统级以上的各级虚拟机。


1.1.3计算机组成和计算机体系结构


计算机体系结构:指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性。

计算机组成:指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。

例:对于一个计算机来说,其具有乘法计算、除法计算等功能,这是其结构的组成部分,而对于乘法计算指令和除法计算指令实现的方式,则是计算机组成的问题。


1.2 计算机的基本组成


1.2.1 冯·诺伊曼计算机的特点


1945 年,数学家冯·诺依曼(von Neumann)在研究 EDVAC\text{EDVAC}EDVAC 机时提出了存储程序的概念。以此概念为基础的各类计算机通称为冯·诺依曼机。它的特点可归结如下:

  • 计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成。
  • 指令和数据以同等地位存放于存储器内,并可按地址寻访。
  • 指令和数据均用二进制数表示。
  • 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
  • 指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
  • 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。

1.2.2 计算机的硬件框图


典型的冯·诺依曼计算机是以运算器为中心的:

在这里插入图片描述

现代的计算机已转化为以存储器为中心:

在这里插入图片描述

图中各部件的功能如下:

  • 运算器:完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内。

  • 存储器:存放数据和程序。·控制器用来控制、指挥程序和数据的输入、运行以及处理运算结果。

  • 输入设备:将人们熟悉的信息形式转换为机器能识别的信息形式,常见的有键盘、鼠标等。

  • 输出设备:将机器运算结果转换为人们熟悉的信息形式,如打印机输出、显示器输出等。

    由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,通常将它们合起来统称为中央处理器(Central Processing Unit,CPU)。把输入设备与输出设备简称为 I/O 设备(Input/Output Equipment)这样,现代计算机可认为由三大部分组成:CPUI/O设备及主存储器(Main Memory,MM);CPU 与主存储器合起来又可称为主机,I/O 设备又可称为外部设备。

在这里插入图片描述

算术逻辑单元(Arithmetic Logic Unit,ALU):简称算逻部件,用来完成算术逻辑运算。

控制单元(Control Unit,CU):用来解释存储器中的指令,并发出各种操作命令来执行指令。

ALUCUCPU 的核心部件。I/O 设备也受 CU 控制,用来完成相应的输入、输出操作。


1.2.3 计算机的工作步骤


在许多科学技术的实际问题中,往往会遇到许多复杂的数学方程组,而数字计算机通常只能执行加、减、乘、除四则运算,这就要求在上机解题前,先由人工完成一些必要的准备工作。

这些工作大致可归纳为:

  • 建立数学模型:找到一系列反映研究对象变化规律的数学方程组。

  • 确定计算方法:针对数学模型对应有计算机可行的计算方法。

  • 编制解题程序:编写相应的计算程序使可以通过计算机运行得到结果。

    具体到计算机硬件部分:

  • 主存储器存储计算程序及计算所需和产生的所有数据;

  • 运算器读取主存储器的数据进行计算,并将中间结果存入主存储器;

  • 控制器对这些指令进行分析来控制存储和运算的操作;

  • I/O 设备最终将这些结果输出。


1.3 计算机硬件的主要技术指标


衡量一台计算机性能的优劣是根据多项技术指标综合确定的。其中,既包含硬件的各种性能指标,又包括软件的各种功能。这里主要讨论硬件的技术指标。


1.3.1 机器字长


机器字长是指 CPU 一次能处理数据的位数,通常与 CPU 的寄存器位数有关。字长越长,数的表示范围越大,精度也越高。机器的字长也会影响机器的运算速度。若 CPU 字长较短,又要运算位数较多的数据,那么需要经过两次或多次的运算才能完成,这样势必影响机器的运算速度。

机器字长对硬件的造价也有较大的影响。它将直接影响加法器(或ALU)、数据总线以及存储字长的位数。所以机器字长的确定不能单从精度和数的表示范围来考虑。


1.3.2 存储容量


存储器的容量应该包括主存容量和辅存容量。

主存容量是指主存中存放二进制代码的总位数。即:存储容量二存储单元个数×存储字长\text{存储容量二存储单元个数} \times \text{存储字长}存储容量二存储单元个数×存储字长

现代计算机中常以字节数来描述容量的大小,因一个字节已被定义为 8 位二进制代码,故用字节数便能反映主存容量。辅存容量通常用字节数来表示。


1.3.3 运算速度


计算机的运算速度与许多因素有关,如机器的主频、执行什么样的操作、主存本身的速度等都有关。

早期用完成一次加法或乘法所需的时间来衡量运算速度,即普通法,显然是很不合理的。后来采用吉普森(Gibson)法,它综合考虑每条指令的执行时间以及它们在全部操作中所占的百分比,即:
TM=∑i=1nfitiT_{\text{M}} = \sum^{n}_{i = 1}{f_i t_i} TM=i=1nfiti
其中,TMT_{\text{M}}TM 为机器运行速度;fif_ifi 为第 iii 种指令占全部操作的百分比数;tit_iti 为第 iii 种指令的执行时间。

现在机器的运算速度普遍采用单位时间内执行指令的平均条数来衡量,并用 MIPS(Million Instruction Per Second,百万条指令每秒)作为计量单位。例如,某机每秒能执行 200 万条指令,则记作 2 MIPS。也可以用 CPI(Cycle Per Instruction)即执行一条指令所需的时钟周期(机器主频的倒数),或用 FLOPS(Floating Point Operation Per Second,浮点运算次数每秒)来衡量运算速度。

相关文章:

计算机组成原理:1. 计算机系统概论

更好的阅读体验\huge{\color{red}{更好的阅读体验}}更好的阅读体验 文章目录1.1 计算机系统简介1.1.1 计算机软硬件概念1.1.2 计算机的层次1.1.3计算机组成和计算机体系结构1.2 计算机的基本组成1.2.1 冯诺伊曼计算机的特点1.2.2 计算机的硬件框图1.2.3 计算机的工作步骤1.3 计…...

【c#】c#常用小技巧方法整理(5)—— 字符串操作类

1、GetStrArray(string str, char speater, bool toLower) 把字符串按照分隔符转换成 List 2、GetStrArray(string str) 把字符串转 按照, 分割 换为数据 3、GetArrayStr(List list, string speater) 把 List 按照分隔符组装成 string 4、GetArrayStr(List list) 得到数组列表以…...

用队列实现栈VS用栈实现队列

之前我们就讲过队列,栈的基础知识,笔者之前有过详细的介绍,感兴趣的可以根据笔者的个人主页进行查找:https://blog.csdn.net/weixin_64308540/?typelately225. 用队列实现栈请你仅使用两个队列实现一个后入先出(LIFO&…...

MY2480-16P语音模块的使用

MY2480-16P语音模块的使用开发环境:STM32CUBEMXKEIL5辅助软件:串口助手、迅捷文字转语音一、MY2480-16P语音模块引脚图及引脚定义二、选择触发方式三、使用串口控制MY2480-16P语音模块四、模块使用指南开发环境:STM32CUBEMXKEIL5 辅助软件&a…...

I/O 多路复用

。新到来一个 TCP 连接,就需要分配一个进程或者线程,那么如果要达到 C10K,意味着要一台机器维护 1 万个连接,相当于要维护 1 万个进程/线程,操作系统就算死扛也是扛不住的。 一个进程虽然任一时刻只能处理一个请求&…...

2023 最新版网络安全保姆级指南,从0到1,建议收藏!

一、网络安全学习的误区 1.不要试图以编程为基础去学习网络安全 不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,且过渡到网络安全用到编程的用到的编程的关键点不多。一般人如果想要把编程学好再开始学习网络安全往…...

力扣39.组合总数

文章目录力扣39.组合总数题目描述方法1:深搜回溯力扣39.组合总数 题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可…...

sql的case when用法详解

简单CASE WHEN函数: CASE SCORE WHEN A THEN 优 ELSE 不及格 END CASE SCORE WHEN B THEN 良 ELSE 不及格 END CASE SCORE WHEN C THEN 中 ELSE 不及格 END等同于,使用CASE WHEN条件表达式函数实现: CASE WHEN SCORE A THEN 优WHEN SCORE …...

AtCoder Grand Contest 061(题解)

A - Long Shuffle 这道题本质是一个找规律的题 既然是打表题,我们先暴力把他打出来 (盗一张图.jpg) 接下来就是在这张图中挖掘答案 我们可以明显的看到偶数行是有一些规律的 要么是相邻对的互换,要么不变 不变和互换的位置也有讲究,在二进制…...

生成系列论文:文本控制的3d点云生成 TextCraft(一):论文概览

TextCraft: Zero-Shot Generation of High-Fidelity and Diverse Shapes from Text 论文原文: https://arxiv.org/abs/2211.01427 论文的研究动机 DALL2已经在文本控制的图像生成上取得很好的效果,但是基于文本控制的3d点云生成的研究还不太成熟&#…...

IDEA常用插件

常用IDEA插件 Codota 插件下载地址:Codota AI Autocomplete for Java and JavaScript - IntelliJ IDEs Plugin | Marketplace IDEA的自动补全功能已经很强大了,但是这个插件的自动补全功能更加强大,这是一个基于AI技术,学习了大量…...

Spring的事务传播机制

多个事务方法相互调用时,事务如何在这些方法之间进行传播,Spring中提供了七种不同的传播机制,来保证事务的正常执行: REQUIRED:默认的传播机制,如果存在事务,则支持/加入当前事务,如…...

Python:路径之谜(DFS剪枝)

题目描述 小张冒充 X 星球的骑士,进入了一个奇怪的城堡。 城堡里边什么都没有,只有方形石头铺成的地面。 假设城堡地面是 nn 个方格。如下图所示。 按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走&#xf…...

阿里巴巴在开源压测工具 JMeter 上的实践和优化

Apache JMeter [1] 是 Apach 旗下的开源压测工具,创建于 1999 年初,迄今已有超过 20 年历史。JMeter 功能丰富,社区(用户群体)庞大,是主流开源压测工具之一。 性能测试通常集中在新系统上线或大型活动前&…...

React Draggable插件实现拖拽功能

React Draggable插件实现拖拽功能1.下载Draggable插件2.引入Draggable插件3.设置一个div,并设置样式,并用Draggable包裹起来4.设置拖拽的范围5.Draggable常用props1.下载Draggable插件 npm install react-draggable2.引入Draggable插件 // 引入拖拽插件…...

MySQL-运算符

算术运算符: 加法运算-: 减法运算*: 乘法运算/: 除法运算,返回商%: 求余运算,返回余数例:创建n5表,插入数字100,查看数据表分别查看、-、*、/、%mysql> create table n5(-> num int); Query OK, 0 rows affected…...

Hudi-基本概念(时间轴、文件布局、索引、表类型、查询类型、数据写、数据读、Compaction)

文章目录基本概念时间轴(TimeLine)文件布局(File Layout)Hudi表的文件结构Hudi存储的两个部分Hudi的具体文件说明索引(Index)原理索引选项全局索引与非全局索引索引的选择策略对事实表的延迟更新对事件表的去重对维度表的随机更删…...

数据分享|中国各省、各市、各区县分年、分月、逐日平均气温数据(2000年~2019年)

今天分享给大家的是 2000 年~2019 年中国各省、各市、各县的分年、分月、逐日的平均气温数据(单位:摄氏度) 原始数据来源于国家气象科学数据共享服务平台-中国地面气候资料日值数据集(V3.0),原始数据是各个观测站点的日度数据,为了方便大家使用,我使用 Barnes 方法(…...

steam/csgo搬砖,2023年最暴利的项目

这个项目赚钱主要来源于两个地方: 1.比如说今天美元的汇率是1美元6.8人民币,那我们有特定的渠道能拿到1美元5.0-5.5左右人民币的价格,100美元的汇率差利润就有180元左右的利润,当然这个价格是根据国际的汇率上下会有浮动的。 2.…...

RDSDRDSPolarDBPolarDB-X的区别

RDS 阿里云关系型数据库(Relational Database Service,简称RDS),是一种稳定可靠、可弹性伸缩的在线数据库服务。 基于阿里云分布式文件系统和高性能存储,RDS支持MySQL、SQL Server、PostgreSQL和PPAS(Post…...

【Python学习笔记】30.Python3 命名空间和作用域

前言 本章介绍Python的命名空间和作用域。 命名空间 先看看官方文档的一段话: A namespace is a mapping from names to objects.Most namespaces are currently implemented as Python dictionaries。 命名空间(Namespace)是从名称到对象的映射,大…...

后量子 KEM 方案:Kyber

参考文献: Bos J, Ducas L, Kiltz E, et al. CRYSTALS-Kyber: a CCA-secure module-lattice-based KEM[C]//2018 IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 2018: 353-367.Avanzi R, Bos J, Ducas L, et al. Crystals-kyber[J]. NIST…...

2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)

同步赛链接 A-原初的信纸(最值&#xff0c;STL&#xff09; 题意&#xff1a; 找 n 个数的最大值. 参考代码&#xff1a; void solve() {int n;std::cin >> n;std::vector<int> a(n);for (auto &c : a)std::cin >> c;std::cout << *max_element…...

生产Nginx现大量TIME-WAIT,连接耗尽,该如何处理?

背景说明&#xff1a; 在尼恩读者50交流群中&#xff0c;是不是有小伙伴问&#xff1a; 尼恩&#xff0c;生产环境 Nginx 后端服务大量 TIME-WAIT &#xff0c; 该怎么办&#xff1f; 除了Nginx进程之外&#xff0c;还有其他的后端服务如&#xff1a; 尼恩&#xff0c;生产环境…...

Linux服务器clang-13安装(环境变量配置)

1.从llvm的github网址选择合适的release合适的运行平台进行下载&#xff0c;下载官方预编译的二进制压缩包。 2.将下载好的压缩包进行本地上传。 使用scp命令进行上传 scp -r -P 端口号 本地文件路径 服务器ID等:服务器上目标地址 3.解压(tar命令&#xff09; 4.环境变量配…...

【C++】C/C++内存管理模板初阶

文章目录一、 C/C内存管理1. C/C内存分布2. C内存管理方式3. operator new与operator delete函数4. new和delete的实现原理5. 定位new表达式6. 常见面试题malloc/free和new/delete的区别内存泄漏二、模板初阶1. 泛型编程2. 函数模板3. 类模板一、 C/C内存管理 1. C/C内存分布 …...

笙默考试管理系统-index展示

public class PageList<T> : List<T> { public int PageIndex { get; private set; } //页索引 public int PageSize { get; private set; }//页大小 public int TotalPage { get; private set; }//总页数 public int TotalCo…...

前端基础知识6

谈谈你对语义化标签的理解语义化标签就是具有语义的标签&#xff0c;它可以清晰地向我们展示它的作用和用途。 清晰的代码结构&#xff1a;在页面没有css的情况下&#xff0c;也能够呈现出清晰的代码内容 有利于SEO: 爬虫依赖标签来确定关键字的权重&#xff0c;因此可以和搜索…...

【项目精选】智慧物业管理系统

点击下载源码 1、 选题的背景、研究目的和意义 1&#xff09;选题的背景 智慧物业是物业发展的必然趋势&#xff0c;是物业管理的一种新理念&#xff0c;是 新形势下社会管理创新的一种新模式。 随着人工智能、大数据、互联网等高新技术的发展&#xff0c;物业管理企 业先后试…...

解决HC-05/HC06等蓝牙模块的调试问题

解决HC-05/HC06等蓝牙模块的调试问题问题&#xff1a;1.无法使用USB转串口工具设置HC-05等蓝牙模块&#xff0c;具体问题是&#xff1a;发送AT指令&#xff0c;无回复&#xff1b;2.电脑如何连接HC-05模块&#xff0c;与模块通信&#xff08;具体场景&#xff1a;HC-05模块的串…...

网站优化计划/中国百强城市榜单

当前越来越多的消费者对自己所需要使用的产品尤其是音效产品都有了更高的需求。追求极致的音效体验&#xff0c; 这也给外置声卡行业带来极大的发展空间。现如今声卡主要面向热衷于钻研电子科技&#xff0c;或直播行业&#xff0c;游戏领域的年轻消费群体&#xff0c;在产品的沟…...

网站美工工作流程/网络软文怎么写

2019独角兽企业重金招聘Python工程师标准>>> 太久没去blog.com更新文章&#xff0c;导致他们要删掉我的blog,无奈只好把我之前收集的其他的文章搬到这里。先声明&#xff0c;这些文章都是网络上的资料&#xff0c;出处我已经忘记了&#xff0c;不好意思。 1 管理好…...

深圳网站建设小江/泉州网站seo外包公司

智慧寻源 多策略、多场景寻源&#xff0c;多种看板让寻源过程全程可监控&#xff0c;根据不同采购场景&#xff0c;采取不同寻源策略&#xff0c; 实现采购寻源线上化管控&#xff1b;同时支持公域和私域寻源。 询价比价 全程线上询比价&#xff0c;信息公开透明&#xff0c;可…...

上海建站中心/网络营销专业就业公司

题目描述 请设计一个函数&#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始&#xff0c;每一步可以在矩阵中向左&#xff0c;向右&#xff0c;向上&#xff0c;向下移动一个格子。如果一条路径经过了矩阵中的某一…...

wordpress 获取二级栏目/国际婚恋网站排名

为提高大家对“Python”编程语言的学习兴趣&#xff0c;今天给大家分享几款有趣的Python程序代码&#xff0c;感兴趣的小伙伴可以跟着学习借鉴哦&#xff01;分享一&#xff1a;"啥是佩奇&#xff1f;"让Python语言告诉你用Python代码创作一副佩奇&#xff1a;1. # c…...

怎么样制作自己的网站/互联网推广的优势

简介 浏览器是存在缓存的&#xff0c;一般会在用户的文件系统中创建一个目录用于存放缓存文件&#xff0c;其目的是减少服务器端的网络开销&#xff0c;提高用户访问速度。这种缓存主要分两种&#xff1a; 1、需要和服务器交互&#xff08;缓存协商&#xff09;&#xff0c;比…...