Mostek 5065
মোস্টেক এমকে5065 1974 সালের গোড়ার দিকে মোস্টেক দ্বারা প্রবর্তিত একটি 8-বিট মাইক্রোপ্রসেসর ছিল। নকশাটি মূলত মটোরোলা দ্বারা একটি অলিভেট্টি বৈদ্যুতিন ক্যালকুলেটরে ব্যবহারের জন্য তৈরি করা হয়েছিল এবং অ-ক্যালকুলেটর ভূমিকায় ব্যবহারের জন্য মোস্টেককে লাইসেন্স দেওয়া হয়েছিল। এটিতে প্রসেসর রেজিস্টারের তিনটি সেট ছিল, যা এটিকে একক চক্রে একটি ইন্টারাপ্ট হ্যান্ডলারে স্যুইচ করার অনুমতি দেয় এবং একটি ওয়েট-ফর-ডেটা মোড যা সরাসরি মেমরি অ্যাক্সেসে সহায়তা করে। 100-এর পরিমাণে 58 ডলারের তুলনামূলকভাবে কম খরচ (যুগের জন্য) সত্ত্বেও, 5065-এর খুব কম ব্যবহার হয়েছে বলে মনে হয়। একই বাজারকে লক্ষ্য করে প্রায় একই সময়ে ফেয়ারচাইল্ড এফ8 চালু করা হয়েছিল। আরও আধুনিক নকশার কারণে 5065-এর তুলনায় এফ8-এর বেশ কিছু সুবিধা ছিল। 1975 সালের জুন মাসে মোস্টেক দ্বিতীয় উৎস ব্যবস্থার অধীনে এফ8-এর লাইসেন্স দেন। 5065 মোস্টেকের 1975 ক্যাটালগ থেকে অদৃশ্য হয়ে যায়, যেখানে শুধুমাত্র তাদের F8, MK3850-এর উল্লেখ রয়েছে। ইতিহাস 5065 অলিভেট্টি দ্বারা নির্মিত একটি ডেস্কটপ ক্যালকুলেটরের জন্য মটোরোলা দ্বারা একটি কাস্টম পি. এম. ও. এস. সি. পি. ইউ ডিজাইন হিসাবে শুরু হয়েছিল। নকশা প্রচেষ্টার নেতৃত্ব দিয়েছিলেন রড অর্গিল এবং বিল মেনশ, 5065 তৈরি করেছিলেন। এর পরপরই, দুজনেই মটোরোলা 6800-এর উন্নয়ন দলের মূল অংশ গঠন করেন। ক্যালকুলেটর বাজারে বিক্রি না করার শর্তে মটোরোলা মোস্টেকের কাছে নকশাটির লাইসেন্স দেয়। মোস্তেক 1974 সালের ফেব্রুয়ারিতে তাদের সংস্করণ চালু করেন। 1975 সালের গোড়ার দিকে এটি ভলিউম উৎপাদনে ছিল এবং 100 থেকে 499 ডলারে বিক্রি হয়েছিল। 1974 সালের সেপ্টেম্বরে, ফেয়ারচাইল্ড সেমিকন্ডাক্টর ফেয়ারচাইল্ড এফ8 চালু করে যার নমুনা রপ্তানি পরবর্তী এপ্রিল থেকে শুরু হয় এবং সেই বছরের শেষের দিকে সম্পূর্ণ উৎপাদন শুরু হয়। এফ8 5065-এর প্রায় অনুরূপ ছিল, যা মূলত অলিভেট্টির জার্মান প্রতিদ্বন্দ্বী অলিম্পিয়া-ওয়ার্কের জন্য একটি ক্যালকুলেটর সিপিইউ হিসাবে ডিজাইন করা হয়েছিল। এফ8-এর বেশ কয়েকটি নকশা বৈশিষ্ট্য ছিল যা এটিকে বাস্তবায়ন করা খুব সহজ করে তোলে, সাধারণ নকশাগুলির জন্য সমস্ত প্রয়োজনীয় রম, র্যাম, ঘড়ি এবং আই/ও সরবরাহ করার জন্য কেবল দুটি চিপের প্রয়োজন হয়। এটি 5056-এ আরও উন্নত হয়েছিল যে এটি একটি এন. এম. ও. এস-ভিত্তিক চিপ ছিল, যা এটিকে একটি ছোট বৈশিষ্ট্য আকারে তৈরি করার অনুমতি দেয় যা এর খরচ কমিয়ে দেয় এবং এটিকে আরও দ্রুত চালানোর অনুমতি দেয়। 1975 সালের জুন মাসে, মোস্টেক ফেয়ারচাইল্ডের কাছ থেকে এফ8 ডিজাইনের লাইসেন্স পান এবং এটিকে তাদের নতুন এন. এম. ও. এস লাইনে নিয়ে আসেন। 5065-এর উল্লেখগুলি তাদের 1975-এর ক্যাটালগের সময় অদৃশ্য হয়ে যায়, যেখানে শুধুমাত্র তাদের F8, MK3850-এর সংস্করণের উল্লেখ রয়েছে। মোস্টেক আক্রমণাত্মকভাবে পরের বছর তাদের এফ8-এর দাম কমিয়ে আনেন এবং 1976 সালের মধ্যে প্লাস্টিক প্যাকেজিংয়ে 10 মার্কিন ডলারে পৌঁছে যান। বিবরণ মৌলিক নকশা 1970-এর দশকের গোড়ার দিকে একটি স্বতন্ত্র কম্পিউটারের ভিত্তি হিসাবে একটি মাইক্রোপ্রসেসর ব্যবহার করার ধারণাটি এখনও প্রচলিত ছিল না এবং সেই যুগের নকশাগুলিতে সাধারণত এমন বৈশিষ্ট্যগুলি অন্তর্ভুক্ত ছিল যা সেগুলিকে সহজেই ব্যবহার করার উদ্দেশ্যে করা হত যা আজ মাইক্রোকন্ট্রোলার অঞ্চল হিসাবে পরিচিত, প্রসেসর যা নগদ রেজিস্টার বা গ্যাস পাম্পের মতো ডিভাইস নিয়ন্ত্রণ করতে ব্যবহৃত হয়। এই সিস্টেমগুলিকে বিভিন্ন ইনপুটগুলিতে দ্রুত সাড়া দিতে হয়, যা সাধারণত ইন্টারাপ্টের মাধ্যমে সম্পন্ন করা হয়। যেহেতু এই সেটিংসে এটি একটি সাধারণ অপারেশন, তাই অনেক ডিজাইন ইন্টারাপ্ট পারফরম্যান্স বা বাস্তবায়নের উন্নতির উপায়গুলির উপর দৃষ্টি নিবদ্ধ করে। 5065-এর ক্ষেত্রে, ক্যারি ফ্ল্যাগ সহ অ্যাকিউমুলেটর, প্রোগ্রাম কাউন্টার এবং অভ্যন্তরীণ "প্রধান লিঙ্ক" রেজিস্টারের জন্য তিনটি পৃথক সেট রেজিস্টার সরবরাহ করে এটি সম্পন্ন করা হয়েছিল। একটি বাধা প্রাপ্তির পরে, প্রসেসর বর্তমান নির্দেশটি সম্পন্ন করে এবং তারপরে এই রেজিস্টারগুলির নির্বাচিত সেটের দিকে নির্দেশ করে, বা যেমন তারা তাদের "স্তর" বলে অভিহিত করে। এটি সিস্টেমটিকে কোডের তিনটি পৃথক বিভাগ ট্র্যাক করার অনুমতি দেয়, যা স্বাভাবিক ক্রিয়াকলাপ এবং দুটি ইন্টারাপ্ট স্তরের সাথে সম্পর্কিত। বাহ্যিক যন্ত্রগুলি দুটি পিনে বাধা সৃষ্টি করতে পারে এবং উভয়ই সফ্টওয়্যারে চালু বা বন্ধ করা যেতে পারে। সুতরাং উদাহরণস্বরূপ, যদি সক্রিয় এবং ট্রিগার করা হয়, প্রসেসর বর্তমান নির্দেশটি সম্পূর্ণ করে, স্তর 2 রেজিস্টারে স্যুইচ করে এবং চালিয়ে যায়। স্বাভাবিক অপারেশন স্তর 3 ছিল, যা এটি ফিরে আসে যখন একটি রিটার্ন-ফ্রম-ইন্টারাপ্ট নির্দেশ বলা হয়। এটি ইন্টারাপ্ট সার্ভিসিংকে খুব দ্রুত করে তোলে কারণ রাষ্ট্রের তথ্য একটি একক চক্রে স্বয়ংক্রিয়ভাবে সংরক্ষণ করা হচ্ছে, যেখানে অনেক ডিজাইনের জন্য এই তথ্যটি ব্যবহারকারী-লিখিত কোড ব্যবহার করে সংরক্ষণ করা প্রয়োজন যা সম্পূর্ণ হতে একাধিক চক্র নিতে পারে। রেজিস্টারের বিষয়বস্তু সংরক্ষণ করার পরিবর্তে দ্রুত সাবরুটিন কলের জন্যও একই ব্যবস্থা ব্যবহার করা যেতে পারে। যেহেতু প্রসেসরের অবস্থা আলাদাভাবে সংরক্ষণ করা হয়েছিল, তাই শুধুমাত্র রিটার্ন অ্যাড্রেসটি কোডে স্পষ্টভাবে লিখতে হত। এই ক্ষেত্রে, মেমরির প্রথম 256 টি অবস্থান, শূন্য পৃষ্ঠা, কল স্ট্যাক হিসাবে ব্যবহৃত হয়েছিল। এটি কাজ করার জন্য, স্মৃতির এই ক্ষেত্রটি লিখনযোগ্য স্মৃতির কোনও রূপে প্রয়োগ করতে হয়েছিল। "পয়েন্টার রেজিস্টার" দ্বারা নির্দেশিত বর্তমান মান সহ পৃষ্ঠাটি 128টি 16-বিট ঠিকানা ধরে রাখতে পারে, যা অন্যান্য নকশায় স্ট্যাক পয়েন্টার হিসাবে পরিচিত হবে। ডাইরেক্ট মেমোরি অ্যাক্সেস (ডি. এম. এ) বাস্তবায়নে সহায়তা করার জন্য, সিস্টেমে একটি পিন অন্তর্ভুক্ত ছিল যা একটি বাহ্যিক ডিভাইস দ্বারা উত্থাপিত হয়েছিল যা মেমরিতে অ্যাক্সেস চায়। যখন এই সংকেতটি পাওয়া যেত, তখন প্রসেসর মেমরি থেকে যে কোনও প্রয়োজনীয় পড়া এবং লেখা সহ বর্তমান নির্দেশের সাথে চালিয়ে যেত। নির্দেশটি সম্পূর্ণ হলে এটি প্রস্তুত হওয়ার ইঙ্গিত দেওয়ার জন্য পিনটি উপরে তুলত এবং তারপর বিরতি দেওয়া অবস্থায় চলে যেত। বাহ্যিক যন্ত্রটি তখন তার ডি. এম. এ ক্রিয়াকলাপ সম্পাদন করবে এবং তারপর এটি শেষ হয়ে গেলে নামবে। প্রসেসর তখন পিনটি ফেলে দেবে, বিরতি দেবে এবং যেখানে ছেড়েছিল সেখান থেকে তুলে নেবে। নির্দেশনা এবং ঠিকানা মোট 51টি নির্দেশনা এবং 81টি অপকোড ছিল। নির্দেশাবলী বিভিন্ন বিন্যাসে আসে, তবে তাদের বেশিরভাগই দুই-বাইট অপকোড-অপারেন্ড জোড়ায় আসে। সাবরুটিন থেকে ফিরে আসা বা শিফট-বামের মতো জিনিসগুলির জন্য অল্প সংখ্যক এক-বাইট নির্দেশাবলী ব্যবহার করা হয়েছিল, যার জন্য কোনও অতিরিক্ত তথ্যের প্রয়োজন হয় না। যে নির্দেশাবলী মেমরি ব্যবহার করত (রেজিস্টারের বিপরীতে) তারা প্রথম বাইটের উপরের 6টি বিটের অপকোডের সাথে দ্বি-বাইট বিন্যাস ব্যবহার করত। নিচের 2টি বিট মেমরি অ্যাক্সেসের ধরন নিয়ন্ত্রণ করত। প্রথম (বিট 1) নির্দেশ করে যে নিম্নলিখিত 8-বিট অপারেন্ডটি প্রত্যক্ষ বা পরোক্ষ ঠিকানা ছিল কিনা। দ্বিতীয়টি (বিট 0) নিয়ন্ত্রণ করে যে 8-বিট মানটি প্রোগ্রাম কাউন্টার দ্বারা সংজ্ঞায়িত বর্তমান মেমরি পৃষ্ঠা থেকে বা শূন্য পৃষ্ঠায় অফসেট করা হয়েছে কিনা। নিম্নলিখিত অপারেন্ড বাইটে একটি 8 বিটের ঠিকানা রয়েছে। এর মানে হল যে ডাইরেক্ট অ্যাড্রেসিং ব্যবহার করার সময়, ডেটা বর্তমান নির্দেশের 256 বাইটের মধ্যে বা মেমরির প্রথম 256 বাইটের মধ্যে থাকতে হবে। বৃহত্তর প্রধান স্মৃতিতে প্রবেশাধিকারের প্রয়োজন হলে পরোক্ষ অ্যাড্রেসিং ব্যবহার করতে হবে। পরোক্ষ ঠিকানাগুলি একটি দ্বি-পদক্ষেপ অ্যাক্সেস প্যাটার্ন ব্যবহার করে। প্রথমে প্রসেসর নির্দেশের নিচের 8-বিট পড়ে এবং কোন অফসেট ব্যবহার করতে হবে তা দেখতে বিট 0-এর দিকে তাকায়। এরপরে এটি সেই স্থানে এবং পরবর্তী বাইটটি পড়ে, একটি বিশেষ বাফারের মধ্যে রাখা একটি 16-বিট মান তৈরি করে। এটি তখন সেই 16-বিট অবস্থানে ডেটা পড়বে বা লিখবে। এই প্যাটার্নটি সাধারণত সেই যুগের ক্ষুদ্র কম্পিউটারগুলিতে দেখা যেত, কারণ এটি নির্দিষ্ট ধরনের তথ্যের উপর লুপিংকে বাস্তবায়ন করা সহজ করে তুলেছিল। স্মৃতিতে সংরক্ষিত প্রতিটি ঠিকানার সবচেয়ে উল্লেখযোগ্য অংশটি ব্যবহার করা হত এটি একটি প্রত্যক্ষ বা পরোক্ষ ঠিকানা কিনা তা নির্দিষ্ট করার জন্য, এটি প্রকৃত ঠিকানার জন্য 15-বিট রেখে যায়, যা 32 কেবি পর্যন্ত স্মৃতির অনুমতি দেয়। যেহেতু একটি পরোক্ষ ঠিকানা দ্বারা নির্দেশিত ঠিকানার উচ্চ বিট সেটও থাকতে পারে, তাই পরোক্ষ ঠিকানাগুলি চেইন তৈরি করতে পারে। আইবিএম 1620, এইচপি 2100 এবং ডেটা জেনারেল নোভার মতো মিনিকম্পিউটার সিস্টেমেও চেইনড অ্যাক্সেসের এই শৈলী দেখা গিয়েছিল, তবে মাইক্রোপ্রসেসরের ক্ষেত্রে এটি অস্বাভাবিক ছিল। শাখা, সাবরুটিন কল এবং জাম্পের জন্য, একটি দ্বিতীয় বিন্যাস ব্যবহার করা হয়েছিল যেখানে অপকোড উপরের 4টি বিট ব্যবহার করত এবং 8-বিট অপারেন্ড সহ নীচের 4টি বিট একটি 12-বিট ঠিকানা গঠন করে। এর অর্থ কোড শুধুমাত্র 4 কেবি "ব্লক"-এর মধ্যে অন্য কোডকে কল করতে পারে। বিশেষ উদ্দেশ্যে আরও অনেক নির্দেশের বিন্যাস ছিল। ইনপুট/আউটপুট বিশেষ নির্দেশাবলীর মাধ্যমে পরিচালিত হয়েছিল এবং মেমরি ম্যাপ করা হয়নি। অপকোডের উপরের 4টি বিট আই/ও নির্দেশ (ইনপুট, আউটপুট, স্ট্যাটাস ইত্যাদি) ধারণ করে। ), যেখানে নিচের 4টি বিট ছিল একটি "মুক্ত ক্ষেত্র"। প্রোগ্রামটি এই 4টি বিটের মধ্যে যে কোনও মান স্থাপন করতে পারে এবং ডিভাইসে নির্দেশাবলী পাঠানোর জন্য এটি একটি অ্যাড-হক ডেটা ক্ষেত্র হিসাবে ব্যবহার করতে পারে। নির্দেশকে উদ্দীপিত করার ফলে একটি চার-চক্র প্রক্রিয়া শুরু হয়। প্রথম চক্রে 4 বিট মুক্ত ক্ষেত্র সহ নির্দেশের নীচের 6 বিট এইচ বাসে রাখা হয়েছিল এবং অ্যাকিউমুলেটরের মান এল বাসে রাখা হয়েছিল। যন্ত্রটি তখন তার নির্দেশ ডিকোড করতে উভয়ই পড়তে পারে। দ্বিতীয় চক্রে, যদি সিপিইউ আউটপুটের জন্য ডিভাইসে ডেটা পাঠায়, তবে 8-বিট মানটি বাসে রাখা হয়। তৃতীয়টিতে, সিপিইউতে পাঠানো যে কোনও তথ্য বাসে ফেরত দেওয়া হয়। চতুর্থটি আই/ও চক্রের সমাপ্তি নির্দেশ করে। অন্যান্য বিবরণ মূল বাসটি মাল্টিপ্লেক্স করা ছিল, যেখানে ঠিকানা এবং তথ্য উভয়ের জন্য মোট 16টি পিন ব্যবহার করা হয়েছিল। বাসটি "উচ্চ" (এইচ) এবং "নিম্ন" (এল) উভয় দিকে বিভক্ত ছিল, উভয়ই 8-বিট। মেমরি অ্যাক্সেসের সময়, 15-বিট ঠিকানাটি উচ্চ এবং নিম্ন দিকে স্থাপন করা হবে এবং তারপরে সেই অবস্থানের ডেটা শুধুমাত্র এল বাস ব্যবহার করে পড়া বা লেখা হবে। এর অর্থ হল মেমরি অ্যাক্সেসের জন্য দুটি চক্রের প্রয়োজন হয়, যা এটিকে পৃথক (নন-মাল্টিপ্লেক্সড) ঠিকানা এবং ডেটা বাসের সাথে নকশার চেয়ে ধীর করে তোলে। 1970-এর দশকের গোড়ার দিকে সাধারণ পি. এম. ও. এস প্রক্রিয়ার উপর নির্মিত, 5065-এর জন্য তিনটি ভোল্টেজ সরবরাহ স্তরের প্রয়োজন ছিল,-12ভি (ভি. জি. জি), + 5ভি (ভি. এস. এস),-5ভি (ভি. ডি. ডি) এবং স্থল। এটি একটি 40-পিন ডি. আই. পি-তে প্যাকেজ করা হয়েছিল, যেমনটি সেই যুগের বেশিরভাগ প্রসেসরের জন্য প্রচলিত ছিল। মাল্টিপ্লেক্স বাসের ব্যবহার পিনের ব্যবহার এতটাই কমিয়ে দিয়েছিল যে পাঁচটি পিন সংযোগহীন হয়ে পড়েছিল। বেশিরভাগ পি. এম. ও. এস ডিজাইনের ক্ষেত্রে যেমন ছিল, একটি বাহ্যিক ঘড়ি চিপের প্রয়োজন ছিল, এই ক্ষেত্রে এম. কে. 5009। 1975 সালের শেষের দিকে একটি পেরিফেরাল ইন্টারফেস অ্যাডাপ্টার (পিআইএ) প্রকাশের পরিকল্পনাও ছিল। সিস্টেমটি একটি মূল্যায়ন সিস্টেমের সাথে প্রকাশিত হয়েছিল, দ্বি-বোর্ড জিইএমএস-8, সাধারণ মূল্যায়ন মাইক্রোপ্রসেসর সিস্টেমের জন্য সংক্ষিপ্ত। এর মধ্যে ঘড়ি চালক, 512 বাইট রম, 1 থেকে 12 কেবি র্যাম এবং কম্পিউটার টার্মিনালের সাথে ব্যবহারের জন্য একটি ইউএআরটি অন্তর্ভুক্ত ছিল। রম-এ "প্রোগ্রাম এইড রুটিন" ছিল, যা একটি ছোট সিস্টেম ডেভেলপমেন্ট টুল এবং ডিবাগার ইউটিলিটি। প্রসেসর বোর্ড এবং পিএআর রমের দাম ছিল 597 মার্কিন ডলার, 12 কে র্যাম কার্ডের দাম ছিল 597 মার্কিন ডলার বা উভয়ই মিলে 995 মার্কিন ডলার। একটি অনির্দিষ্ট "16-বিট মিনি কম্পিউটার"-এর জন্য একটি ক্রস অ্যাসেম্বলারও উপলব্ধ ছিল। 5056 এর জন্য ঘড়ির গতি কোনও বেঁচে থাকা রেফারেন্সগুলিতে উপস্থিত হয় না। নির্দেশের সময়গুলি 3 থেকে 16 মাইক্রোসেক হিসাবে তালিকাভুক্ত করা হয়েছে। যদিও নির্দেশের সময় 3 থেকে 16 মাইক্রোসেক হিসাবে উল্লেখ করা হয়েছে, একটি 1 মেগাহার্টজ ঘড়ি ব্যবহার করা যেতে পারে। উদ্ধৃতি গ্রন্থপঞ্জি 8-বিট মাইক্রোপ্রসেসর