1. 程式人生 > 其它 >03_CPU與定址能力

03_CPU與定址能力

1. 案例
    B440                                     MOV  AH,40
    CD21                                     INT  21
    翻譯: A(10)B(11)C(12)D(13)E(14)F(15)
    B4(1011 0100) 40(0100 0000)              將 40(H) 移動到暫存器 AH 中
    CD(1100 1101) 21(0010 0001)

2. CPU
    CPU 將 彙編指令轉換成二進位制(機器指令), 指令以二進位制方式存放在記憶體, 檢視的時候以十六進位制顯示
    記憶體的最小儲存單元叫 位元組, 
byte = AF = 2個十六進位制位 = 1010 1111 = 1 bit(位元) 1KB = 1024byte 1MB = 1024KB 1GB = 1024MB 1TB = 1024GB 3. 定址能力 記憶體編號(地址資訊): 0 1 2 3 4 5 6 7 地址線: 二進位制是描述高低電平的指令, 描述地址資訊的電路叫做地址線, 地址線只能是0或者1 記憶體單元(編號) 一根地址線(2^1) 兩根地址線(2^2) 三根地址線(2^3) 四根地址線(2^4) 0 0 00
000 0000 1000 1 1 01 001 0001 1001 2 ... 10 010 0010 1010 3 11 011 0011 1011 4 .. 100
0100 1100 5 101 0101 1101 6 110 0110 1110 7 111 0111 1111 4. 練習題 CPU通過記憶體編號的讀寫, 控制部件, 即CPU將所有部件, 看成是記憶體地址 4.1 定址能力是 8KB = 8 * 1024byte = 2^3 * 2^10 = 2^13, 則有13根地址線, 地址匯流排寬度為13(1111 1111 111) 4.2 1KB的儲存器有 1024 個儲存單元, 編號是 0 - 1023, 可以儲存 1024byte, 儲存 1024 * 8 = 8192bit 4.3 CPU型號 地址匯流排的寬度 資料匯流排的寬度 定址能力 8080 16 8 2^16 = 2^6 * 2^10 = 64KB 8088 20 8 2^20 = 2^10 * 2^10 = 1MB 8086 20 16 2^20 = 2^10 * 2^10 = 1MB 80286 24 16 2^24 = 4 * 2^20 = 4MB 80386 32 32 2^32 = 2^2 * 2^30 = 4GB 4.4 從記憶體中讀取1024位元組的資料, 8086至少要讀 次, 80386至少要讀 次 8086: 1024Byte 資料匯流排長度是 16, 則每次讀取 2byte, 需要 51280386: 1024Byte 資料匯流排長度是 32, 則每次讀取 4byte, 需要 256