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

一、概述

三者的关系

CPU、内存和硬盘三者的关系如上图所示,指令则是CPU能做的所有事情。

二、CPU

图片来自网络

CPU(中央处理器)类似计算机的大脑,负责运算任务。
虽然CPU的构造很复杂,但能做的事其实很简单,主要是:
1.从内存中读取指令
2.执行指令(其中包括对指令的进一步翻译)
3.把执行结果写回内存
那么是怎样读取要执行的指令的呢?CPU内部有很多寄存器,其中一个是EIP(以x86指令集为例),
该寄存器存放的就是指令所在的内存地址,CPU会根据此地址去内存中取出指令来执行,程序中的各种
跳转最终都是引起该寄存器中的地址变化而已。而且CPU并不知道EIP地址对应的内存中存的到底是什么,
所以,一些缓冲区溢出漏洞就是通过间接修改EIP的使其指向恶意代码所在的内存地址,进而执行恶意代码。

三、内存

图片来自网络
内存则是存储数据的地方,直接跟CPU打交道,CPU就是从内存中不断地读写数据。
内存的读写速度大约在百纳秒级,非常快,但内存在断电的时候数据是会丢失的。
所以在计算机启动时会把数据先加载到内存,CPU再从内存中读写数据。

四、硬盘
图片来自网络
硬盘也是存储数据的地方,容量大价格便宜,断电数据不丢失。 上图是4TB容量的硬盘,可以存放很多电影,你懂的。
但是由于硬盘是机械设备需要寻道,所数据的存取速度是毫秒级别,比内存慢几万倍的样子,因此硬盘中的数据都会先加载到内存,最终交给CPU处理。 CPU处理完后如果需要写入硬盘也是先写到内存,接着再写到硬盘中。

五、指令
图片来自网络

指令则是CPU能够做的事情,比如加减乘除等,我们在计算机上浏览网页、看视频、聊天等一切复杂的操作最终都是少数不同的指令在CPU上执行的结果。 上图是某个CPU支持的N种指令集。
目前主流的指令集是PC平台上的x86-64指令集和手机平台上的ARM指令集。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值