- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教科书系统程式-电脑的硬体结构
圖 2.14 儲存指令ST R1, [0x32] 的執行過程 ALU Control Unit (控制單元) R1=0F 0A C0 25 記憶體 0032 0F 0A C0 25 ST R1, [0x32] 01 10 00 32 IR= 01 10 00 32 (ST R1, [0x32]) 暫存器 定址模式 CPU0 的定址模式可分為三種 立即定址: LDI 相對定址: LD、ST、LDB、STB 索引定址: LDR、STR、LBR、SBR 立即定址 格式:LDI Ra, Rb+Cx 範例1: LDI R1, R2+100 說明: 將 R2 + 100 的放入 R1,相當於 R1=R2+100 範例2: LDI R1, R0+100 說明: R1=R0+100=100,可以簡寫為LDI R1, 100 相對定址 指令:LD, ST, LDB, STB 範例1: LD R1, [R2+100] 說明: R1 = [R2+100], 取出記憶體位址 R2+100 的內容,放入 R1 當中。 範例2: ST R1, [R2+100] 說明: 將 R1 的內容存入 R2+100 的記憶體位址中。 索引定址 指令:LDR, STR, LBR, SBR 範例 1 LDR R1, [R2+R3] 絕對定址 說明: 直接存取記憶體絕對位址內容的方法 範例:LD R1, [100] CPU0 中欲使用絕對定址法,可用 R0 作為基底 範例: LD R1, [R0+100] 說明: 因為 R0 暫存器永遠為 0,因此上述指令相當於 LD R1, [100]。 2.4 CPU0 的程式執行 在整個程式的執行過程中, 指令會一個接著一個被取出後執行, 直到出現跳躍指令為止。 一個指令的執行可分為三個階段 1. 提取 2. 解碼 3. 執行 三大階段:提取、解碼、執行 圖 2.15 程式在CPU0中的執行過程 001F0028 002F0020 0830000A10230000 2300000C13242000 26FFFFEC 2C00000000000000 記憶體 ALU (加法運算) 暫存器 IR=2300000C (JGT EXIT) PC0000 0004 0008 000C 0010 0014 0018 001C 0020 0024 0028 002C 位址 LD R1, SUM LD R2, I LDI R3, 10 LDI R4, 1 CMP R2, R3 JGT EXIT ADD R1, R2, R1 ADD R2, R4, R2 JMP FOR RET RESW 1 WORD 0 程式 FOR: EXIT: 位址匯流排 資料匯流排 控制匯流排 圖 2.17指令提取的細部動作 001F0028 002F0020 0830000A10230000 2300000C13242000 26FFFFEC 2C00000000000000 記憶體 ALU (加法運算) 暫存器 IR=2300000C (JGT EXIT) PC0000 0004 0008 000C 0010 0014 0018 001C 0020 0024 0028 002C 位址 LD R1, SUM LD R2, I LDI R3, 10 LDI R4, 1 CMP R2, R3 JGT EXIT ADD R1, R2, R1 ADD R2, R4, R2 JMP FOR RET RESW 1 WORD 0 程式 FOR: EXIT: 位址匯流排 資料匯流排 控制匯流排 (1) (2) CPU 將 PC 傳到位址匯流排。 設定控制線,請求讀取位於 PC 的記憶體。 記憶體將指令傳到資料匯流排。 CPU 取得指令碼,放入 IR 暫存器中。 指令提取階段 (3) (4) 圖 2.18 加法指令 ADD R1, R2, R1 的執行階段動作 001F0028 002F0020 0830000A10230000 2300000C13242000 26FFFFEC 2C000000 00000000
文档评论(0)