вторник, 17 марта 2009 г.

PDP-8 как одноадресный компьютер

PDP-8 относится к относительно редкому сегодня классу одноадресных компьютеров. Это означает, что все арифметические и логические операции осуществляются над содержимым одного единственного регистра - аккумулятора (accumulator или AC). Если необходимо скопировать содержимое одной ячейки памяти в другую, необходимы следующие операции: во-первых, содержимое исходной ячейки памяти необходимо загрузить в AC (затерев предыдущее содержимое AC) и, во-вторых, новое содержимое AC сохранить в ячейке назначения. Из-за этого текстуально программы для PDP-8 выглядят более длинными по сравнению с программами для более традиционных компьютеров.
Это, разумеется, не делает PDP-8 не хуже и не лучше сравнительно с другими архитектурами. Некоторое (текстуальное) увеличение длины программы компенсируется более ясным исходным кодом: не надо помнить наименования и назначения множества регистров, которые часто сами делятся на составные части.
В дополнение к аккумулятору в PDP-8 существует однобитный (именно так) регистр, который носит несколько сбивающее с толку название link (L). Дословный перевод этого слова означает "связь", однако основное назначение L-регистра состоит в отслеживании переноса из AC при осуществлении арифметических операций, а также для циклических сдвигов влево и вправо. Более ясным назначение L-регистра станет после изучения системы команд PDP-8.

пятница, 13 марта 2009 г.

Еще о формате слов

Необычный размер слов, используемых в PDP-8, естественным образом обусловливает использование в качестве рабочей системы счисления восьмеричную (с числами от 0 до 7). Действительно, 12 бит делятся на 4 группы по 3 бита в каждой. Три бита могут принимать двоичные значения от 000 до 111 или от 0 до 7 в восьмеричной системе.
Следовательно, в восьмеричной системе счисления диапазон его значений составляет от 0000 до 7777 (или от 0 до 4095 в десятичной системе). Маловато, конечно. Но не так уж и мало, как обычно представляется.
Еще одна особенность слов PDP-8 состоит в том, что биты нумеруются не справа налево, а слева направо. Т.е. крайний левый бит имеет номер 0, а крайний правый - номер 11. На первых порах это кажется несколько неудобным, но это все-таки не более чем соглашение. А учитывая "возраст" PDP-8 (как никак более 40 лет), лучше относиться к этой "странности" с пониманием: тогда многое было другим. И многое из того, что было когда-то по меньшей мере не хуже того, что сейчас.

пятница, 6 марта 2009 г.

12 бит и ядерный реактор

Самым, пожалуй, необычным в архитектуре PDP-8 является то, что этот компьютер оперирует с 12-битными словами. В нем нет привычных байтов; есть только 12-битные слова.
Поскольку 12 бит могут адресовать максимум 4096 12-битных слов, то по сравнению с современными "монстрами" PDP-8 может показаться карликом на котором вряд ли можно написать что-нибудь стоящее. Этот "карлик", однако, не так слаб, как кажется: достаточно упомянуть о том, что на нем была разработана система управления ядерным реактором. Много лет PDP-8 успешно использовался для обработки данных, поступающих от датчиков в научных и промышленных исследованиях, для моделирования да и просто для игр.
Так что скромные параметры PDP-8 ни в коей мере не являются признаком его слабости. Как обычно, дело не столько в компьютере, сколько в человеке, использующем его. Современное программирование, оперирующее гигагерцами и гигабайтами, повлекло снижение требований к квалификации разработчиков. Это не означает, что я осуждаю технический прогресс особенно в области микроэлектроники - вовсе нет. Но мне жаль того, что параллельно росту технических возможностей современных компьютеров, столь же быстро (если не быстрее) падала способность и желание большей части программистов к поиску оптимальных алгоритмов, тщательному планированию и кодированию.
Подавляющему количеству современных программистов трудно не то чтобы понять, а даже представить, как с такими мизерными ресурсами можно написать что-то полезное. А ведь можно. Факты вещь упрямая. Конечно, это не просто, но тем, кто боится трудностей лучше задуматься - а не ошибся ли он в выборе профессии.

среда, 4 марта 2009 г.

Небольшое предисловие

Этот блог - попытка рассказать о компьютерах серии PDP-8, выпускавшихся на протяжении ряда лет американской корпорацией Digital Equipment Corporation (DEC). PDP-8 и его многочисленные модификации, разумеется, не единственный и даже не самый известный компьютер разработанный DEC; самым, пожалуй, удачным оказался компьютер серии PDP-11, чья архитектура остается образцом ясности и компактности. Образцом, к сожалению, не достижимым до сих пор.
Возможно, у меня достанет времени и терпения рассказать в этом блоге не только о PDP-8, но и о других представителях славного семейства PDP (Programmed Data Processor) разработанных и производимых DEC. Но обещать не буду - пока речь пойдет только о PDP-8.
По ряду причин корпорация DEC прекратила свое существование, однако у большинства тех, кто когда-то соприкасался с компьютерами PDP их клонами (не всегда законными), остались о них самые хорошие воспоминания.
Найти в Интернет материалы по PDP-8 не трудно, однако их большая часть это отсканированные в формат PDF книги фирменной документации, которые во-первых, немало "весят", а во-вторых, их названия - это часто последовательности из букв и цифр из которых трудно понять их содержание без скачивания.
Надеюсь, что материалы этого блога покажутся интересными и дадут лишний повод задуматься о том, что хорошие результаты зачастую могут быть достигнуты гораздо более скромными средствами, чем те, к которым мы привыкли.