MikroSim
میکرو سم ایک تعلیمی سافٹ ویئر کمپیوٹر پروگرام ہے جو مائیکروسافٹ ونڈوز آپریٹنگ سسٹم پر چلنے والے ورچوئل پروسیسر کے عمومی کام کاج اور رویے کی ہارڈ ویئر غیر مخصوص وضاحت کے لیے ہے۔ چھوٹے کیلکولیٹر، مائیکرو کنکولر، مائیکرو پروسیسرز، اور کمپیوٹر جیسے آلات کو مائیکرو ہدایات (مائیکرو کوڈ) کے سلسلے کے ذریعے کنٹرول کردہ رجسٹر ٹرانسفر کی سطح پر اپنی مرضی کے مطابق تیار کردہ انسٹرکشن کوڈ پر سمجھایا جا سکتا ہے۔ اس کی بنیاد پر اعلی سطح کے خلاصہ پر ورچوئل ایپلی کیشن بورڈ کو کنٹرول کرنے کے لیے ایک انسٹرکشن سیٹ تیار کرنا ممکن ہے۔ جنرل ابتدائی طور پر میکروسم کو ایک پروسیسر تخروپن سافٹ ویئر کے طور پر تیار کیا گیا تھا جو تعلیمی شعبوں میں وسیع پیمانے پر دستیاب تھا۔ چونکہ میکرو سم آپریبلٹی مائیکرو کوڈ ڈویلپمنٹ کی بنیاد پر شروع ہوتی ہے، جسے ورچوئل کنٹرول یونٹ کے لیے مائیکرو انسٹرکشنز (مائیکرو کوڈنگ) کی ترتیب کے طور پر بیان کیا جاتا ہے، اس لیے سافٹ ویئر کا ارادہ سب سے پہلے مائیکرو کوڈ سمیلیٹر تک پہنچنا ہے جس میں مختلف سطحوں کی تجریدوں کے ساتھ سی پی یو سمیلیٹرز اور انسٹرکشن سیٹ ایمولیٹرز کی صلاحیت شامل ہے۔ موجودہ سافٹ ویئر ترمیم میں مائیکرو کوڈ سے چلنے والی ورچوئل ایپلی کیشن کے لیے اپنے کوڈڈ انسٹرکشن سیٹوں پر کام کرنا ممکن ہے۔ میکروسم کے ساتھ کمپیوٹر انجینئرنگ کے شعبے میں عام اور معروف تصورات جیسے کمپیوٹر فن تعمیر اور انسٹرکشن سیٹ فن تعمیر کا غیر مخصوص طور پر علاج کیا جاتا ہے، جو انفارمیشن دور کے ابتدائی دنوں سے قائم ہیں اور اب بھی درست ہیں۔ اس انداز میں تخروپن سافٹ ویئر ماضی اور مستقبل کی خصوصی پیشرفتوں پر محدود ہوئے بغیر ایک لازوال، مفت تدریسی فائدہ حاصل کرتا ہے۔ تفصیلی دستاویزات اور جرمن اور انگریزی میں دو لسانی ایپلی کیشن کا گرافیکل یوزر انٹرفیس (جی یو آئی)، نیز مائیکروسافٹ کے آپریٹنگ سسٹم ونڈوز کے ذریعہ کسی حد تک دی گئی سافٹ ویئر کی اوپر کی طرف مطابقت، 1992 سے تعلیمی استعمال کے لیے کمپیوٹر انجینئرنگ کے میدان میں ایک اچھی طرح سے قائم، قیمتی ای لرننگ ٹول ہونے کی وجوہات ہیں۔ ترقی کی تاریخ سافٹ ویئر ایم ایس-ڈاس آپریٹنگ سسٹم کے لیے مرتب کردہ ٹربو پاسکل کے تحت لکھے گئے ورژن پر مبنی ہے جو 1992 تک فلپس یونیورسٹی ماربرگ (جرمنی) میں کمپیوٹر انجینئرنگ اور کمپیوٹر سائنس میں تعلیمی مقاصد کے لیے استعمال ہوتا رہا ہے۔ اس تصور کو مارٹن پیرنر نے 1992 کے موسم گرما میں طبیعیات (1990-95) کے اپنے مطالعہ کے دوران اٹھایا، ترمیم کی، اور مائیکروسافٹ ویژول بیسک کے ساتھ مرتب کردہ ونڈوز ایپلی کیشن میں تبدیل کیا اور ونڈوز 3.1x پر چل رہا تھا۔ ایسا کرنے میں، اس وقت مائیکرو کوڈ کی ساخت اور اس کے انسٹرکشنل اثر و رسوخ کا پتہ لگانے کے لیے ایم ایس ونڈوز کے جی یو آئی کی نئی فعالیت اور استعمال کا استحصال کرکے بہت زیادہ تصوراتی بہتری کے ساتھ ایک سمیلیٹر پیدا ہوا۔ ونڈوز کے تحت ای لرننگ ٹول کی بہتری کو 1995 کے آخر تک ہینز پیٹر گم کے ذریعہ ماربرگ یونیورسٹی کے فچبریچ میتھمیٹک/انفارمیٹک نے سپورٹ اور فروغ دیا ہے۔ سمیلیٹر کو نومبر 1994 میں ہیڈلبرگ (جرمنی) میں کمپیوٹر سائنس کے زمرے میں "یورپی اکیڈمک سافٹ ویئر ایوارڈ 1994" سے نوازا گیا ہے۔ مارچ 1995 میں اس سمیلیٹر کو ہینوور میں کمپیوٹر کی نمائش سی ای بی آئی ٹی '95 میں "ہیسیشین ہوکسچولن" کی نمائش میں پیش کیا گیا تھا۔ 1995 اور 2000 کے درمیان سمیلیٹر کو بغیر کسی اہم بہتری کے "مائکروکوڈسیمولیٹر مائکروسم 1.2" کے طور پر شائع کیا گیا۔ اس وقت ٹول کو یورپی یونین کی طرف سے "یوروپی ایئر آف لائیو لانگ لرننگ 1996" کے ساتھ مل کر 1000 ای سی یو کا ایوارڈ ملا۔ 1997 میں یہ سافٹ ویئر "لرن ٹیک 97" نمائش کے سلسلے میں "ملٹی میڈیا ٹرانسفر 97" مقابلے میں پیش کیا گیا تھا۔ اس کے آخری ترمیم میں، سمیلیٹر کو "مائکروکوڈسیمولیٹر مائکرو سم 2000" کے تحت شائع کیا گیا ہے، جو ایم ایس ونڈوز 95 کے 32 بٹ آپریشن کے لیے بہتر بنایا گیا ہے۔ 2008 اور 2009 کے درمیان، سمیلیٹر کے تصور پر نظر ثانی کی گئی، دوبارہ کام کیا گیا، اور سوچ سمجھ کر توسیع کی گئی۔ لہذا اس نے بنیادی طور پر مائیکرو کوڈ تخروپن صلاحیتوں کے کامیاب تصوراتی پہلوؤں کو چھوئے بغیر وسیع پیمانے پر بہتری اور توسیع حاصل کی ہے۔ اس مقصد کے لیے، آج کے کمپیوٹنگ سسٹم کی کارکردگی کا فائدہ اٹھایا جاتا ہے جس کا تعین آپریٹنگ سسٹم اور بنیادی کمپیوٹیشنل طاقت سے ہوتا ہے تاکہ میکرو سم کے تخروپن کے امکانات کو ورچوئل ایپلی کیشن بورڈ کے مرحلے تک بڑھایا جا سکے۔ میکرو سم کو غیر محدود مطابقت کی خاطر اور ایم ایس ونڈوز ایکس پی کے لیے 32 بٹ ورژن کے طور پر وسیع تر تقسیم کے لیے مرتب اور بہتر بنایا گیا ہے۔ یہ پروگرام ایم ایس ونڈوز وسٹا اور ایم ایس ونڈوز 7 کے تمام 32 اور 64 بٹ آپریٹنگ سسٹمز پر چلتا ہے۔ اس طرح، کسی خاص ایکس پی مطابقت کے موڈ کی ضرورت نہیں ہے۔ جنوری 2010 سے، سمیلیٹر کو 0/1-سم ویئر کے ذریعہ "مائکروکوڈسیمولیٹر مائکروسم 2010" کے طور پر تقسیم کیا گیا ہے۔ فنکشنلٹی ونڈوز ایپلی کیشن ایک ایسی ورچوئل ایپلی کیشن کے بتدریج قیام کی اجازت دیتی ہے جو پہلے سے طے شدہ ہو اور اس کی فعالیت میں اس طرح کی تبدیلی نہ ہو۔ ایکسپلوریشن موڈ میں، ایک سائیکل کے اندر ایک مائیکرو کوڈ ہدایات سے متاثر ہونے والے نئے شامل کردہ اجزاء کے آپریٹنگ اصول اور کنٹرول کا جائزہ لیا جا سکتا ہے۔ مائکرو سم کی مائیکرو ہدایات کی چوڑائی 49 بٹس ہے۔ ایک واحد مائیکرو انسٹرکشن کو 3 فیز والی گھڑی کے تین مراحل میں انجام دیا جاتا ہے۔ جزوی مراحل کو "جی ای ٹی"، "کیلکولیٹ" اور "پٹ" مرحلے کے طور پر حوالہ دیا جاتا ہے، جس کی وجہ سے کچھ رجسٹر ویلیو حاصل ہوتی ہے، 32 بٹ حساب کو انجام دیا جاتا ہے، اور حساب کے نتیجے کو آخر میں سی پی یو کے اندرونی رجسٹر میں محفوظ کیا جاتا ہے۔ تخروپن موڈ میں، بغیر کسی رکاوٹ کے انجام دی گئی مائیکرو ہدایات بعد کے چکروں میں سمیلیٹر کے مرکزی پروسیسنگ یونٹ کو کنٹرول کرتی ہیں۔ لہذا، ایک مائیکرو انسٹرکشن کی اندرونی صلاحیت کو کنٹرول اسٹور میں اگلی مائیکرو انسٹرکشن کو حل کرنے کے لیے استعمال کیا جاتا ہے۔ مائیکرو انسٹرکشن سیٹ رکھنے والا کنٹرول اسٹور (جسے عام طور پر "مائیکرو کوڈ" کہا جاتا ہے) ہر 49 بٹ چوڑے 1024 مائیکرو انسٹرکشن الفاظ پر مشتمل ہوتا ہے۔ مائیکرو کوڈ کے ایڈریس ایبل شیڈولنگ اور سائیکلکل آپریٹنگ مشین کوڈ انٹرپریٹر کے نفاذ کے لیے کنٹرول اسٹور کے ڈھانچے کے مواقع کا استعمال، جو مائیکرو کوڈ میں پروگرام کیا گیا ہے اور ساتھ ہی انفرادی مائیکرو آپریشن سیکوینس کے نفاذ کی اجازت دیتا ہے، جسے مشین ہدایات کہا جاتا ہے۔ مائیکرو کوڈ کو مائیکرو سم کے لیے فرم ویئر سمجھا جا سکتا ہے، جس میں ترمیم کی جا سکتی ہے، اور مائیکرو کوڈ-روم-فائل سے ذخیرہ کیا جا سکتا ہے اور اسے دوبارہ لوڈ کیا جا سکتا ہے۔ مائیکرو انسٹرکشن ایگزیکیوشن سائیکل کے اندر، سی پی یو کے ساتھ ساتھ ایک ان پٹ/آؤٹ پٹ کنٹرولر ایک بیرونی 16 کے بائٹ کے بے ترتیب رسائی میموری ڈیوائس (رام) سے منسلک ہوتا ہے۔ ان پٹ آؤٹ پٹ کنٹرولر ڈیوائس کے ذریعے، ورچوئل ان پٹ اور آؤٹ پٹ ڈیوائسز کے ساتھ مواصلات کو ڈائریکٹ میموری ایکسیس موڈ (ڈی ایم اے)، انٹر انٹیگریٹڈ سرکٹ کنکشن (آئی 2 سی)، اور انٹرپٹ ریکویسٹ فنکشنلٹی (آئی آر کیو) کی مدد حاصل ہے۔ ایک آؤٹ پٹ پورٹ، ایک ڈسپلے، ایک ٹائمر، ایک ایونٹ ٹرگر، ایک ڈیجیٹل-اینالاگ کنورٹر، ایک کی بورڈ اور ڈیٹا ان پٹ/آؤٹ پٹ چینل بیرونی آلات کے ساتھ عملی طور پر بات چیت کی وضاحت کے لیے ورچوئل آئی سی ڈیوائس کے طور پر فراہم کیا جاتا ہے۔ مائیکرو کوڈ سمیلیٹر آٹھ آزادانہ طور پر قابل استعمال رجسٹر کا استعمال کرتا ہے جن میں سے ہر ایک 32 بٹ چوڑا 32 بٹ ریاضی منطق یونٹ (اے ایل یو) سے منسلک ہوتا ہے۔ رجسٹر کے مواد کو دستخط شدہ یا غیر دستخط شدہ عدد اقدار، یا 32 بٹ فلوٹنگ پوائنٹ نمبروں کے طور پر سمجھا جا سکتا ہے۔ رجسٹر کے مواد کو آسانی سے دیکھا، تشریح کی جا سکتی ہے، اور ایک مربوط سسٹم نمبر ایڈیٹر کے طور پر بٹ وائز میں ترمیم کی جا سکتی ہے۔ 32 بٹ اے ایل یو سنٹرل پروسیسنگ یونٹ کی کلیدی اکائی ہے۔ یہ انٹیجر آپریشن، انٹرپٹ کنٹرول، اور فلوٹنگ پوائنٹ ریاضی کے لیے 128 مختلف بنیادی ریاضی کی کارروائیوں کی حمایت کرتا ہے۔ فلوٹنگ پوائنٹ کے حسابات کے لیے تدریسی نقطہ نظر، جسے کونراڈ زوس نے 1940 کی دہائی کے اوائل میں پہلے ہی موازنہ انداز میں متعارف کرایا ہے، کو ایکسپوینٹ اور مینٹیسا کے لیے بنیادی ذیلی سطح کی کارروائیوں کا استعمال کرتے ہوئے متعارف کرایا گیا ہے جو اضافہ/گھٹاؤ اور ضرب/تقسیم کی کلیدی کارروائیوں میں شامل ہیں۔ مینٹیسا میں طاقتور 32 بٹ فلوٹنگ پوائنٹ ریاضی کے کمانڈوں کا ایک مجموعہ اور بنیادی کارروائیوں اور ابتدائی تجزیاتی افعال کے لیے ایکسپونینٹ فراہم کیے گئے ہیں، جیسا کہ آج کے ریاضیاتی کوپروسیسرز میں محسوس کیا جاتا ہے۔ یہاں، میکروسم کے ساتھ تخروپن میں یہ مثالی طور پر فرض کیا جاتا ہے کہ ہر معاون اے ایل یو ریاضی کے عمل کو عملی طور پر درکار سرکٹ کی پیچیدگی سے آزاد صرف ایک الگ کمپیوٹنگ مدت کی ضرورت ہوتی ہے۔ مائیکرو ہدایات کے نفاذ کو مختلف عارضی ریزولوشن کے ساتھ مختلف تخروپن کی سطحوں پر چلایا جا سکتا ہے: سب سے کم تخروپن کی سطح میں، تخروپن GET، CALCULATE، اور PUT مرحلے کے مرحلہ وار نفاذ کی حمایت کرتا ہے۔ جزوی مراحل کی پروسیسنگ بہتر ٹریس ایبلٹی کے لیے سایڈست تاخیر کے ساتھ ممکن ہے۔ اگلی اوپری سطح میں، موجودہ مائیکرو انسٹرکشن کو بغیر کسی تاخیر کے مکمل تین فیز والی گھڑی میں انجام دیا جاتا ہے۔ نام نہاد "لوڈ انکریمنٹ ایگزیکٹیو" (LIE) سائیکل کے اندر کئی 3 فیز کلاک سائیکلوں کی مسلسل کارکردگی کی حمایت کی جاتی ہے۔ مائیکرو کوڈ میں لکھے گئے مترجم کے طور پر سمجھے جانے والے ایل آئی ای سائیکل میں بیرونی رام سے بائٹ ویلیو کے طور پر کوڈ شدہ مشین ہدایات کو لوڈ کرنے اور مائیکرو انسٹرکشن سیکوینس کو حوالہ شدہ مائیکرو کوڈ سبروٹین میں شاخ دینے کا کام ہوتا ہے تاکہ آپ کوڈ کے ذریعے دی گئی کارکردگی کو انجام دیا جا سکے اور اگلی مشین ہدایات کو حاصل کرنے کے لیے ایل آئی ای پر واپس لوٹ سکیں۔ ایک عمل درآمد کی سطح زیادہ، کئی مشین ہدایات کا ایک سلسلہ اس وقت تک قابل عمل ہوتا ہے جب تک کہ صارف کے طے شدہ بریک پوائنٹ تک نہ پہنچ جائے، جسے مشین کوڈ کی ترتیب میں رکھا جاتا ہے۔ بریک پوائنٹس کے درمیان رن ٹائم کی پیمائش کرنا ممکن ہے۔ لہذا مشین اور مائیکرو کوڈ کی سطح پر عمل درآمد کی کارکردگی کو بینچ مارک کرنا ممکن ہے۔ سب سے اوپر تخروپن کی سطح میں مائیکرو کوڈ سمیلیٹر بغیر کسی رکاوٹ کے مائیکرو ہدایات کو مسلسل انجام دیتا ہے۔ اس سطح پر، مشین ہدایات کے ذریعے مشین ہدایات کو لوڈ کیا جاتا ہے۔ لہذا، بیرونی آلات کے ساتھ سی پی یو کے تعامل پر توجہ مرکوز کرنا ممکن ہے۔ مختلف اضافی اختیارات کے ساتھ، بصری سی پی یو سرگرمیوں کو پروسیسنگ کی رفتار بڑھانے کے فائدے کے لیے دبایا جا سکتا ہے جب مشین پروگرامنگ کے ذریعے ایپلی کیشن کا کنٹرول پیش کیا جاتا ہے۔ سمیلیٹر کے ساتھ فراہم کردہ پرفارمنس انڈیکس مانیٹر صارف کو میکرو سم کی پروسیسنگ کی کارکردگی کو بینچ مارک کرنے اور سمیلیٹر کے ہارڈ ویئر کی کمپیوٹنگ پاور کے سلسلے میں ترتیب دینے کے قابل بناتا ہے، جس کی پیمائش فلوٹنگ پوائنٹ آپریشنز فی سیکنڈ (ایف ایل او پی ایس) اور ہدایات فی سیکنڈ (آئی پی ایس) میں کی جا سکتی ہے۔ نام نہاد "بیسک اسمبلر ٹول فار مائکروسم" مائکروبیٹ کے ساتھ، سادہ پروگرام اسمبلر پروگرامنگ زبان میں تیار کیے جا سکتے ہیں۔ یہاں، اسمبلر پروگرامنگ زبان کی تمام معاون یادداشتوں کا تعین مائیکرو انسٹرکشن کی سطح پر سیٹ کردہ صارف کی خود ساختہ مشین کی ہدایات سے ہوتا ہے۔ ایڈ آن ٹول اسمبلی لینگویج پروگرام کو مشین کوڈ اور ڈیٹا میں ترجمہ کرنے اور بائنری کوڈ کو بیرونی رام میں منتقل کرنے کے قابل ہے۔ مائکرو کوڈ سمیلیٹر مائکروسم مائیکروبیٹ کے ساتھ مل کر تکنیکی کمپیوٹر سائنس میں تعلیمی پہلوؤں کے تدریسی تعارف کی حمایت کرتا ہے جو کہ ایک سوئچ کنٹرولڈ کیلکولیٹنگ مشین سے لے کر اسمبلر پروگرام کے قابل ایپلی کیشن تک ہے۔ کمپیوٹر فن تعمیر سمیلیٹر سائیکل درست سمیلیٹر تعلیمی پروگرامنگ زبان مکمل نظام سمیلیٹر انسٹرکشن سیٹ سمیلیٹر انسٹرومینٹیشن (کمپیوٹر پروگرامنگ) وان نیومن فن تعمیر ادب بھی دیکھیں۔ حوالہ جات بیرونی روابط تعلیمی تجریدی مشینیں سیمولیشن سافٹ ویئر