பைப்லைனிங்: கட்டிடக்கலை, நன்மைகள் மற்றும் தீமைகள்

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





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

பைப்லைனிங் என்றால் என்ன?

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




வழிமுறை செயல்படுத்தல் வரிசை

வழிமுறை செயல்படுத்தல் வரிசை

  • IF: அறிவுறுத்தல் பதிவேட்டில் அறிவுறுத்தலைப் பெறுகிறது.
  • ஐடி: இன்ஸ்ட்ரக்ஷன் டிகோட், ஆப்கோடிற்கான வழிமுறைகளை டிகோட் செய்கிறது.
  • AG: முகவரி ஜெனரேட்டர், முகவரியை உருவாக்குகிறது.
  • டி.எஃப்: டேட்டா ஃபெட்ச், ஓபராண்ட்களை தரவு பதிவேட்டில் பெறுகிறது.
  • எ.கா: செயல்படுத்தல், குறிப்பிட்ட செயல்பாட்டை செயல்படுத்துகிறது.
  • WB: மீண்டும் எழுதுங்கள், முடிவை மீண்டும் எழுதுகிறார் பதிவு.

எல்லா வழிமுறைகளுக்கும் மேலே உள்ள அனைத்து படிகளும் தேவையில்லை, ஆனால் பெரும்பாலானவை. இந்த படிகள் வெவ்வேறு வன்பொருள் செயல்பாடுகளைப் பயன்படுத்துகின்றன. குழாய் பதிப்பதில் இந்த வெவ்வேறு கட்டங்கள் ஒரே நேரத்தில் செய்யப்படுகின்றன. குழாய் பதிப்பதில் இந்த கட்டங்கள் வெவ்வேறு செயல்பாடுகளுக்கு இடையில் சுயாதீனமாகக் கருதப்படுகின்றன, மேலும் அவை ஒன்றுடன் ஒன்று சேர்க்கப்படலாம். எனவே, ஒவ்வொரு செயல்பாடும் அதன் சொந்த சுயாதீனமான கட்டத்தில் இருப்பதால் ஒரே நேரத்தில் பல செயல்பாடுகளைச் செய்ய முடியும்.



வழிமுறை பைப்லைனிங்

குழாய்வழியில் வழிமுறைகள் செயலாக்கப்படுவதைப் பார்ப்போம். இதை கீழே உள்ள வரைபடத்தால் எளிதாக புரிந்து கொள்ள முடியும்.

வழிமுறை பைப்லைனிங்

வழிமுறை பைப்லைனிங்

அறிவுறுத்தல்கள் சுயாதீனமானவை என்று வைத்துக் கொள்ளுங்கள். எளிய பைப்லைனிங் செயலியில், ஒரு குறிப்பிட்ட நேரத்தில், ஒவ்வொரு கட்டத்திலும் ஒரே ஒரு செயல்பாடு மட்டுமே இருக்கும். ஆரம்ப கட்டம் IF கட்டமாகும். எனவே, முதல் கடிகார சுழற்சியில், ஒரு செயல்பாடு பெறப்படுகிறது. அடுத்த கடிகார துடிப்பு வரும்போது, ​​முதல் செயல்பாடு ஐடி கட்டத்திற்குள் சென்று IF கட்டத்தை காலியாக விடுகிறது. இப்போது, ​​இந்த வெற்று கட்டம் அடுத்த செயல்பாட்டிற்கு ஒதுக்கப்பட்டுள்ளது. எனவே, இரண்டாவது கடிகார துடிப்பின் போது முதல் செயல்பாடு ஐடி கட்டத்திலும் இரண்டாவது செயல்பாடு ஐஎஃப் கட்டத்திலும் உள்ளது.

மூன்றாவது சுழற்சிக்கு, முதல் செயல்பாடு ஏஜி கட்டத்திலும், இரண்டாவது செயல்பாடு ஐடி கட்டத்திலும், மூன்றாவது செயல்பாடு ஐஎஃப் கட்டத்திலும் இருக்கும். இந்த வழியில், அறிவுறுத்தல்கள் ஒரே நேரத்தில் செயல்படுத்தப்படுகின்றன மற்றும் ஆறு சுழற்சிகளுக்குப் பிறகு செயலி கடிகார சுழற்சிக்கு முற்றிலும் செயல்படுத்தப்பட்ட வழிமுறைகளை வெளியிடும்.


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

பைப்லைனிங் கட்டிடக்கலை

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

பைப்லைன் செயலி அலகு

பைப்லைன் செயலி அலகு

நிலையான பைப்லைனிங்கில், அறிவுறுத்தலின் தேவையைப் பொருட்படுத்தாமல் செயலி அனைத்து கட்டங்களும் குழாய் வழியாக அனுப்ப வேண்டும். டைனமிக் பைப்லைன் செயலியில், ஒரு அறிவுறுத்தல் அதன் தேவையைப் பொறுத்து கட்டங்களைத் தவிர்த்துவிடும், ஆனால் வரிசை வரிசையில் செல்ல வேண்டும். ஒரு சிக்கலான டைனமிக் பைப்லைன் செயலியில், அறிவுறுத்தல் கட்டங்களைத் தவிர்த்து, கட்டங்களை வரிசைக்கு வெளியே தேர்வு செய்யலாம்.

RISC செயலிகளில் பைப்லைனிங்

மிகவும் பிரபலமானது RISC கட்டமைப்பு ARM செயலி 3-நிலை மற்றும் 5-நிலை குழாய் பதிப்பைப் பின்பற்றுகிறது. 3-நிலை குழாய் பதிப்பில் நிலைகள்: பெறுதல், குறிவிடுதல் மற்றும் செயல்படுத்து. இந்த பைப்லைனிங் 3 சுழற்சிகளின் தாமதத்தைக் கொண்டுள்ளது, ஏனெனில் ஒரு தனிப்பட்ட அறிவுறுத்தல் 3 கடிகார சுழற்சிகளை முடிக்கிறது.

ARM 3 நிலை பைப்லைனிங்

ARM 3 நிலை பைப்லைனிங்

குழாய் பதிப்பை முறையாக செயல்படுத்த வன்பொருள் கட்டமைப்பையும் மேம்படுத்த வேண்டும். 3 நிலை பைப்லைனிங்கிற்கான வன்பொருள் ஒரு பதிவு வங்கி, ALU, பீப்பாய் மாற்றி, முகவரி ஜெனரேட்டர், ஒரு அதிகரிப்பவர், அறிவுறுத்தல் குறிவிலக்கி மற்றும் தரவு பதிவேடுகளை உள்ளடக்கியது.

ARM 3 நிலை பைப்லைனிங் தரவு

ARM 3 நிலை பைப்லைனிங் தரவு

5 நிலைகளில் குழாய் பதிக்கும் நிலைகள்: பெறுதல், டிகோட், செயல்படுத்து, இடையக / தரவு மற்றும் மீண்டும் எழுது.

பைப்லைனிங் ஆபத்துகள்

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

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

பைப்லைனிங் அபாயத்தை எழுதிய பிறகு படிக்கவும்

பைப்லைனிங் அபாயத்தை எழுதிய பிறகு படிக்கவும்

கிளை வழிமுறைகளை செயல்படுத்துவதும் குழாய் பதிக்கும் அபாயத்தை ஏற்படுத்துகிறது. செயல்படுத்தப்படும் போது கிளை வழிமுறைகள் குழாய் பதிப்பதில் அடுத்த வழிமுறைகளின் நிலைகளைப் பெறுதல்.

பைப்லைன் கிளை நடத்தை

பைப்லைன் கிளை நடத்தை

பைப்லைனிங்கின் நன்மைகள்

  • வழிமுறை செயல்திறன் அதிகரிக்கிறது.
  • குழாய் நிலைகளின் எண்ணிக்கையில் அதிகரிப்பு ஒரே நேரத்தில் செயல்படுத்தப்படும் வழிமுறைகளின் எண்ணிக்கையை அதிகரிக்கிறது.
  • பைப்லைனிங் பயன்படுத்தும்போது வேகமாக ALU ஐ வடிவமைக்க முடியும்.
  • ரேம் விட அதிக கடிகார அதிர்வெண்களில் பைப்லைன் செய்யப்பட்ட CPU இன் செயல்பாடுகள்.
  • பைப்லைனிங் CPU இன் ஒட்டுமொத்த செயல்திறனை அதிகரிக்கிறது.

பைப்லைனிங்கின் தீமைகள்

  • குழாய் பதிக்கப்பட்ட செயலியின் வடிவமைப்பு சிக்கலானது.
  • குழாய் பதிக்கப்பட்ட செயலிகளில் வழிமுறை தாமதம் அதிகரிக்கிறது.
  • குழாய் பதிக்கப்பட்ட செயலியின் செயல்திறனைக் கணிப்பது கடினம்.
  • நீளமான குழாய், கிளை வழிமுறைகளுக்கு ஆபத்து சிக்கலானது.

பைப்லைனிங் செயல்படுத்த அனைத்து வழிமுறைகளையும் பின்பற்றுகிறது. ஒவ்வொரு அறிவுறுத்தலும் மற்றவற்றிலிருந்து வித்தியாசமாக நடந்து கொள்ளும் சிக்கலான வழிமுறைகளைக் கொண்ட செயலிகள் குழாய் பதிப்பது கடினம். பைப்லைனின் 3 அல்லது 5 நிலைகளுடன் செயலிகள் நியாயமான கருவிகளைக் கொண்டுள்ளன, ஏனெனில் குழாயின் ஆழம் அதிகரிக்கும் போது அது தொடர்பான ஆபத்துகள் அதிகரிக்கும். குழாய் பதிக்கப்பட்ட சில செயலிகளை அவற்றின் பைப்லைன் கட்டத்துடன் பெயரிடவா?