Sunday, December 1, 2024

Direct Memory Access (DMA) vs. Indirect Memory Access (IMA). (sinhala)

 

Direct Memory Access (DMA) vs. Indirect Memory Access (IMA)

-
මතක ප්‍රවේශ ක්‍රම යනු නිශ්චිත මතක ස්ථානයක සිට දත්ත කියවන ආකාරය හෝ ලියා ඇති ආකාරයයි. සෘජු මතක ප්‍රවේශය (DMA) සහ වක්‍ර මතක ප්‍රවේශය (IMA) ගැන බලමු.
-
සෘජු මතක ප්රවේශය (DMA)

DMA යනු කුමක්ද?

• සෘජු මතක ප්‍රවේශය (DMA) පර්යන්ත උපාංගවලට (සංවේදක, ගබඩා උපාංග, හෝ ජාල ඇඩැප්ටර වැනි) CPU සම්බන්ධ නොකර සෘජුවම පද්ධතියේ මතකයට ප්‍රවේශ වීමට ඉඩ සලසයි. -

• DMA සාමාන්‍යයෙන් පද්ධතිවල භාවිතා වන්නේ CPU වෙතින් මතක දත්ත හුවමාරු කිරීමේ කාර්යය භාර නොගෙන කාර්ය සාධනය වැඩි දියුණු කිරීම සඳහා ප්‍රොසෙසරයේ කාර්ය භාරය අඩු කිරීමෙනි. -

DMA වැඩ කරන්නේ කෙසේද?

• DMA පාලකය පර්යන්ත (උපාංගය) සහ මතකය අතර දත්ත හුවමාරුව කළමනාකරණය කරයි. -

• DMA හුවමාරුවක් ආරම්භ කළ පසු, DMA පාලකය උපාංගය සහ මතකය අතර දත්ත සෘජුවම ගෙන යයි. -

• මෙම ක්‍රියාවලිය අතරතුර, CPU හට වෙනත් කාර්යයන් කිරීමට නිදහස ඇති අතර, එය ශ්‍රව්‍ය සැකසීමේදී හෝ වීඩියෝ ප්‍රවාහයේදී වැනි විශාල දත්ත හුවමාරු කිරීම් වඩාත් කාර්යක්ෂම කරයි. -

DMA හි වාසි:

• කාර්යක්ෂමතාව: දත්ත හුවමාරුව පසුබිමේ සිදුවන අතරතුර CPU හට වෙනත් කාර්යයන් කිරීමට DMA ඉඩ දෙයි.
-

• වේගය: එය CPU මඟහැර සෘජුවම මතකයට පිවිසීම නිසා දත්ත හුවමාරු අනුපාතය වේගවත් කරයි.
-

• අඩු CPU භාරය: CPU මත පැටවීම අඩු කරයි, එය වඩාත් වැදගත් කාර්යයන් වෙත අවධානය යොමු කිරීමට ඉඩ සලසයි.
-

උදාහරණය:

• ක්ෂුද්‍ර පාලක පද්ධතියක, ADC (Analog-to-Digital Converter) එකකින් දත්ත CPU සම්බන්ධ නොකර RAM වෙත සෘජුවම මාරු කළ හැකි අතර, CPU වෙනත් මෙහෙයුම් සඳහා නිදහස් කරයි.

-

වක්‍ර මතක ප්‍රවේශය (IMA)
-

IMA යනු කුමක්ද?

• Indirect Memory Access (IMA) යන්නෙන් අදහස් කරන්නේ පොයින්ටර් හෝ references හරහා මතක ස්ථාන වෙත ප්‍රවේශ වීමයි, එනම් මතක ස්ථානයේ ලිපිනය විචල්‍යයක ගබඩා කර ඇති බවයි. -

• වක්‍ර මතක ප්‍රවේශයේදී, CPU විසින් වක්‍රව දත්ත ලබා ගැනීමට හෝ මතකයේ ඇති ස්ථානයකට දත්ත ලිවීමට පොයින්ටර් හෝ යොමු විචල්‍යයක් භාවිතා කරයි. -

IMA වැඩ කරන්නේ කෙසේද?

• පොයින්ටර් හෝ යොමු විචල්‍යයක් මතක ස්ථානයේ ලිපිනය රඳවා ගනී. -

• එම මතක ස්ථානයේ ඇති දත්ත වෙත ප්‍රවේශ වීමට CPU දර්ශකය pointer dereferences භාවිතා කරයි. -

IMA හි වාසි:
-

• නම්‍යශීලිත්වය: දර්ශකයට හෝ යොමුව ඕනෑම වලංගු මතක ස්ථානයක් වෙත යොමු කළ හැක, එය බහුකාර්ය කරයි.
-

• ගතික මතක ප්‍රවේශය: දත්තවල නිශ්චිත මතක ලිපිනය කලින් තීරණය කර නොමැති දත්ත ව්‍යුහයන් (arrays, linked lists) වැනි ගතික මතක කළමනාකරණය සඳහා IMA ඉඩ දෙයි.
-

උදාහරණය:

• C වැඩසටහනක, int* p = &a; p, a හි ලිපිනය ගබඩා කරයි, සහ CPU මතකයේ ඇති අගයට වක්‍රව ප්‍රවේශ වීමට p භාවිතා කරයි.
-
DMA සහ IMA වැදගත් වන්නේ ඇයි?
-

1. කාර්යක්ෂමතාව:

• DMA විසින් ශ්‍රව්‍ය හෝ දෘශ්‍ය පද්ධති වැනි නිරන්තර සහ ඉහළ පරිමා දත්ත හුවමාරු කිරීම් අවශ්‍ය වන පර්යන්ත සහිත පද්ධතිවල කාර්ය සාධනය ප්‍රශස්ත කරයි. එය CPU හි වැඩ බර අඩු කරන අතර පද්ධතිය සුමටව ක්‍රියාත්මක වන බව සහතික කරයි. -

2. දත්ත ප්‍රවේශයේ නම්‍යශීලී බව:

• වක්‍ර මතක ප්‍රවේශය ගතික මතක කළමනාකරණය සක්‍රීය කිරීම මගින් වැඩසටහන් වල නම්‍යශීලී බවක් ලබා දෙයි. එය මතකයේ ඇති සංකීර්ණ දත්ත ව්‍යුහයන් හෝ වස්තූන් හැසිරවීම පහසු කරයි. -

3. තත්‍ය කාලීන පද්ධති:

• DMA විශේෂයෙන් වැදගත් වන්නේ තත්‍ය කාලීන පද්ධතිවල, සැකසුම් කාලය තීරණාත්මක වන අතර, එය CPU වෙත බරක් නොවී අධිවේගී දත්ත හුවමාරුව සක්‍රීය කරයි. රූප සැකසීම හෝ ජාල සන්නිවේදනය වැනි විශාල දත්ත ප්‍රමාණයක් ඉක්මනින් සැකසීමට අවශ්‍ය පද්ධති බොහෝ විට DMA භාවිතා කරයි.
-
එකක් අනෙකට වඩා වෙනස් වන්නේ ?

• විශාල දත්ත හුවමාරු කිරීම් සමඟ කටයුතු කරන විට හෝ CPU වෙතින් කාර්යයන් අක්‍රිය කිරීමේදී තත්‍ය කාලීන කාර්ය සාධනය හෝ කාර්යක්ෂමතාව සඳහා (උදා: ශ්‍රව්‍ය, දෘශ්‍ය හෝ ජාල පද්ධතිවල) DMA භාවිතා කරන්න. -

• ගතික දත්ත ව්‍යුහයන් හෝ ඔබේ වැඩසටහනේ යොමු/පොයින්ටර් සමඟ වැඩ කිරීම වැනි මතකයේ දත්ත වෙත ප්‍රවේශ වීමට හෝ කළමනාකරණය කිරීමට ඔබට නම්‍යශීලී බවක් අවශ්‍ය වූ විට IMA භාවිතා කරන්න. -

නිගමනය:

DMA සහ IMA මතකයට ප්‍රවේශ වීමට විවිධ ප්‍රවේශයන් දෙකක් නියෝජනය කරයි, ඒ සෑම එකක්ම තමන්ගේම ශක්තීන් ඇත. DMA අධි-කාර්යක්ෂමතාවය, අධිවේගී දත්ත හුවමාරු කිරීම් කෙරෙහි අවධානය යොමු කරන අතර, වැඩසටහනක දත්ත කළමනාකරණය කරන සහ ප්‍රවේශ වන ආකාරය පිළිබඳ නම්‍යශීලී බව කෙරෙහි IMA අවධානය යොමු කරයි. එක් එක් භාවිතා කරන ස්ථානය සහ කෙසේද යන්න තේරුම් ගැනීම ඔබට වඩාත් කාර්යක්ෂම සහ නම්‍යශීලී පද්ධති සැලසුම් කිරීමට උපකාරී වේ! - තාමත් අපේ group එකේ නැත්තන් group එකට සෙට් වෙන්න :⁣

https://www.facebook.com/groups/paperclipx

මේ group එකේ දාන දේවල් හොඳයි කියල හිතෙනවනම් ඕගොල්ලොන් ගේ යාලුවන්වත් group එකට එකතු කරන්න !⁣



No comments:

Post a Comment