Свой В Доску
Пол:
Благодарил(а): 3,972
Благодарили 618 раз в 279 постах
Галерея:
0
|
В нескольких постах попробую в общем рассказать, что же представляет из себя программное обеспечение на самом деле, так сказать изнутри.
В общем-то информацию, которая находится в компьютере, можно разделить на два вида, - код и данные. Код это числа которые интерпретируются процессором как команды, то есть например сложить, вычесть, перейти на другую команду, вернутся обратно и т.д. Данные это числа с которыми работает команда, например команда сложить, слаживает два числа, или команда перехода на другую команду оперирует адресом на который нужно переходить и т.д.
Согласно технических мануалов, команда любого процессора называется инструкцией, а вся его куча инструкций называется набор инструкций (Instruction Set). Инструкции делятся на группы, например арифметические, логические, передача данных, передача управления и т.д.
Для того, чтобы процессор мог выполнять инструкции, которые заставляют процессор оперировать данными они должны находится в оперативном запоминающем устройстве.
В первом посте теме, я крепил рисунок тетрадки в клеточку, чтобы ассоциировать эти клеточки с ячейками памяти. Так вот следующий рисунок показывает заполненные клеточки (ячейки). Числа представлены в шестнадцатеричной системе для удобства.
Каждая из клеточек - байт. У каждой клеточки есть свой адрес от 0 и до некоторого максимума. Любой процессор начинает свое выполнение по заранее определенному адресу, и как правило на это адрес спроецирована микросхема ПЗУ, в которой находится код BIOS. Инструкции могут быть переменной длины, от одного до нескольких байт. В самой инструкции закодирован ее размер, поэтому процессор знает где находится следующая. Например на рисунке выше первая команда, находящаяся по адресу 0, - 8BFFh имеет размер 2 байта, следующая за ней 55h один байт, следующая 8BECh 2 байта и т.д.
на рисунке ниже, содержимое памяти, представленное в ее так сказать "оригинальном", двоичном виде. Каждое значение отражает состояние битов в байтах, 0 - низкий уровень сигнала, 1 - высокий соответственно. Значения сгрупированы по 8 бит, тобишь байтами.
Пока все. Далее продолжение о командах.
Последний раз редактировалось intel64, 23.12.2011 в 18:09.
Причина: добавил рисунок
|