Основу компьютеров образует аппаратура (HardWare), построенная с использованием электронных и электромеханических элементов и устройств. Принцип действия компьютеров состоит в выполнении программ (SoftWare) – заранее заданных, четко определённых последовательностей арифметических, логических и других операций.
Команда – это описание операции, которую должен выполнить компьютер. Как правило, у команды есть свой код (условное обозначение), исходные данные (операнды) и результат. Например, у команды "сложить два числа" операндами являются слагаемые, а результатом – их сумма. А у команды "стоп" операндов нет, а результатом является прекращение работы программы.
Команда – это описание элементарной операции, которую должен выполнить компьютер. В общем случае, команда содержит следующую информацию:
- код выполняемой операции;
- указания по определению операндов (или их адресов);
- указания по размещению получаемого результата.
В зависимости от количества операндов, команды бывают:
- одноадресные;
- двухадресные;
- трехадресные;
- переменноадресные.
Команды хранятся в ячейках памяти в двоичном коде. В современных компьютерах длина команд переменная (обычно от двух до четырех байтов), а способы указания адресов переменных весьма разнообразные. В адресной части команды может быть указан, например:
- сам операнд (число или символ);
- адрес операнда (номер байта, начиная с которого расположен операнд);
- адрес адреса операнда (номер байта, начиная с которого расположен адрес операнда), и др.
Рассмотрим несколько возможных вариантов команды сложения (англ. add – сложение), при этом вместо цифровых кодов и адресов будем пользоваться условными обозначениями:
- одноадресная команда add x (содержимое ячейки x сложить с содержимым сумматора, а результат оставить в сумматоре)
- двухадресная команда add x, y (сложить содержимое ячеек x и y, а результат поместить в ячейку y)
- трехадресная команда add x, y, z (содержимое ячейки x сложить с содержимым ячейки y, сумму поместить в ячейку z)
Как пpавило, процесс выполнения команды разбивается на следующие этапы:
- из ячейки памяти, адрес которой хранится в счетчике команд, выбирается очередная команда; содержимое счетчика команд при этом увеличивается на длину команды;
- выбранная команда передается в устройство управления на регистр команд;
- устройство управления расшифровывает адресное поле команды;
- по сигналам УУ операнды считываются из памяти и записываются в АЛУ на специальные регистры операндов;
- УУ расшифровывает код операции и выдает в АЛУ сигнал выполнить соответствующую операцию над данными;
- результат операции либо остается в процессоре, либо отправляется в память, если в команде был указан адрес результата;
все предыдущие этапы повторяются до достижения команды "стоп".
Результат команды вырабатывается по точно определенным для данной команды правилам, заложенным в конструкцию компьютера. Совокупность команд, выполняемых данным компьютером, называется системой команд этого компьютера.
Разнообразие современных компьютеров очень велико. Но их структуры основаны на общих логических принципах, позволяющих выделить в любом компьютере следующие главные устройства:
- память (запоминающее устройство, ЗУ), состоящую из перенумерованных ячеек;
- процессор, включающий в себя устройство управления (УУ) и
- арифметико-логическое устройство (АЛУ);
- устройство ввода;
- устройство вывода.
Эти устройства соединены каналами связи, по которым передается информация. Основные устройства компьютера и связи между ними представлены на схеме, приведённой ниже. Жирными стрелками показаны пути и направления движения информации, а простыми стрелками – пути и направления передачи управляющих сигналов.
Функции памяти:
a) приём информации из других устройств;
b) запоминание информации;
c) выдача информации по запросу в другие устройства машины.
Функции процессора:
a) обработка данных по заданной программе путем выполнения арифметических и логических операций;
b) программное управление работой устройств компьютера.
Та часть процессора, которая выполняет команды, называется арифметико-логическим устройством (АЛУ), а другая его часть, выполняющая функции управления устройствами, называется устройством управления (УУ). Обычно эти два устройства выделяются чисто условно, конструктивно они не разделены.
В составе процессора имеется ряд специализированных дополнительных ячеек памяти, называемых регистрами. Регистр выполняет функцию кратковременного хранения числа или команды. Над содержимым некоторых регистров специальные электронные схемы могут выполнять некоторые манипуляции. Например, "вырезать" отдельные части команды для последующего их использования или выполнять определенные арифметические операции над числами. Основным элементом регистра является электронная схема, называемая триггером, которая способна хранить одну двоичную цифру (разряд).
Регистр представляет собой совокупность триггеров, связанных друг с другом определённым образом общей системой управления. Существует несколько типов регистров, отличающихся видом выполняемых операций. Некоторые важные регистры имеют свои названия, например:
- сумматор – регистр АЛУ, участвующий в выполнении каждой операции;
- счетчик команд – регистр УУ, содержимое которого соответствует адресу очередной выполняемой команды; служит для автоматической выборки программы из последовательных ячеек памяти;
- регистр команд – регистр УУ для хранения кода команды на период времени, необходимый для ее выполнения. Часть его разрядов используется для хранения кода операции, остальные – для хранения кодов адресов операндов.
Память компьютера построена из двоичных запоминающих элементов – битов, объединенных в группы по 8 битов, которые называются байтами. (Единицы измерения памяти совпадают с единицами измерения информации). Все байты пронумерованы. Номер байта называется его адресом.
Бит (BIT) есть не что иное, как аббревиатура от BInary digiT, придуманная в 1946 году выдающимся американским ученым-статистиком Джоном Тьюки. Он был советником пяти президентов Соединенных Штатов. Тьюки изобрал бит для обозначения одного двоичного разряда, способного принимать значение 0 или 1.
Байты могут объединяться в ячейки, которые называются также словами. Для каждого компьютера характерна определенная длина слова – два, четыре или восемь байтов. Это не исключает использования ячеек памяти другой длины (например, полуслово, двойное слово).
Как правило, в одном машинном слове может быть представлено либо одно целое число, либо одна команда. Однако, допускаются переменные форматы представления информации.
Разбиение памяти на слова для четырехбайтовых компьютеров | |||||||
Байт 0 | Байт 1 | Байт 2 | Байт 3 | Байт 4 | Байт 5 | Байт 6 | Байт 7 |
ПОЛУСЛОВО | ПОЛУСЛОВО | ПОЛУСЛОВО | ПОЛУСЛОВО | ||||
СЛОВО | СЛОВО | ||||||
ДВОЙНОЕ СЛОВО |
Широко используются и более крупные производные единицы объема памяти: Килобайт, Мегабайт, Гигабайт, а также, в последнее время, Терабайт и Петабайт.
Значения единиц измерения информации | ||
Килобайт | 210 | 1024 байт |
Мегабайт | 220 | 1024 килобайт 1 048 576 байт |
Гигабайт | 230 | 1024 мегабайт 1 073 741 824 байт |
Терабайт | 240 | 1024 гигабайт 1 099 511 627 776 байт |
Петабайт | 250 | 1024 терабайт 1 125 899 906 842 624 байт |
Экзабайт | 260 | 1024 петабайт 1 152 921 504 606 846 976 байт |
Зеттабайт | 270 | 1024 экзабайт 1 180 591 620 717 411 303 424 байт |
Йоттабайт | 280 | 1024 зетабайт 1 208 92 81 614 629 174 706 176 байт |
Современные компьютеры имеют много разнообразных запоминающих устройств, которые сильно отличаются между собой по назначению, временным характеристикам, объёму хранимой информации и стоимости хранения одинакового объёма информации.