Эмуляция и история вычислительной техники

Проект моделирования истории компьютеров и SIMH

Простейшие современные вычислительные устройства могут обрабатывать больше информации, чем самые мощные вычислительные системы вчерашнего дня. Например, машина VAX 11/780 в начале 1980-х имела производительность всего около 0,5 MIPS. Сравните это с сегодняшним мэйнфреймом IBM zEnterprise™ 196 (z196), способным выдавать свыше 52 KMIPS. Тем не менее, в ранней истории вычислительной техники есть много поучительного. Те, кто хотел бы попробовать загрузить IBM 1130, PDP-11 или Altair компании MITS, могут сделать это благодаря проекту моделирования истории ВТ.

M. Тим Джонс, инженер-консультант, Emulex Corp.

М. Тим ДжонсМ. Тим Джонс - архитектор встроенного ПО и, кроме того, автор книг Artificial Intelligence: A Systems Approach, GNU/Linux Application Programming (выдержавшей на данный момент второе издание), AI Application Programming (второе издание) и BSD Sockets Programming from a Multilanguage Perspective. Он имеет обширный опыт разработки ПО в самых разных предметных областях - от ядер специальных ОС для геосинхронных космических аппаратов до архитектур встраиваемых систем и сетевых протоколов. Тим - инженер-консультант Emulex Corp., Лонгмонт, Колорадо.



16.09.2011

Я получил свой первый компьютер в конце 1978 года в качестве подарка на день рождения. Это был TRS-80 модели 1 с 4 Кбайт памяти и кассетным накопителем, который я позже заменил на флоппи-дисковод Exatron. За несколько недель мои навыки программирования на BASIC углубились настолько, что я превысил объем доступной памяти в своей еще не скомпилированной программе. Знай я тогда столько же, сколько знаю 30 лет спустя, будучи инженером по микропрограммному обеспечению, я все равно тратил бы большую часть времени на то, чтобы втиснуть как можно больше кода и данных в меньшее адресное пространство.

История вычислительной техники завораживает, как и некоторые из ранних моделей компьютеров. Многие из первых машин были простыми калькуляторами, такие как Z1, построенная Конрадом Цузе в 1931 году, а еще раньше ― механическая сортировочная машина Германа Холлерита, которая использовалась в переписи населения 1890 года; шесть лет спустя компания Холлерита стала одной из составляющих IBM. Цузе изобрел также первый алгоритмический язык программирования Plankalkül для своего компьютера Z4. Z4 был электромеханическим (на основе реле), поддерживал 64 слова памяти и работал с умопомрачительной скоростью 40 Гц (при потребляемой мощности 4 КВт). Профессор Джон Атанасов разработал первый цифровой компьютер, который начал строить в 1937 году и закончил в 1941 году ― он использовал двоичную систему счисления для расчетов в Колледже штата Айова. Идеи, положенные в основу компьютера Атанасова-Берри (ABC), были применены в первой ЭВМ общего назначения ENIAC. Программирование этих систем было бы чуждо большинству из нас, выросших с Pascal, C или LISP. Например, при программировании первого ENIAC, чтобы внести изменения в программу, требовалось физически переписать ее. Википедия содержит увлекательную информацию об эволюции компьютеров (см. раздел Ресурсы).

Проект моделирования истории ВТ

Как и мой старый TRS-80, который безжизненно покоится в заппыленной коробке, история вычислительной техники может легко уйти в небытие. К счастью, есть люди, такие как Боб Супник, которые тратят время и энергию на спасение наиболее важных моментов истории вычислительной техники. Супник создал Проект моделирования истории компьютера, чтобы восстановить значимые вычислительные системы с помощью моделирования. Проект Супника, в котором участвуют энтузиасты со всего мира, привел к созданию многосистемной структуры, называемой SIMH, имитирующей большое количество вычислительных систем. В их числе Nova от Data General, PDP и VAX от DEC, IBM 1401 и 7090/7094, системы Interdata и даже компьютеры Altair компании MITS (на процессорах 8080 и Z80). Другие моделируемые системы перечислены по ссылке, приведенной в разделе Ресурсы.


Архитектура SIMH

Давайте сначала рассмотрим общую архитектуру SIMH, а затем познакомимся с некоторыми примерами применения SIMH для загрузки моделируемого старого оборудования.

Архитектура SIMH

Описание SIMH можно найти в документе "Написание имитатора для системы SIMH". В нем представлены основные функции SIMH и характеристики различных машин, моделируемых системой (см. раздел Ресурсы).

SIMH ― это среда, в которую встраиваются эмуляторы систем. Исследуя иерархию дерева исходного кода SIMH, вы найдете набор общих файлов имитатора с рядом подкаталогов, содержащих модели машин (или классов машин). Как показано на рисунке 1, имитатор состоит из пакета управления имитатором (содержащего такие элементы, как консоль имитатора, терминал и библиотеки файлов ввода/вывода, а также таймеры и сокеты) и набора устройств. Дух устройства ― это набор регистров для хранения состояния устройства (когда оно включено) и блоки, отображающие наборы данных (обычно, файлов, которые используются для представления устройства). Могут присутствовать не все устройства, например, сетевое оборудование не моделируется.

Рисунок 1. Базовая архитектура SIMH
Базовая архитектура SIMH

Когда на имитаторе запускается виртуальная машина, пакет управления имитатором в первую очередь определяет особенности среды (массив устройств, программа двоичного загрузчика, имитатор набора команд и т.п.). Как вы скоро увидите, после запуска имитатора с ним можно взаимодействовать для загрузки виртуальной машины (или для упрощения процедуры разместить эту программу взаимодействия в файле). По существу, имитатор ― это отладчик, который позволяет устанавливать контрольные точки и работать с устройствами, процессором и памятью. Код легко читаем и не так велик, как можно было бы ожидать, учитывая количество функциональных возможностей, предоставляемых SIMH.


Настройка SIMH

Давайте посмотрим, каким образом SIMH возвращает нас к заре компьютерной эры. В этом разделе сначала объясняется, как установить и собрать SIMH, а затем рассматриваются пакеты программ.

Установка SIMH

Следующий сеанс иллюстрирует, как загрузить и построить SIMH. Он демонстрирует версию SIMH 38.1, и на сайте нужно проверить, не появилась ли новая версия пакета. Как отмечается в листинге 1, прежде чем составить пакет, мне пришлось создать подкаталог ./BIN.

Листинг 1. Установка и сборка SIMH
$ mkdir simh ; cd simh

$ wget http://simh.trailing-edge.com/sources/simhv38-1.zip

$ unzip simhv38-1.zip
$ mkdir BIN
$ make -f makefile

Выполнив шаги, перечисленные в листинге 1, вы получаете набор двоичных файлов в подкаталоге ./BIN, которые соответствуют отдельным имитаторам (например, ibm1130 и vax780).

Комплекты программного обеспечения

На предыдущем шаге мы построили имитатор SIMH. Однако чтобы он был полезен, необходимо программное обеспечение (операционные системы и приложения) для этого имитатора. Эти системы работали с перфолентами и магнитными лентами, но для простоты использования программное обеспечение, содержавшееся на этих носителях, было переупаковано в файлы. В рамках этих демонстраций мы расскажем о необходимых комплектах программного обеспечения и покажем, где их можно взять.

Навигация по имитатору

Запустив имитатор (по имени моделируемой машины, например, altairz80), вы увидите командную строку sim>. Это приглашение говорит о том, что вы находитесь в основном имитаторе, который нужно настроить на моделируемый объект. В этой статье рассматриваются лишь некоторые из многочисленных исполняемых команд. Чтобы увидеть обширный список, можно воспользоваться командой help. Важно также отметить, что во время эмуляции одной из поддерживаемых машин можно воспользоваться клавишей Ctrl-E, чтобы вернуться в имитатор. Здесь можно устанавливать контрольные точки, изучить регистры, посматривать очередь событий имитатора и т.п.


Использование SIMH

Теперь, имея общее представление о SIMH, можно поговорить о его применении с различными компьютерными системами. Мы рассмотрим работу LISP на системе IBM 1130, UNIX® на 32-разрядной системе Interdata, CPM на машине Altair от MITS и Focal на PDP-15.

IBM 1130

Система IBM 1130 была популярным компьютером на рынке не очень дорогих систем. Она опиралась на перфокарты и перфоленту, но также использовала дисковую память (общей емкостью 1 МБ). На диске хранились операционная система и данные.

Система 1130 появилась в 1965 году, когда основным языком программирования был Фортран (компилятор которого, написанный целиком на языке ассемблера, занимал всего 4000 слов в памяти). Система работала с адресным пространством на базе 15-разрядных слов, что ограничивало емкость оперативной памяти машины 64 Кбайт.

Один из интересных аспектов системы IBM 1130 заключался в поддержке альтернативных языков. Кроме Фортрана, 1130 можно было программировать на APL и RPG. Гай Стил, имевший доступ к 1130 в Латинской (средней) школе Бостона, написал интерпретатор LISP, который можно использовать и сегодня. Начнем с получения загрузки интерпретатора LISP с сайта, посвященного системе 1130 ibm1130.org (см. листинг 2). Заметьте, я предполагаю, что вы находитесь в подкаталоге ./SIMH, где установлен SIMH.

Листинг 2. Установка ПО интерпретатора LISP
$ mkdir kits/ibm1130 ; cd kits/ibm1130
$ wget http://media.ibm1130.org/lisp.zip
$ unzip lisp.zip

Это эмуляция скрывает многие детали работы с SIMH, но служит интересным историческим экскурсом в одну из областей применения 1130. Это пакетная обработка данных, когда имитатору ставится задача, а результат распечатывается в файле листинга. Задача ― очень простой пример использования интерпретатора LISP (результат можно видеть на выходе). Сеанс пакетной обработки приведен в листинге 3.

Листинг 3. Использование интерпретатора LISP с имитатором IBM 1130
$ ../../BIN/ibm1130 job lisptest

IBM 1130 simulator V3.8-1
PRT: creating new file
Loaded DMS V2M12 cold start card

Wait, IAR: 0000002A (4c80 BSC  I  ,0028   )
sim> quit
Goodbye
$ more lisptest.lst

PAGE   1

// JOB    1234

LOG DRIVE   CART SPEC   CART AVAIL  PHY DRIVE
  0000        1234        1234        0000

V2 M12   ACTUAL 32K  CONFIG 32K
^L
PAGE   1

// JOB

LOG DRIVE   CART SPEC   CART AVAIL  PHY DRIVE
  0000        1234        1234        0000

V2 M12   ACTUAL 32K  CONFIG 32K

// XEQ LISP

***** 1130 LISP 1.6 ***** BOSTON LATIN SCHOOL ***** LITHP ITH LITHTENING...
(SETQQ A (X Y Z))

(X Y Z)
(CAR A)

X
(CDR A)

(Y Z)
(PLUS 1 2 3)

6
(QUIT)

***** 1130 LISP 1.6 ***** END OF RUN ***** THO LONG, COME AGAIN THOON
$

В листинге 3 запускается имитатор IBM 1130 и ставится задача. Под капотом код настраивает имитатор на диск (откуда он загружает интерпретатор LISP), кард-ридер (откуда он считывает задачу) и принтер (куда он направляет результат). Задача отражена в листинге 4 (файл lisptest.job в комплекте ПО). Результат находится в том же подкаталоге, что и задача, в файле с тем же именем и суффиксом .lst.

Листинг 4. Файл lisptest.job
// JOB
// XEQ LISP
(SETQQ A (X Y Z))
(CAR A)
(CDR A)
(PLUS 1 2 3)
(QUIT)

Комплект ПО IBM 1130 разработал и поддерживает сайт IBM1130.org. Там же можно найти колоду перфокарт APL (в дополнение к FORTRAN и RPG).

32-разрядная система Interdata с UNIX V6

Начиная с 1966 года, компания Interdata разработала ряд 16 - и 32-разрядных мини-ЭВМ (в 1973 году она была присоединена к Perkin-Elmer). Система Interdata-7, выпущенная в 1974 году, стала одним из первых 32-разрядных компьютеров. Архитектура для Interdata напоминает архитектуру мэйнфреймов IBM System/360. Этот пример немного глубже раскрывает то, как строится машина с точки зрения имитатора (настройка параметров имитатором).

В листинге 5 загружается образ UNIX версии 6 и распаковывается в подкаталог kits. После загрузки запускаем имитатор Interdata и приступаем к настройке. Сначала включаем терминал консоли (TTP) и во избежание конфликтов номеров устройств ассоциируем программируемый контроллер асинхронной линии (PAS) с контроллером НМЛ (MT).

Загрузочным устройством является контроллер кассетного накопителя (DP), который мы ассоциируем с внешним файлом из комплекта ПО (iu6_dp0.dsk). Когда загрузочный диск определен, его можно загрузить, в результате чего запускается образ UNIX V6. Interdata была одной из первых не-PDP UNIX-систем.

Листинг 5. Моделирование 32-разрядной системы Interdata с UNIX
$ mkdir kits/id_unix_v6 ; cd kits/id_unix_v6
$ wget http://simh.trailing-edge.com/kits/iu6swre.zip
$ unzip iu6swre.zip
$ ../../BIN/id32

Interdata 32b simulator V3.8-1
sim> set ttp ena
sim> set pas dev=12
sim> set mt dev=85
sim> att -e dp0 iu6_dp0.dsk
sim> boot dp0
?unix
Memory = 182.50 K

login: root
You have mail.
# ls -la
total 361
drwxr-xr-x  9 root      272 Jun  4 00:16 .
drwxr-xr-x  9 root      272 Jun  4 00:16 ..
drwxr-xr-x  2 root     1104 Nov 14  1978 bin
drwxr-xr-x  2 root      784 Jun  4 01:07 dev
drwxr-xr-x  2 root      528 Nov 14  1978 etc
drwxr-xr-x  2 root      240 Jun  3 21:44 lib
-rw-r--r--  1 root      552 Jun  3 20:48 mdl
drwxr-x---  2 root       32 Aug  2  1978 mnt
drwxrwxrwx  2 root      144 Jun  4 15:38 tmp
-rw-r--r--  1 root      424 Jun  4 00:27 tpboot
-rw-r--r--  1 root      568 Jun  3 20:48 tuboot
-rw-r--r--  1 root      728 Jun  3 20:48 uboot
-rw-r-----  1 root    52272 Jun  3 23:56 unix
-rwxrwxrwx  1 root    59236 Jun  4 01:21 unix.oxon
-rwxrwxrwx  1 rm      60852 Jun  4 01:44 unix.sydney
drwxr-xr-x 14 root      240 Jun  4 15:43 usr
#

Как показано в листинге 5, после загрузки системы с ней можно работать совсем как с современными UNIX-системами.

PDP-15 с FOCAL

Последней 18-разрядной системой DEC была PDP-15, выпущенная в 1969 году. В отличие от предыдущих моделей PDP, которые строились на дискретных транзисторах, PDP-15 была выполнена на интегральных микросхемах TTL. PDP-15 была совместима с более ранней PDP-9 и имела различные дополнительные возможности, включая защиту памяти и операции с плавающей запятой.

Хотя PDP-15 поддерживала разные операционные системы, одна интересная область применения этой машины связана с языком калькулятора формул (FOCAL). Изначально FOCAL был написан Ричардом Мерриллом для PDP-8 и мог работать в системе, содержащей всего 3000 слов памяти (12-разрадных), причем 1000 слов отводилось программе пользователя. FOCAL не требовал операционной системы и сам по себе был полноценной вычислительной средой. Система FOCAL представлена в виде образа на перфоленте в двоичном формате загрузчика (см. листинг 6). После запуска имитатора PDP-15 загружается образ focal15 и производится запуск. Вас приветствует командная строка FOCAL15, куда вы вводите короткую программу FOCAL и запускаете ее командой GO.

Листинг 6. Демонстрация FOCAL на PDP-15
$ ../../BIN/pdp15 

PDP-15 simulator V3.8-1
sim> load focal15.bin
sim> run

FOCAL15 V6B
*01.10 ASK "WHAT YEAR WERE YOU BORN?", BORN
*01.20 ASK "WHAT YEAR IS IT?", YEAR
*01.30 SET AGE=YEAR-BORN
*01.40 TYPE "YOU ARE ", AGE-1, " OR ", AGE, " YEARS OLD.", !
*GO
WHAT YEAR WERE YOU BORN?:1964
WHAT YEAR IS IT?:2010
YOU ARE    45.0000 OR    46.0000 YEARS OLD.
*
<Ctrl-E>
Simulation stopped, PC: 000221 (SPA)
sim> show dev
PDP-15 simulator configuration

CPU, idle disabled
CLK, 60Hz, devno=00
FPP
PTR, devno=01
PTP, devno=02
TTI, devno=03
TTO, devno=04
LP9, disabled
LPT, devno=65-66
RF, devno=70-72
RP, devno=63-64, 8 units
DT, devno=75-76, 8 units
MT, devno=73, 8 units
TTIX, lines=1, devno=40-47
TTOX
sim>

Здесь показано также взаимодействие с имитатором. Нажмите Control-E, чтобы выйти из режима моделирования и вернуться в консоль системы имитатора. Здесь можно потребовать, чтобы устройства были пронумерованы с отображением различных устройств, моделируемых для этой PDP-15 (процессор с плавающей запятой, считыватель перфоленты, перфоратор и т. п.).

Этот пример демонстрирует еще один аспект SIMH, когда для образа не требуется операционная система, и он интерактивен (в отличие от более ранних способов пакетной обработки на системе IBM 1130).

Altair компании MITS с CP/M

Последняя демонстрация SIMH имитирует первый в мире миникомпьютер Altair компании MITS. Altair, разработанный в 1975 году, был построен на процессорах Intel® 8080 и имел всего 256 байт оперативной памяти. Несмотря на свои минимальные возможности, эта модель разошлась тысячами за первый месяц. Ее шина, которая стала называться S-100, предоставляла достаточные возможности по наращиванию, чтобы многочисленные производители разработали разнообразные карты для этой системы на 18 слотов (такие как карты последовательного интерфейса и контроллеров магнитных дисков), что сделало компьютер популярным.

Хотя подобные компьютерные системы существовали и до Altair (некоторые на базе процессоров Intel 8008), Altair был достаточно мощным, чтобы оказаться полезным (например, для работы с BASIC, одним из ключевых языков, преподаваемых в то время). По общепринятому мнению, это стало искрой, с которой началась революция персональных компьютеров.

В SIMH можно работать со стандартным Altair на процессоре Intel 8080 или производными системами, использующими процессор Zilog Z80 или Intel 8086. Моделируемый Altair предоставляет и некоторые дополнительные возможности, такие как память, организованная в банки. Комплект ПО для Altair ― один из простейших способов поработать с операционной системой Control Program for Microcomputers (CP/M). В примере, приведенном в листинге 7, запускается имитатор Altair (в данном случае, вариант на процессоре Z80), а затем применяется файл сценария cpm2 для загрузки CP/M. В этом сценарии для создания среды CP/M используются два диска (диск операционной системы и диск приложения). Когда среда CP/M создана, имитатор проверяет, какие файлы доступны, а затем запускает Microsoft basic для интерпретации программы Eliza.

Листинг 7. Демонстрация CP/M на Altair от MITS
$ mkdir cpm ; cd cpm
$ wget http://simh.trailing-edge.com/kits/psaltair.zip
$ unzip psaltair.zip
$ ../../../BIN/altairz80 

Altair 8800 (Z80) simulator V3.8-1
sim> do cpm2

62K CP/M Version 2.2 (SIMH ALTAIR 8800, BIOS V1.17, 28-Apr-02)
A>dir
A: PIP      COM : LS       COM : XSUB     COM : STAT     COM
A: GO       COM : RSETSIMH MAC : SYSCOPY  COM : SHOWSEC  COM
A: DIF      COM : R        COM : W        COM : L80      COM
A: M80      COM : WM       HLP : WM       COM : CBIOSX   MAC
A: FORMAT   COM : SYSCPM2  SUB : DDTZ     COM : DSKBOOT  MAC
A: TSTART   COM : ED       COM : DDT      COM : EX8080   MAC
A: LOAD     COM : ASM      COM : LU       COM : MBASIC   COM
A: ELIZA    BAS : DUMP     COM : CREF80   COM : EXZ80    MAC
A: UNERA    COM : BOOT     COM : OTHELLO  COM : WORM     COM
A: LADDER   DAT : LADDER   COM : ZSID     COM : ZTRAN4   COM
A: SURVEY   MAC : CPMBOOT  COM : TSHOW    MAC : TSTART   MAC
A: TSTOP    MAC : UNERA    MAC : MOVER    MAC : EX8080   SUB
A: EXZ80    SUB : CCP      MAC : DSKBOOT  COM : USQ      COM
A: MC       SUB : MCC      SUB : BDOS     MAC : RSETSIMH COM
A: TSHOW    COM : TSTOP    COM : UNCR     COM : SURVEY   COM
A: EX8080   COM : EXZ80    COM : COPY     COM : SID      COM
A: BOOT     MAC : BOOTGEN  COM : LIB80    COM : DO       COM
A>
A>mbasic eliza.bas
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977-1981 (C) by Microsoft
Created: 28-Jul-81
32824 Bytes free

               **************************
                         ELIZA
                   CREATIVE COMPUTING
                 MORRISTOWN, NEW JERSEY

                  ADAPTED FOR IBM PC BY
                   PATRICIA DANIELSON AND PAUL HASHFIELD
                    BE SURE THAT THE CAPS LOCK IS ON

               PLEASE DON'T USE COMMAS OR PERIODS IN YOUR INPUTS

               *************************
HI! I'M ELIZA. WHAT'S YOUR PROBLEM?
? I'M IN LOVE WITH RETROCOMPUTING
DID YOU COME TO ME BECAUSE YOU ARE IN LOVE WITH RETROCOMPUTING   
?

Как видно из листинга, на диске содержится большое количество полезных утилит, таких как ассемблер CP/M (ASM.COM), редактор для командной строки (ED.COM), пара отладчиков (SID.COM для процессора Intel 8080 и ZID.COM для процессора Z80) и даже экранный редактор (WM.COM).


Другие проекты эмуляции

Хотя SIMH ― отличный имитатор старых вычислительных систем, это лишь один из целого ряда имитаторов и эмуляторов, которых становится все больше. К числу примеров других интересных с исторической точки зрения эмуляторов относится Hercules, эмулирующий мэйнфреймы IBM (System/370, IBM System/390 и IBM zSeries) на оборудовании широкого применения.

Некоторые эмуляторы ориентированы не на возрождение исторических систем, а на оживление видеоигр, для которых больше не существует аппаратуры. Одним из наиболее интересных примеров служит Multi-Arcade Machine Emulator (MAME). Этот эмулятор обеспечивает эмуляцию большого числа старинных аппаратных видеоигровых систем (в том числе игровых автоматов) и, следовательно, эмуляцию старых процессоров и построенной на них аппаратуры (шин данных, устройств хранения данных, аудио и видео оборудования и т.п.). Сегодня проект MAME обеспечивает эмуляцию более чем 4500 уникальных игр. MAME служит также основой системы Multi-Emulator-Super-System (MESS), которая эмулирует почти 500 уникальных игровых консолей, компьютеров и калькуляторов.

Можно найти и имитаторы специализированного оборудования, такого как компьютер Apollo Guidance Computer (AGC), применявшийся в лунных миссиях Apollo. Аналогичный проект имитирует компьютер Launch Vehicle Digital Computer (LVDC), который управлял запуском ракетных двигателей во время выхода на орбиту. Если LVDC был построен на отдельных транзисторах, то AGC стал первым компьютером, созданным с применением интегральных схем. Оба имеют специальный набор инструкций и программы, написанные прямо на машинном коде.

Дополнительная информация об этих и других эмуляторах приведена в разделе Ресурсы.


Что дальше

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

Ресурсы

  • Оригинал статьи.
  • Машины "Z" Конрада Цузе хорошо документированы в Берлинском Техническом университете. Здесь можно прочесть о машинах Цузе Z3, Z4, а также о первом языке программирования Plankalkül.
  • Эта статья Wikipedia, посвященная эволюциии компьютера, содержит захватывающую историю негласной гонки по созданию компьютеров и различных схем (от ранних машин Z Конрада Цузе до секретных британских компьютеров Colossus, которые использовались для расшифровки немецких криптограмм и т.п.).
  • По состоянию на 2010 год имя изобретателя первой цифровой машины для автоматизации вычислений остается спорным. Хотя большинство считает, что это Университет штата Пенсильвания и его ENIAC, существуют более ранние работы, о которых редко упоминают. В конце 1930-х Джон Атанасов и Клиффорд Берри начали строить первый компьютер, который сейчас называют ABC. Опубликована новая книга об этой ранней истории, написанная Джейн Смайли, которой посвящена недавняя статья в Wired: Лауреат Пулитцеровской премии повествует о первом в мире компьютере. Кроме исторических, Смайли рассказывает о драматических политических, психологических и корпоративных событиях, связанных с этим изобретением.
  • В 1971 году Intel выпустила первый коммерчески доступный микропроцессор в чипе под названием 4004. Это был 4-разрядный процессор, способный выполнять 92 000 операций в секунду. Его преемником стал процессор 4040 (выпущенный в 1974 году), который имел расширяемый набор команд, память программ, набор регистров и стек.
  • Проект Computer History Simulation реализует имитаторы для большого количества вычислительных систем. На сайте проекта приведен список более чем из 30 важных систем.
  • В документе Как написать имитатор для системы SIMH можно почерпнуть сведения об архитектуре имитатора, а также некоторые подробности о различных моделируемых машинах. Можно также обратиться к этой презентации Боба Супника под названием SIMH: вперед в прошлое за дополнительной информацией, в том числе о том, как изучают исторические системы для их имитации.
  • Питер Шерн поддерживает эмулятор Altair для SIMH и сайт с огромным количеством информации и исходных кодов для Altair. На его сайте можно найти обширный список операционных систем для Altair, альтернативные языки программирования и другие приложения.
  • Hercules ― это исходный код эмулятора различных мэйнфреймов IBM (в том числе System/370, ESA/390 и z/Architecture). Геркулес можно использовать на разных операционных системах, включая Linux и FreeBSD.
  • В этой статье обсуждаются другие эмуляторы, имитирующие специализированную электронную аппаратуру, такую как AGC. Virtual AGC (и родственные эмуляторы) сохраняет еще один интересный аспект истории вычислительных систем. Подробнгее об AGC и ее истории можно узнать из книги Путешествие на Луну: история компьютера Apollo Guidance Computer.
  • Интересное направление разработок ― эмуляторы игр. Если эмуляторы могут быть свободно доступны, то картриджи с играми до сих пор принадлежит правообладателям. Прежде чем загружать или использовать загруженные картриджи, проверьте соответствующие лицензии. Во многих случаях эти старые игры можно приобрести для использования с новым оборудованием. Multi-Arcade Machine Emulator ― один из наиболее интересных проектов, наряду с Multi-Emulator Super-System (в основе которого лежит MAME). В Wikipedia можно найти список эмуляторов игровых консолей и более широкий список эмуляторов.
  • Руководство пользователя SIMH содержит большое количество информации о реализации SIMH, а также команд, которые можно использовать в рамках имитатора. Подробные сведения о других проектах эмуляторов (в том числе по восстановлению вычислительных систем) можно найти по ссылкам в специальном указателе литературы по истории компьютеров и их моделированию.

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Open source
ArticleID=758007
ArticleTitle=Эмуляция и история вычислительной техники
publish-date=09162011