看板 Grad-ProbAsk 關於我們 聯絡資訊
Can the program counter register be eliminated by using the top of the stack as a PC? 一個indirect address mode的branch指令需要幾次讀取memory?(包含fetch and execute) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.109.208
RoyalCh:第二題不是某資工所的考題阿? 01/12 15:36
RoyalCh:不過我還是不會.. 01/12 15:36
JiDung:我"猜"第一題 先把stack top 讀到一個reg再用jump register 01/12 15:50
JiDung:第二題 只有Instruction Memory會讀一次吧... 01/12 15:55
showyoulovex:第二題 我覺的是兩次,99中山電機丙 有相關概念 01/12 16:08
JiDung:第二次是???? 01/12 16:12
P568912:第一次會讀到instruction memory嗎?? 01/12 16:19
P568912:還是讀到這個instruction的位址 我也不太會@@ 01/12 16:20
showyoulovex:第一次是指向 記憶體位置 抓裡面的位置值 01/12 16:21
showyoulovex:然後根據位置值 再去做第二次 記憶體存取 01/12 16:21
showyoulovex:我這邊也不太熟 如果有錯 請見諒 01/12 16:21
P568912:我跟樓上想法一樣 我記得indirect address的意思是指 01/12 16:22
P568912:第一次去記憶體抓取的東西是他所在的位置 01/12 16:23
P568912:只是我不知道有沒有包含指令@@ 01/12 16:23
P568912:第一題我覺得可以 你每call一次function的時候 01/12 16:25
showyoulovex:我寫到的那題是 計算cpi 跟這題講的branch 不太一樣 01/12 16:26
showyoulovex:不知道 觀念是否相同 01/12 16:26
P568912:就把return address push 到stack上 01/12 16:26
P568912:然後要返回時,讀取top值 等到返回時 再把它pop掉 01/12 16:27
JiDung:我說的是第二題...抓完指令Memory裡面的指令之後 01/12 16:52
JiDung:應該就沒有讀取到任何Memory了吧 因為PC是register 01/12 16:52
JiDung:在讀取記憶體時 找即將讀取位置 就是PC register提供 01/12 16:53
JiDung:最後要branch到那邊 也是更改PC register 01/12 16:53
chunhsiang:那我加問一下第一題 INDIRECT 單運算元的運算指令 01/12 18:24
chunhsiang:需要多少次記憶體存取 依樣包含FETCH 01/12 18:25
chunhsiang:第二題才對... 01/12 18:25
chunhsiang:所以大家對第一題都是可以? 有人有其他想法嗎? 01/12 18:31
louis719:第一題我覺得不可以耶..你program counter放在stack中 01/12 18:40
louis719:你每次執行指令都要先去mem去取出PC值到register...所以 01/12 18:40
louis719:要用lw指令,但PC根本拿不到 所以沒辦法執行指令吧@@ 01/12 18:41
JiDung:喔喔 看到樓上的推文 我才發現我搞錯題目的意思.... 01/12 18:46
sneak: 我"猜"第一題 先把s https://daxiv.com 09/11 14:45