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-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升