Friday, February 13, 2009

Краткая история пути к 64-м битам

Попалась такая вот статья в Communications of ACM - The long Road To 64 Bits. Что мне больше всего понравилось - это коллекция событий ведущих к нынешнему 64-битному компьютингу. Позволю себе содрать сей календарь для вашего удовольствия...

Оригинал на персональном блоге...

1964 IBM S/360 (ага, "старушка" ОС ЕС) 32 бита с 24-х битным адресным пространством (16 Мб) реальной памяти.

1967 Алгол 68 - один из моих любимых, хотя и экзотических языков, который включал тип .long .long.

1970 DEC PDP-11/20 - 16 бит с 16-битным адресным пространством (всего 64 Кб) -- зато поменьше размером чем IBM 360 и ближе к нынешним PC.
А также IBM S/370 с виртуальной памятью, которая давала всю ту же 24-х битную память, но КАЖДОМУ процессу.

1971 IBM 30/145 Переход памяти с магнитных сердечников (core) на DRAM с плотностью (держитесь за стул) 1 Кбит на чип.

1973 "Урожайный год". DEC PDP-11/45 с отдельной памятью для инструкций и данных (64 Кб на каждую), и до 248 Кб реальной памяти.
Unix на PDP 11/45, ОС переписанная на С.
C первый относительно переносимый язык

1975 Unix: 6-ая версия, 24-битная адресация (до 16 Мб адресуемой памяти). Юниксоиды и PDP наконец-то почти достигли уровня IBM 360.

1976 DEC PDP-11/70. По прежнему всего 64К на данные и 64К на программы, но вся память теперь может достигать "огромных" 4 Мб
C Нововведение в языке C - типы short и long. Причем long введено для переноса на XDS Sigma, на которой long был уже 64 бита.

1977 Unix перенесен на 32-х битную систему Interdata 8/32.
C: Куча новых нововведений - unsigned, typedef, union, 32-битный long использован вместо 16-битного int в файловых операциях seek и tell на 16-ти битных PDP-11. Также перенесено на VAX.
DEC VAX-11/780 32 бит с 32-битной адресацией, до 4 Гб всего, 2 Гб на процесс.

1978 Unix: 32-битная версия для VAX-11/780
C: Издана классическая книга The C Programming Language by Brian Kernigan & Dennis Ritchie издательством Prentice-Hall.
Intel 8086 16 бит, но с сегментацией видимой для программы. Ну, и, конечно, славное начало на котором расцвел нынешний компьютинг.

1979 Motorola MC68000 с 32-битной шиной, хотя и 24-битной адресацией как на S/360.

1982 C на MC68000 в Bell Labs Blit терминал.
Intel 80286 теоретически позволяет до 16 Мб реальной памяти, хотя большинство систем по-прежнему ограничено 1 Мб (помните, PC AT и драверы расширения памяти? Да еще отдельно технологии extension и expansion, которые не следовало путать?)

1983 IBM 370/XA добавило 31-битную адресацию (с поддержкой старой 24-х битной).

1984 Motorola: MC 68020 с 32-битной адресацией и размером слова.
C: Появлися тип lon long на UTS (32-bit S/370), в основном для длинных адресов в больших файлах.
C: Convex (64-битный векторый мини суперкомпьютер) использует long long для 64-битных целых.

1986 Intel выпустил 80386 - 32-битный процессор с поддержкой старого 8086 режима.

1987 Apple Mac II на MC68020 с 32 битной адресацией (что вызвало проблемы для более старого софта для MC68000).

1988 IBM ESA/370 31-битные адресные пространства для каждого процесса (с поддержкой старого 24-битного процесса).

1989 ANSI C (C89) принят как стандарт ANSI X3J11. Разработка стандарта была начата в 1983.

1992 SGI выпустила первый 64-битный микропроцессор MIPS R4000 (с поддержкой более старого 32-битного режима).
C: Неформальная Рабочая Группа по 64-битному С (впрочем, работавшая без особого успеха).
DEC выпустил 64-битную систему Альфа с 64-битной ОС LP64.

1994 SGI выпустила IRIX - смешаную 64/32-битную систему на машине Power Challenge.

1995 Sun: UltraSPARC - Смешаная 64/32-битная система с 32-битной операционной системой.
Встреча по большим файлам кодифицирует 64-битный интерфейс к файлам более 2 Гб, в том числе и на 32-битных системах.

1996 Hewlett-Packard объявил о выпуске 64-битного PA-RISC 2.0.

1997 Hewlett-Packard UP/UX 11.0 - 64/32-битная ОС.
IBM RS64 PowerPC с AIX 4.3.

1998 Sun: Выпущен 64/32-бит Соларис 7.

1999 С: ISO/IEC C (WG14 "С99") включает 64-битный (не менее) long long.

2001 IBM: 64-битная zSeries (наследница S/360, с поддержкой для совместимости старой 24-х битной адресации).
Intel: 64-битный Итаниум.

2002 Microsoft: Windows 64-bit для Итаниум.

2003 AMD: 64-битный X86 - AMD64.

2004 Intel: 64-битный X86 - EMT64, совместимый с AMD.

2005 Microsoft: Windows Professional x64 (AMD64/EMT64).

Ну, и 64-битные Виста и Сервер 2008 - это уже не новость.

---

[1] The Long Road To 64 Bit by John Mashey - Communications of the ACM, January 2009, Vol.52, No. 1, p. 45-53

No comments: