چرا حروف در EBCDIC پشت سر هم نیستند؟

استاندارد ASCII در سال 1963 پذیرفته شد و در حال حاضر به ندرت کسی از رمزگذاری استفاده می کند که 128 کاراکتر اولیه آن با ASCII متفاوت باشد. با این حال، تا پایان قرن گذشته، EBCDIC به طور فعال مورد استفاده قرار می گرفت - رمزگذاری استاندارد برای رایانه های اصلی IBM و کلون های شوروی آنها رایانه های EC. EBCDIC رمزگذاری اولیه در z/OS است، سیستم عامل استاندارد برای پردازنده های مرکزی مدرن IBM Z.

چیزی که بلافاصله هنگام نگاه کردن به EBCDIC توجه شما را جلب می کند این است که حروف در یک ردیف نیستند: بین I и J و بین R и S موقعیت های استفاده نشده ای وجود داشت (در رایانه ES برای این فواصل توزیع شده است کاراکترهای سیریلیک). چه کسی فکر می کرد حروفی را با فاصله نابرابر بین حروف مجاور رمزگذاری کند؟

چرا حروف در EBCDIC پشت سر هم نیستند؟

خود نام EBCDIC ("Extended BCDIC") اشاره می کند که این رمزگذاری - بر خلاف ASCII - از ابتدا ایجاد نشده است، بلکه بر اساس رمزگذاری BCDIC شش بیتی است که از آن زمان استفاده شده است. آی بی ام 704 (1954):

چرا حروف در EBCDIC پشت سر هم نیستند؟

هیچ سازگاری فوری به عقب وجود ندارد: یک ویژگی راحت BCDIC که در انتقال به EBCDIC از بین رفت این بود که اعداد 0-9 مطابق با کدهای 0-9 است. با این حال، بین هفت کد شکاف وجود دارد I и J و در هشت کد بین R и S قبلاً به BCDIC رفته اند. آنها از کجا آمده اند؟

تاریخچه (E)BCDIC به طور همزمان با تاریخچه IBM آغاز می شود - بسیار قبل از رایانه های الکترونیکی. آی‌بی‌ام در نتیجه ادغام چهار شرکت شکل گرفت که پیشرفته‌ترین آنها از نظر فناوری، شرکت ماشین‌های جدول‌بندی بود که در سال 1896 توسط هرمان هولریث، مخترع، تأسیس شد. جدول نویس. اولین جدول‌سازها به سادگی تعداد کارت‌های پانچ شده را در یک مکان خاص شمارش کردند. اما در سال 1905 هولریث شروع به تولید کرد اعشاری جدول سازها هر کارت برای جدول اعشاری شامل فیلدهایی با طول دلخواه بود و اعداد نوشته شده در این فیلدها به شکل اعشاری معمول در کل عرشه جمع می شدند. تفکیک نقشه به فیلدها با اتصال سیم های روی پچ پنل جدول ساز تعیین شد. به عنوان مثال، در این کارت پانچ هولریت، ذخیره شده است در کتابخانه کنگره، شماره 23456789012345678 به وضوح مهر شده است، ناشناخته به عنوان تقسیم به فیلدها:

چرا حروف در EBCDIC پشت سر هم نیستند؟

شايد دقت كنندگان متوجه شده باشند كه در نقشه هولريث 12 رديف براي حفره ها وجود دارد، اگرچه ده رديف براي اعداد كافي است. و در BCDIC، برای هر مقدار از مهم ترین دو بیت، تنها 12 کد از 16 کد ممکن استفاده می شود.

البته این اتفاقی نیست. در ابتدا، هولریث ردیف‌های اضافی را برای «نشان‌های ویژه» در نظر گرفت که با هم جمع نمی‌شدند، بلکه به سادگی شمارش می‌شدند - مانند اولین جدول‌سازها. (امروز ما آنها را "فیلدهای بیت" می نامیم.) علاوه بر این، در میان "علامت های ویژه" می توان شاخص های گروهی را تنظیم کرد: اگر جدول بندی نه تنها به مبالغ نهایی، بلکه به مبالغ متوسط ​​نیز نیاز داشت، جدول نویس زمانی متوقف می شد. تغییری را در هر یک از نشانگرهای گروه تشخیص داد، و اپراتور مجبور شد جمع‌های فرعی را از بردهای دیجیتال روی کاغذ بازنویسی کند، برد را تنظیم مجدد کند و جدول‌بندی را از سر بگیرد. به عنوان مثال، هنگام محاسبه مانده حسابداری، گروهی از کارت ها می توانند با یک تاریخ یا یک طرف مقابل مطابقت داشته باشند.

در سال 1920، زمانی که هولریث قبلاً بازنشسته شده بود، "تبلورهای تایپ" مورد استفاده قرار گرفتند که به یک تله تایپ متصل بودند و می توانستند خود مجموع های فرعی را بدون نیاز به مداخله اپراتور چاپ کنند. مشکل اکنون تعیین این بود که هر یک از اعداد چاپ شده به چه چیزی اشاره دارد. در سال 1931، IBM تصمیم گرفت از "علامت های ویژه" برای نشان دادن حروف استفاده کند: علامتی در ردیف 12 نشان دهنده حرف از A به I، در یازدهم - از J به R، در صفر - از S به Z. "جدول الفبا" جدید می تواند نام هر گروه از کارت ها را به همراه جمع های فرعی چاپ کند. در این حالت، ستون شکسته نشده به فضای بین کاراکترها تبدیل می شود. لطفا توجه داشته باشید که S با ترکیب حفره 0+2 مشخص می شود و ترکیب 0+1 در ابتدا به دلیل ترس از اینکه دو سوراخ در کنار یکدیگر در یک ستون باعث ایجاد مشکلات مکانیکی در خواننده شود استفاده نمی شد.

چرا حروف در EBCDIC پشت سر هم نیستند؟

اکنون می توانید جدول BCDIC را از زاویه کمی متفاوت نگاه کنید:

چرا حروف در EBCDIC پشت سر هم نیستند؟

به جز اینکه 0 و فاصله معکوس می شوند، دو بیت مهم، "علامت ویژه" را که از سال 1931 در کارت پانچ برای کاراکتر مربوطه وارد شده است، تعریف می کنند. و کم اهمیت ترین چهار بیت رقمی که در قسمت اصلی کارت سوراخ شده است را تعیین می کند. پشتیبانی از نماد & - / در دهه 1930 به جدول‌های IBM اضافه شد و رمزگذاری BCDIC این کاراکترها با ترکیب‌های سوراخ‌شده برای آنها مطابقت دارد. هنگامی که پشتیبانی از تعداد بیشتری از کاراکترها مورد نیاز بود، ردیف 8 به عنوان یک "علامت ویژه" اضافی پانچ می شد - بنابراین، می تواند حداکثر سه سوراخ در یک ستون وجود داشته باشد. این قالب کارت های پانچ شده تقریباً تا پایان قرن بدون تغییر باقی ماند. در اتحاد جماهیر شوروی، آنها رمزگذاری لاتین و نقطه گذاری IBM را ترک کردند و برای حروف سیریلیک چندین "علامت ویژه" را به طور همزمان در ردیف های 12، 11، 0 پانچ کردند - نه محدود به سه سوراخ در یک ستون.

زمانی که کامپیوتر IBM 704 ساخته شد، مدت زیادی در مورد رمزگذاری کاراکتر آن فکر نکردند: آنها رمزگذاری را که در آن زمان در کارت های پانچ استفاده می شد، برداشتند و فقط «آن را در جای خود قرار دادند». در سال 0، در طول انتقال از BCDIC به EBCDIC، چهار بیت مرتبه پایین هر نماد بدون تغییر باقی ماندند، اگرچه بیت های مرتبه بالا کمی به هم ریخته شدند. بنابراین، فرمت کارت پانچ انتخاب شده توسط هولریث در آغاز قرن گذشته بر معماری تمام کامپیوترهای IBM، تا و از جمله IBM Z، تأثیر گذاشت.

منبع: www.habr.com

اضافه کردن نظر