我要发布
仪器网/ 仪器社区/ 嵌入式计算机/ 高分!计算机、嵌入式高手进,万分感谢!!

高分!计算机、嵌入式高手进,万分感谢!!

小皇帝弘治    2010-05-09    嵌入式计算机    浏览 265 次

cpu真正处理一个进程的时间,比如我们的cpu,当一个.exe程序需要处理时,不是一直占用cpu吧,我原来听老师说真正占用cpu时间只有很少的一段。但是持续一直运行,不占cpu如何继续下去,是不是内存? 问题1: 打开一个realplay播放器看一部电影,是不是从开始一... cpu真正处理一个进程的时间,比如我们的cpu,当一个.exe程序需要处理时,不是一直占用cpu吧,我原来听老师说真正占用cpu时间只有很少的一段。但是持续一直运行,不占cpu如何继续下去,是不是内存?
问题1: 打开一个realplay播放器看一部电影,是不是从开始一直到结束1个多小时一直占用cpu?我觉得占cpu只有很少的一段时间。大侠可否详细给小弟说明下,谢谢啊!
问题2:是在S3C2410平台上可以同时打开多少个madplay播放器运行?
问题3:ARM9的指令周期大约是7.6ns(内核时钟为120MHz时),是不是看一个程序的执行要多少条指令,那么这个程序就占用多长时间的CPU?
我写论文对这些很困惑,要是大写可以很好地解决我的问题,我可以再加200分!拜谢!!

精彩问答
枪杀EAGLE 发布日期:2010-05-10
1.首先是程序1占用一片时间,运行完一定时间片后把CPU的让给程序2,程序2运行完一定的时间片后让给程序3.这些时间片是操作系统内核分配的,不一定相同,内核有他的调度算法,各个程序之间有他们的优先级之后.反正每个程序都是过一断时间就用一下CPU.

2.ARM上能打开多少个madplay同时运行,这要试了才知道,因为不同的开发板上有不同的硬件资源限制,就算我撇开这个不讲.不同的操作系统不一样,不知道你用Linux 还是 WinCE 了.还有与驱动程序有关,如果以独占方式访问硬件资源,就只能打开一个了.

3.不是根据指令的多少去算的,操作系统有他的时钟点滴tick,一般是根据这个算.

写论文的话,建议去看下操作系统的内核介绍,任务调度方式,进程间的通信机制,那些方面.
全部评论
house海贼王140 发布日期:2010-05-10
问题一:CPU采用多线程方式运行,且CPU同一时钟片内只能运算同一组数据,所以你打开的各个程序并不是一直占用CPU,而是交替占用CPU的一个时钟片,只是这个交替的过程我们无法察觉(如果你编写一个多线程程序运算大量数据就可以从结果中找到替换位置)。
问题二:平台我不青春,但我觉得你可以装个虚拟机实际尝试,我只知道奔四CPU、512M的电脑在同时计算5-10个:for(int i=1;i<10000000;i++){for(int j=1;j<10000000;j++){i*j}}时电脑会直接黑屏崩溃。
花花的小花儿 发布日期:2010-05-10
时间片的概念你应该知道的,时间片大小跟系统有关,内核每次分配给程序一个时间片,程序只在此时间片内运行,时间片结束后,产生中断通知内核重新调度,内核根据调度算法选择一个程序,再分配一个时间片……也就是一个程序通常要占用很多时间片才能运行完成,只不过时间片很小,所以感觉上程序在一直运行。

问题2:S3C2410平台上可以打开多少个madplay播放器,跟其可运行的进程数目有关,也跟内存大小有关。

问题3:首先,某些指令要占用多个始终周期,其次,CPU不可能一直执行这个程序的指令。所以你说的是错的。
最新主题
相关版块
我要评论
X您尚未登录
账号登录
X您尚未登录
手机动态密码登录
X您尚未登录
扫码登录
官方微信

仪器网微信服务号

扫码获取最新信息


仪器网官方订阅号

扫码获取最新信息

在线客服

咨询客服

在线客服
工作日:  9:00-18:00
联系客服 企业专属客服
电话客服:  400-822-6768
工作日:  9:00-18:00
订阅商机

仪采招微信公众号

采购信息一键获取海量商机轻松掌控