請原諒我,如果您覺得這已被多次回答,但我需要以下查詢的答案!CPU和數據對齊
爲什麼數據必須對齊(在4字節/ 8字節/ 2字節邊界上)?這裏我的疑問是,當CPU的地址線爲Ax Ax-1 Ax-2 ... A2 A1 A0時,很可能會依次尋址存儲單元。那麼爲什麼需要在特定的邊界上調整數據呢?
如何在編譯我的代碼並生成可執行文件時找到對齊要求?
如果例如數據對齊是4字節的邊界,這是否意味着每個連續的字節位於模4的偏移?我懷疑如果數據是4字節對齊的,這是否意味着如果一個字節在1004,那麼下一個字節在1008(或在1005)?
您的想法非常受歡迎。
提前致謝! /MS
hi發情, 這裏是我的懷疑了!爲什麼低2地址線被消除?考慮到這個設置,我只能訪問地址0,4,8等數據。以此類推。那麼在這種情況下如何處理字節操作呢?您提到,單個數據字節沒有對齊限制,當底部2個地址線不關心時如何實現? 謝謝您的回覆! – 2010-06-12 06:29:55
大多數情況下,我擔心地址線爲什麼不在意在我的代碼中可能存在字節操作(並且一直執行相同的操作)? – 2010-06-12 06:35:57