5 stage Pipline ARM Organization
================================
Tprog = Ninst * CPI/fclk Tprog ဆိုတာ program တစ္ခုကို အလုပ္တဲ့ ၾကာခ်ိန္ျဖစ္ပါတယ္။ Ninst ဆိုတာ ပရိုဂရမ္ထဲမွာ အလုပ္လုပ္တဲ့ ARM instruction အေရအတြက္ျဖစ္ပါတယ္။ CPI ဆိုတာ Instruction တစ္ခုမွာ ရွိတဲ့ Clock Cycle ေတြရဲ႕ ပွ်မ္းမ်ွအေရအတြက္ျဖစ္ ပါတယ္။ Fclk ကေတာ့ Frequencyျျဖစ္ပါတယ္
။ ARM9TDMI မွာ အသံုးျပဳပါတယ္။ 5 stage pipline မွာ instruction နဲ႕ data memory ေတြကိုခြဲျခားထားပါတယ္။
(၁)Fetch Instruction ကို Memory ထဲကေနဆြဲထုတ္ျပီးေတာ့ Instruction Pipline ထဲမွာထားလိုက္ပါတယ္။
(၂)Decode Instruction ကို decode လုပ္ျပီးေတာ့ Register operand ေတြဟာ register file ေတြထဲကေနျပီးေတာ့ ဖတ္ယူပါတယ္။ Register file ထဲမွာ operand read port သံုးခု ရွိပါတယ္။
(၃)Execute Operand တစ္ခုကို shift လုပ္လိုက္ျပီးေတာ့ ALU result ကိုထုတ္ေပးလိုက္ပါတယ္။ Instruction က load သို႕မဟုတ္ store ျဖစ္မယ္ဆိုရင္ Memory Address က ALU ထဲမွာအလုပ္လုပ္ပါတယ္။
(၄) Buffer/Data လိုအပ္မယ္ဆိုရင္ data memory ကို သံုးစြဲပါတယ္။ ဒီလိုမွမဟုတ္ရင္ ALU result က cycle တစ္ခု အတြက္ဘဲျျဖစ္ပါတယ္
။ (၅) Write back Instruction ကေနထုတ္ေပးလိုက္တဲ့ result ဟာ Memory ကေနရတဲ့ data ေတြအပါအ၀င္ register file ထဲကို ျပန္ေရးပါတယ္။
Thank You!
Zaw Myat
No comments:
Post a Comment