文档章节

CPU、内存、硬盘、指令之间的关系

zoakerc
 zoakerc
发布于 2017/02/27 10:29
字数 647
阅读 138
收藏 0
点赞 0
评论 0

  日常生活中,我们经常会在电脑磁盘之间的复制粘粘文件,是怎么实现的呢?粗读《程序是怎么跑起来的》,这里简单描述下这个过程,仅自己思考之言,错误之处欢迎指正。

  当我们按下 Ctrl + C 时,CPU 执行 “复制指令” 将硬盘文件的起止地址临时放到内存中,这时内存并没有读取磁盘的所有文件数据。

  当我们按下 Ctrl + V 时,CPU 执行 “粘粘指令” 才会真正去拷贝文件,将文件起止地址取出,读取硬盘起止地址的数据到内存中,将内存中的数据,写入到硬盘新的起止地址里。

  这个过程看似简单,但是却有几个地方需要仔细去思考的,下面是我自己的几个自问自答。

如果文件有 100GB,而内存只有 8GB,内存会不会爆掉?

  不会,CPU “复制指令”执行时,总是会先将磁盘的文件读取到内存的缓存区,再从缓存区写入到硬盘中。因为内存的读写速度,是硬盘的好几十万倍(内存读写速率毫微秒级别,硬盘读写速率毫秒级别)所以不会出现硬盘等待内存读取数据再写入硬盘的情况,看到的进度条,也只是反映硬盘的写入速率。

既然内存读写速率这么快,那硬盘是不是可以被内存替代?

  不会,硬盘读写速率慢,但数据写入到硬盘后,是持久化存在的,不会因为关机而导致数据丢失,再次开机时硬盘数据还在。 但是,内存是带电存储的,虽然读写速率快,但是一旦关机失去电荷,内存中所有的数据将会丢失,内存也不会被硬盘所替代。 同时,内存容量的造价,也比硬盘要昂贵的多。单个硬盘容量超过 1TB 的很常见,但是单个内存容量超过 64GB 的,生活中是很少见的。

“复制指令” 和 “拷贝指令” 在 CPU 内部是真实存在的吗?

  显然不是,这里描述的这两个 “指令”,其实是 CPU 内部多种指令集协同工作完成的,并不存在这样的单独指令,指令一般对应着一条或几条汇编语言。

© 著作权归作者所有

zoakerc
粉丝 20
博文 9
码字总数 8273
作品 0
海淀
程序员
编程语言的作用及与操作系统和硬件的关系

一、编程语言的作用及与操作系统和硬件的关系 作用:编程语言是计算机语言,是一种程序员与计算机之间沟通的介质,通过编程语言可以使得计算机能够根据人的指令一步一步去工作,完成某种特定...

slagga
06/25
0
0
浅谈CPU、内存、虚拟内存、硬盘之间的关系

大家都知道组装电脑需要CPU硬盘,内存等硬件,系统中还含有虚拟内存,对于其中的相互关系,大家可能不了解! 下面用最简明易懂的语言,为大家介绍其中的关系! CPU CPU即中央处理器,是英语“...

问题终结者
04/02
0
0
【操作系统】计算机中内存、cache和寄存器之间的关系及区别

1. 寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在...

HaoDaWang
2017/12/13
0
0
计算机基础学习总结

1.编程语言的作用: 编程的本质就是让计算机去工作,而编程语言就是程序员与计算机沟通的桥梁 2.操作系统和硬件的关系: 操作系统通过控制器调用驱动程序让硬件工作。 3.应用程序,操作系统,...

ganzhoulin123
2017/11/11
0
0
CPU、内存、硬盘的关系、物理内存以及虚拟内存的关系

1. CPU即中央处理器,是英语“Central Processing Unit”的缩写。CPU从内存或缓存中取出指令,放入指令寄存器,并对指令译码分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从...

Li_思华年
2017/11/16
0
0
计算机硬件及操作系统基础学习笔记

计算机体系结构:运算器+控制器=CPU中央处理单元 运算器:就是一个加法器,只能做二进制计算,算数和逻辑运算,如加减乘除,移位 控制器:控制协调运算器和存储器交流,接受控制指令,指示运...

love8023icando
2016/03/30
0
0
计算机基础

CPU(计算器和控制器) + 存储设备 + 输入输出设备,是计算机硬件的最基本的组成元素 一、CPU cpu工作流程: 取指令 -- 解码 -- 执行,如此为一个进程,然后再取指令 -- 解码 -- 执行,通过这...

Ayhan_huang
2017/05/18
0
0
计算机基础知识

一、计算机系统 1.1 计算机系统由硬件系统(Hardware)和软件系统(Software)两大部分组成。 二、计算机硬件 2.1 计算机概念 计算机俗称电脑,是一种能接收和存储信息,并按照存储在其内部的程序...

浮冰者
2017/07/14
0
0
鸟叔的linux私房菜:第0章 计算机概论学习笔记

本博客是针对《鸟叔的Linux私房菜 基础学习篇 第四版》的第0章 计算机概论的学习笔记。 0.1 电脑:辅助人脑的好工具 现在人们无时无刻都在使用电脑,不管是桌面电脑(台式机)、笔记本电脑(...

qq_32690999
2017/12/25
0
0
1 计算机基础及硬件

1. 编程语言的作用 编程语言(programming language)是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需...

q409561046
2017/05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Iterm2安装Zsh + Oh My Zsh+Solarized

安装Oh My Zsh curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh 安装Zsh: 1.安装zsh brew install zsh 2.配置iterm2 sudo vim /etc/shells输入:......

孟飞阳
4分钟前
0
0
缓解ddos攻击的有效解决办法

因为防火墙无法处理所有类型的ddos攻击,下一代防火墙生成内置的DDoS防御,但是无法处理所有类型的攻击。对抗DDoS攻击的最佳做法是有专属的设备或者服务在攻击透过防火墙或者其他的IT基础设施...

上树的熊
4分钟前
0
0
Spark Streaming如何使用checkpoint容错

在互联网场景下,经常会有各种实时的数据处理,这种处理方式也就是流式计算,延迟通常也在毫秒级或者秒级,比较有代表性的几个开源框架,分别是Storm,Spark Streaming和Filnk。 伦理片 http...

刺猬一号
6分钟前
1
0
Xamarin Essentials教程地理定位Geolocation

Xamarin Essentials教程地理定位Geolocation 通过地理定位功能,应用程序可以获取用户的当前地理位置,如经纬度值。利用地理位置,可以在地图上定位,也可以转化物理位置,划分用户的归属地。...

大学霸
19分钟前
0
0
vue 编译警告 Compiled with 4 warnings

There are multiple modules with names that only differ in casing. This can lead to unexpected behavior when compiling on a filesystem with other case-semantic. Use equal casing.......

落雪飞声
23分钟前
0
0
开篇文章,长期记录安全情形

密码位置 密码位于注释中 密码位于服务器端文件中 通过访问根目录下.htaccess、robots.txt查看禁查路径 密码文件可能存在的路径:/、/extra/、/extras/ 密码加密 binary to base16 sha256 彩虹...

hirainn
36分钟前
0
0
mysql数据库设置root可以远程登录的方法

mysql数据库设置root可以远程登录的方法 Posted on 2018-02-21 21:08 sishuisufeng 阅读(161) 评论(0) 编辑 收藏 允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如...

rootliu
41分钟前
1
0
TensorFlow 图的基本操作

图的创建,一般只需要使用默认图就能满足大部分的需求了 # 1 创建图的方法# 在默认图中创建常量c = tf.constant(0.0)# 新建一个图g = tf.Graph()# 设置上下文管理器,标明操作...

阿豪boy
今天
0
0
git 忽略文件失效

git update-index --assume-unchanged */.project

林子大鸟
今天
1
0
实现验证码功能

1、实现验证码,并存储 import com.dtb.pc_enterprise.entity.EnterUserEntity;import com.dtb.pc_enterprise.service.AdminService;import com.dtb.pc_enterprise.util.RedisService;......

木九天
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部