![]() |
||
Major Member
![]() 加入日期: Aug 2001
文章: 211
|
引用:
anomaly 大大說的應該沒錯, 從 boot loader 到 linux kernel 的 code 我有 trace 過, 照程式碼來看, linux kernel 本身應該就可以直接跑不需要 boot loader. 我剛突然想到, 搞不好現在 ARM pipeline 不止 5 stages(anomaly 大大提到的那五個), 查了一下 wiki 果然 ARM11 有 8 stages pipeline! 所以一開始連跑 8 nop, 應該是要確定 pipeline 的狀態無誤! 我一直還以為現在最多只有 5 stages pipeline... 所以才一直不清楚為什麼要跑八次, 這樣看起來應該是誤會. http://en.wikipedia.org/wiki/ARM11 http://en.wikipedia.org/wiki/ARM9 非常謝謝各位高手! ![]() ![]() ![]() ![]() ![]()
__________________
滿招損 謙受益 |
||||||||
![]() |
![]() |
Major Member
![]() 加入日期: Aug 2001
文章: 211
|
引用:
以 ARM 來說, boot loader 是以跳到 kernel 的第一個 byte 把控制權移交的, 配置 C runtime environment 的部份還是 linux kernel boot 前面那段 asm 做掉的.
__________________
滿招損 謙受益 |
|||
![]() |
![]() |
*停權中*
加入日期: Feb 2005
文章: 358
|
引用:
長知識了, 也謝謝你提出問題。 |
|
![]() |
![]() |
*停權中*
加入日期: Feb 2005
文章: 164
|
程式碼不是有寫註解,
"sort out different calling conventions" 這跟ABI有關,細節要去翻ABI的定義. |
![]() |
![]() |
*停權中*
加入日期: Apr 2005
文章: 17
|
引用:
ARM架構除了嵌入式系統,平板電腦,手持裝置.....外 桌機,筆電,伺服器會出頭嗎?? 我是連x86系列的assembly都搞不出名堂的咖 看到板上ARM討論這麼熱烈,驚駭莫名 ![]() |
|
![]() |
![]() |
Major Member
![]() 加入日期: Apr 2002
文章: 105
|
引用:
Cortex A8, A9應該還沒辦法打入目前Intel掌控的範圍 不過Cortex A15應該有機會 尤其是在每瓦效能上 ARM是大幅領先 |
|
![]() |
![]() |
*停權中*
加入日期: Feb 2005
文章: 164
|
引用:
要清掉pipeline只要一個jump就夠了. |
|
![]() |
![]() |
Major Member
![]() 加入日期: Aug 2001
文章: 211
|
引用:
就是有那個註解我才會疑惑, 所以一開始我也是認定為保留用. 但是網友大都頃向為可能是 pipeline 的機制, 我才去查 ARM 現在的 pipeline. 我還是不能理解, 一開機時 GOT 都還沒配置, 會跟 ABI 有啥關係? 請高手指點.
__________________
滿招損 謙受益 |
|
![]() |
![]() |
Junior Member
![]() ![]() ![]() 加入日期: Jul 2002
文章: 772
|
引用:
根據室友不可靠說法.. 若boot loader只有把linux kernel載入的話,那應該是清pipleine. 有些CPU需要幾個nop指令去清除. |
|
![]() |
![]() |
Advance Member
![]() ![]() 加入日期: Feb 2003
文章: 406
|
引用:
能夠避開CPU內部的Hazard都是好方法 http://en.wikipedia.org/wiki/Hazard_(computer_architecture) |
|
![]() |
![]() |