浅谈CPU、内存、硬盘之间的关系
计算机,大家都知道的,就是我们日常用的电脑,不管台式的还是笔记本都是计算机。那么这个看着很复杂的机器由哪些组成的呢,今天就简单的来了解一下。
先放图:
图上展示的就是计算机的基本组成啦。
- 首先是输入设备,输入设备是什么呢,其实大家都很熟悉的,比如键盘鼠标等,平常我们用它们来打字输入聊天什么的,就是一种输入啦;
- 存储器,可以先简单理解为存放数据的地方,就是有了它,计算机就好像具备了记忆能力;
- CPU,从图中可以看到,CPU = 控制器(CU)+运算器(ALU),cpu又叫中央处理器,相当于计算机的大脑,它主要是解释计算机指令和处理计算机中的数据;
- 输出设备,这个就简单了,比如打印机什么的。
好了,现在有个直观的印象了,对于输入设备和输出设备估计没有什么疑问,就是不明白这个cpu计算机的大脑是怎么和存储器协作完成计算机数据的处理呢?
首先,先看看这个存储器到底是什么呢。存储器的种类很多,按用途可以分为主存储器和辅助存储器,主存储器又称内存,是CPU能直接寻址的存储空间,它的特点是存取速率快。内存一般采用半导
体存储单元,包括随机存储器(RAM)、只读存储器(ROM)和高级缓存(Cache)。
从命名可以看出来,随机存储器(RAM)可以随机读写数据,但是电源关闭时存储的数据就会丢失;
只读存储器(ROM):(Read Only Memory)只能读取,不能更改,即使机器断电,数据也不会丢失;
高级缓存(Cache):它是介于CPU与内存之间,常用有一级缓存(L1)、二级缓存(L2)、三级缓存(L3)(一般存在于Intel系列)。它的读写速度比内存还快,当CPU在内存中读取或写入数据
时,数据会被保存在高级缓冲存储器中,当下次访问该数据时,CPU直接读取高级缓冲存储器,而不是更慢的内存。
辅助存储器又称外存储器(简称外存),就是那些磁盘、硬盘、光盘啦,也就是你在电脑上看到的C、D、E、F盘。
那么CPU呢,具体又包含哪些呢?
如图所示,cpu相当于控制器(CU)+运算器(ALU)。
控制器由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成。它是计算机指挥系统,完成计算机的指挥工作。主要有以下功能:
- 取指令 从内存中取出当前指令,并生成下一条指令在内存中的地址
- 分析指令
- 执行指令
- 发出各种微操作命令
- 改变指令的执行顺序
- 控制程序和数据的输入与结果输出
- 对异常情况和某些请求的处理
其实就相当于通过指令的方式告诉计算机该怎么做。下面这张图就是cpu的工作流程:
而运算器由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成。主要有以下功能:
- 执行所有的算术运算,如加、减、乘、除等基本运算及附加运算;
- 执行所有的逻辑运算,并进行逻辑测试,如与、或、非、零值测试或两个值的比较等。
关于CPU、内存、硬盘和指令之间的关系,网上还有一段对此说明的例子,觉得非常的恰当,就此摘抄过来,以便于加深理解和记忆,如下:
如果说把硬盘比喻成一个大仓库,CPU比喻成加工车间,那么内存就是一个临时的小仓库。从距离上来说, 相比内存到CPU的距离和硬盘到内存的距离,内存和CPU的距离更短。硬盘(大仓库)用来
保存车间需要用的原料和最终生产出来的商品。仓库太大,取出原料和存储商品太慢,耗时间。内存(临时小仓库):原料会先放到这里,小仓库,可以很快的找到需要的原料或商品。CPU(车间):从
内存(小仓库)里拿到原料,生产商品。中间会有半成品,半成品可以放在内存(小仓库)里。
以上为本人粗浅理解,如有错误之处,欢迎大家指出。
声明:文中图片均从网上获取,最后一段例子从网上博客摘抄而来,如有不妥,请联系本人删除。
参考:https://software.intel.com/zh-cn/articles/book-Processor-Architecture_CPU_work_process
http://www.cnblogs.com/resn/p/5766142.html
浅谈CPU、内存、硬盘之间的关系的更多相关文章
- 浅谈SDN和NFV之间的关系
一个行业固定设备的折旧周期很长,任何变革的发生都绝非易事,但是网络却一次性面临两项革新--软件定义网络(SDN)和网络功能虚拟化(NFV),在变革网络的过程中,二者若想取得成功可能会依赖彼此的技术,或 ...
- CPU、内存、硬盘之间的关系
要完完全全地讲清楚cpu.内存.硬盘之间的关系,博客的篇幅是不够的.这里简单的介绍以下它们之间的关系,抛砖引玉. 1.CPU即中央处理器,是英语“Central Processing Unit”的缩写 ...
- Windows 性能监视器的基本指标说明(CPU,内存,硬盘参数)
[转]Windows 性能监视器的基本指标说明(CPU,内存,硬盘参数) 作为一个系统工程师来说,要看懂监控的数据至关重要,关系着优化和分析出现的问题.我是在运维过程中要用到的.因此,今天给出Wind ...
- Windows 性能监视器的基本指标(CPU,内存,硬盘参数)
转载:http://kms.lenovots.com/kb/article.php?id=7045 Windows 性能监视器的基本指标(CPU,内存,硬盘参数) 作为一个系统工程师来说,要看懂监控的 ...
- 【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- 浅谈C++ 内存泄漏及其检测工具
浅谈C++ 内存泄漏及其检测工具 http://wenku.baidu.com/link?url=1DGkOOvd_ITZyB8IHAwfhCOx2tfO6id8UfuyQkAMHZU6sasaAXz ...
- VPS性能测试:CPU内存,硬盘IO读写,带宽速度,UnixBench和压力测试
现在便宜的VPS主机越来越多了,一些美国的VPS主机甚至给出1美元一月的VPS,堪比虚拟主机还要便宜,巨大的价格优势吸引不少人购买和使用,而近些年来国内的主机商也开始意识到便宜的VPS对草根站长的诱惑 ...
- 一个统计 CPU 内存 硬盘 使用率的shell脚本
一个统计 CPU 内存 硬盘 使用率的shell脚本,供大家学习参考 #!/bin/bash #This script is use for describle CPU Hard Memery Uti ...
- 浅谈Android内存管理
最近在网上看了不少Android内存管理方面的博文,但是文章大多都是就单个方面去介绍内存管理,没有能全局把握,缺乏系统性阐述,而且有些观点有误,仅仅知道这些,还是无法从整体上理解内存管理,对培养系统优 ...
随机推荐
- LeetCode 简单 -二进制求和(105)
给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1" 输出: ...
- 字符串和日期的相互转换,在oracle和mysql的用法
1. 字符串转日期格式 Oracle to_date(字符串 , 日期格式) 日期格式如下: D 一周中的星期几 DAY 天的名字,使用空格填充到9个字符 DD 月中的第几天 DDD 年中的第几天 D ...
- MySQL 5.7修改root密码的4种方法
sometimes we will forget our password of root in MySQL DB server.so,there're several methods ...
- datatable去掉表头默认排序
禁用排序:"ordering":false 某一列禁用排序:"orderable":false 以某一列排序:"order":[[x,&qu ...
- docker build
nginx Docfile ----------------------- FROM centos MAINTAINER daniel RUN yum install -y wget RUN ...
- ajaxSubmit 在ie9或360兼容中,form下是空的
解决办法:在<head>....</head>中加入<meta http-equiv="X-UA-Compatible" content=" ...
- 使用随机数以及扩容表进行join代码
/** * 使用随机数和扩容表进行join */ JavaPairRDD<String, Row> expandedRDD = userid2InfoRDD.flatMapToPair( ...
- python学习笔记:第19天 类的约束、异常、MD5和logging
目录 一.类的约束 二.异常处理: 三.MD5加密 四.日志(logging模块) 一.类的约束 真正写写项目的代码时都是多人协作的,所以有些地方需要约束程序的结构.也就是说,在分配任务之前就应该把功 ...
- Python学习笔记六:集合
集合 Set,去重,关系测试:交.并.差等:无序 list_1=set(list_1), type(list_1) list_2=set([xxxxx]) 交集:list_1.intersectin( ...
- 从零开始一个http服务器(四)-动态返回
从零开始一个http服务器(四) 代码地址 : https://github.com/flamedancer/cserver git checkout step4 运行: make clean &am ...