মেশিন সাইকেল এবং তার কাজ
মেশিন সাইকেল হল সেই সময়সীমা বা প্রসেস যা সিপিইউ (CPU) একটি ইনস্ট্রাকশন সম্পাদন করার জন্য গ্রহণ করে। এক কথায়, এটি ইনস্ট্রাকশন ফেচ, ডিকোড এবং এক্সিকিউট করার জন্য প্রয়োজনীয় সমস্ত ধাপকে সংজ্ঞায়িত করে। মেশিন সাইকেল সাধারণত কয়েকটি প্রধান ধাপের সমন্বয়ে গঠিত যা কম্পিউটারের ইনস্ট্রাকশন প্রসেসিংয়ের অংশ।
মেশিন সাইকেলের কাজের মধ্যে থাকে: ইনস্ট্রাকশন ফেচ, ইনস্ট্রাকশন ডিকোড, অপারেশন এক্সিকিউট এবং ফলাফল স্টোর করা। একে সাধারাণত "ফেচ-ডিকোড-এক্সিকিউট" পদ্ধতি বলা হয়।
মেশিন সাইকেলের প্রধান ধাপসমূহ:
- ফেচ (Fetch):
- প্রথমে, প্রোগ্রাম কাউন্টার (PC) থেকে বর্তমান ইনস্ট্রাকশনের অ্যাড্রেসটি নিয়ে মেমোরি থেকে ইনস্ট্রাকশনটি সিপিইউতে আনা হয়। এই ধাপটি "ফেচ" নামে পরিচিত।
- প্রোগ্রাম কাউন্টার স্বয়ংক্রিয়ভাবে পরবর্তী ইনস্ট্রাকশনের জন্য অ্যাড্রেস পরিবর্তন করে (অর্থাৎ ইনক্রিমেন্ট করা হয়)।
- ইনস্ট্রাকশনটি ইনস্ট্রাকশন রেজিস্টারে (IR) রাখা হয়, যাতে পরবর্তী ধাপে এটি প্রসেস করা যায়।
- ডিকোড (Decode):
- ফেচ করা ইনস্ট্রাকশনটি ডিকোড করা হয়। ডিকোডিং-এর মাধ্যমে সিপিইউ ইনস্ট্রাকশনের অর্থ বোঝে এবং তার ভিত্তিতে কোন ধরনের অপারেশন করতে হবে তা নির্ধারণ করা হয়।
- যদি অপকোড (Opcode) গণনা, মেমোরি অ্যাক্সেস বা I/O অপারেশন নির্দেশ করে, তখন সিপিইউ সেই অনুযায়ী কাজ করবে।
- সিপিইউ অপারেন্ড (operand) যাচাই করে, যেমন মেমোরি অ্যাড্রেস বা রেজিস্টার (যে ডাটা প্রয়োজন)।
- এক্সিকিউট (Execute):
- ডিকোডিং এর পরে, সিপিইউ ইনস্ট্রাকশনটি কার্যকর (execute) করে। এক্সিকিউটের সময় সিপিইউ গণনা, মেমোরি রিড/রাইট বা লজিক্যাল অপারেশন সম্পাদন করতে পারে।
- উদাহরণস্বরূপ, যদি ইনস্ট্রাকশনটি যোগ (ADD) অপারেশন হয়, তবে সিপিইউ দুটি রেজিস্টারের মান যোগ করবে।
- স্টোর (Store):
- এক্সিকিউটের পরে, সিপিইউ ফলাফলকে রেজিস্টারে অথবা মেমোরিতে সংরক্ষণ করে।
- যদি একটি আউটপুট রেজিস্টারে বা মেমোরিতে স্টোর করা প্রয়োজন, সিপিইউ সেই ডাটা লিখে দেয়।
- এই ধাপে, রেজিস্টারে ফলাফল রাখার পাশাপাশি স্ট্যাক বা মেমোরি অ্যাড্রেসিংও হতে পারে।
মেশিন সাইকেলের উদাহরণ
ধরা যাক, একটি ইনস্ট্রাকশন "ADD R1, R2" আসে, যেখানে রেজিস্টার R1 এবং R2 এর মান যোগ করা হবে। এটি মেশিন সাইকেলের মাধ্যমে সম্পাদিত হবে:
- ফেচ (Fetch):
- প্রোগ্রাম কাউন্টার (PC) বর্তমান ইনস্ট্রাকশনের অ্যাড্রেসে পৌঁছে এবং ইনস্ট্রাকশনটি সিপিইউতে পাঠায়।
- ডিকোড (Decode):
- সিপিইউ ইনস্ট্রাকশনটি ডিকোড করে এবং বুঝতে পারে যে এটি একটি যোগ (ADD) অপারেশন। সিপিইউ জানবে যে রেজিস্টার R1 এবং R2 এর মান যোগ করতে হবে।
- এক্সিকিউট (Execute):
- সিপিইউ রেজিস্টার R1 এবং R2 এর মান যোগ করে এবং তার ফলাফল তৈরি করে।
- স্টোর (Store):
- সিপিইউ যোগফলটি আবার রেজিস্টার R1 তে সংরক্ষণ করবে (যদি সেটা নির্দেশিত থাকে) অথবা মেমোরিতে ফলাফলটি সংরক্ষণ করবে।
সারসংক্ষেপ
মেশিন সাইকেল হল সেই সিকোয়েন্স যেখানে সিপিইউ একটি ইনস্ট্রাকশন সম্পাদন করে। এটি সাধারণত চারটি প্রধান ধাপে বিভক্ত:
- ফেচ (Fetch): ইনস্ট্রাকশন মেমোরি থেকে ফেচ করা হয়।
- ডিকোড (Decode): ইনস্ট্রাকশন ডিকোড করা হয় এবং সিপিইউ জানে কোন অপারেশন করতে হবে।
- এক্সিকিউট (Execute): সিপিইউ ইনস্ট্রাকশনটি কার্যকর করে।
- স্টোর (Store): ফলাফল সংরক্ষণ করা হয়।
এই চারটি ধাপ সম্পন্ন হলে মেশিন সাইকেল শেষ হয় এবং পরবর্তী ইনস্ট্রাকশনের জন্য একই প্রক্রিয়া পুনরাবৃত্তি হয়।
Read more