Що таке вирівнювання 16-бітної адреси слова?
Дані, вирівняні за 16-байтною межею, матимуть адресу пам’яті, яка є парним числом — строго кажучи, кратним двом. Кожен байт складається з 8 біт, тому для вирівнювання на межі 16 байт вам потрібно вирівняти для кожного набору з двох байтів.19 квітня 2012 р
Оскільки 216 дорівнює 65 536, процесор із 16-розрядними адресами пам’яті може мати прямий доступ 64 КБ (65 536 байт) пам'яті з байтовою адресацією. Якщо в системі використовується сегментація з 16-бітними зміщеннями сегментів, можна отримати доступ до більшої кількості.
16-бітний: Старіший розмір слова, поширений у 1980-х і на початку 1990-х років, який допускає 65 536 унікальних адрес пам’яті та обмежений 64 КБ адресної пам’яті. 32-розрядний: більш сучасний розмір слова, який може обробляти 4 ГБ адресної пам’яті та забезпечує швидший час обробки порівняно з 16-розрядними системами.
Вирівняний доступ — це операція, у якій є адреса, вирівняна за словами використовується для доступу до слова, подвійного слова або кількох слів, або де адреса, вирівняна напівслова, використовується для доступу напівслова. Доступи до байтів завжди вирівняні.
Якщо цілі вирівнюються на межах слів, між символами та цілі має бути 3 байти. Це означає, що розмір структури становить 16 байт, якщо потрібне вирівнювання. Додаткові байти називаються заповненням або дірками.
Оскільки 16-байтова вирівняна адреса має ділитися на 16, найменша значуща цифра в шістнадцятковому числі має завжди бути 0. Ось чому використовуються логічні оператори, щоб зробити першу цифру нулем у шістнадцятковому числі. Крім того, у вас може бути від 0 до 15 байт невирівняної адреси.