→ kdjf: 外面的memory也是32bit bus/8bit address啊 08/02 01:16
→ kdjf: 方便存取不到32bit的資料(雖然會慢一點) 08/02 01:16
推 cpyi: 沒什麼特別理由吧 兩種設計都可以 08/02 09:08
→ Schottky: data 不見得是 32-bit aligned,比如說 24-bit 全彩圖 08/02 09:58
→ Schottky: 你可以堅持 32-bit aligned (如較早期的 CUDA) 08/02 09:59
→ Schottky: 但那會製造很多麻煩,還得先整批讀進來再重排資料 08/02 10:00
→ CCMAKE: Hi S大 所以說即使內部是32 bit reg 外部也是32 bit IO 08/02 22:26
→ CCMAKE: 還是會使用一個address對應一個byte的方式嚕? 08/02 22:27
→ CCMAKE: 如果像ARM這種是固定32 bit的ISA,ROM還需要用byte當 08/02 22:31
→ CCMAKE: 一個address的對應單位嗎? 08/02 22:31
→ Schottky: ROM 不見得只存 code, MOV byte 的來源/目標可以是 ROM 08/02 22:50
→ Schottky: 硬體上還是直接對外部記憶體 access 一個 32-bit word 08/02 22:52
→ Schottky: 但軟體上是不是就得標明這個 byte 的 address ? 08/02 22:53
→ CCMAKE: 我比較好奇的是硬體實現的方法 假使現在CPU要去access 08/02 23:10
→ CCMAKE: 一個外部具有32 bit IO bus的memory 假如是讀0X00000000 08/02 23:11
→ CCMAKE: 那現在讀進CPU的會是32 bit還是8 bit? 08/02 23:12
→ CCMAKE: 然後 有沒有可能是CPU去access 0X00000001~3? 08/02 23:13
→ CCMAKE: 還是下次就是要跳0X00000004? 08/02 23:13
→ Schottky: 硬體上是對 memory 讀 32-bit (0x00000000~0x00000003) 08/02 23:18
→ Schottky: 有 cache 的話會存在 cache 裡 (ARM 似乎可以沒有cache) 08/02 23:19
推 POWERPC: 你要的是286/386硬體書,詳細選以下2檔所指章節: 08/04 11:07
→ POWERPC: 等你完全明白時就沒什麼太多困擾了 08/04 11:08
→ POWERPC: err: 選 --> 讀 08/04 11:10
推 a881: 這是歷史因素 早期8bit cpu形成template 後人基於此再加 08/05 17:17