بیت برابری

از ویکیپدیا، دانشنامه آزاد
پرش به ناوبری پرش به جستجو
7 بیت داده
(تعداد 1 بیتی) 8 بیت شامل برابری
زوج فرد
0000000 0 0000000 0 0000000 1
1010001 3 1010001 1 1010001 0
1101001 4 1101001 0 1101001 1
1111111 7 1111111 1 1111111 0

یک بیت برابری یا بیت چک ، بیتی به رشته کد باینری اضافه می شود . بیت های برابری شکل ساده ای از کد تشخیص خطا هستند . بیت توازن به طور کلی به کوچکترین واحد از یک پروتکل ارتباطی، به طور معمول 8 بیتی اعمال بایت (بایت)، اگر چه آنها همچنین می توانید به طور جداگانه به کل رشته پیام از بیت استفاده شود.

بیت برابری تضمین می کند که تعداد کل 1 بیت در رشته زوج یا فرد است . [1] بر این اساس، دو نوع بیت برابری وجود دارد: بیت برابری زوج و بیت برابری فرد.. در مورد برابری زوج، برای مجموعه معینی از بیت ها، وقوع بیت هایی که مقدار آنها 1 است، شمارش می شود. اگر این تعداد فرد باشد، مقدار بیت برابری بر روی 1 تنظیم می شود، و تعداد کل وقوع 1 ها در کل مجموعه (شامل بیت برابری) به عدد زوج تبدیل می شود. اگر تعداد 1s در مجموعه معینی از بیت ها از قبل زوج باشد، مقدار بیت برابری 0 است. در مورد برابری فرد، کدگذاری معکوس می شود. برای یک مجموعه معین از بیت ها، اگر تعداد بیت های با مقدار 1 زوج باشد، مقدار بیت برابری برابر با 1 تنظیم می شود و تعداد کل 1 ها در کل مجموعه (شامل بیت برابری) یک عدد فرد است. اگر تعداد بیت‌های با مقدار 1 فرد باشد، شمارش قبلاً فرد است، بنابراین مقدار بیت برابری 0 است. برابری زوج یک مورد خاص از بررسی افزونگی چرخه‌ای (CRC) است، که در آن CRC 1 بیتی توسط راچند جمله ای x +1.

اگر بیتی در نقطه‌ای وجود داشته باشد که در غیر این صورت به یک بیت برابری اختصاص داده شده است اما برای برابری استفاده نمی‌شود، ممکن است به عنوان بیت برابری علامت اگر بیت برابری همیشه 1 باشد، یا بیت برابری فاصله اگر بیت همیشه 0 باشد، به آن اشاره می‌شود. در چنین مواردی که مقدار بیت ثابت است، ممکن است آن را یک بیت برابری چوب نامیده شود، حتی اگر عملکرد آن ربطی به برابری نداشته باشد. [2] عملکرد چنین بیت‌هایی با طراحی سیستم متفاوت است، اما نمونه‌هایی از توابع برای چنین بیت‌هایی شامل مدیریت زمان‌بندی یا شناسایی یک بسته به‌عنوان داده یا آدرس اهمیت است. [3] اگر مقدار بیت واقعی آن به عملکرد آن بی ربط باشد، بیت معادل یک عبارت نگران نباشید . [4]

برابری

در ریاضیات، برابری می‌تواند به زوج بودن یا عجیب بودن یک عدد صحیح اشاره داشته باشد، که وقتی به شکل دودویی آن نوشته می‌شود ، فقط با بررسی بیت کم‌اهمیت آن می‌توان آن را تعیین کرد .

در فناوری اطلاعات، برابری به زوج یا عجیب بودن، با توجه به مجموعه‌ای از ارقام دودویی، تعداد آن بیت‌ها با مقدار یک اشاره دارد. از آنجایی که برابری با وضعیت هر یک از بیت ها تعیین می شود، این ویژگی برابری - وابسته بودن به همه بیت ها و تغییر مقدار آن از زوج به برابری فرد در صورت تغییر هر یک از بیت ها - امکان استفاده از آن در طرح های تشخیص و تصحیح خطا را فراهم می کند. .

در مخابرات، برابری که در برخی از پروتکل ها به آن اشاره می شود، برای تشخیص خطا است . رسانه انتقال در هر دو نقطه پایانی برای توافق بر سر برابری فرد یا زوج از پیش تنظیم شده است. برای هر رشته از بیت های آماده برای انتقال (بسته داده)، فرستنده بیت برابری آن را محاسبه می کند، صفر یا یک، تا آن را با برابری توافق شده، زوج یا فرد مطابقت دهد. گیرنده آن بسته ابتدا بررسی می کند که برابری بسته به عنوان یک کل مطابق با توافق نامه از پیش تعیین شده است، سپس اگر خطای برابری در آن بسته وجود داشته باشد، درخواست ارسال مجدد آن بسته را می کند.

در علوم کامپیوتر، نوار برابری یا دیسک برابری در یک آرایه RAID ، تصحیح خطا را فراهم می کند . بیت های برابری با نرخ یک بیت برابری در هر n بیت نوشته می شوند که n تعداد دیسک های موجود در آرایه است. هنگامی که یک خطای خواندن رخ می دهد، هر بیت در منطقه خطا از مجموعه n بیت آن دوباره محاسبه می شود. به این ترتیب، استفاده از یک بیت برابری، برای یک منطقه از اندازه یک بیت به اندازه یک دیسک، «اضافه» ایجاد می کند. مشاهده آرایه وقفه در هنگام از دیسک های مستقل § زیر کلیک کنید.

در الکترونیک، رمزگذاری داده‌ها با برابری می‌تواند بسیار کارآمد باشد، زیرا دروازه‌های XOR چیزی معادل یک بیت چک را خروجی می‌دهند که برابری یکنواخت را ایجاد می‌کند، و طراحی منطقی XOR به راحتی به هر تعداد ورودی مقیاس می‌شود. ساختارهای XOR و AND بخش عمده ای از مدارهای مجتمع را تشکیل می دهند.

تشخیص خطا

اگر تعدادی بیت (از جمله بیت برابری) اشتباه ارسال شود ، بیت برابری نادرست خواهد بود، بنابراین نشان می دهد که یک خطای برابری در انتقال رخ داده است. بیت برابری فقط برای تشخیص خطاها مناسب است. نمی تواند هیچ خطایی را اصلاح کند، زیرا هیچ راهی برای تعیین اینکه کدام بیت خاص خراب است وجود ندارد. داده ها باید به طور کامل دور ریخته شوند و دوباره از ابتدا ارسال شوند . در یک رسانه انتقال پر سر و صدا، انتقال موفقیت آمیز می تواند زمان زیادی طول بکشد یا حتی هرگز اتفاق نیفتد. با این حال، برابری این مزیت را دارد که فقط از یک بیت استفاده می کند و برای تولید فقط به تعدادی گیت XOR نیاز دارد . برای نمونه ای از کد تصحیح خطا، کد Hamming را ببینید .

بررسی بیت برابری گاهی اوقات برای انتقال کاراکترهای ASCII استفاده می شود که دارای 7 بیت هستند و بیت هشتم را به عنوان بیت برابری باقی می گذارند.

به عنوان مثال، بیت برابری را می توان به صورت زیر محاسبه کرد. فرض کنید آلیس و باب در حال ارتباط هستند و آلیس می خواهد پیام ساده 4 بیتی 1001 را برای باب ارسال کند.

نوع برابری بیت سناریوی انتقال موفق
حتی برابری

آلیس می خواهد انتقال دهد: 1001

آلیس مقدار بیت برابری را محاسبه می کند: 1+0+0+1 (mod 2) = 0

آلیس بیت برابری را اضافه می کند و می فرستد: 10010

باب دریافت می کند: 10010

باب برابری را محاسبه می کند: 1+0+0+1+0 (mod 2) = 0

باب پس از مشاهده نتیجه یکنواخت مورد انتظار، انتقال صحیح را گزارش می دهد.

برابری عجیب و غریب

آلیس می خواهد انتقال دهد: 1001

آلیس مقدار بیت برابری را محاسبه می کند: 1+0+0+1 (mod 2) = 0

آلیس بیت برابری را اضافه می کند و می فرستد: 1001 1

باب دریافت می کند: 10011

باب برابری کلی را محاسبه می کند: 1+0+0+1+1 (mod 2) = 1

باب پس از مشاهده نتیجه عجیب و غریب مورد انتظار، انتقال صحیح را گزارش می کند.

این مکانیسم تشخیص خطاهای تک بیتی را امکان پذیر می کند، زیرا اگر یک بیت به دلیل نویز خط برگردانده شود، تعداد اشتباهی از یک بیت در داده های دریافتی وجود خواهد داشت. در دو مثال بالا، مقدار برابری محاسبه شده باب با بیت برابری در مقدار دریافتی آن مطابقت دارد، که نشان می‌دهد هیچ خطای تک بیتی وجود ندارد. مثال زیر را با خطای انتقال در بیت دوم با استفاده از XOR در نظر بگیرید:

نوع خطای برابری بیت سناریوی انتقال ناموفق
حتی برابری

خطا در بیت دوم

آلیس می خواهد انتقال دهد: 1001

آلیس مقدار بیت برابری را محاسبه می کند: 1^0^0^1 = 0

آلیس بیت برابری را اضافه می کند و می فرستد: 10010

... خطای انتقال...

باب دریافت می کند: 1 010

باب برابری کلی را محاسبه می کند: 1^1^0^1^0 = 1

باب پس از مشاهده نتیجه غیرمنتظره عجیب، انتقال نادرست را گزارش می کند.

حتی برابری

خطا در بیت برابری

آلیس می خواهد انتقال دهد: 1001

آلیس مقدار برابری زوج را محاسبه می کند: 1^0^0^1 = 0

آلیس ارسال می کند: 10010

... خطای انتقال...

باب دریافت می کند: 1001 1

باب برابری کلی را محاسبه می کند: 1^0^0^1^1 = 1

باب پس از مشاهده نتیجه غیرمنتظره عجیب، انتقال نادرست را گزارش می کند.

یک محدودیت برای طرح های برابری وجود دارد. یک بیت برابری فقط برای تشخیص تعداد فرد خطای بیت تضمین شده است. اگر تعدادی از بیت ها دارای خطا باشند، بیت برابری تعداد صحیح یک ها را ثبت می کند، حتی اگر داده ها خراب باشند. (همچنین به تشخیص و تصحیح خطا مراجعه کنید .) همان مثال قبلی را با تعداد زوج از بیت های خراب در نظر بگیرید:

نوع خطای برابری بیت سناریوی انتقال ناموفق
حتی برابری

دو بیت خراب

آلیس می خواهد انتقال دهد: 1001

آلیس مقدار برابری زوج را محاسبه می کند: 1^0^0^1 = 0

آلیس ارسال می کند: 10010

... خطای انتقال...

باب: 1 1 01 1 را دریافت می کند

باب برابری کلی را محاسبه می کند: 1^1^0^1^1 = 0

باب انتقال صحیح را گزارش می‌کند، هرچند در واقع نادرست است.

باب همان طور که انتظار می رود برابری یکنواخت را مشاهده می کند، در نتیجه نمی تواند خطاهای دو بیت را بگیرد.

استفاده

به دلیل سادگی، برابری در بسیاری از برنامه‌های سخت‌افزاری استفاده می‌شود که در آن‌ها می‌توان عملیات را در صورت مشکل تکرار کرد، یا در مواردی که به سادگی تشخیص خطا مفید است. به عنوان مثال، SCSI و اتوبوس PCI استفاده برابری برای تشخیص خطاهای انتقال، و بسیاری از ریزپردازنده آموزش انبارهای عبارتند از حفاظت توازن. از آنجایی که داده‌های کش I فقط یک کپی از حافظه اصلی هستند ، اگر مشخص شود که خراب است، می‌توان آن را نادیده گرفت و دوباره واکشی کرد.

در انتقال داده های سریال ، یک فرمت رایج 7 بیت داده، یک بیت برابری زوج و یک یا دو بیت توقف است . این فرمت تمام کاراکترهای ASCII 7 بیتی را در یک بایت 8 بیتی در خود جای می دهد. فرمت های دیگر ممکن است. 8 بیت داده به اضافه یک بیت برابری می تواند تمام مقادیر بایت 8 بیتی را منتقل کند.

در زمینه‌های ارتباط سریال، برابری معمولاً توسط سخت‌افزار رابط (مثلاً یک UART ) تولید و بررسی می‌شود و در هنگام دریافت، نتیجه از طریق یک پردازنده در اختیار پردازنده‌ای مانند CPU (و همچنین، برای مثال، سیستم عامل ) قرار می‌گیرد. بیت وضعیت در یک ثبت سخت افزار در سخت افزار رابط . بازیابی خطا معمولاً با ارسال مجدد داده‌ها انجام می‌شود که جزئیات آن معمولاً توسط نرم‌افزار (مثلاً روال‌های ورودی/خروجی سیستم عامل) انجام می‌شود.

وقتی تعداد کل بیت‌های ارسالی، از جمله بیت برابری، زوج باشد، برابری فرد این مزیت را دارد که الگوهای صفر و یک‌ها هر دو به عنوان خطا شناسایی می‌شوند. اگر تعداد کل بیت ها فرد باشد، تنها یکی از الگوها به عنوان خطا تشخیص داده می شود و بر اساس آن می توان انتخاب کرد که انتظار می رود خطای رایج تر باشد.

آرایه RAID

داده های برابری توسط آرایه های RAID ( آرایه اضافی دیسک های مستقل/ارزان ) برای دستیابی به افزونگی استفاده می شود . اگر یک درایو در آرایه از کار بیفتد، داده‌های باقی‌مانده روی درایوهای دیگر را می‌توان با داده‌های برابری (با استفاده از تابع XOR بولی ) برای بازسازی داده‌های از دست رفته ترکیب کرد.

برای مثال، فرض کنید دو درایو در یک آرایه RAID 5 سه درایو حاوی داده‌های زیر باشد:

درایو 1: 01101101
درایو 2: 11010100

برای محاسبه داده های برابری برای دو درایو، یک XOR روی داده های آنها انجام می شود:

01101101
  XOR     11010100
10111001

سپس داده برابری حاصل، 10111001 ، در Drive 3 ذخیره می‌شود.

اگر هر یک از سه درایو از کار بیفتد، محتویات درایو خراب را می‌توان با قرار دادن داده‌های درایوهای باقی‌مانده به همان عملیات XOR روی یک درایو جایگزین بازسازی کرد. اگر درایو 2 از کار بیفتد، داده های آن را می توان با استفاده از نتایج XOR محتویات دو درایو باقی مانده، درایو 1 و درایو 3، بازسازی کرد:

درایو 1: 01101101
درایو 3: 10111001

به شرح زیر است:

10111001
  XOR     01101101
11010100

نتیجه آن محاسبه XOR محتویات Drive 2 را به دست می‌دهد. سپس 11010100 در Drive 2 ذخیره می شود و آرایه را به طور کامل تعمیر می کند.

منطق XOR نیز معادل برابری زوج است (زیرا یک XOR b XOR c XOR ... ممکن است به عنوان XOR ( a , b , c ,...) در نظر گرفته شود که یک عملگر n-اری است که اگر و فقط اگر تعداد فرد آرگومان درست است). بنابراین همان مفهوم XOR بالا به طور مشابه برای آرایه های RAID بزرگتر با برابری، با استفاده از هر تعداد دیسک اعمال می شود. در مورد یک آرایه RAID 3 متشکل از 12 درایو، 11 درایو در محاسبه XOR که در بالا نشان داده شده است شرکت می کنند و مقداری را تولید می کنند که سپس در درایو برابری اختصاصی ذخیره می شود.

افزونه ها و تغییرات در مکانیسم بیت برابری برابری "دو"، "دوگانه" یا "مورب" در RAID-DP استفاده می شود .

تاریخچه

یک مسیر برابری در اولین ذخیره سازی داده نوار مغناطیسی در سال 1951 وجود داشت. برابری در این شکل که در سیگنال های موازی متعدد اعمال می شود، به عنوان بررسی افزونگی عرضی شناخته می شود . این را می توان با برابری محاسبه شده بر روی چندین بیت ارسال شده در یک سیگنال واحد، یک بررسی افزونگی طولی ترکیب کرد . در یک گذرگاه موازی، یک بیت بررسی افزونگی طولی در هر سیگنال موازی وجود دارد.

برابری همچنین حداقل در برخی از سیستم‌های ورود داده‌های نوار کاغذی ( نوار پانچ ) (که قبل از سیستم‌های نوار مغناطیسی بودند) استفاده شد. در سیستم‌های فروخته شده توسط شرکت بریتانیایی ICL (ICT سابق) نوار کاغذی با عرض 1 اینچ (25 میلی‌متر) دارای 8 حفره بود که هشتمین آن برای برابری بود. 7 موقعیت برای داده ها استفاده شد، به عنوان مثال، ASCII 7 بیتی. موقعیت هشتم بسته به تعداد حفره های داده پانچ شده، سوراخی در آن سوراخ شده بود.

همچنین ببینید

منابع

  1. ^ زیمر، راجر ای. ترانتر، ویلیام اچ. اصول ارتباطات: سیستم ها، مدولاسیون و نویز (ویرایش هفتم). هوبوکن، نیوجرسی شابک 9781118078914. OCLC  856647730 .
  2. ^ "تفاوت بین استفاده از علامت یا فاصله برابری و برابری-هیچ" چیست ؟[ منبع نامعتبر؟ ]
  3. "هدف از برابری استیک چیست؟" .
  4. "Serial Communications" ، Sat-Digest ، بازیابی شده در 23/03/2020

پیوندهای خارجی