আমি এই অ্যাসেম্বলিং প্রোগ্রামিং টিউটোরিয়ালে পড়েছি যে 8 বিট ডেটার জন্য এবং 1 বিট প্যারিটির জন্য ব্যবহৃত হয় যা পরবর্তীতে ত্রুটি সনাক্ত করার জন্য ব্যবহৃত হয় (হার্ডওয়্যার ত্রুটি বা বৈদ্যুতিক ঝামেলার কারণে)
এটা কি সত্য?
আমি এই অ্যাসেম্বলিং প্রোগ্রামিং টিউটোরিয়ালে পড়েছি যে 8 বিট ডেটার জন্য এবং 1 বিট প্যারিটির জন্য ব্যবহৃত হয় যা পরবর্তীতে ত্রুটি সনাক্ত করার জন্য ব্যবহৃত হয় (হার্ডওয়্যার ত্রুটি বা বৈদ্যুতিক ঝামেলার কারণে)
এটা কি সত্য?
উত্তর:
ডেটা বাইট আট বিট হয়, ত্রুটি যাচাইয়ের জন্য ওএস বা এমনকি হার্ডওয়্যার পর্যায়ে ব্যবহার করা হয় এমন ডেটার বাইটে আরও বেশি বিট থাকতে পারে (প্যারিটি বিট, বা আরও উন্নত ত্রুটি সনাক্তকরণ স্কিম) তবে তথ্যটি আটটি বিটস এবং কোনও প্যারিটি বিট সাধারণত সফ্টওয়্যারটিতে অদৃশ্য থাকে। একটি বাইটকে 'আট বিটের ডেটা' বোঝাতে প্রমিত করা হয়েছে। পাঠ্যটি আটটি বিটের চেয়ে ডেটা বাইট সংরক্ষণের জন্য উত্সর্গীকৃত আরও বিট থাকতে পারে বলে ভুল হয় না, তবে সেগুলি সাধারণত প্রতি বাইটের অংশ হিসাবে বিবেচনা করা হয় না, পাঠ্যটি নিজেই এই সত্যটির প্রতি নির্দেশ করে।
টিউটোরিয়ালটির নিম্নলিখিত বিভাগে এটি দেখতে পারেন:
Doubleword: a 4-byte (32 bit) data item
4 * 8 = 32, এটি সিস্টেমে আসলে 36 টি বিট নিতে পারে তবে আপনার উদ্দেশ্য এবং উদ্দেশ্যে এটি কেবল 32 বিট।
char
সি-তে (যা লিঙ্কটি প্রায় তা হ'ল) মেমরির একেবারে ক্ষুদ্রতম ঠিকানা ঠিকানা। এটিকে কেবল চর বলা হয় , তবে সি স্ট্যান্ডার্ড এটিকে বাইটের সমার্থক করে তোলে ।
.তিহ্যগতভাবে, একটি বাইট যে কোনও আকার হতে পারে এবং এটি মেমরির মধ্যে সবচেয়ে ক্ষুদ্রতম ঠিকানাযোগ্য একক। আজকাল, 8 বিট বাইটগুলি সফ্টওয়্যারটির জন্য বেশ মানক করা হয়েছে। যেমন জাস্টঅনথারসোল বলেছেন, হার্ডওয়্যারটি 8 বিটের ডেটার চেয়ে বেশি বিট সংরক্ষণ করতে পারে।
আপনি যদি এফপিজিএর মতো প্রোগ্রামেবল লজিক ডিভাইসগুলিতে কাজ করছেন তবে আপনি দেখতে পাবেন যে তাদের অভ্যন্তরীণ মেমরিটি প্রায়শই 9-বিট খণ্ড হিসাবে চিহ্নিত করা যায়, এবং এইচডিএল লেখক হিসাবে, আপনি 9 তম বিটটি ত্রুটি পরীক্ষার জন্য বা কেবলমাত্র বৃহত্তর পরিমাণে সঞ্চয় করতে ব্যবহার করতে পারেন "বাইট" প্রতি ডেটা কাস্টম হার্ডওয়্যারটির জন্য মেমরি চিপগুলি কেনার সময়, আপনার সাধারণত 8 বা 9 বিট ঠিকানাযোগ্য ইউনিট (বা 16/18, 32/36, ইত্যাদি) পছন্দ থাকে এবং তারপরে আপনার কাছে 9 বিট "বাইট" আছে কি না আপনি যদি এটি 9 ম বিটটি পছন্দ করেন তবে এটি করুন।
এই পাঠ্যটি অত্যন্ত খারাপ শব্দযুক্ত। তিনি প্রায় অবশ্যই ইসিসি (ত্রুটি-সংশোধনকারী কোড) র্যাম সম্পর্কে কথা বলছেন ।
ইসিসি র্যাম সাধারণত 9-বিট ব্যবহার করে 8-বিট মূল্যবান তথ্য সঞ্চয় করবে। অতিরিক্ত বিট-প্রতি-বাইট ত্রুটি সংশোধন কোডগুলি সঞ্চয় করতে ব্যবহৃত হয়।
(উভয় ক্ষেত্রেই, প্রতিটি বাইট প্রতিটি চিপ জুড়ে ছড়িয়ে পড়ে Pu প্যাগেট সিস্টেমের চিত্র সৌজন্যে )
এটি হার্ডওয়ারের ব্যবহারকারীদের কাছে সম্পূর্ণ অদৃশ্য। উভয় ক্ষেত্রেই, এই র্যাম ব্যবহার করে সফটওয়্যার বাইট প্রতি 8 বিট দেখতে পাবে।
একদিকে যেমন: র্যামে ত্রুটি-শোধকারী কোডগুলি সাধারণত বাইট প্রতি 1 বিট হয় না; তারা পরিবর্তে 8 বিট প্রতি 8 বিট হয়। এটিতে একই জায়গার ওভারহেড রয়েছে তবে এর কিছু অতিরিক্ত সুবিধা রয়েছে। আরও তথ্যের জন্য SECDED দেখুন ।
সাধারণভাবে বলতে গেলে, সংক্ষিপ্ত উত্তরটি হ'ল একটি বাইট 8 বিট। এটি বিষয়টিকে বড় করে দেখায় (কখনও কখনও এমনকি ত্রুটির বিষয়টিও বোঝায়) তবে বেশিরভাগ লোকেরা (বিপুল সংখ্যক প্রোগ্রামার সহ) পরিচিত এবং সংজ্ঞাটি প্রায় সবাই ডিফল্ট হয় (তারা কতগুলি ভিন্ন আকারের বাইট নির্বিশেষে) ve এর সাথে কাজ করতে হবে)।
আরও সুনির্দিষ্টভাবে, একটি বাইট প্রদত্ত আর্কিটেকচারের জন্য ক্ষুদ্রতম ঠিকানাযোগ্য মেমরি ইউনিট এবং সাধারণত কোনও একক পাঠ্য অক্ষর ধারণ করার পক্ষে এটি যথেষ্ট বড় hold বেশিরভাগ আধুনিক স্থাপত্যগুলিতে, একটি বাইটকে 8 বিট হিসাবে সংজ্ঞায়িত করা হয়; আইএসও / আইইসি 80000-13 এছাড়াও উল্লেখ করে যে একটি বাইট 8 বিট, যেমন জনপ্রিয় sensকমত্য (যেমন আপনি যদি কথা বলছেন, 9-বিট বাইট, আপনি স্পষ্টভাবে না বললে আপনি অনেক সমস্যার মধ্যে চলে যাবেন আপনি সাধারণ বাইট বোঝাতে চান না তা উল্লেখ করুন)।
তবে, এই নিয়মের ব্যতিক্রম আছে। উদাহরণ স্বরূপ:
sizeof(char)
, অপ্রত্যক্ষভাবে উল্লেখ করে যে char
একটি ন্যূনতম 8 বিট হতে হবে, প্রতিটি বাইটের অবশ্যই একটি অনন্য ঠিকানা থাকতে হবে এবং সংলগ্ন বাইটগুলির মধ্যে কোনও স্পেস থাকতে হবে না স্মৃতিতে. এটি ভাষাগুলিকে তাদের তুলনায় আরও বহনযোগ্য করে তুলতে যদি তাদের স্পষ্টত 8 বিট বাইট প্রয়োজন হয়। [বাইটে বিটের সংখ্যা CHAR_BIT
সি লাইব্রেরির শিরোনাম "সীমাবদ্ধতা" ( limits.h
সি তে, climits
সি ++ তে) হিসাবে সুনির্দিষ্ট করা হয়েছে ]
সুতরাং, বেশিরভাগ ক্ষেত্রে, একটি বাইট সাধারণত 8 বিট হবে। যদি তা না হয় তবে এটি সম্ভবত 9 টি বিট এবং 36-বিট শব্দের অংশ হতে পারে বা নাও হতে পারে।
নোট করুন যে বাইট শব্দটি প্রসঙ্গ ছাড়াই ভালভাবে সংজ্ঞায়িত হয়নি। কম্পিউটার আর্কিটেকচারের দিক থেকে, আপনি ধরে নিতে পারেন একটি বাইট 8-বিট, কমপক্ষে আধুনিক স্থাপত্যের জন্য। এটি মূলত সি এর মতো প্রোগ্রামিং ভাষাগুলির দ্বারা প্রমিত করা হয়েছিল, যার কমপক্ষে 8 বিট থাকতে বাইটের প্রয়োজন ছিল তবে বড় বাইটের জন্য কোনও গ্যারান্টি সরবরাহ করেনি, বাইট প্রতি 8 বিটকে কেবল নিরাপদ অনুমান করে।
8 বিট (সাধারণত 16 বা 32) এর চেয়ে বড় সংখ্যক সম্বোধনযোগ্য ইউনিট সহ কম্পিউটার রয়েছে তবে সেই ইউনিটগুলিকে সাধারণত মেশিন শব্দ বলা হয়, বাইট নয়। উদাহরণস্বরূপ, 32K 32-বিট র্যাম শব্দের সহ একটি ডিএসপি 128 কেবি বা র্যাম, 32 কেবি নয়, হিসাবে বিজ্ঞাপন দেওয়া হবে।
যোগাযোগের মানগুলির ক্ষেত্রে জিনিসগুলি এতটা সংজ্ঞায়িত হয় না। এএসসিআইআই এখনও বহুল ব্যবহৃত হয় এবং এতে 7-বিট বাইট রয়েছে (যা কম্পিউটারে 8-বিট বাইটে দুর্দান্তভাবে ফিট করে)। ইউআরটি ট্রান্সসিভারগুলি এখনও কনফিগারযোগ্য বাইট আকারের জন্য উত্পাদিত হয় (সাধারণত, আপনি কম বাইটে কমপক্ষে 6, 7 এবং 8 বিট বেছে নিতে পারেন, তবে 5 এবং 9 শুনা যায় না)।
একটি বাইট সাধারণত মেমরি স্পেসের স্বল্পতম স্বতন্ত্র ঠিকানাযুক্ত একক হিসাবে সংজ্ঞায়িত হয়। এটি যে কোনও আকার হতে পারে। 6 থেকে 9 বিটের মধ্যে কোথাও বাইট আকারের আর্কিটেকচার রয়েছে, সম্ভবত এটি আরও বড়। এমন একটি আর্কিটেকচার রয়েছে যেখানে একমাত্র ঠিকানাযোগ্য ইউনিটটি বাসের আকার, এই জাতীয় স্থাপত্যগুলিতে আমরা হয় বলতে পারি যে তাদের কেবল বাইট নেই , বা বাইটটি শব্দের সমান আকার (একটি বিশেষ ক্ষেত্রে আমি জানি যে এটি হবে be 32 বিট); যেভাবেই হোক, এটি অবশ্যই 8 বিট নয়। তেমনিভাবে, বিট-সম্বোধনযোগ্য আর্কিটেকচার রয়েছে, সেই আর্কিটেকচারগুলিতে, আমরা আবারও তর্ক করতে পারি যে বাইটগুলি কেবল অস্তিত্বহীন, বা আমরা তর্ক করতে পারি যে বাইটগুলি 1 বিট; উভয় উপায়ে একটি বুদ্ধিমান সংজ্ঞা, তবে 8 বিট অবশ্যই ভুল।
অনেকগুলি মূলধারার সাধারণ উদ্দেশ্যে আর্কিটেকচারে, একটি বাইটে 8 বিট থাকে। তবে, এটি গ্যারান্টিযুক্ত নয়। আপনি মূলধারার থেকে এবং / অথবা সাধারণ উদ্দেশ্যে সিপিইউগুলি থেকে যত দূরে সরে যান, আপনি নন-8-বিট-বাইটের মুখোমুখি হওয়ার সম্ভাবনা তত বেশি। এটি এতদূর চলে যায় যে কিছু উচ্চ-বহনযোগ্য সফ্টওয়্যার এমনকি আকারটিকে কনফিগারযোগ্যও করে তোলে। উদাহরণস্বরূপ, জিসিসির পুরানো সংস্করণগুলিতে ম্যাক্রো BITS_PER_BYTE
(বা এর মতো কিছু) রয়েছে যা একটি নির্দিষ্ট আর্কিটেকচারের জন্য বাইটের আকারটি কনফিগার করেছিল। আমি বিশ্বাস করি নেটবিএসডি-র কিছু পুরানো সংস্করণ অ-8-বিট-প্রতি-বাইট আর্কিটেকচারে চালানো যেতে পারে।
আপনি যদি সত্যিই চাপ দিতে চান যে আপনি স্মৃতিতে ক্ষুদ্রতম ঠিকানাযোগ্য পরিমাণের চেয়ে 8 বিটের সঠিক পরিমাণের কথা বলছেন, তবে এটি বৃহত্তর হতে পারে তবে আপনি অক্টেট শব্দটি ব্যবহার করতে পারেন , উদাহরণস্বরূপ এটি অনেকগুলি নতুন আরএফসিতে ব্যবহৃত হয়।
CHAR_BIT
(পাওয়া গেছে limits.h
), আমি অবগত নইBITS_PER_BYTE
১৯ 19০ সালে যখন আমি প্রোগ্রামিং শুরু করি, তখন আমাদের কাছে bit বিট বাইট সহ ৪৮ বিট শব্দ ছিল - তারা সে নামটি তখন জানতেন না, তাদের চরিত্র বলা হত। তারপরে আমি 75 বিট শব্দ এবং 15 বিট বাইট সহ গোলেম কম্পিউটারে কাজ করেছি। পরে, bit বিট বাইটগুলি আদর্শ ছিল, যতক্ষণ না আইবিএম ৩M০ নিয়ে আসে, এবং আজকাল একটি বাইট সাধারণত একটি অক্টেটের সমান, অর্থাৎ 8 বিটের ডেটা। কিছু হার্ডওয়্যারের ত্রুটি সনাক্তকরণ এবং সম্ভবত ত্রুটি সংশোধনের জন্য অতিরিক্ত বিট ছিল, তবে এগুলি সফ্টওয়্যার দ্বারা অ্যাক্সেসযোগ্য ছিল না।
একটি বাইট 8 বিট হয়।
সুদূর অতীতে, একটি মেমরি শব্দের এবং বাইটের বিভিন্ন সংজ্ঞা ছিল। আজকের জীবনে এই অস্পষ্টতা বিস্তৃত বা প্রচলিত যে পরামর্শটি মিথ্যা।
কমপক্ষে 1970 এর দশকের শেষের পরে, একটি বাইট 8 বিট হয়েছে। হোম কম্পিউটার এবং পিসিগুলির জনসাধারণ তাদের ডকুমেন্টেশনে একটি বিটকে 8-বিট মান হিসাবে অবিস্মরণীয়ভাবে ব্যবহার করেছেন, যেমন ফ্লপি ডিস্ক ড্রাইভ, হার্ড ডিস্ক ড্রাইভ এবং PROM / EPROM / EEPROM / ফ্ল্যাশ EPROM এর জন্য সমস্ত ডেটা শীট এবং ডকুমেন্টেশন রয়েছে / এসআরএএম / এসডিআরএম মেমরি চিপগুলি আমি সেই সময়ের মধ্যে পড়েছি। (এবং আমি ব্যক্তিগতভাবে সে সময়কালে এগুলির একটি বড় বিষয় পড়েছি)) ইথারনেট এবং আরও কয়েকটি যোগাযোগের প্রোটোকল আমার কাছে অক্টেটগুলি সম্পর্কে কথা বলার ক্ষেত্রে অস্বাভাবিক হিসাবে দেখা যায়।
বাইট শব্দের অস্পষ্টতা নিজেই একটি বিরল এবং অস্পষ্ট জিনিস। গত ৩০ বছরে বা আরও বেশি প্রোগ্রামার, ডিজাইন ইঞ্জিনিয়ার, পরীক্ষার প্রকৌশলী, বিক্রয়কর্মী, পরিষেবা প্রকৌশলী বা গড় পেন্টারদের জনসংখ্যার খুব কম লোক মনে করে যে এটি যদি এই শব্দটি স্বীকৃতি দেয় তবে এটি একটি 8-বিট মান ব্যতীত অন্য কিছু বোঝায় ।
যখন কোনও বাইট হার্ডওয়্যার দ্বারা পরিচালিত হয় যেমন মেমরি চিপগুলিতে সংরক্ষণ করা হয় বা তারের সাথে যোগাযোগ করা হয় তখন হার্ডওয়্যারটি বাইটে রিডানড্যান্ট ডেটা যুক্ত করতে পারে। এটি পরে হার্ডওয়্যার ত্রুটিগুলি সনাক্ত করতে সহায়তা করতে পারে যাতে অবিশ্বাস্য ডেটা সনাক্ত করা যায় এবং বাতিল করা যায় (যেমন প্যারিটি, চেকসাম, সিআরসি)। অথবা এটি ডেটাতে ত্রুটিগুলি সংশোধন করার জন্য এবং পুনরুদ্ধার করা ডেটার (যেমন ইসিসি) অনুমতি দিতে পারে। যে কোনও উপায়ে, অতিরিক্ত প্রক্রিয়াজাতকরণের জন্য বাইটটি পুনরুদ্ধার করা বা গ্রহণ করা হলে অপ্রয়োজনীয় ডেটা ফেলে দেওয়া হবে। বাইটটি কেন্দ্রীয় 8-বিট মান এবং অপ্রয়োজনীয় ডেটা অপ্রয়োজনীয় ডেটা থেকে যায়।
প্রথমত, আপনি যে টিউটোরিয়ালটি উল্লেখ করছেন তা বেশ পুরানো বলে মনে হচ্ছে, এবং x86 প্রসেসরের পুরানো সংস্করণে এটি উল্লেখ না করেই পরিচালিত বলে মনে হচ্ছে, সুতরাং আপনি সেখানে যা পড়েন সেগুলি প্রচুর পরিমাণে অন্যরা বুঝতে পারবেন না (উদাহরণস্বরূপ যদি আপনি দাবি করেন তবে যে একটি ওয়ার্ড 2 বাইট, লোকেরা হয় তা জানতে পারে না আপনি কী সম্পর্কে কথা বলছেন বা তারা জানতে পারবেন যে আপনাকে খুব পুরানো x86 প্রসেসরের উপর ভিত্তি করে শেখানো হয়েছে এবং কী প্রত্যাশা করা উচিত তা জানতে হবে)।
বাইট হ'ল যে কোনও বিটই তার সিদ্ধান্ত নেওয়া উচিত। এটি 8 বিট, বা 9 বিট, বা 16 বিট, যে কোনও কিছু হতে পারে। ২০১ In সালে, বেশিরভাগ ক্ষেত্রে একটি বাইট আট বিট হবে। নিরাপদ থাকতে আপনি অষ্টেট শব্দটি ব্যবহার করতে পারেন - একটি অক্টেট সর্বদা, সর্বদা, আট বিট is
এখানে আসল বিভ্রান্তি দুটি প্রশ্নকে বিভ্রান্ত করছে: ১. বাইটে বিটের সংখ্যা কত? ২. আমি যদি একটি বাইটকে এক জায়গা থেকে অন্য জায়গায় স্থানান্তর করতে চাইতাম, বা আমি যদি ব্যবহারিক শারীরিক উপায় ব্যবহার করে কোনও বাইট সঞ্চয় করতে চাই, তবে আমি কীভাবে এটি করব? দ্বিতীয় প্রশ্নটি সাধারণত আপনার আগ্রহের বিষয় না, যদি না আপনি মডেম তৈরির কোনও সংস্থায়, বা হার্ড ড্রাইভগুলি বা এসএসডি ড্রাইভ তৈরি না করেন। অনুশীলনে আপনি প্রথম প্রশ্নে আগ্রহী, এবং দ্বিতীয়টির জন্য আপনি কেবল "ভাল, কেউ তার দেখাশোনা করেন" বলেছিলেন।
যে প্যারিটি বিটটি উল্লেখ করা হয়েছিল তা হ'ল একটি আদিম প্রক্রিয়া যা এটি সনাক্ত করতে সহায়তা করে যে কোনও বাইট যখন মেমরিতে সংরক্ষণ করা হয়, এবং পরে বাইটটি পড়ে, স্মৃতিটি কিছু দুর্ঘটনার দ্বারা পরিবর্তিত হয়। এটি এতে খুব ভাল নয়, কারণ এটি খুঁজে পাবেন না যে দুটি বিট পরিবর্তিত হয়েছে সুতরাং একটি পরিবর্তন অনির্দিষ্টকেন্দ্রিকভাবে চলে যাওয়ার সম্ভাবনা রয়েছে, এবং এটি সমস্যা থেকে পুনরুদ্ধার করতে পারে না কারণ 8 টি বিটের মধ্যে কোনটি পরিবর্তন হয়েছে তা আবিষ্কার করার উপায় নেই , বা প্যারিটি বিট পরিবর্তন হলেও।
প্যারিটি বিটগুলি ব্যবহারিকভাবে সেই আদিম আকারে ব্যবহার হয় না। স্থায়ীভাবে সংরক্ষণ করা ডেটা সাধারণত আরও জটিল উপায়ে সুরক্ষিত থাকে, উদাহরণস্বরূপ 1024 বাইটের একটি ব্লকে 32 বিট বা দীর্ঘ চেকসাম যুক্ত করে - যা অতিরিক্ত কম জায়গা নেয় (12.5% এর পরিবর্তে এই উদাহরণে 0.4%) এবং অনেক বেশি কিছু ভুল হলে তা খুঁজে পাওয়ার সম্ভাবনা কম।
WORD
, যা ... কিন্ডা আপনার বক্তব্য প্রমাণ করে, যেহেতু উইনাপি টাইপের অনেকগুলি নাম পুরানো তবে পিছনের দিকে সামঞ্জস্যের জন্য রাখা হয় kept xP
আধুনিক ব্যবহারে, একটি বাইট 8 বিট, সময়কাল (যদিও এটির otherতিহাসিকভাবে অন্যান্য সংজ্ঞা ছিল)। অন্যদিকে, একটি ডাটা শব্দ হ'ল পারমাণবিক ইউনিট হিসাবে প্রশ্নে থাকা হার্ডওয়্যার - যা 8 বিট, 9 বিট, 10 বিট, 12 বিট, 16 বিট, 20 বিট, 24 বিট, 32 বিট ইত্যাদি হতে পারে কয়েক বছর ধরে সিস্টেমগুলিতে বিভিন্ন ধরণের শব্দের আকার রয়েছে।
একটি মেমরি সিস্টেম বা সংক্রমণ প্রোটোকল বাস্তবায়নের জন্য, ত্রুটি সনাক্তকরণ / সংশোধন যুক্ত করা অতিরিক্ত উপকারী যা এটি উপকারী। তারা 9-বিট বাইট তৈরি করে না কারণ উপরে বর্ণিত হিসাবে, বাইটটি 8 বিট হয়।
বিভিন্ন স্কিম বিভিন্নভাবে ত্রুটি সনাক্তকরণ এবং / বা সংশোধন যোগ করে।
প্যারিটির সাধারণ ব্যবহার হ'ল সংক্রমণ শব্দের একটি অতিরিক্ত বিট যুক্ত করা যাতে প্রেরণকারী একক বিট ত্রুটি সনাক্ত করতে পারে।
একক-বিট ত্রুটি সংশোধন সরবরাহ করতে পারে এমন একটি স্কিমের মধ্যে 32 বিট ডেটা শব্দের প্রতি 4 ইসিসি বিট যুক্ত হওয়া জড়িত। এটি গাণিতিকভাবে প্রতি বাইট 1 বিটের সমান হতে পারে, তবে এটি সেভাবে কাজ করে না / করতে পারে না। ৩ 36-বিট ডেটা স্পেসের জন্য একটি বিট ত্রুটি থেকে পুনরুদ্ধার করতে একটি 36-বিট ডেটা শব্দ যথেষ্ট পরিমাণে তথ্য বহন করতে পারে।
8 বিট। সিপু এবং কীবোর্ডের ভিতরে এটি 9 এবং 11 বিট হয়। যদিও ব্যবহারকারী ডেটা 8 বিট উপস্থাপন করা হয়। কীবোর্ডের কীগুলি গানগুলি প্রেরণ করে যা 11 টি বিটে বিভক্ত। 1 প্রারম্ভিক বিট, 1 সমাপ্তি বিট, 1 প্যারিটি বিট এবং 8 টি বিট যা কী টিপে প্রতিনিধিত্ব করে।