CPU的分身术:千手观音与齐天大圣
2022/10/1 4:17:15
本文主要是介绍CPU的分身术:千手观音与齐天大圣,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
由于CPU的速度太快,不但人跟不上它,连它周围的小伙伴也跟不上它,例如网卡和磁盘(也叫硬盘)。因为短时间内无法解决这种CPU和不同设备间的速度匹配问题,所以对于科学家而言,这其实就造成了对CPU计算机资源的浪费。
那怎么办呢?这难不倒聪明的科学家们——其实就是之前说过的方法——他们给CPU定了两条规则:轮询与中断。
从微观上来说,就是通过这两种方式,将一个CPU完整的工作时间划分为多个连续的时间段,而这些时间段的长短对于人来说极其之短,导致我们根本察觉不到。如果在这些不同的时间段里交替执行不同的工作,只要速度足够快,持续时间足够长,就给人一种计算机可以「一芯多用」错觉:它能一边下载视频,一边听音乐,一边在网上聊天,还能一边编辑excel报表,就像这样:
例如,CPU先下载了100KB字节的视频内容,把它丢给播放器并说「你先放着,我去忙别的了」;然后就暂时结束下载工作,从音频文件中读出的100KB字节内容放到播放设备中去播放;接着再暂时结束播放工作,从网络上接收100KB的字节,输入到显卡,再投射到显示器上给用户看到;接着读取用户从键盘输入的一串汉字,并把它们也显示到显示器上......就这样周而复始。如果这时候,有网络电话打进来了(假设在电脑上接听)。那么CPU同样会在这些任务中再插入一个收发网络语音消息的任务。
如果用户的电脑配置差一点,也就是CPU性能差一点的话,就会明显感觉计算机有点「卡」——从专业的角度来说,这其实不是卡,而是CPU「同时」需要完成的任务太多,而且每个任务都比较重,导致CPU在处理和切换任务时有点忙不过来了。造成这种延时的原因,在宏观层面,抛开性能的原因,科学家们称之为「并发」太高。
是的,这就是轮询、中断、并发这三个概念的内在联系和区别:
前两个是从微观层面来描述计算机的任务时间分配;
后一个则是从宏观层面来说明计算机的任务执行方式(当仅有一个CPU的时候,不管同时执行多少个任务,各个任务始终是被划分到不同的时间段去按顺序执行的,只是因为时间太短让人察觉不到,才会看起来好像是「同时」在做一样)。
不管轮询、中断还是并发,始终都是针对单个CPU而言的。在过去技术条件不成熟的情况下,科学家们只能在有限的资源条件下寻求最优解。但当技术进步以后,这种限制也就随之消失了,从而真正可以做到一边下载视频,一边听音乐,就像这样:
不管在微观层面还是宏观层面,这种真正能够同时执行多个任务的工作方式,就叫「并行」。
在我看来,这应该算是两种不同的「分身」法术吧:一种是千手观音,一种是齐天大圣。
这篇关于CPU的分身术:千手观音与齐天大圣的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享