作者WolfLord (呆呆小狼)
看板ASM
标题Re: [问题]如果是多核心的话?
时间Mon Dec 14 00:29:17 2009
※ 引述《eggru (没在怕的啦)》之铭言:
: 假如 今天是在CPU上有2个核心,
: 我写两个thread去做同样的工作,
thread是OS才有的东西
: 是不是两个核心都会去捉指令,
对
: 如果只有写单绪的程式,
就RAW LEVEL状态ASM而言没有执行续这种东西,只有你自己怎麽
排程给CPU去跑。就算你用了Tiny Kernel或ucOS,也必须是遵照
OS的规矩去宣告与执行,一旦你程式里面 DISABLE了中断,自己
蛮干死回圈,OS照常无力化给你看。
: 是不是只保留其中一个的结果,
: 还是事情不是我想得这麽简单,不是很了解,
: 还烦请高手们解惑,谢谢。
一般多核心的话,如果是直接自己排成而不透过OS的话则是在 CPU
启动阶段用第一个核心把其他核心要执行的东西先排好,然後才启
用第二,第三....等等的其他核心。
一般(目前为止)多核心的CPU再RESET之後都会只有一个核(通常
是UNIT0)是RESET&RUNNIGN 的,其他的核则处於HALT状态。而那
个会动的核一RESET之後的任务就是把系统环境搞定(MMU,载入程
式,配置资源,修改其他核的进入点 ...等等的统统搞定後才会去
启用其他的核)
至於OS怎麽用这些核?我想也不是三言两语就讲得清的,有兴趣就
去找专门讲解SMPOS的书或找狗问问吧。
--
春花闻杜鹃,秋月看归燕。人情薄似云,风景疾如箭。
留下买花钱,趱入种桑园。茅苫三间厦,秧肥数顷田。
床边,放一册冷淡渊明传;窗前,钞几联清新杜甫篇。 ~WolfLord~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.46.202.96
1F:推 eggru:感谢大大的回覆,言简意赅,这就是我想要的知道的答案 12/14 19:04
2F:→ markov:推文 纸钞的钞?? 12/14 21:12
3F:→ WolfLord:恩,没错。钞,这是元曲 得胜令 的内容 12/14 21:28