Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Биты, байты, слова, параграфы





Биты, байты, слова, параграфы

Представление информации

Системы счисления

Контрольные вопросы

Биты, байты, слова, параграфы

Компьютер работает в двоичной системе счисления — минимальным информа­ционным элементом является бит, который может принимать значение 0 или 1. Этим значениям соответствуют различимые физические состояния ячейки, чаще всего — уровень напряжения (низкий или высокий). Биты организуются в более крупные образования — ячейки памяти и регистры. Каждая ячейка па­мяти (и каждый регистр) имеет свой адрес, однозначно ее идентифицирующий в определенной системе координат. Минимальной адресуемой (пересылаемой между компонентами компьютера) единицей информации является байт, со­стоящий, как правило, из 8 бит. Два байта со смежными адресами образуют слово (word) разрядностью 16 бит, два смежных слова — двойное слово (double word) разрядностью 32 бита, два смежных двойных слова — учетверенное слово (quad word) разрядностью 64 бита. Байт (8 бит) делится на пару тетрад (nibble): старшую тетраду — биты [7:4] и младшую тетраду — биты [3:0].

В двухбайтном слове принят LH-порядок следования байтов: адрес слова указы­вает на младший байт L (Low), а старший байт Н (High) размещается по адресу, большему на единицу. В двойном слове порядок аналогичен — адрес указывает на самый младший байт, после которого размещены следующие по старшинству. Этот порядок, называемый форматом Little Endian и естественный для процес­соров Intel, применяется не во всех микропроцессорных семействах. В формате Big Endian адрес указывает на самый старший байт (двойного, учетверенного...) слова, остальные байты размещаются по нарастающим адресам. С несовпадени­ем форматов представления приходится сталкиваться, например, при передаче информации между различными подсистемами (формат Big Endian использу­ется в сетевых протоколах и шине FireWire).

В технической документации, электрических схемах и текстах программ могут применяться разные способы представления чисел:

♦ Двоичные (binary) числа — каждая цифра отражает значение одного бита (0 или 1), старший бит всегда пишется слева, после числа ставится буква «b». Для удобства восприятия тетрады могут быть разделены пробелами, напри­мер, 1010 0101b.

♦ Шестнадцатеричные (hexadecimal) числа — каждая тетрада представляется одним символом 0...9, А, В,..., F. Обозначаться такое представление может по-разному, в данной книге используется только символ «h» после послед­ней шестнадцатеричной цифры, например, A5h. В текстах программ это же число может обозначаться и как 0хА5, и как 0A5h, в зависимости от синтак­сиса языка программирования. Незначащий ноль (0) добавляется слева от старшей шестнадцатеричной цифры, изображаемой буквой, чтобы различать числа и символические имена.

♦ Десятичные (decimal) числа — каждый байт (слово, двойное слово) пред­ставляется обычным числом, а признак десятичного представления (букву «d») обычно опускают. Байт из предыдущих примеров имеет десятичное значение 165. В отличие от двоичной и шестнадцатеричной форм записи, по десятичной трудно в уме определить значение каждого бита, что иногда при­ходится делать.

♦ Восьмеричные (octal) числа — каждая тройка битов (разделение начинается с младшего) записывается в виде цифры из интервала 0-7, в конце ставится признак «о». То же самое число записывается как 245о. Восьмеричная систе­ма неудобна тем, что байт не разделить поровну, но зато все цифры — привычные. В «про-интеловских» системах это представление непопулярно (у него «DEC'ob-ское» происхождение).

В табл. 1.1 приведены разные представления одной тетрады (4 бит). Чтобы пе­ревести любое 8-битное число в десятичное, нужно десятичный эквивалент старшей тетрады умножить на 16 и сложить с эквивалентом младшей тетрады.

 

Для нашего примера A5h = 10* 16 + 5 = 165. Обратный перевод тоже несложен: десятичное число делится на 16, целая часть даст значение старшей тетрады, ос­таток — младшей.

 

 
 


В «наследство» от процессоров 8086/88 достался своеобразный способ задания адреса ячейки памяти в виде указателя «seg:offset», состоящего из двух слов: сегмента (seg — segment) и смещения (offset). Такая запись предполагает вы­числение полного адреса по формуле addr = 16 • seg + offset. Такое представле­ние 20-битного адреса двумя 16-битными числами в процессорах 8086/88 под­держивается и в реальном режиме всех последующих процессоров х86 (под­робнее об адресации памяти см. в 7.3). Здесь сегмент указывает адрес парагра­фа — 16-байтной области памяти. Выравнивание адреса по границе параграфа означает, что он кратен 16 (4 младших бита нулевые). Нетрудно увидеть, что один и тот же адрес можно задавать разными сочетаниями этих двух компонен­тов. Так, например, адрес начала области данных BIOS (BIOS Data Area) 00400h представляют и как 0000:0400, и как 0040:0000 (шестнадцатеричное представление подразумевается). Возможны и другие варианты, но их не ис­пользуют. В данной книге в основном будем пользоваться первым способом, причем нулевое значение сегмента будем представлять кратко, то есть 0:0400. К счастью, в 32-разрядном (и 64-разрядном) режиме работы процессоров в со­временных ОС и приложениях сегментация не применяется, а адрес выражает­ся одним (32- или 64-битным) числом.

Обозначение и порядок битов и байтов шин адреса и данных, принятое в аппа­ратуре PC, пришло от процессоров Intel 8086/88 (и даже от 8080). Самый млад­ший бит (Least Significant Bit, LSB) имеет номер 0, самый старший (MostSignificant Bit, MSB) бит байта — 7, слова — 15, двойного слова — 31. На рисун­ках принято старший бит изображать слева, а младший — справа.

 

Date: 2015-09-05; view: 1257; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию