[Перевод] Как были устроены модули ОЗУ компьютера Apple III
В 1978 году чип памяти хранил всего 16 килобит данных. Для создания 32-килобитного чипа памяти Mostek придумала идею размещения двух чипов по 16 килобит на носитель размером со стандартную интегральную схему, создав таким образом первый модуль памяти MK4332 «RAM-pak». Этот модуль позволил производителям компьютеров удвоить плотность систем памяти и к 1982 году компания Mostek продала более 3 миллионов модулей.
Самой известной системой, использующей такие модули, был Apple III.
Модуль памяти MK4332, сочетающий два 16-килобитных чипа памяти на керамической подложке.
Этот модуль собирался из двух 16-килобитных чипов памяти, изготовленных из стандартного чипа динамической ОЗУ (DRAM) MK4116 в керамическом корпусе без выводов; на фото это золотые квадраты сверху корпуса.
Вы можете задать вопрос: почему покупатели просто не могли использовать эти корпуса с поверхностным монтажом? В то время припайка компонентов с поверхностным монтажом была нетривиальной задачей для большинства покупателей. Однако монтаж двух чипов без выводов на корпус с двухрядным расположением выводов (DIP) позволил покупателям удвоить плотность памяти и в то же время продолжить использовать стандартные способы пайки через отверстия.
Фиолетовый корпус, на который крепятся чипы — это керамическая подложка, спроектированная с учётом тепловой совместимости с чипами1. Внутри этой подложки нет никаких схем за исключением дорожек между чипами и восемнадцатью контактами DIP. Два чипа памяти подключались параллельно, за исключением двух линий выбора, расположенных отдельно. Это позволяло выбирать нужный чип. Из-за этого модуль MK4332 имел 18 контактов, а не 16, как установленные на него чипы. Mostek использовала ту же конструкцию модуля для следующего поколения чипов ОЗУ, создав 128-килобитный модуль RAM (MK4528) из двух 64-килобитных чипов (MK4564).
Внутри чипа памяти 4116
Хотя можно предположить, что использовалась сложная техника монтажа, на самом деле два чипа 4116 просто припаивались на подложку стандартными методиками оплавления. На фото ниже я при помощи резца снял металлическую крышку с левого чипа и отпаял правый чип термофеном. Слева вы видите квадратный кремниевый кристалл внутри корпуса без выводов. Справа видны 16 контактов для пайки на керамической подложке. Дорожки между контактами для пайки и контактами DIP находятся внутри керамической подложки.
MK4332 со вскрытым левым корпусом и отпаянным правым.
Из нескольких микроскопных снимков я составил показанное ниже фото. Белые линии — это металлические дорожки поверх чипа, а тёмное красное — это кремний под ними. Две большие прямоугольные области — это 16 384 ячейки памяти, выстроенные в матрицу 128×128 и разделённые на две части. Электросхема между этими двумя областями состоит из 128 усилителей считывания, используемых для усиления чтения битов из памяти, а также из схемы выбора, позволяющей выбрать один бит из 128. (Снаружи доступ к чипу выполнятся как 16 384×1, что возвращает один бит. Обычно для хранения байтов использовалось восемь таких чипов.) Схемы управления и интерфейса расположены слева и справа, они подключаются к внешним контактам крошечными напаянными проводниками.
Фотография кристалла чипа памяти 4116.
В динамической ОЗУ бит хранится в конденсаторе, а транзистор обеспечивает доступ к конденсатору. Значение бита определяется наличием или отсутствием заряда в конденсаторе. Преимущество динамической ОЗУ заключается в том, что каждая ячейка памяти очень мала и состоит всего из двух компонентов2, что обеспечивает высокую плотность памяти. (Для сравнения — статической ОЗУ может требоваться до шести транзисторов на ячейку.) Недостаток динамической ОЗУ в том, что заряд на конденсаторе стекает спустя несколько миллисекунд. Чтобы избежать потери данных, динамическую ОЗУ нужно постоянно обновлять: биты считываются с конденсаторов, усиливаются и затем записываются обратно в конденсаторы. Конкретно у этого чипа все данные должны обновляться каждые две миллисекунды.
На схеме ниже показано соединение ячеек памяти на примере двух из 128 строк и столбцов. Для считывания или записи данных подаётся питание на линию выбора строки. Транзисторы в этой строке включаются, подключая конденсаторы этой строки к линиям ввода/вывода данных. Данные из этой строки считываются с конденсаторов и усиливаются. В этот момент данные или можно записать обратно, чтобы обновить строку, или записать новый бит. Обратите внимание, что хотя внутри чип осуществляет доступ к 128 битам, наружу он предоставляет доступ только к одному биту, выбирая для записи или чтения один из 128 битов.
Структура ячеек памяти, схема на основе патента.
Показанное ниже увеличенное фото демонстрирует часть плотно упакованных ячеек хранения данных. Сложно представить наглядно, что там происходит, потому что чип состоит из нескольких слоёв. Нижний слой — это сероватый кристалл кремния. Поверх кремния расположены два слоя поликремния. Над ними находятся металлические соединения, которые на фото удалены. На фото показаны три шины считывания (ввод/вывод данных) в кремнии, а с другой стороны подсоединены ячейки хранения данных, напоминающие по форме лампы накаливания. Вертикальные слои поликремния (poly 1) над ячейками хранения образуют конденсаторы: кремний образует нижнюю пластину, поликремний — верхнюю. Второй слой поликремния (poly 2) выстроен в диагональные области, образующие транзисторы выбора. Квадратные вырезы в слое poly 1 позволяют слою poly 2 приблизиться к кремнию для образования транзисторов. Горизонтальные металлические проводники (не показаны) соединяются с областями poly 2 для выбора строки при помощи управления транзисторами. Обратите внимание, что строки расположены попеременно и пересекаются (как молния на одежде) из-за сильно оптимизированной схемы. В то время размещение большего объёма памяти на чипе было серьёзной проблемой, двигавшей прогресс технологии интегральных схем.
Приближенный снимок чипа памяти под микроскопом, демонстрирующий отдельные ячейки хранения.
Чипы памяти в Apple III
Apple была крупным покупателем этих модулей памяти и устанавливала их в компьютер Apple III (1980 год). На рынке Apple III был представлен как компьютер для бизнеса, пришедший на замену популярному Apple II. К сожалению, Apple III оказался финансовым провалом из-за проблем с надёжностью и конкуренции со стороны появившегося год спустя IBM PC.
Как обычно и бывало в те времена, плата памяти Apple III3 была для обеспечения большей ёмкости усеяна чипами памяти. Необычной частью её конструкции было то, что использовалось три ряда чипов памяти (а не степень двойки): сочетание 16-килобитных и 32-килобитных чипов обеспечивало 128 килобайт памяти. (Корпус Apple III был спроектирован до создания плат, поэтому платы нужно было уместить в имеющееся пространство.) На фото ниже верхний ряд содержит модули памяти MK4332, а нижние два — 16-килобитные чипы MK41164.
Карта основной памяти Apple III.
Краткая история памяти
Память — недооценённая часть истории компьютеров. Внимание обычно обращено на процессор, но часто ограничивающим фактором являлась всё-таки память. Проблема с памятью заключается в том, что хранение единственного бита — простая задача, но когда нужно увеличить масштаб до тысяч или миллионов бит, она становится практически нереализуемой.
В компьютере ENIAC (1946 год) для хранения использовались вакуумные лампы, но они были большими и дорогими, из-за чего в накопителях ENIAC могло храниться только 20 слов (из 10 цифр). В компьютерах наподобие EDSAC (1949 год) в качестве памяти использовались ртутные линии задержки, передававшие импульсы звуковых волн по трубкам со ртутью. Хотя EDSAC мог хранить 512 слов, пользователям приходилось ждать, пока биты последовательно циркулируют по ртути. Дальнейшим этапом прогресса стала трубка Уильямса с произвольным доступом, хранившая данные как точки на ЭЛТ-экране. Несмотря на свою нестабильную работу, трубки Уильямса использовались в Manchester Mark 1 (1949 год) и в коммерческом IBM 701 (1952 год).
Появление памяти на магнитных сердечниках совершило революцию в компьютерной отрасли, обеспечив быстрое, дешёвое и надёжное хранилище, содержащее каждый бит в крошечном магнитном ферритовом кольце. Память на магнитных сердечниках впервые была использована в компьютере Whirlwind (1953 год) и устанавливалась в большинстве компьютеров конца 1950-х и 1960-х. Однако поскольку каждому биту требовался отдельный физический ферритовый сердечник, даже для самых важных заказчиков объёмы памяти были ограничены всего несколькими мегабайтами. Например, каждая стойка памяти системы IBM System/360 (1969 год) содержала по 256 килобайт, но весила больше тонны (см. ниже).
Память на магнитных сердечниках была довольно крупной. На этом фото показана установка IBM System/360 Model 85. Стойки на переднем плане — это IBM 2365 Processor Storage, каждая из них содержит 256 килобайт. Стойка в виде буквы Ж в центре — это процессор.
Ещё одну серьёзную революцию произвела полупроводниковая память. Поначалу полупроводниковая память была дорогой и имела очень малую ёмкость; первый продукт Intel был чипом памяти, содержащим всего 64 бит и стоившим 99,50 доллара. В 1968 году Деннард из IBM изобрёл экономичное динамическое ОЗУ, и технология полупроводниковой DRAM начала быстро развиваться многими компаниями. Intel представила первый коммерческий чип DRAM в 1970 году, это был i1103, содержащий 1 КБ. Из-за его влияния на отрасль памяти на магнитных сердечниках этому чипу дали прозвище «убийца сердечников» (core killer).
Отрасль компьютерной памяти быстро перешла с магнитных сердечников на DRAM, поскольку ёмкость DRAM повышалась, а цена падала5. В 1973 году Mostek представила 4-килобитный MK4096 чип, за которым в 1976 году последовал 16-килобитный MK4116. В 1978 году Fujitsu представила первый коммерческий 64-килобитный чип DRAM и Япония стала лидером в производстве DRAM6.
Intel покинула отрасль DRAM в 1985 году из-за снижения доли на рынке и доходов; за ней последовали оставшиеся американские производители DRAM.
Пятьдесят лет спустя после появления DRAM она по-прежнему остаётся доминирующей технологией производства основного хранилища данных — довольно долгий срок жизни. По сравнению с описанным мной 16-килобитным чипом, последние 16-гигабитные чипы DRAM компании Samsung стали в миллион раз больше, демонстрируя невероятное повышение плотности хранения. Нам остаётся только гадать, бросит ли какая-нибудь технология вызов полувековому лидерству DRAM в качестве основного хранилища данных.
Примечания и ссылки
- Подробности о производстве модулей памяти см. в Rectangular chip-carriers double memory-board density, Electronics, 1982.
- Первые динамические ОЗУ наподобие Intel 1103 использовали по три транзистора на ячейку и отдельные линии для записи и чтения данных. Прогресс в технологиях производства памяти позволил уменьшить схему до одного транзистора и одной линии передачи данных.
- Показанная на фотографии плата памяти Apple III — это »12-вольтная плата памяти». Она названа так, потому что чипам памяти требовалось 12 В, (а также +5 и -5).
Усовершенствованной моделью стала »5-вольтная плата памяти», в которой использовалось питание всего 5 В. В 5-вольтной плате памяти использовались более современные 64-килобитные чипы памяти (4864), что обеспечивало бОльшую ёмкость — 128 или 256 килобайта. Неудобство заключалось в том, что для работы источнику питания требовалась 12-вольтная нагрузка, поэтому 5-вольтная плата памяти имела мощный резистор, забирающий 0,4 А от 12-вольтного источника. Подробнее см. в Apple III reference manual.
- The Apple III memory board was also available in a lower-cost 96-kilobyte module.
In that configuration, the 4332 memory modules were replaced with the 16-kilobit (MK4116) chips used on the rest of the board.One clever feature of the 4332 module is the two «extra» select pins are on the end of the package. The result is that a memory board (such as the Apple III’s) can be designed to accept either the 16-pin 16-kilobyte chips or the 18-pin 32-kilobyte modules, depending on how much memory is desired. With the smaller chips, the two extra pins are unused.
It’s strange, however, that the Apple III memory board only accepted the larger modules in one of the three rows of chips.
The industry switch from magnetic core memory to semiconductor memory wasn’t as straightforward as superior semiconductor memory overthrowing inferior core memory.
Instead, there was a time period where they co-existed, due to tradeoffs.For instance, in 1972, a customer could select core memory, semiconductor memory, or a mixture for the D-112 minicomputer (a PDP-8 clone); semiconductor memory was 5 times faster, but core memory supplied four times the capacity per board.
By 1973, industry publications were reporting that «Semiconductor memories are taking over data-storage applications».
As late as 1980, core memory manufacturers were advertising the benefits of core memory, battling the «myths» that semiconductor was better.
Was the overthrow of magnetic core by semiconductor memory inevitable? My view is that «technological determinism» acts in some ways; the development of DRAM memory was almost unavoidable following the development of MOS transistors.
However, «economic determinism» was more responsible for the success of semiconductor memory: if magnetic core had remained the lower-cost option, it probably would have remained dominant.
As a counterexample, CCD (charge-coupled device) memory and bubble memory were
hyped as storage technologies of the future, but couldn’t achieve the price-performance to dislodge either semiconductor memory or hard disks.Note that the capacity of memory chips increased by a factor of 4 each generation (1-, 4-, 16-, 64-kilobit) rather than a factor of 2. The reason is that each address pin was multiplexed to provide two address bits, so each additional address pin resulted in a factor of four increase.
By reusing each address pin for both a row address and a column address, the number of address pins was kept low so compact 16-pin packages could be used even as memory sizes expanded to 256-kilobit. Conveniently, as technology improved, memory chips required fewer voltages, freeing up pins formerly used for power.
One consequence, though, was the ordering of address pins on the chip was essentially random as new address pins were assigned based on which pins were available, rather than sequentially.
The multiplexed address system was introduced in the Mostek MK4096 chip and meant that the
256-kilobit 41256 chip used fewer pins than the original 1-kilobit Intel 1103 (16 pins vs 18).