集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1441|回复: 4

第二个问题:当PC机正常工作时,CPU只需要和RAM进行数据交互吗

[复制链接]
小舍YZ 发表于 2017-6-20 16:53:12 | 显示全部楼层 |阅读模式


第二个问题就是,对于个人PC机来说,软件程序存储在硬盘当中,当PC机正常工作时,计算机是首先将整个程序都调到RAM(内存)当中,而整个软件程序运行当中,CPU只需要和RAM进行数据交互,不需要和硬盘直接进行数据交互?

答:关于PC机的运行,是指Windows操作系统是吗。内存是由Windows操作系统控制的,放置在外部设备中的程序和数据(例如硬盘中的数据和程序),以及内存中运行的程序和加载的数据,都是由操作系统管理的,称为进程管理部分。

当我们双击桌面上的某个APP的Logo时,操作系统会找到外部设备(硬盘某位置)上的这个程序(例如EXE文件),然后将它安排到进程的时间片上,该程序一旦进入进程,就会被操作系统从硬盘调入到内存中(暂不讨论高速缓存的击中与否),这部分是操作的内存调度管理,而进程安排时间片后,进入时间片的进程会以称之为线程的形式被程序指针加载,直到当前时间片结束。

但你的问题是,如果当前程序进入内存,并运行(获得时间片),是否就不会访问硬盘了。这不一定。如果当前程序和数据很大,当前程序在内存空间不够,则操作系统会启动虚拟内存,即将这些看似已经全部装入内存的程序代码,将其中一部分(内存装不下的部分),放置到虚拟内存中,这些虚拟内存是由操作系统在硬盘的剩余空间建立的临时区域。

这样,如果你的程序和数据足够大,而且你的内存容量并不大,就很可能用虚拟内存运行,操作系统的内存管理和进程管理,会随时在硬盘和内存之间交换这些数据,当然这就比直接内存运行时要慢许多(虚拟内存运行时间长)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
晓灰灰 发表于 2017-6-21 09:37:23 | 显示全部楼层

又是一年毕业季,毕业=失业?????
FPGA工程师就业班火热招生中!!!!!!!
FPGA培训|DSP培训|SOC培训|PCB培训|-至芯科技FPGA创新中心
http://www.zxopen.com/:)
辉煌 发表于 2017-6-22 10:16:38 | 显示全部楼层
第二个问题:当PC机正常工作时,CPU只需要和RAM进行数据交互吗
 楼主| 小舍YZ 发表于 2017-7-11 11:31:59 | 显示全部楼层
辉煌 发表于 2017-6-22 10:16
第二个问题:当PC机正常工作时,CPU只需要和RAM进行数据交互吗

                                                                                     
zxopenljx 发表于 2023-2-15 11:00:51 | 显示全部楼层
第二个问题:当PC机正常工作时,CPU只需要和RAM进行数据交互吗
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-28 09:25 , Processed in 0.061134 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表