【图解】cpu,内存,硬盘,指令的关系
- 1 程序员用高级语言编写程序。
- 2 经过编译 链接等形成机器语言的EXE文件。
- 3 EXE文件保持在磁盘的某个或多个扇区内
- 4 程序运行是在内存中生成EXE的副本
- 5 将指令读入cpu的寄存器
- 6 由cpu中的控制器,运算器,和时钟配合解析运行
1 程序员用高级语言编写程序。
程序员并不直接和内存和cpu打交道,程序员只是负责编写代码,现在程序猿更是使用高级语言来编写代码,如C,C++,Java等。

2 经过编译 链接等形成机器语言的EXE文件。
由于CPU内存读不懂高级语言的代码,那个是给程序员看的,所以需要进行翻译,翻译成它们这些机器明白的机器语言,就是100101001010这些机器码了。不过这样一来看不懂的就是我们了。哈哈。

3 EXE文件保持在磁盘的某个或多个扇区内
程序编写之后,会以文件的形式存在在硬盘中,虽然cpu的寄存器,内存RAM等也可以存数据,而且寄存器的速度快过内存,内存又快过硬盘。但是寄存器的内存有限,仅够支持指令段。而内存又是断电不保存数据的。所以程序还是应该存在硬盘妥当一些。

4 程序运行是在内存中生成EXE的副本
但是运行程序的时候还是需要将硬盘中的数据和指令加载到运行内存才能运行。由于磁盘和内存的速度不匹配的问题,有时会为了减少磁盘寻址的时间,人们设计出了相应的数据结构来作为索引,如B树,B+树等,可以减少磁盘访问次数来提示性能。总之,磁盘是要比内存慢几个级别的。用户发出启动程序的指示 后,Windows 等操作系统 会把硬盘中保存的程序复制到内存中。

5 将指令读入cpu的寄存器
首先寄存器是CPU里的,当然是最快的。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。其主要用途:
- 1.可将寄存器内的数据执行算术及逻辑运算
- 2.存于寄存器内的地址可用来指向内存的某个位置,即寻址
- 3.可以用来读写数据到电脑的周边设备。

6 由cpu中的控制器,运算器,和时钟配合解析运行
计算机每执行一条指令都可分为三个阶段进行。即取指令—–分析指令—–执行指令。
- 取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。
- 分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。
计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。

【图解】cpu,内存,硬盘,指令的关系的更多相关文章
- Windows 性能监视器的基本指标说明(CPU,内存,硬盘参数)
[转]Windows 性能监视器的基本指标说明(CPU,内存,硬盘参数) 作为一个系统工程师来说,要看懂监控的数据至关重要,关系着优化和分析出现的问题.我是在运维过程中要用到的.因此,今天给出Wind ...
- Windows 性能监视器的基本指标(CPU,内存,硬盘参数)
转载:http://kms.lenovots.com/kb/article.php?id=7045 Windows 性能监视器的基本指标(CPU,内存,硬盘参数) 作为一个系统工程师来说,要看懂监控的 ...
- 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 ...
- centOS7下实践查询版本/CPU/内存/硬盘容量等硬件信息
1.系统 1.1版本 uname -a 能确认是64位还是32位,其它的信息不多 [root@localhost ~]# uname -a Linux localhost.localdomain 3. ...
- linux 查看cpu 内存 硬盘 文件夹大小
文件夹大小 显示cpu使用率 top 1 查看CPU 1.1 查看CPU个数 # cat /proc/cpuinfo | grep "physical id" | uniq | w ...
- DSAPI 获取实时统计信息CPU/内存/硬盘/网络
有时,我们需要获取当前计算机中CPU.内存.硬盘.网络等实时信息,如下图:\ 要实现上述几项信息的获取,通常需要使用Timer控件来间隔获取,以便刷新最新的数据. 本示例中,放一个Timer控件,放一 ...
- 查看CPU 内存 硬盘 网络 查看进程使用的文件 uptime top ps -aux vmstat iostat iotop nload iptraf nethogs
#安装命令 yum install sysstat #包含 iostat vmstat yum install iotop yum install nload yum install iptraf ...
- CPU 内存 硬盘的区别
第一点:CPU 是处理器,内存和硬盘是存储器,受CPU 的控制. 第二点:由于内存的速度很快,在电脑运行的过程中,CPU通常只与内存交换数据,但内存断电数据就会全部丢失,因此电脑使用硬盘作为主要的存 ...
- centOS下实践查询版本/CPU/内存/硬盘容量等硬件信息
更详细参考: https://blog.csdn.net/dream_broken/article/details/52883883 1.查看内存 DirectMap2M: 33544192 kB [ ...
随机推荐
- mysql 升序降序
默认不指定,order by 按照升序排列. asc:升序 desc:降序
- 微信小程序之页面导航栏
效果图: 页面有点丑,作为初次学习,页面可以要求不那么美观,先学会再说.毕竟后面可以优化的很漂亮. 代码实例如下: <view class="section btn-area" ...
- 刷题记录:[ASIS 2019]Unicorn shop
目录 刷题记录:[ASIS 2019]Unicorn shop 一.涉及知识点 1.Unicode安全问题 刷题记录:[ASIS 2019]Unicorn shop 题目复现链接:https://bu ...
- 作业——10 分布式文件系统HDFS 练习
作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3292 利用Shell命令与HDFS进行交互 以”./bin/dfs ...
- scrapy+splash 爬取京东动态商品
作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/3159 splash是容器安装的,从docker官网上下载windows下的 ...
- 快速激活Navicat Premium 12
Navicat Premium 12是一套数据库开发管理工具,支持链家MySQL.Oracle.SQL server等多种数据库,快速便捷创建.管理和维护数据库 一.下载 https://www.na ...
- Win10 cmd控制台程序会被鼠标单击暂停的解决办法
右键单击顶部白框,选择属性或默认值,将快速编辑模式的勾取消就可以了,最后记得点击确定
- 【java爬虫】利用webmagic框架实战demo
webmagic框架:http://webmagic.io/ WebMagic的结构分为Downloader.PageProcessor.Scheduler.Pipeline四大组件 PageProc ...
- python笔记之按文件名搜索指定路径下的文件
1.搜索文件名中以指定的字符串开头(如搜索dll,结果中含有dll a,dll abc等) 我的目录下有dll a.txt和dll.txt文件 其中a文件夹下还有这两个文件 我希望通过python选择 ...
- Sublime用正则表达式进行逗号分隔实现列的替换
eg: ([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*).* 这是取前面10列,后面的不管 ...