将CPU主频性能降到极低还能正常运行操作系统么?
2021-11-05 523
答案当然是可以,只不过需要进行多处适配,这些坑就是由BSP工程师来踩。下面就由高到低介绍下不同等效主频下启动linux的效果。1. 24MHz几个月前,我抽空从零开始diy了一块简单的cortex-a8水果派(基于Cortex-A8内核的荔枝Pi_Cortex-A8开发板-打造工程师的专属众筹平台-电子发烧友网,荔枝派概览 - [ Lichee Pi 荔枝派 全流程指南 ] - 看云),从板级硬件设计,产测,到boot适配,linux,安卓适配等的坑都踩了一遍。过程中为了调试DDR以及测试在低主频下的功耗情况,就曾把ddr时钟和主频降到了最低的24M.在24M ddr时钟下我甚至成功用入门级100M带宽示波器生成了眼图…实测效果是,基本不用做太多适配,系统就能起来,只是速度慢了很多,原本在1g主频下20s不到启动的,现在需要超过五分钟(具体时间忘了,记得的另一个数据是96M时需要122s),而且由于时钟太慢,800*480的屏幕刷新不过来,出现了严重的图像的弹跳/抖动现象,已经无法保证屏幕时序了…不过估计在128*64的点阵屏上还可以 逃(
其实这个感觉有点像关掉icache/dcache的效果,关掉之后连串口终端的回显都不利索了…看上去在24M时结果并没有什么特别的,只是简单的慢了小几十倍而已…其实这基本就是286的主频了,当年286跑dos不就很流畅吗,为啥是24M,不能更低了吗?因为我用的芯片的外置晶振就是24M,主频是由它倍频上去,而无法分频…
2. 10KHz,相比前面的降两个数量级,这次直接降三个数量级看看,某些童鞋应该已经猜到这个等效主频是什么情况下的了:对的,就是在本身主频只有24M的八位avr单片机上跑arm模拟器来启动linux,得到的等效主频不到10KHz,看看作者自己的评价:uARM is certainly no speed demon. It takes about 2 hours to boot to bash prompt ("init=/bin/bash" kernel command line). Then 4 more hours to boot up the entire Ubuntu ("exec init" and then login). Starting X takes a lot longer. The effective emulated CPU speed is about 6.5KHz, which is on par with what youd expect emulating a 32-bit CPU & MMU on a measly 8-bit micro. Curiously enough, once booted, the system is somewhat usable. You can type a command and get a reply within a minute. That is to say that you can, in fact, use it. I used it to day to format an SD card, for example.
所以到此我们对于电脑卡有了新的理解,也可以了解到做好系统适配,再慢的u都能跑起来。
因此再看这个问题就不会觉得有什么奇怪的了。
3. <5Hz再次降三个数量级,直接到目标频率。这个是我参考前面的数据估算的等效主频,权当yy吧。多数人都知道32/64位cpu,了解dos时代的16位cpu,听过八位的单片机,少数人也许也知道更低成本的四位单片机(只能用汇编编程),但要实现数Hz的等效主频,这些都还太快…其实在dos时代,工控领域还活跃着一朵奇葩: 一位机,以MC14500B为代表。MC14500B - Wiki自身主频是100KHz,再加上只有八位机八分之一的带宽,如果在这个一位机上跑avr模拟器,再跑arm模拟器,那等效主频绝对在5Hz以内。
真跑起来的话,可能就需要小半年才跑到init,快一年到login,若干年来startx...
4. mHz,编不下去了…mHz的话,应该MC的红石电路可以吧!那时可能要用一辈子去看linux启动了…
当然不跑模拟器的话,也许能跑到和一位机比肩的速度呢!
5. 其实计算机的发展就是从最开始几十Hz的继电器开始的,把我的答案倒回去看就是计算机发展史啊!
在这个多数人认为是大开脑洞的问题下,却正是半个多世纪前科学家们实际面临的问题,阿波罗登月时代的常规内存甚至不到1KB,就靠这种容量和主频的数字系统(这时都没有真正意义上的cpu),却能够完成登月任务。相比而言,现在程序员们做的压力测试是不是弱爆了…
所以那个时代的程序员多数可以被称为计算机科学家,而现在的程序员多数只能被称为程序员吧。
如果我们将所有的计算单元,输入输出,存储单元,授时看做一个封闭的系统,除此之外不接受任何外部信息(比如真实世界的时间、网络数据等等),然后把这个系统按照一个固定的倍数X放慢,那么这个系统是可以完全复现真实世界的软件运行的,只不过它的复现速度只有真实世界的1/X而已。在现实的硬件制造中大家也会有这么一套系统。在CPU的电路设计好后,很大一部分的工作量就是验证数字电路的正确性。这个时候还没有真正的CPU,他们会将电路构建在一个巨大的FPGA上(构建在软件上也行,但是速度实在太慢)。这个FPGA上的CPU运行在一个较低的频率,比如30MHz。如果我们的设计目标是每秒钟3GHz,我们可以得出这个FPGA的CPU加速比是0.01。然后将系统时钟,IO(例如磁盘和网络)等等做同比例放慢(也就是大家的速度都是设计速度的1/100),就可以以相当的精度模拟出正常运行时的情况了。当然因为一些误差因素,做到100%还是很艰难的。比如,实际中Disk会出现未知的传输错误,模型也可能存在精准性问题,现实中CPU也会受到温度影响导致频率变化。这些都是模拟中难以预测的因素。但是起码在大的逻辑上来说,放慢整个系统的速度并没有任何问题。注意,我这里一再强调的是“整个封闭系统”一起放慢。如果不一起放慢会有很多潜在问题。考虑CPU只有1/100的速度,但是授时系统(例如Timer和时间戳)不变。此时我们的系统有杀超时进程的习惯,因为CPU变慢了太多,本来可以在预定时间内响应的应用程序假死,结果直接被系统杀了,这个时候就不能算是“正常运行”了。不接受外部信息也有类似的理由。假设系统中存在随机数发生器,这个发生器依据热噪声,或者依据现实世界的时间,那么被放慢后,系统在采集随机数发生器时获得的数据会和真实世界有所不同,这些多少会影响到应用程序的行为。
比如我的hotwell最节能的时候降到800mhz,其实还是能正常使用的,只是卡而已。再比如我的平板,节能的时候降到600mhz,更卡,但也不是不能用。但是再往下降的话,就很难说了。频率下降相当于慢动作,但时间的流逝是不变的,那些依赖时间的操作会变得难以预料。比如原定超过3s无响应就结束程序,可能6s到了,才发现一个程序超时了,又花了10s去关闭程序。从600mhz->1hz,不考虑各种延迟的话,相当于原先1s能完成的工作延长到了6x10^8s,快20年。。。。估计到时候不是系统自己运行不下去,而是用户作为旁观者看不下去了吧。对了,还有个问题需要考虑,和各种硬件的频率关系。比如pci-e接口的频率基本固定100mhz,如果cpu太慢(外频远低于100mhz),怎么通讯。
相关文章
- 天下3龙巫装备外观
- macbookpro typec充电
- Beyond的《Water Boy》 歌词
- weblogic清除缓存
- 过去用英文怎么拼写
- line是什么软件
- IBM公司推出的网络体系结构叫什么
- 南京紫金山庄有漫画吗
- 什么是loading master啊?
- 17款霸道4000中东版
- 谁有林忆莲 翻唱的BETTER MAN的下载地址?
- win7系统下,安装Flashpaper(绿色版),提示 错误:无法定位INF文件"...license.inf"
- 推荐PSP男生玩的游戏!
- pq分区时候不能继续转换了,错误代号是2003
- 虎鲨发动机是那里产的
- 6s钢化膜要不要抗蓝光
- vue php 服务器端渲染
- 美国往事具体剧情
- 看图片,求片名,只给片名就行
- 如何在js中取一个paramdisplay中的值
- 本周热门
-
- 李连杰家庭背景到底有多强大?爷爷爸爸的简介至今没人敢公开
- 赞美之泉 郑懋柔年龄
- QM,LF,SN,FL,LY,JS,KJ,KB,ML 是什么意思
- 谁有pthc comm 密码
- 115网盘正太gv礼包
- 英语里打嗝"belch","hiccup","burp"三者有什么区别?
- 妻しぼり汉化全cg存档
- 求surge for mac 破解版软件
- 有没有鸿源战纪?的修改器啊谢谢。
- Cornerstone 4.2 Mac破解版出来了?
- 加密网址,随便打开一个链接或图片跳转一下就可以了, 什么意思啊
- 《只因我们天生一对》(一) 戏外篇同人文
- 抖音音浪是什么?抖币和音浪的区别!【最全解释】
- SpringMVC支持跨域的几种姿势
- 继AI换脸之后,又出现“一键去衣”软件,国外已有女性中招!
- 雅思听力 | 变化多端的同义替换
- 小学叠词词汇汇总整理二(ABB,AAB,ABAB,ABCC,AABC式词语)
- BL(漫画版/资源)魔道祖师《香炉》番外
- mom boy tube mobile
- 醉人不外花共酒,花是丽人酒是愁是什么意思
- “吹毛求疵”英语应该怎么翻译呢?
- i wish i was high on potenuse 什么意思,,说有笑点 求大神指点。
- 老司机都会珍藏的5个资源网站,每一个都是精挑细选!
- 为什么我打不开hao.360.cn,别的都能开的
- 很短的优美句子,文艺小清新,越看越入迷!
- 还记得大明湖畔的....奥,不对,那些网络用语吗?
- 适合过生日发朋友圈的句子,文字表情包全配齐,建议收藏
- (呦 吧 论 坛) 和 (拯 救 天 使) 是同一个论坛的么
- 五本经典的都市职场言情小说!推荐丁墨《莫负寒夏》!全程高甜
- 抽油烟机 日语怎么说?