FPU Exception Handling এবং Error Management

Computer Programming - অ্যাসেম্বলি প্রোগ্রামিং (Assembly Programming) Assembly এ Floating-Point Operations (Floating-Point Operations in Assembly) |
242
242

FPU (Floating Point Unit) বা কোপ্রসেসর কম্পিউটারে ভাসমান বিন্দু গাণিতিক অপারেশনের জন্য ব্যবহৃত হয়। Assembly Language প্রোগ্রামিংয়ে FPU ব্যবহারের সময় বিভিন্ন ধরনের ব্যতিক্রম বা Exceptions ঘটতে পারে, যা অপারেশন সঠিকভাবে সম্পন্ন করতে বাধা দেয়। এ কারণে FPU Exception Handling এবং Error Management গুরুত্বপূর্ণ।


FPU Exception Handling:

  • সংজ্ঞা: FPU Exception Handling হলো এমন একটি প্রক্রিয়া, যা FPU দ্বারা পরিচালিত অপারেশনের সময় যেকোনো ব্যতিক্রম বা সমস্যা সমাধান করার জন্য ব্যবহৃত হয়।
  • FPU Exceptions:
    • Invalid Operation: অনুপযুক্ত অপারেশন, যেমন শূন্য দিয়ে শূন্য ভাগ।
    • Divide by Zero: শূন্য দিয়ে ভাগ করার চেষ্টা।
    • Overflow: ফলাফল রেজিস্টারের সর্বাধিক সীমা অতিক্রম করা।
    • Underflow: ফলাফল রেজিস্টারের সর্বনিম্ন সীমার নিচে চলে যাওয়া।
    • Precision Error: ভাসমান বিন্দু অপারেশনের সময় নির্দিষ্ট প্রিসিশন রক্ষা করতে ব্যর্থ হওয়া।

Exception Handling-এর পদ্ধতি:

  • Status Word: FPU-র Status Word রেজিস্টার ব্যবহৃত হয়, যা বিভিন্ন ফ্ল্যাগ সংরক্ষণ করে। এর মাধ্যমে ব্যতিক্রম চিহ্নিত করা যায়।
  • Control Word: Control Word রেজিস্টারটি ব্যবহৃত হয় বিভিন্ন Exception Mask করতে এবং নির্দিষ্ট ব্যতিক্রম পরিচালনা করতে।

উদাহরণ:

FINIT                 ; FPU ইনিশিয়ালাইজ করা
FLD ST(0)             ; স্ট্যাকের শীর্ষে একটি ভাসমান বিন্দু লোড করা
FDIV ST(1), ST(0)     ; শূন্য দ্বারা ভাগ করার চেষ্টা (Divide by Zero Exception)
FSTSW AX              ; FPU Status Word রেজিস্টার থেকে ফ্ল্যাগগুলি AX রেজিস্টারে লোড করা

Error Management:

  • সংজ্ঞা: Error Management হলো FPU দ্বারা সৃষ্ট ব্যতিক্রমগুলির উপযুক্ত ব্যবস্থা গ্রহণ করার প্রক্রিয়া। এটি প্রোগ্রামের নির্ভুলতা এবং নিরবচ্ছিন্ন কার্যপ্রবাহ নিশ্চিত করে।
  • Error Handling Approaches:
    • Software Exception Handling: Assembly Language বা হাই লেভেল ল্যাঙ্গুয়েজে কোড ব্যবহার করে ব্যতিক্রমগুলি হ্যান্ডল করা।
    • FPU Instruction Usage: FPU নির্দিষ্ট নির্দেশনা যেমন FNSTSW (Status Word সংরক্ষণ) এবং FCLEX (FPU ব্যতিক্রম ফ্ল্যাগ ক্লিয়ার করা) ব্যবহার করে।
  • Common Error Management Techniques:
    • Precision Control: FPU-র Control Word রেজিস্টার ব্যবহার করে অপারেশনের প্রিসিশন সেট করা।
    • Exception Masking: Control Word-এ নির্দিষ্ট ফ্ল্যাগ সেট করে কিছু Exceptions মাস্ক করা যায়, যাতে এগুলি প্রোগ্রাম কার্যপ্রবাহকে বাধাগ্রস্ত না করে।

উদাহরণ:

MOV AX, [ControlWord] ; Control Word রেজিস্টার সেট করা
OR AX, 0200h          ; Precision Exception মাস্ক করা
FLDCW AX              ; Control Word রেজিস্টারে নতুন মান লোড করা

FPU Exceptions-এর সাধারণ ব্যবস্থাপনা

  • Exception Flags চেক করা: FPU Exceptions ঘটলে Status Word-এর নির্দিষ্ট বিট চেক করে ব্যতিক্রম চিহ্নিত করা হয়।
  • Exceptions ক্লিয়ার করা: FCLEX নির্দেশনা ব্যবহার করে FPU ফ্ল্যাগগুলি ক্লিয়ার করা যায়।
  • নিরাপদ অপারেশন: অপারেশনগুলিকে ফলোআপ কোড দিয়ে চেক করা হয় যাতে ব্যতিক্রম হলে যথাযথ ব্যবস্থা গ্রহণ করা যায়।

সারসংক্ষেপ

FPU Exception Handling এবং Error Management Assembly Language প্রোগ্রামিংয়ে অত্যন্ত গুরুত্বপূর্ণ কারণ ভাসমান বিন্দু অপারেশনগুলিতে ব্যতিক্রম বা ত্রুটি ঘটে যেতে পারে। FPU Exceptions চিহ্নিত করতে Status Word এবং Exceptions মাস্ক ও নিয়ন্ত্রণ করতে Control Word ব্যবহৃত হয়। সঠিক Exception Handling এবং Error Management-এর মাধ্যমে প্রোগ্রাম আরো নির্ভরযোগ্য এবং নির্ভুলভাবে কাজ করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion