National Semiconductor SC/MP
سادہ لاگت سے موثر مائیکرو پروسیسر کے لیے نیشنل سیمی کنڈکٹر کا ایس سی/ایم پی ایک ابتدائی 8 بٹ مائکرو پروسیسر ہے جو اپریل 1976 میں دستیاب ہوا۔ یہ کم سے کم اضافی سپورٹ چپس کے ساتھ نظام کو نافذ کرنے کی اجازت دینے کے لیے ڈیزائن کیا گیا تھا۔ ایس سی/ایم پی میں ڈیزی-چینڈ کنٹرول پن شامل تھا جو تین ایس سی/ایم پی کو ملٹی پروسیسر سسٹم تیار کرنے، یا کسی دوسرے مرکزی مرکزی پروسیسنگ یونٹ (سی پی یو) کے ساتھ سسٹم میں کنٹرولرز کے طور پر کام کرنے کی اجازت دیتا تھا۔ اس کی زندگی کے دوران تین ورژن جاری کیے گئے، ایس سی ایم پی-1 سے 3، مؤخر الذکر دو کو آئی این ایس 8060 اور آئی این ایس 8070 کے نام سے بھی جانا جاتا ہے۔ لاگت کو کم کرنے کے لیے، نظام نے بٹ سیریل ریاضی منطق یونٹ (اے ایل یو) کا استعمال کیا اور اس طرح انٹیل 8080 یا ایم او ایس 6502 جیسے عصری ڈیزائنوں کے مقابلے میں نمایاں طور پر سست تھا جن میں متوازی اے ایل یو تھے۔ ایک اور عجیب بات یہ تھی کہ پروگرام کاؤنٹر صرف 16 بٹ ایڈریس کے نچلے 12 بٹس تک رسائی حاصل کر سکتا تھا، اور اوپری 4 بٹس کو خصوصی ہدایات کا استعمال کرتے ہوئے سیٹ کرنا پڑتا تھا۔ نتیجہ یہ ہوا کہ ہدایات مرکزی میموری تک سولہ 4 کے بی "صفحات" کے طور پر رسائی حاصل کرتی تھیں اور ان صفحات کے باہر میموری تک پہنچنے کے لیے متعدد ہدایات کی ضرورت ہوتی تھی۔ سست رفتار اور پیجڈ میموری کے امتزاج نے سرایت شدہ بازاروں سے باہر اس کی کشش کو محدود کر دیا جس کا اس کا مقصد تھا، اور اس مارکیٹ میں اس نے فیئرچلڈ ایف 8 کے خلاف مقابلہ کیا جس میں متعدد مفید اضافی خصوصیات تھیں۔ اس نظام کا نسبتا کم استعمال دیکھا گیا۔ ڈیزائن اے ایل یو اور مین رجسٹر ریاضی منطق یونٹ (اے ایل یو) اکیومیلیٹر پر مبنی تھا، جس میں ایک واحد 8 بٹ اکیومیلیٹر، اے سی تھا۔ دوسرا 8 بٹ رجسٹر، "ایکسٹینشن"، یا ای، کو اے سی کے لیے بیک اپ کے طور پر استعمال کیا جا سکتا ہے۔ زیادہ تر ہدایات کے ذریعے ای تک براہ راست رسائی حاصل نہیں کی جا سکی ؛ مثال کے طور پر کوئی بھی میموری سے ڈیٹا کو براہ راست ای میں لوڈ نہیں کر سکتا تھا۔ اس کے بجائے، اے سی میں ویلیو کو ای سے پڑھا جا سکتا ہے، یا اے سی اور ای کو تبدیل کیا جا سکتا ہے۔ ای کو اے ایل یو کی حمایت یافتہ سات منطقی/ریاضی کی کارروائیوں کے لیے ماخذ قدر کے طور پر بھی استعمال کیا جا سکتا ہے۔ اگر ای کو دیگر کارروائیوں کے لیے استعمال نہیں کیا جاتا تھا، تو یہ زیلوگ زیڈ 80 جیسے ڈیزائنوں میں نظر آنے والے آئینے کے رجسٹروں کی طرح بھی استعمال کیا جا سکتا تھا، جس میں ای رکاوٹ کے دوران اے سی کی قیمت کو ذخیرہ کرنے کے لیے ایک تیز طریقہ کے طور پر کام کرتا ہے۔ ای کا ایک بڑا مقصد بلٹ ان سیریل I/O سسٹم کے لیے بفر کے طور پر کام کرنا تھا۔ یہ ایس آئی او ہدایات کے ذریعے کارفرما تھا، جس نے ای میں سب سے کم اہم بٹ کو ایک دستک میں منتقل کر دیا جو پروسیسر پر ساؤٹ پن سے منسلک تھا۔ ایس آئی او کو بار بار کی جانے والی کالوں نے اس طرح آؤٹ پٹ پر ایک وقت میں 8 بٹ ای ویلیو کے بٹس پیش کیے، یا ایس آئی این پن سے پڑھنے کے لیے اس آپریشن کو الٹ دیا۔ ایک بار مکمل 8 بٹ ویلیو پڑھنے یا لکھنے کے بعد، ویلیو کو اے کے ساتھ ویلیو کا تبادلہ کرکے اور پھر اے کو میموری میں لوڈ یا اسٹور کرکے میموری میں بھیجا جا سکتا ہے۔ ای کو اے سی پر منطقی کارروائیوں کے لیے ماخذ کے طور پر بھی استعمال کیا جا سکتا ہے، لہذا مثال کے طور پر، کوئی بھی سیریل پورٹ سے اسٹیٹس بائٹ پڑھ سکتا ہے اور پھر اس قدر کو اے سی میں ماسک کے ساتھ پڑھ سکتا ہے، تاکہ بیرونی ڈیوائس سے پڑھے گئے مختلف اسٹیٹس بٹس کی جانچ کی جا سکے۔ علیحدہ اسٹیٹس رجسٹر 8 بٹس کا تھا۔ تین کم سے کم اہم بٹس، 0 سے 2، براہ راست پنوں سے جڑے ہوئے تھے، جو بیرونی ڈیوائس کی حیثیت کو چیک کرنے کا ایک آسان طریقہ فراہم کرتے ہیں۔ مزید دو پن، سینس اے اور بی، بٹس 4 اور 5 سے جڑے ہوئے تھے۔ سینس اے عام طور پر سروس انٹرپٹس کے لیے استعمال ہوتا تھا (نیچے تفصیلات دیکھیں)۔ رکاوٹ کو بٹ 3، انٹرپٹ ان ایبل (IE) کو ڈس ایبل انٹرپٹ انسٹرکشن، DINT کے ساتھ 0 پر ترتیب دے کر، اور IEN کے ساتھ فعال کر کے، یا قدر کو A سے اور وہاں منتقل کر کے اور اسے وہاں ہیرا پھیری کر کے بند کیا جا سکتا ہے۔ بٹس 6 اور 7 روایتی اوور فلو اور کیری فلیگ تھے، جیسا کہ زیادہ تر پروسیسرز میں دیکھا جاتا ہے۔ ایڈریسنگ اور انڈیکس رجسٹر اس دور کے زیادہ تر 8 بٹ مائکرو پروسیسرز کی طرح، ایس سی/ایم پی 16 بٹ ایڈریس اور 8 بٹ ڈیٹا بس پر مبنی ہے۔ پن گنتی کو کم کرنے کے لیے، بیرونی ایڈریس بس میں صرف 12 پن ہوتے ہیں، جو مکمل 16 بٹ ایڈریس بنانے کے لیے ڈیٹا بس سے 4 پن کا اشتراک کرتے ہیں۔ اندرونی طور پر، پروگرام کاؤنٹر بارہ بٹس چوڑا ہوتا ہے، اور 8 بٹ ویلیو کو ہائی بائٹ میں کاپی کرکے اوپری چار بٹس کو سیٹ کرنے کے لیے الگ الگ ہدایات ہوتی ہیں۔ یہ سولہ چار کلوبائٹ صفحات کا میموری نقشہ فراہم کرتا ہے، اور پروگرام کوڈ اپنے صفحے سے باہر کوڈ یا فوری یا پی سی سے متعلق ڈیٹا کا حوالہ نہیں دے سکتا۔ اس طرح میموری کو 4 کے بی کے 16 صفحات کے طور پر ترتیب دیا گیا ہے۔ یہ ڈیزائن کے تجسس کی طرف لے جاتا ہے ؛ جب پروگرام کاؤنٹر کسی صفحے کے آخر تک پہنچ جاتا ہے، تو یہ اگلے صفحے پر نہیں جاتا ہے، یہ موجودہ صفحہ کے آغاز پر واپس آتا ہے۔ یہ دو بائٹ انسٹرکشن فارمیٹ کے ذریعے مزید محدود تھا، جس میں آپ کوڈ کے لیے ایک بائٹ اور دوسرے کو-128 اور + 127 کے درمیان آفسیٹ کی نشاندہی کرنے کے لیے استعمال کیا گیا تھا، جسے مکمل 16 بٹ ایڈریس تیار کرنے کے لیے پروسیسر رجسٹر میں ویلیو میں شامل کیا گیا تھا۔ مثال کے طور پر، ایک پتہ یہ کہہ کر میموری میں کسی مقام کا حوالہ دے سکتا ہے کہ یہ پروگرام کاؤنٹر میں ویلیو سے + 10 مقامات ہیں، یا 16 بٹ انڈیکس رجسٹروں میں سے کسی ایک میں ویلیو سے + 10 ہے۔ اس حد سے باہر کسی مقام تک رسائی حاصل کرنے کے لیے، ایڈریس کو انڈیکس رجسٹر میں سے کسی ایک میں محفوظ کرنا پڑتا تھا، اور پھر آفسیٹ کو صفر پر سیٹ کرنا پڑتا تھا۔ چونکہ رجسٹر 16 بٹ ہوتے ہیں، اور ویلیوز کو لوڈ کرنے والا ایکومیلیٹر 8 بٹ ہوتا ہے، اس لیے مکمل ایڈریس ترتیب دینے کے لیے کئی ہدایات درکار ہوتی ہیں۔ چونکہ اشاریہ جات ایڈریسنگ ماڈل کے لیے اہم تھے، ایس سی/ایم پی میں چار اشاریہ رجسٹر، "پوائنٹر رجسٹرز" پی آر 0 سے پی آر 3 شامل تھے۔ پی آر 0 پروگرام کاؤنٹر تھا، اور عام طور پر صارف پروگراموں کے ذریعہ ہیرا پھیری نہیں کی جاتی تھی۔ روایت کے مطابق، پی آر 1 کو عام طور پر روم میں پوائنٹر کے طور پر، پی آر 2 کو رام میں، اور پی آر 3 کو انٹرپٹس اور سبروٹین کالز کے دوران ایڈریس کو اسٹور کرنے کے لیے استعمال کیا جاتا تھا۔ ایس سی/ایم پی میں اسٹیک نہیں تھا، جہاں واپسی کی اقدار عام طور پر زیادہ تر عصری ڈیزائنوں پر محفوظ کی جاتی تھیں۔ پروگراموں کو واپسی کے پتے کو واضح کوڈ کے ساتھ محفوظ کرنا پڑتا تھا۔ چار پرائمری ایڈریسنگ موڈز تھے، پی سی-ریلیٹو، انڈیکسڈ، فوری (جس کا مطلب ہے کہ آفسیٹ کے برخلاف انسٹرکشن کے دوسرے بائٹ میں مستقل)، اور آٹو انڈیکسڈ۔ پی سی سے متعلق ایڈریسنگ دراصل انڈیکسڈ کی طرح ہی تھی، پی آر 0 کو انڈیکس رجسٹر کے طور پر منتخب کرتے ہوئے۔ آٹو انڈیکس کا استعمال لوپس کی تعمیر میں مدد کے لیے کیا جاتا ہے۔ اگر نقل مکانی صفر سے کم ہے، تو موثر پتے کے مندرجات کو لانے یا ذخیرہ کرنے سے پہلے پوائنٹر رجسٹر کے مندرجات کو نقل مکانی سے کم کیا جاتا ہے۔ اگر نقل مکانی صفر کے برابر یا اس سے زیادہ ہے، تو پوائنٹر رجسٹر کے مندرجات کو موثر ایڈریس کے طور پر استعمال کیا جاتا ہے، اور موثر ایڈریس کے مندرجات کو لانے یا ذخیرہ کرنے کے بعد پوائنٹر رجسٹر کے مندرجات کو نقل مکانی سے بڑھایا جاتا ہے۔ اس سے رجسٹر میں ویلیو کو تبدیل کرنے کے لیے ایک علیحدہ ہدایت کی ضرورت ختم ہو جاتی ہے، لہذا کوئی بھی ڈیٹا کے بلاک کی ابتدائی قیمت کو پی آر میں میموری میں محفوظ کر سکتا ہے اور پھر ایک ہی ہدایت پر کال کر کے تمام ڈیٹا کو لوپ کر سکتا ہے۔ اگر آفسیٹ منفی ہے تو یہ حتمی قیمت تک رسائی حاصل کرنے سے پہلے کمی انجام دیتا ہے، اگر یہ مثبت ہے، تو یہ اضافہ کے بعد کرتا ہے۔ انٹرپٹ ہینڈلنگ سسٹم میں سینس اے لائن پر انٹرپٹس کی خودکار ہینڈلنگ شامل ہے۔ جب کوئی رکاوٹ موصول ہوتی ہے اور آئی ای زیادہ (فعال) ہوتا ہے، تو اگلی ہدایت حاصل کرنا شروع کرنے سے پہلے سسٹم اس کے بجائے ایک اور رکاوٹ کو روکنے کے لیے آئی ای کو صاف کرتا ہے، اور پھر پی سی اور پی ایس 3 میں اقدار کا تبادلہ کرتا ہے۔ اس کا اثر واپسی کا پتہ پی آر 3 میں محفوظ کرنے اور اگلی ہدایت کو پہلے پی آر 3 میں محفوظ کردہ انٹرپٹ ہینڈلر انٹری پوائنٹ میں بھیجنے پر پڑتا ہے۔ اس نظام میں رکاوٹ سے واپسی کے مساوی شامل نہیں ہے۔ یہ ایک اور ایکس پی پی سی کے ساتھ انجام دیا جا سکتا ہے، پی آر 3 میں پہلے محفوظ کردہ ایڈریس کو پی سی پر واپس کاپی کیا جا سکتا ہے اور اس پر عمل درآمد جاری رہتا ہے جہاں اس نے چھوڑا تھا۔ تاہم، یہ پی آر 3 میں غلط ایڈریس چھوڑتا ہے، انٹرپٹ ہینڈلر کا آغاز نہیں، بلکہ اختتام۔ اس سے نمٹنے کے لیے، مشترکہ حل یہ ہے کہ ایکس پی پی سی کو رکھا جائے جو مین کوڈ پر واپس آتا ہے، ایک ہدایت ہینڈلر انٹری پوائنٹ کے اوپر، بجائے آخر میں۔ جب ہینڈلر مکمل کرتا ہے، تو وہ اس ہدایت پر واپس چلا جاتا ہے، لہذا جب ایکس پی پی سی کو کال کیا جاتا ہے، تو پی سی کو مناسب انٹری پوائنٹ سے پہلے ایک مقام کی طرف اشارہ کیا جاتا ہے۔ چونکہ سسٹم کسی انسٹرکشن کو کال کرنے سے پہلے پی سی میں اضافہ کرتا ہے، اس کا مطلب ہے کہ اگلی رکاوٹ کے نتیجے میں وہ صحیح انٹری پوائنٹ پر داخل ہوگا۔ یہ "ایگزٹ ہینڈلر" عام طور پر انٹرپٹس کو دوبارہ فعال کرنے کے لیے IE کو 1 پر ری سیٹ کرتا ہے۔ بس کنٹرول ایس سی/ایم پی کی ایک خصوصیت مشترکہ ڈیزی زنجیر والی کنٹرول لائن تھی جس نے متعدد ایس سی/ایم پی، یا زیادہ عام طور پر ایک واحد ایس سی/ایم پی اور متعلقہ براہ راست میموری رسائی (ڈی ایم اے) کنٹرولرز کو، ایک مرکزی میموری تک رسائی کا اشتراک کرنے کی اجازت دی۔ جب بس میں موجود چپس میں سے کوئی ایک میموری تک رسائی چاہتا ہے، تو یہ ای این او یو ٹی پن کو اونچا کر دیتا ہے، اس طرح دوسری چپ کے ای این آئی این پنوں کو اشارہ کرتا ہے کہ انہیں بس چھوڑنی ہے۔ زیادہ تر دوسرے پروسیسرز کے ساتھ، اس کے لیے عام طور پر بورڈ ڈیزائنرز کی طرف سے نافذ کردہ بیرونی منطق کی ضرورت ہوتی ہے تاکہ سی پی یو کو اسی سرے تک روکا جا سکے، اکثر اندرونی ہدایات کے وقت کی وجہ سے کچھ پیچیدگی کے ساتھ جو بیرونی سرکٹس کو نظر نہیں آتا تھا۔ ایس سی/ایم پی میں یہ سب اندرونی طور پر شامل تھا لہذا اس خصوصیت کو نافذ کرنے کے لیے سرکٹ بورڈ پر ایک ہی لائن کی ضرورت تھی۔ اصل خیال یہ تھا کہ ایس سی/ایم پی، ایک یا زیادہ ڈی ایم اے کنٹرولرز، اور ایک مشترکہ میموری پر مشتمل مائیکرو کنٹرولر جیسی ایپلی کیشنز کی تخلیق کو آسان بنایا جائے۔ مجموعی نظام کے لحاظ سے خاص طور پر کم لاگت کے لیے ڈیزائن کیا گیا، ایس سی/ایم پی کی لاگت کو کم کرنے کی خواہش خود بھی بٹ سیریل اے ایل یو کے بارے میں فیصلوں کا باعث بنی اور علیحدہ یو اے آر ٹی کی ضرورت کو ختم کرنے کے لیے سیریل ان پٹ/آؤٹ پٹ لائنوں کو شامل کیا گیا (اس خصوصیت کو بعد میں ایس سی/ایم پی III میں ہٹا دیا گیا تھا)۔ اوسبورن کے سسٹم کے جائزے میں کہا گیا ہے کہ یہ "کسی بھی ملٹی پروسیسر ایپلی کیشن میں پسند کا مائکرو پروسیسر" تھا لیکن ایسا لگتا ہے کہ یہ مارکیٹ محدود رہی ہے کیونکہ فروخت کبھی خاص طور پر مضبوط نہیں تھی۔ غیر معمولی خصوصیات ایس سی/ایم پی میں جمپ ٹو سبروٹین ہدایات شامل نہیں تھیں۔ اس کے بجائے، اسمبلر زبان میں جے ایس میکرو شامل تھا جس نے اس فعالیت کو نافذ کرنے کے لیے ہدایات کا ایک سلسلہ لکھا۔ میکرو نے ایڈریس کے ہائی بائٹ کو اے سی میں لوڈ کیا، اور پھر اسے ایک منتخب پوائنٹر رجسٹر کے ہائی بائٹ میں منتقل کرنے کے لیے ایکس پی اے ایچ کو کال کیا۔ اس کے بعد اس نے ایکس پی اے ایل کا استعمال کرتے ہوئے کم بائٹ کے لیے اسے دہرایا۔ اس کے بعد اس نے ایکس پی پی سی کو پی آر سے پی سی میں نتیجے میں 16 بٹ ویلیو منتقل کرنے کے لیے بلایا۔ چونکہ ایکس پی پی سی دو اقدار کا تبادلہ کرتا ہے، اس طرح پی سی کی موجودہ قیمت کو منتخب کردہ پی آر میں محفوظ کیا جاتا ہے، اور قیمت کو واپس کاپی کرنے کے لیے سبروٹین سے واپسی کو ایک ہی ایکس پی پی سی کے ساتھ لاگو کیا جا سکتا ہے۔ ایس سی/ایم پی ہدایت حاصل کرنے سے پہلے پروگرام کاؤنٹر میں اضافہ کرتا ہے، تاکہ ری سیٹ ہونے پر یہ اصل میں لوکیشن 0001 سے ہدایات پر عمل درآمد شروع کر دے۔ نقل مکانی کا حساب لگانے کے لیے بھی اسے مدنظر رکھنے کی ضرورت ہے، کیونکہ آفسیٹ کو پروگرام کاؤنٹر میں شامل کیا جائے گا جو اب بھی نقل مکانی کے مقام کی طرف اشارہ کرے گا نہ کہ اگلی ہدایت کی طرف۔ اس نظام میں ایک تاخیر کی ہدایت، DLY شامل تھی، جس میں ایک واحد پیرامیٹر، P لیا گیا۔ اس نے 13 + (2 x P) + (2 ^ 9 x P) + (2 x AC) مائیکرو سائیکلوں کی مدت کے لیے کام کرنا بند کر دیا، جو اس نے AC میں قدر کو مسلسل کم کر کے کیا جب تک کہ یہ صفر تک نہ پہنچ جائے۔ اس کا مطلب یہ ہے کہ یہ 13 اور 131,593 چکروں کے درمیان تاخیر پیدا کر سکتا ہے۔ یہ عام طور پر سیریل پنوں کے ساتھ استعمال ہوتا تھا۔ ایک پروگرام AC میں ویلیو کو اس وقت تک سیٹ کر سکتا ہے جب اسے دی گئی رفتار سے ایک بٹ منتقل کرنے میں وقت لگتا ہے اور پھر فلیگ پنوں میں سے کسی ایک کی ویلیو چیک کر کے دیکھ سکتا ہے کہ آیا وہ اگلے کے لیے تیار ہے یا نہیں۔ پروسیسر ٹائمنگ کے بارے میں خاص طور پر چنچل نہیں تھا، اور کم رفتار والی ایپلی کیشنز میں اسے کرسٹل آسکیلیٹر استعمال کرنے کی ضرورت نہیں تھی اور اس کے بجائے اسے ایک سادہ کیپسیٹر سے تبدیل کیا جا سکتا تھا۔ نفاذ آئی ایس پی-8 اے/500 ایس سی/ایم پی-1 1 میگاہرٹز پر کلاک، پہلا نفاذ (پی چینل ایم او ایس ٹیکنالوجی) آئی این ایس 8060 آئی ایس پی-8 اے/600 ایس سی/ایم پی-2 4 میگاہرٹز پر کلاک (اندرونی طور پر 2 میگاہرٹز) پہلا این چینل ایم او ایس ورژن (سنگل + 5 وی سپلائی) آئی این ایس 807 ایکس ایس سی/ایم پی-3 4 میگاہرٹز پر کلاک (اندرونی طور پر 2 میگاہرٹز) میں 4 کے بی روم (اختیاری آن بورڈ بیسک (این آئی بی ایل) کے ساتھ تغیرات شامل تھے۔ استعمال ایس سی/ایم پی کو سائنس آف کیمبرج (بعد میں سنکلیئر ریسرچ لمیٹڈ) کے ذریعہ تیار کردہ سنگل بورڈ مائیکرو کنٹرولر کی بنیاد کے طور پر بھی استعمال کیا جاتا تھا جسے ایم کے 14 کہا جاتا تھا۔ مولائن آئی ایل کی مونٹگمری لفٹ کمپنی (جسے بعد میں کون انکارپوریٹڈ نے خریدا) نے 1975 میں جاری ہونے والے اپنے پہلے مائیکرو پروسیسر پر مبنی لفٹ کنٹرولر کی بنیاد کے طور پر ایس سی/ایم پی کا استعمال کیا۔ ان میں سے بہت سی اکائیاں اب بھی امریکہ بھر کی عمارتوں میں چل رہی ہیں۔ نوٹ حوالہ جات کتابچہ بیرونی لنکس مزید معلومات اور ایمولیٹر قومی سیمی کنڈکٹر ڈیٹاشیٹ ایس سی/ایم پی کے بارے میں معلومات بشمول ایک ایمولیٹر ایم کے 14 اصل دستی-بشمول آئی ایس اے تفصیل اے ایس سی/ایم پی II سنگل بورڈ ایم سی یو این آئی بی ایل بیسک کے ساتھ این آئی بی ایل بی ایس سی این ایس سی 807 ایکس ڈیٹاشیٹ ایس سی/ایم پی ڈویلپمنٹ سسٹم سینٹر فار کمپیوٹنگ ہسٹری میں مختلف آئی این ایس 807 ایکس سیریز پی ڈی ایف فائلیں ہاتھ سے وائرڈ آئی این ایس 8073 سنگل بورڈ کمپیوٹر جس میں سورس کوڈ ایس سی/ایم پی 8 بٹ مائکرو پروسیسرز کی اسمبلی کے بارے میں معلومات ہیں۔