கணினி கட்டமைப்பில் நேரடி நினைவக அணுகல் (டி.எம்.ஏ)

சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்





கணினி நிரலை செயல்படுத்துவதற்கு, கணினியின் ஒன்றுக்கு மேற்பட்ட கூறுகளின் ஒத்திசைவான வேலை தேவைப்படுகிறது. உதாரணத்திற்கு, செயலிகள் - தேவையான கட்டுப்பாட்டு தகவல்கள், முகவரிகள்… போன்றவை, பேருந்துகள் - தகவல் மற்றும் தரவை நினைவகத்திலிருந்து I / O சாதனங்களுக்கு மாற்றுவதற்கு… போன்றவை. செயலியின் சுவாரஸ்யமான காரணி செயலி, நினைவகம் மற்றும் I / O சாதனங்களிடையே தகவல்களை மாற்றுவதைக் கையாளும் விதமாக இருக்கும். வழக்கமாக, தரவை மாற்றுவதற்கான அனைத்து செயல்முறைகளையும் செயலிகள் கட்டுப்படுத்துகின்றன, பரிமாற்றத்தைத் தொடங்குவதிலிருந்து இலக்கை சேமிக்கும் இடம் வரை. இது செயலியில் சுமை சேர்க்கிறது மற்றும் பெரும்பாலான நேரம் அது சிறந்த நிலையில் இருக்கும், இதனால் கணினியின் செயல்திறன் குறைகிறது. I / O சாதனங்களுக்கும் நினைவகத்திற்கும் இடையில் தரவின் பரிமாற்றத்தை விரைவுபடுத்த, டிஎம்ஏ கட்டுப்படுத்தி ஸ்டேஷன் மாஸ்டராக செயல்படுகிறது. டி.எம்.ஏ கட்டுப்படுத்தி செயலியின் குறைந்தபட்ச தலையீட்டால் தரவை மாற்றுகிறது.

டிஎம்ஏ கட்டுப்பாட்டாளர் என்றால் என்ன?

டிஎம்ஏ என்ற சொல் நேரடி நினைவக அணுகலைக் குறிக்கிறது. நேரடி நினைவக அணுகலுக்குப் பயன்படுத்தப்படும் வன்பொருள் சாதனம் DMA கட்டுப்படுத்தி என அழைக்கப்படுகிறது. டி.எம்.ஏ. கட்டுப்படுத்தி ஒரு கட்டுப்பாட்டு அலகு , I / O சாதனத்தின் ஒரு பகுதி இடைமுக சுற்று , இது I / O சாதனங்களுக்கும் பிரதான நினைவகத்திற்கும் இடையில் தரவின் தொகுதிகளை செயலியில் இருந்து குறைந்தபட்ச தலையீட்டால் மாற்ற முடியும்.




கணினி கட்டமைப்பில் டி.எம்.ஏ கட்டுப்பாட்டு வரைபடம்

டிஎம்ஏ கட்டுப்படுத்தி பஸ் மற்றும் உள்ளீட்டு-வெளியீட்டு சாதனங்களுக்கு இடையில் ஒரு இடைமுகத்தை வழங்குகிறது. இது செயலியின் தலையீடு இல்லாமல் தரவை மாற்றினாலும், அது செயலியால் கட்டுப்படுத்தப்படுகிறது. தொடக்க முகவரி, தரவுத் தொகுதியில் உள்ள சொற்களின் எண்ணிக்கை மற்றும் தரவு பரிமாற்ற திசையை அனுப்புவதன் மூலம் செயலி டிஎம்ஏ கட்டுப்படுத்தியைத் தொடங்குகிறது .i.e. I / O சாதனங்களிலிருந்து நினைவகம் அல்லது பிரதான நினைவகத்திலிருந்து I / O சாதனங்கள் வரை. ஒன்றுக்கு மேற்பட்ட வெளிப்புற சாதனங்களை டி.எம்.ஏ கட்டுப்படுத்தியுடன் இணைக்க முடியும்.

கணினி கட்டிடக்கலையில் டி.எம்.ஏ.

கணினி கட்டிடக்கலையில் டி.எம்.ஏ.



முகவரிகளை உருவாக்குவதற்கும் பரிமாற்றத்திற்கு I / O சாதனத்தைத் தேர்ந்தெடுப்பதற்கும் DMA கட்டுப்படுத்தி ஒரு முகவரி அலகு கொண்டுள்ளது. பரிமாற்றப்பட்ட தொகுதிகளின் எண்ணிக்கையை வைத்திருப்பதற்கும் தரவு பரிமாற்ற திசையைக் குறிப்பதற்கும் கட்டுப்பாட்டு அலகு மற்றும் தரவு எண்ணிக்கையும் இதில் உள்ளது. பரிமாற்றம் முடிந்ததும், டி.எம்.ஏ ஒரு குறுக்கீட்டை உயர்த்துவதன் மூலம் செயலிக்குத் தெரிவிக்கிறது. டி.எம்.ஏ கட்டுப்படுத்தியின் பொதுவான தொகுதி வரைபடம் கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளது.

டிஎம்ஏ கட்டுப்பாட்டாளரின் பொதுவான தொகுதி வரைபடம்

டிஎம்ஏ கட்டுப்பாட்டாளரின் பொதுவான தொகுதி வரைபடம்

டி.எம்.ஏ கன்ட்ரோலரின் வேலை

தரவு பரிமாற்றத்தை செய்ய டி.எம்.ஏ கட்டுப்படுத்தி பஸ்ஸை செயலியுடன் பகிர்ந்து கொள்ள வேண்டும். ஒரு குறிப்பிட்ட நேரத்தில் பஸ்ஸை வைத்திருக்கும் சாதனம் பஸ் மாஸ்டர் என்று அழைக்கப்படுகிறது. I / O சாதனத்திலிருந்து நினைவகம் அல்லது துணை வசனத்திற்கு இடமாற்றம் செய்யப்படும்போது, ​​செயலி தற்போதைய நிரலின் செயல்பாட்டை நிறுத்துகிறது, அதிகரிப்புகள் நிகழ்ச்சி எதிர், தரவை அடுக்கில் நகர்த்தி, பின்னர் டிஎம்ஏ தேர்ந்தெடுக்கப்பட்ட சமிக்ஞையை டிஎம்ஏ கட்டுப்படுத்திக்கு முகவரி பஸ் வழியாக அனுப்புகிறது.

டி.எம்.ஏ கட்டுப்படுத்தி இலவசமாக இருந்தால், பஸ் கோரிக்கை சமிக்ஞையை உயர்த்துவதன் மூலம் செயலியில் இருந்து பஸ் கட்டுப்பாட்டைக் கோருகிறது. பஸ் மானிய சமிக்ஞையை உயர்த்துவதன் மூலம் செயலிக்கு பஸ்ஸை கட்டுப்படுத்திக்கு வழங்குகிறது, இப்போது டிஎம்ஏ கட்டுப்படுத்தி பஸ் மாஸ்டர். நினைவகம் முகவரிகள், மாற்றப்பட வேண்டிய தரவுகளின் எண்ணிக்கை மற்றும் தரவு பரிமாற்ற திசையை அனுப்புவதன் மூலம் செயலி டிஎம்ஏ கட்டுப்படுத்தியைத் தொடங்குகிறது. தரவு பரிமாற்ற பணியை டி.எம்.ஏ கட்டுப்படுத்திக்கு வழங்கிய பின்னர், தரவு பரிமாற்றம் முடியும் வரை வெறுமனே காத்திருப்பதற்கு பதிலாக, செயலி அடுக்கிலிருந்து வழிமுறைகளை மீட்டெடுத்த பிறகு நிரலை மீண்டும் செயல்படுத்துகிறது.


டி.எம்.ஏ மூலம் கணினியில் டி.எம்.ஏ மூலம் தரவு பரிமாற்றம்

டி.எம்.ஏ கன்ட்ரோலரால் கணினியில் தரவு பரிமாற்றம்

டி.எம்.ஏ கட்டுப்படுத்தி இப்போது பேருந்துகளின் முழு கட்டுப்பாட்டையும் கொண்டுள்ளது, மேலும் CPU இலிருந்து சுயாதீனமான நினைவகம் மற்றும் I / O சாதனங்களுடன் நேரடியாக தொடர்பு கொள்ள முடியும். இது செயலியால் பெறப்பட்ட கட்டுப்பாட்டு அறிவுறுத்தல்களின்படி தரவு பரிமாற்றத்தை செய்கிறது. தரவு பரிமாற்றம் முடிந்ததும், இது பஸ் கோரிக்கை சமிக்ஞையை முடக்குகிறது மற்றும் CPU பஸ் மானிய சமிக்ஞையை முடக்குகிறது, இதன் மூலம் பேருந்துகளின் கட்டுப்பாட்டை CPU க்கு நகர்த்தும்.

ஒரு I / O சாதனம் பரிமாற்றத்தைத் தொடங்க விரும்பினால், அது டிஎம்ஏ கட்டுப்பாட்டு சமிக்ஞையை டிஎம்ஏ கட்டுப்படுத்திக்கு அனுப்புகிறது, அதற்காக அது இலவசம் என கட்டுப்படுத்தி ஒப்புக்கொள்கிறார். பின்னர் கட்டுப்படுத்தி பஸ்ஸிற்கான செயலியைக் கோருகிறது, பஸ் கோரிக்கை சமிக்ஞையை உயர்த்துகிறது. பஸ் மானிய சமிக்ஞையைப் பெற்ற பிறகு, அது சாதனத்திலிருந்து தரவை மாற்றுகிறது. N சேனல் செய்யப்பட்ட டிஎம்ஏ கட்டுப்படுத்திக்கு n வெளிப்புற சாதனங்களின் எண்ணிக்கையை இணைக்க முடியும்.

டி.எம்.ஏ தரவை மூன்று முறைகளில் மாற்றுகிறது, அதில் பின்வருவன அடங்கும்.

க்கு) வெடிப்பு முறை : இந்த பயன்முறையில் முழு தரவு பரிமாற்றமும் முடிந்த பின்னரே டி.எம்.ஏ பேருந்துகளை CPU க்கு ஒப்படைக்கிறது. இதற்கிடையில், CPU க்கு பஸ் தேவைப்பட்டால் அது சிறந்ததாக இருக்க வேண்டும் மற்றும் தரவு பரிமாற்றத்திற்காக காத்திருக்க வேண்டும்.

b) சுழற்சி திருடும் முறை : இந்த பயன்முறையில், ஒவ்வொரு பைட்டையும் மாற்றிய பின் டி.எம்.ஏ பேருந்துகளின் கட்டுப்பாட்டை CPU க்கு வழங்குகிறது. இது தொடர்ந்து பஸ் கட்டுப்பாட்டுக்கான கோரிக்கையை வெளியிடுகிறது, ஒரு பைட்டை மாற்றுவதோடு பஸ்ஸையும் திருப்பித் தருகிறது. இந்த CPU மூலம் அதிக முன்னுரிமை பணிக்கு பஸ் தேவைப்பட்டால் நீண்ட நேரம் காத்திருக்க வேண்டியதில்லை.

c) வெளிப்படையான பயன்முறை: இங்கே, பேருந்துகளின் பயன்பாடு தேவையில்லை என்று சிபியு அறிவுறுத்தலை செயல்படுத்தும்போது மட்டுமே டிஎம்ஏ தரவை மாற்றுகிறது.

8237 டி.எம்.ஏ கட்டுப்பாட்டாளர்

  • 8237 சேனல்களின் எண்ணிக்கையை அதிகரிக்கும் நெகிழ்வுத்தன்மையுடன் 4 I / O சேனல்களைக் கொண்டுள்ளது.
  • ஒவ்வொரு சேனலையும் தனித்தனியாக திட்டமிடலாம் மற்றும் 64 கே முகவரி மற்றும் தரவு திறனைக் கொண்டுள்ளது.
  • நேர கட்டுப்பாட்டு தொகுதி, நிரல் கட்டளை கட்டுப்பாட்டு தொகுதி, முன்னுரிமை குறியாக்கி தொகுதி 8237A இன் மூன்று முக்கிய தொகுதிகள்.
  • உள் நேர மற்றும் வெளிப்புற கட்டுப்பாட்டு சமிக்ஞைகள் நேரக் கட்டுப்பாட்டுத் தொகுதியால் இயக்கப்படுகின்றன.
  • டி.எம்.ஏ க்கு நுண்செயலி வழங்கிய பல்வேறு கட்டளைகள் நிரல் கட்டளை கட்டுப்பாட்டு தொகுதி மூலம் டிகோட் செய்யப்படுகின்றன.
  • எந்த சேனலுக்கு அதிக முன்னுரிமை கொடுக்கப்பட வேண்டும் என்பது முன்னுரிமையால் தீர்மானிக்கப்படுகிறது குறியாக்கி தொகுதி .
    8237A இல் 27 உள் பதிவேடுகள் உள்ளன.

8237A இரண்டு சுழற்சிகளில் இயங்குகிறது- சிறந்த சுழற்சி மற்றும் செயலில் சுழற்சி, அங்கு ஒவ்வொரு சுழற்சியிலும் 7 தனித்தனி மாநிலங்கள் உள்ளன, அவை ஒவ்வொன்றும் ஒரு கடிகார காலத்தைக் கொண்டிருக்கும்.

S0- முதல் நிலை, கட்டுப்படுத்தி பஸ்ஸைக் கோரியது மற்றும் செயலியிடமிருந்து ஒப்புதலுக்காகக் காத்திருக்கிறது.

S1, S2, S3, S4 ஆகியவை தரவுகளின் உண்மையான பரிமாற்றம் நடைபெறும் 8237A இன் வேலை செய்யும் மாநிலங்கள் என்று அழைக்கப்படுகின்றன. பரிமாற்ற காத்திருப்பு மாநிலங்களுக்கு அதிக நேரம் தேவைப்பட்டால், இந்த மாநிலங்களுக்கு இடையில் SW சேர்க்கப்படுகிறது.

நினைவகத்திலிருந்து நினைவக பரிமாற்றத்திற்கு நினைவகத்திலிருந்து படிக்க மற்றும் நினைவகத்திற்கு எழுதும் பரிமாற்றங்கள் செய்யப்பட வேண்டும். ஒற்றை பரிமாற்றத்திற்கு எட்டு மாநிலங்கள் தேவை. எஸ் 11, எஸ் 12, எஸ் 13, எஸ் 14 சந்தாக்களைக் கொண்ட முதல் நான்கு மாநிலங்கள் நினைவகத்திலிருந்து படிக்கக்கூடிய பரிமாற்றத்தை செய்கின்றன, அடுத்த நான்கு எஸ் 21, எஸ் 22, எஸ் 23, எஸ் 24 ஆகியவை எழுதும் நினைவக பரிமாற்றத்திற்கானவை.

எந்தவொரு சேனலும் சேவையை கோரவில்லை மற்றும் எஸ்ஐ நிலையைச் செய்யும்போது டிஎம்ஏ சிறந்த நிலைக்குச் செல்கிறது. SI என்பது ஒரு செயலற்ற நிலை, இது ஒரு கோரிக்கையைப் பெறும் வரை DMA செயலற்றதாக இருக்கும். இந்த நிலையில், டி.எம்.ஏ நிரல் நிலையில் உள்ளது, அங்கு செயலி டி.எம்.ஏவை நிரல் செய்யலாம்.

டி.எம்.ஏ சிறந்த நிலையில் இருக்கும்போது, ​​மேலும் சேனல் கோரிக்கைகள் எதுவும் கிடைக்காதபோது, ​​அது செயலிக்கு ஒரு HRQ சமிக்ஞையை வெளியிடுகிறது மற்றும் செயலில் உள்ள நிலைக்கு நுழைகிறது, அங்கு வெடிப்பு முறை, சுழற்சி திருட்டு முறை அல்லது வெளிப்படையான பயன்முறை மூலம் தரவு பரிமாற்றத்தைத் தொடங்க முடியும்.

8237 பின்டியாகிராம்

8237 முள் வரைபடம்

8257 டி.எம்.ஏ கட்டுப்பாட்டாளர்

ஒற்றை இன்டெல் 8212 I / O போர்ட் சாதனத்துடன் ஜோடியாக இருக்கும்போது, ​​8257 டிஎம்ஏ கட்டுப்படுத்தி ஒரு முழுமையான 4 சேனலை உருவாக்குகிறது டிஎம்ஏ கட்டுப்படுத்தி . பரிமாற்ற கோரிக்கையைப் பெற்றதும் 8257 கட்டுப்படுத்தி-

  • செயலியில் இருந்து கணினி பஸ் மீதான கட்டுப்பாட்டைப் பெறுகிறது.
  • அதிக முன்னுரிமை சேனலுடன் இணைக்கப்பட்ட புறம் ஒப்புக்கொள்ளப்படுகிறது.
  • நினைவக முகவரியின் மிகக் குறைவான குறிப்பிடத்தக்க பிட்கள் கணினி பஸ்ஸின் முகவரி கோடுகள் A0-A7 வழியாக நகர்த்தப்படுகின்றன.
  • மிக முக்கியமானது 8 பிட்கள் நினைவக முகவரியின் தரவு கோடுகள் மூலம் 8212 I / O துறைமுகத்திற்கு இயக்கப்படுகிறது.
  • சாதனங்கள் மற்றும் உரையாற்றப்பட்ட நினைவக இடங்களுக்கு இடையில் தரவை மாற்றுவதற்கான பொருத்தமான கட்டுப்பாட்டு சமிக்ஞைகளை உருவாக்குகிறது.
  • குறிப்பிட்ட எண்ணிக்கையிலான பைட்டுகள் மாற்றப்படும்போது, ​​முனைய எண்ணிக்கை (டி.சி) வெளியீட்டைச் செயல்படுத்துவதன் மூலம் கட்டுப்படுத்தியின் CPU முடிவை கட்டுப்படுத்தி தெரிவிக்கிறது.

ஒவ்வொரு சேனலுக்கும் 8257 இரண்டு உள்ளது 16-பிட் பதிவேடுகள் - 1) டிஎம்ஏ முகவரி பதிவு மற்றும் 2) முனைய எண்ணிக்கை பதிவு, ஒரு சேனல் இயக்கப்பட்டதற்கு முன்பு தொடங்கப்பட வேண்டும். அணுக வேண்டிய முதல் நினைவக இருப்பிடத்தின் முகவரி டிஎம்ஏ முகவரி பதிவேட்டில் ஏற்றப்பட்டுள்ளது. முனைய எண்ணிக்கை பதிவேட்டில் ஏற்றப்பட்ட மதிப்பின் 14 பிட்கள் கீழ் வரிசையில் டெர்மினல் எண்ணிக்கை வெளியீட்டை செயல்படுத்துவதற்கு முன்பு டி.எம்.ஏ சுழற்சிகளின் எண்ணிக்கையை கழித்தல் ஒன்றைக் குறிக்கிறது. ஒரு சேனலுக்கான செயல்பாட்டு வகை டெர்மினல் எண்ணிக்கை பதிவேட்டின் மிக முக்கியமான இரண்டு பிட்களால் குறிக்கப்படுகிறது.

8257 முள் வரைபடம்

8257 முள் வரைபடம்

டிஎம்ஏ கட்டுப்பாட்டாளரின் நன்மைகள் மற்றும் தீமைகள்

டிஎம்ஏ கட்டுப்படுத்தியின் நன்மைகள் மற்றும் தீமைகள் பின்வருவனவற்றை உள்ளடக்குகின்றன.

நன்மைகள்

  • CPU இன் ஈடுபாட்டைத் தவிர்ப்பதன் மூலம் டிஎம்ஏ நினைவக செயல்பாடுகளை விரைவுபடுத்துகிறது.
  • CPU இல் பணி சுமை குறைகிறது.
  • ஒவ்வொரு பரிமாற்றத்திற்கும், சில எண்ணிக்கையிலான கடிகார சுழற்சிகள் மட்டுமே தேவைப்படுகின்றன

தீமைகள்

  • தரவு பரிமாற்றத்திற்கு டி.எம்.ஏ பயன்படுத்தப்படும்போது கேச் ஒத்திசைவு சிக்கலைக் காணலாம்.
  • அமைப்பின் விலையை அதிகரிக்கிறது.

டி.எம்.ஏ ( நேரடி நினைவக அணுகல் ) கிராபிக்ஸ் கார்டுகள், நெட்வொர்க் கார்டுகள், சவுண்ட் கார்டுகள் போன்றவற்றில் கட்டுப்படுத்தி பயன்படுத்தப்படுகிறது ... மல்டி கோர் செயலிகளில் இன்ட்ரா-சிப் பரிமாற்றத்திற்கும் டி.எம்.ஏ பயன்படுத்தப்படுகிறது. அதன் மூன்று முறைகளில் ஒன்றில் இயங்கும் டி.எம்.ஏ செயலியின் சுமையை கணிசமாகக் குறைக்கும். டி.எம்.ஏ இன் எந்த முறைகளில் நீங்கள் பணியாற்றியுள்ளீர்கள்? எந்த பயன்முறை மிகவும் பயனுள்ளதாக இருக்கும் என்று நீங்கள் கருதுகிறீர்கள்?