Читать «Архитектура компьютера» онлайн - страница 73

Эндрю Таненбаум

Процессоры мультикомпьютера отправляют друг другу сообщения (что-то вроде электронной почты, но гораздо быстрее). Каждый компьютер не обязательно соединять со всеми другими, поэтому обычно в качестве топологий используются двух- и трехмерные решетки, а также деревья и кольца. Хотя на пути до места назначения сообщения проходят через один или несколько промежуточных компьютеров, время передачи занимает всего несколько микросекунд. Уже работают мультикомпьютеры, содержащие до 250 000 процессоров — например, Blue Gene/P фирмы IBM.

Поскольку мультипроцессоры легче программировать, а мультикомпьютеры — конструировать, появилась идея создания гибридных систем, сочетающих в себе достоинства обеих топологий. Такие компьютеры представляют иллюзию общей памяти, при этом в действительности она не существует. Мы рассмотрим мультипроцессоры и мультикомпьютеры подробнее в главе 8.

Основная память

Память — это тот компонент компьютера, в котором хранятся программы и данные. Также часто встречается термин «запоминающее устройство». Без памяти, откуда процессоры считывают и куда записывают информацию, не было бы современных цифровых компьютеров.

Бит

Основной единицей хранения данных в памяти является двоичный разряд, который называется битом. Бит может содержать 0 или 1. Эта самая маленькая единица памяти. (Устройство, в котором хранятся только нули, вряд ли могло быть основой памяти — необходимы, по крайней мере, два значения.)

Часто говорят, что применение двоичной системы счисления в компьютерах объясняется ее «эффективностью». При этом имеется в виду (хотя сами говорящие это редко осознают), что хранение цифровой информации может быть основано на отличиях между разными величинами какой-либо физической характеристики, например напряжения или тока. Чем больше величин нужно различать, тем меньше отличий между смежными величинами и тем менее надежна память. В двоичной системе требуется различать всего две величины, следовательно, это — самый надежный метод кодирования цифровой информации. Если вы не знакомы с двоичной системой счисления, загляните в приложение А.

Считается, что некоторые компьютеры, например мэйнфреймы IBM, используют и десятичную, и двоичную арифметику. На самом деле здесь применяется так называемый двоично-десятичный код. Для хранения одного десятичного разряда задействуются 4 бита. Эти 4 бита дают 16 комбинаций для размещения 10 различных значений (от 0 до 9). При этом 6 оставшихся комбинаций не используются. Вот как выглядит число 1944 в двоично-десятичной и в чисто двоичной системах счисления (в обоих случаях используется 16 бит):

Д двоично-десятичное представление — 0001 1001 0100 0100;

Д- двоичное представление — 0000011110011000.

В двоично-десятичном представлении 16 бит достаточно для хранения числа от 0 до 9999, то есть доступно всего 10 000 различных комбинаций, а в двоичном представлении те же 16 бит позволяют получить 65 536 комбинаций. Именно по этой причине говорят, что двоичная система эффективнее.

Однако представим, что могло бы произойти, если бы какой-нибудь гениальный инженер придумал очень надежное электронное устройство, позволяющее хранить разряды от 0 до 9, разделив диапазон напряжения от 0 до 10 вольт на 10 интервалов. Четыре таких устройства могли бы хранить десятичное число от 0 до 9999, то есть 10 000 комбинаций. А если бы те же устройства использовались для хранения двоичных чисел, они могли бы содержать всего 16 комбинаций. Естественно, в этом случае десятичная система была бы более эффективной.