جب ذاتی کمپیوٹر کی پہلی ایجاد ہوئی تھی تو ، ان کا مرکزی پروسیسنگ یونٹ (سی پی یو) تنہا کھڑا تھا اور اس میں صرف ایک پروسیسر کور تھا۔ پروسیسر خود بنیادی تھا؛ ایک سے زیادہ کور پروسیسر رکھنے کا خیال ابھی تک سنا ہی نہیں تھا۔ آج ، کمپیوٹر ، فون ، اور ایک سے زیادہ کور والے دوسرے آلات دیکھنا کوئی معمولی بات نہیں ہے - در حقیقت ، ہر طرح کے ہر تجارتی طور پر دستیاب کمپیوٹر میں متعدد کور موجود ہیں۔ یہ کور ایک ہی ، سنگل ، سی پی یو ، یا سنٹرل پروسیسنگ یونٹ میں رہتے ہیں۔
ایک سے زیادہ کور ہونا ایک بڑا فائدہ ہے۔ صرف ایک بنیادی کے ساتھ ، کمپیوٹر ایک وقت میں صرف ایک کام پر کام کرسکتا ہے ، کسی دوسرے کام میں جانے سے پہلے کسی کام کو مکمل کرنا پڑتا ہے۔ تاہم ، زیادہ سے زیادہ کور کے ساتھ ، کمپیوٹر ایک ہی وقت میں ایک سے زیادہ کاموں پر کام کرسکتا ہے ، جو خاص طور پر ان لوگوں کے لئے مفید ہے جو بہت ساری ملٹی ٹاسکنگ کرتے ہیں۔
ملٹی کور پروسیسرز کس طرح کام کرتے ہیں اس میں غوطہ لگانے سے پہلے ، پروسیسنگ ٹکنالوجی کی بیک اسٹوری کے بارے میں تھوڑی بات کرنا ضروری ہے ، جس کے بعد ہم ملٹی کور پروسیسروں کے کام پر تبادلہ خیال کریں گے۔
کچھ تاریخ
اس سے پہلے کہ ایک سے زیادہ کور والے پروسیسرز تعمیر کیے جائیں ، لوگوں اور کمپنیوں جیسے انٹیل اور اے ایم ڈی نے ایک سے زیادہ سی پی یو والے کمپیوٹر بنانے کی کوشش کی۔ اس کا مطلب یہ تھا کہ ایک سے زیادہ سی پی یو ساکٹ والے مدر بورڈ کی ضرورت تھی۔ نہ صرف یہ بلکہ زیادہ مہنگا تھا ، کیونکہ ایک اور سی پی یو ساکٹ کے لئے جسمانی ہارڈویئر کی ضرورت تھی ، بلکہ اس میں بڑھتی ہوئی مواصلات کی وجہ سے اس میں تاخیر میں بھی اضافہ ہوا ہے جو ان دونوں پروسیسروں کے مابین ہونے کی ضرورت ہے۔ ایک مدر بورڈ کو ڈیٹا کو کمپیوٹر میں مکمل طور پر دو الگ الگ مقامات کے مابین تقسیم کرنا ہوتا تھا اس کے بجائے یہ سب پروسیسر کو بھیجنا ہوتا تھا۔ جسمانی فاصلے کا حقیقت یہ ہے کہ عمل سست ہے۔ ان عملوں کو متعدد کوروں کے ساتھ ایک چپ پر رکھنا نہ صرف اس کا مطلب ہے کہ سفر کرنے کے لئے کم فاصلہ ہے ، بلکہ اس کا یہ مطلب بھی ہے کہ مختلف کور خاص طور پر بھاری کاموں کو انجام دینے کے لئے وسائل بانٹ سکتے ہیں۔ مثال کے طور پر ، انٹیل کے پینٹیم II اور پینٹیم III کے چپس دونوں ہی ورژنوں میں ایک مدر بورڈ پر دو پروسیسر کے ساتھ نافذ کیے گئے تھے۔
تھوڑی دیر کے بعد ، پروسیسروں کو زیادہ طاقتور ہونے کی ضرورت تھی ، لہذا کمپیوٹر مینوفیکچروں کو ہائپر تھریڈنگ کا تصور سامنے آیا۔ یہ تصور خود انٹیل سے آیا تھا ، اور یہ سب سے پہلے 2002 میں کمپنی کے ژون سرور پروسیسرز ، اور بعد میں اس کے پینٹئم 4 ڈیسک ٹاپ پروسیسرز پر تصور کیا گیا تھا۔ ہائپر تھریڈنگ آج بھی پروسیسرز میں استعمال ہوتا ہے ، اور یہ انٹیل کے آئی 5 چپس اور اس کے آئی 7 چپس کے درمیان بھی بنیادی فرق ہے۔ یہ بنیادی طور پر اس حقیقت کا فائدہ اٹھاتا ہے کہ پروسیسر میں اکثر غیر استعمال شدہ وسائل ہوتے ہیں ، خاص طور پر جب کاموں میں زیادہ پروسیسنگ پاور کی ضرورت نہیں ہوتی ہے ، جو دوسرے پروگراموں کے لئے استعمال میں لایا جاسکتا ہے۔ ایک پروسیسر جو ہائپر تھریڈنگ کا استعمال کرتا ہے وہ بنیادی طور پر خود کو ایک آپریٹنگ سسٹم میں پیش کرتا ہے گویا اس کے دو کور ہوتے ہیں۔ یقینا two ، اس میں واقعی دو کور نہیں ہیں ، تاہم ان دو پروگراموں کے لئے جو نصف پروسیسنگ پاور دستیاب یا کم استعمال کرتے ہیں ، اس کے علاوہ بھی دو کور ہوسکتے ہیں اس حقیقت کی وجہ سے کہ وہ مل کر تمام طاقت کا فائدہ اٹھاسکتے ہیں پروسیسر کی پیش کش ہے۔ ہائپر تھریڈنگ ، تاہم ، کور کے استعمال سے دو پروگراموں کے مابین پروسیسنگ کی اتنی طاقت نہیں ہے جب دو کور والے ایک پروسیسر سے تھوڑا سا آہستہ ہوگا۔
آپ کو یہاں ایک ہائپر تھریڈنگ کی مختصر اور زیادہ مفصل وضاحت دینے والی ایک بصیرت ویڈیو مل سکتی ہے۔
ملٹی پروسیسرز
بہت زیادہ تجربات کے بعد ، آخر کار متعدد کور والے سی پی یو تعمیر کرنے میں کامیاب ہوگئے۔ اس کا مطلب یہ تھا کہ ایک ہی پروسیسر میں بنیادی طور پر ایک سے زیادہ پروسیسنگ یونٹ ہوتا ہے۔ مثال کے طور پر ، ڈبل کور پروسیسر کے دو پروسیسنگ یونٹ ہوتے ہیں ، ایک کواڈ کور میں چار ہوتے ہیں اور اسی طرح کی۔
تو کیوں کمپنیوں نے ایک سے زیادہ کور والے پروسیسر تیار کیے؟ ٹھیک ہے ، تیز پروسیسروں کی ضرورت زیادہ سے زیادہ واضح ہوتی جارہی ہے ، تاہم سنگل کور پروسیسروں میں پیش رفت کم ہوتی جارہی ہے۔ سن 1980 کی دہائی سے لے کر سن 2000 کی دہائی تک انجینئر کئی پروسیسنگ کی رفتار کو کئی میگاہارٹز سے لے کر کئی گیگاہرٹز تک بڑھا سکے۔ انٹیل اور اے ایم ڈی جیسی کمپنیوں نے ٹرانجسٹروں کے سائز کو سکڑ کر یہ کام کیا ، جس سے اتنی ہی جگہ میں زیادہ ٹرانجسٹروں کی اجازت دی گئی ، اس طرح کارکردگی بہتر ہوگی۔
اس حقیقت کی وجہ سے کہ پروسیسر گھڑی کی رفتار اس سے بہت جڑی ہوئی ہے کہ چپ پر کتنے ٹرانجسٹر فٹ ہوسکتے ہیں ، جب ٹرانجسٹر سکڑنے والی ٹکنالوجی سست ہونا شروع ہوئی تو ، پروسیسر کی بڑھتی ہوئی رفتار میں بھی ترقی سست ہونا شروع ہوگئی۔ اگرچہ ایسا نہیں ہے جب کمپنیاں پہلی بار ملٹی کور پروسیسرز کے بارے میں جانتی تھیں ، یہ وہ وقت ہے جب انہوں نے ملٹی کور پروسیسرز کے ساتھ تجارتی مقاصد کے لئے تجربہ کرنا شروع کیا تھا۔ جب کہ ملٹی کور پروسیسرز کو پہلی بار 1980 کی دہائی کے وسط میں تیار کیا گیا تھا ، ان کو بڑے کارپوریشنوں کے لئے ڈیزائن کیا گیا تھا ، اور واقعی اس پر دوبارہ نظر ثانی نہیں کی گئی جب تک کہ سنگل کور ٹیکنالوجی سست ہونا شروع نہیں ہوئی۔ پہلا ملٹی کور پروسیسر راک ویل انٹرنیشنل نے تیار کیا تھا ، اور ایک چپ پر دو 6502 پروسیسر والے 6501 چپ کا ورژن تھا (مزید تفصیلات اس ویکیپیڈیا اندراج میں دستیاب ہیں)۔
ملٹی کور پروسیسر کیا کرتا ہے؟
ٹھیک ہے ، یہ واقعی میں بہت سیدھا ہے۔ ایک سے زیادہ کور رکھنے سے متعدد چیزیں ایک ساتھ کرنے کی اجازت ملتی ہے۔ مثال کے طور پر ، اگر آپ ای میل پر کام کر رہے ہیں ، انٹرنیٹ براؤزر کھلا ہے ، ایکسل اسپریڈشیٹ پر کام کر رہے ہیں ، اور آئی ٹیونز میں موسیقی سن رہے ہیں تو ، کواڈ کور پروسیسر ان تمام چیزوں پر ایک ساتھ کام کرسکتا ہے۔ یا ، اگر کسی صارف کے پاس کوئی ٹاسک ہے جسے فورا. مکمل کرنے کی ضرورت ہے تو ، اسے کاموں پر عملدرآمد کرنے میں آسانی سے چھوٹے میں تقسیم کیا جاسکتا ہے۔
متعدد کور کا استعمال صرف ایک سے زیادہ پروگراموں تک ہی محدود نہیں ہے۔ مثال کے طور پر ، گوگل کروم ہر نئے صفحے کو ایک مختلف عمل کے ساتھ پیش کرتا ہے ، مطلب یہ ہے کہ یہ ایک ہی وقت میں متعدد کور کا فائدہ اٹھا سکتا ہے۔ تاہم ، کچھ پروگراموں کو وہ واحد تھریڈڈ کہتے ہیں ، جس کا مطلب ہے کہ وہ متعدد کور استعمال کرنے کے قابل ہونے کے لئے نہیں لکھے گئے تھے اور جیسا کہ ایسا نہیں کرسکتے ہیں۔ ہائپر تھریڈنگ دوبارہ یہاں پر عمل میں آتی ہے ، جس سے کروم کو ایک اصل کور پر دو "منطقی کور" پر متعدد صفحات بھیجنے کی اجازت مل جاتی ہے۔
ملٹی کور پروسیسرز اور ہائپر تھریڈنگ کے ساتھ ہاتھ جوڑنا ایک تصور ہے جسے ملٹی تھریڈنگ کہتے ہیں۔ ملٹی ٹریڈنگ بنیادی طور پر ایک آپریٹنگ سسٹم کے لئے یہ قابلیت ہے کہ وہ کوڈ کو اپنی بنیادی شکل ، یا دھاگوں میں تقسیم کرکے ایک ساتھ کئی کور کا فائدہ اٹھا سکے اور بیک وقت مختلف کوروں کو کھلائے۔ یہ یقینا ملٹی پروسیسروں کے ساتھ ساتھ ملٹی کور پروسیسروں میں بھی اہم ہے۔ ملٹی تھریڈنگ اس کی آواز سے کہیں زیادہ پیچیدہ ہے ، کیوں کہ اس کے لئے آپریٹنگ سسٹم کوڈ کو مناسب طریقے سے آرڈر کرنے کی ضرورت ہوتی ہے تاکہ یہ پروگرام موثر انداز میں چل سکے۔
آپریٹنگ سسٹم خود اپنے عمل کے ساتھ بھی ایسی ہی چیزیں کرتے ہیں - یہ صرف اطلاق تک ہی محدود نہیں ہے۔ آپریٹنگ سسٹم کے عمل وہ چیزیں ہیں جو آپریٹنگ سسٹم ہمیشہ پس منظر میں کرتی رہتی ہے ، صارف کو ضروری جاننے کے بغیر۔ اس حقیقت کی وجہ سے کہ یہ عمل ہمیشہ جاری رہتے ہیں ، لہذا ہائپر تھریڈنگ اور / یا ایک سے زیادہ کور ہونا بہت مددگار ثابت ہوسکتا ہے ، کیونکہ یہ پروسیسر کو آزاد کرتا ہے جیسے کہ ایپس میں ہونے والی دوسری چیزوں پر بھی کام کرنے کے قابل ہوجاتا ہے۔
ملٹی کور پروسیسر کیسے کام کرتے ہیں؟
سب سے پہلے ، مدر بورڈ اور آپریٹنگ سسٹم کو پروسیسر کو پہچاننے کی ضرورت ہے اور یہ کہ متعدد کور موجود ہیں۔ پرانے کمپیوٹرز میں صرف ایک کور ہوتا ہے ، لہذا اگر کوئی صارف اسے ایک سے زیادہ کور کے ساتھ نئے کمپیوٹر پر انسٹال کرنے کی کوشش کرتا ہے تو پرانا آپریٹنگ سسٹم زیادہ بہتر کام نہیں کرسکتا ہے۔ مثال کے طور پر ونڈوز 95 ، ہائپر تھریڈنگ یا ایک سے زیادہ کور کی حمایت نہیں کرتا ہے۔ تمام حالیہ آپریٹنگ سسٹم ملٹی کور پروسیسروں کی حمایت کرتے ہیں ، جن میں ونڈوز 7 ، 8 ، نئے جاری کردہ 10 ، اور ایپل کے OS X 10.10 شامل ہیں۔
بنیادی طور پر ، آپریٹنگ سسٹم پھر مدر بورڈ کو بتاتا ہے کہ عمل کرنے کی ضرورت ہے۔ اس کے بعد مدر بورڈ پروسیسر کو بتاتا ہے۔ ملٹی کور پروسیسر میں ، آپریٹنگ سسٹم پروسیسر کو ایک ہی وقت میں متعدد چیزیں کرنے کا کہہ سکتا ہے۔ بنیادی طور پر ، آپریٹنگ سسٹم کی سمت کے ذریعے ، ڈیٹا کو ہارڈ ڈرائیو یا رام سے ، مدر بورڈ کے ذریعے پروسیسر میں منتقل کیا جاتا ہے۔
ملٹی کور پروسیسر
پروسیسر کے اندر ، کیچ میموری کی ایک سے زیادہ سطحیں ہیں جو پروسیسر کے اگلے آپریشن یا کارروائیوں کے لئے ڈیٹا رکھتی ہیں۔ کیشے میموری کی یہ سطحیں اس بات کو یقینی بناتی ہیں کہ پروسیسر کو اپنا اگلا عمل ڈھونڈنے کے ل very بہت زیادہ وقت کی ضرورت نہیں ہے ، جس میں کافی وقت بچتا ہے۔ کیشے میموری کی پہلی سطح L1 کیشے ہے۔ اگر پروسیسر L1 کیشے میں اپنے اگلے عمل کے لئے مطلوبہ ڈیٹا نہیں ڈھونڈ سکتا ہے ، تو وہ L2 کیشے کی طرف دیکھتا ہے۔ L2 کیشے میموری میں بڑا ہے ، لیکن L1 کیشے سے آہستہ ہے۔
سنگل کور پروسیسر
اگر کوئی پروسیسر L2 کیشے میں ڈھونڈ رہا ہے وہ نہیں ڈھونڈ سکتا ہے تو ، یہ L3 تک نیچے ہی جاری رہتا ہے ، اور اگر کسی پروسیسر کے پاس ہے تو ، L4۔ اس کے بعد ، یہ مرکزی میموری ، یا کمپیوٹر کی رام میں نظر آئے گا۔
مختلف طریقے ہیں جس میں مختلف پروسیسرز فرق کیچز کو سنبھالتے ہیں۔ مثال کے طور پر ، کچھ L2 کیشے پر L1 کیشے پر موجود ڈیٹا کو ڈپلیکیٹ کرتے ہیں ، جو بنیادی طور پر اس بات کا یقین کرنے کا ایک طریقہ ہے کہ پروسیسر وہ ڈھونڈ سکتا ہے جسے ڈھونڈ رہا ہے۔ یقینا L ، یہ L2 کیشے میں زیادہ میموری لیتا ہے۔
ملٹی کور پروسیسروں میں کیشے کی مختلف سطحیں بھی کام میں آتی ہیں۔ عام طور پر ، ہر کور کی اپنی L1 کیش ہوتی ہے ، لیکن وہ L2 کیشے کو بانٹ دیتے ہیں۔ اگر اس سے کہیں زیادہ پروسیسر ہوتے تو یہ اس سے مختلف ہے ، کیونکہ ہر پروسیسر کا اپنا L1 ، L2 اور کسی بھی دوسرے درجے کا کیش ہوتا ہے۔ ایک سے زیادہ سنگل کور پروسیسروں کے ساتھ ، کیشے کا اشتراک آسانی سے ممکن نہیں ہے۔ مشترکہ کیشے رکھنے کا ایک اہم فائدہ یہ ہے کہ اس کیچ کو مکمل طور پر استعمال کریں ، اس حقیقت کی وجہ سے کہ اگر ایک کور کیشے کو استعمال نہیں کررہا ہے تو ، دوسرا کرسکتا ہے۔
ملٹی کور پروسیسر میں ، جب اعداد و شمار کی تلاش کرتے وقت ایک کور اپنی الگ الگ L1 کیشے کو دیکھ سکتا ہے ، اور اس کے بعد مشترکہ L2 کیشے ، رام اور بالآخر ہارڈ ڈرائیو پر جکڑے گا۔
امکان ہے کہ ہم مزید کور کی ترقی کو دیکھنا جاری رکھیں گے۔ پروسیسر گھڑی کی رفتار یقینی طور پر بہتر ہوتی رہے گی ، حالانکہ پہلے کے مقابلے میں سستے نرخوں پر۔ اگرچہ اب اسمارٹ فونز جیسی چیزوں میں آکٹا کور پروسیسرز دیکھنا کوئی معمولی بات نہیں ہے ، جلد ہی ہم درجنوں کور کے ساتھ پروسیسرز کو دیکھ پائیں گے۔
آپ کے خیال میں ملٹی کور پروسیسنگ ٹیکنالوجی اگلے نمبر پر کہاں ہے؟ ہمیں ذیل میں دیئے گئے تبصروں میں ، یا اپنے کمیونٹی فورم میں ایک نیا تھریڈ شروع کرکے بتائیں۔
