Комментарии 21
Спасибо, очень интересно! Дожил до седых волос и не знал, что ферритовая память стирается при чтении. :)
Там принцип чтения основан на том, что если попытаться кольцо перемагнитить, то магнитный поток меняется (и вырабатывается импульс на обмотке считывания) только в случае, если есть куда перемагничиваться. Соответственно, после считывания все считанные кольца оказываются намагничены одинаково, если не записать в них обратно считанное состояние
что ферритовая память стирается при чтении
Сильно позже придумали реализацию без стирания. В википедии она упомянута с достаточными для физика деталями. Но в изделия она пошла очень мало где - успели прийти микросхемы памяти.
для программиста регистры процессора и основная память — это совершенно разные вещи, а технически в ЕС-1020 это, в общем-то, одно и то же
Похожая картина в 6502 - там, правда, есть регистры, но абсолютный минимум, и при этом есть специальный режим адресации для обращения к первым 256 байтам памяти; учитывая, что память работала синхронно (чтение/запись строго за такт), логически это был большой регистровый файл. Отчасти за счёт этого удалось существенно уменьшить цену и отхватить весьма заметную долю рынка 8битных процессоров. Интересно, знали ли MOSовские инженеры архитектуру IBM 360 ? )
Скорей всего, знали -- одна из наиболее распространённых архитектур же была, её в ихних вузах преподавали, как и IBMовские оси... Ну а 6502 -- мой первый проц (на "Агате-7") :)
Кстати, как там реально было дело с совместимостью с Apple II - скажем, запускались ли (пусть после обработки напильником) ранние игрушки от Sierra? А то я про Агат только в "Науке и жизнь" читал.
Агат-7 и -8 были несовместимы по графике вообще, насколько помню. Агат-9 вроде б совместим. Но голову на отсечение не дам: я с ним всё ж только в школе и вскоре после школы дело имел.
6502 делался по мотивам 6800, над которым вся команда, сделавшая 6502, работала на предыдущем месте работы. Каковой 6800 похож по общей идеологии, но в мелочах сделан гораздо хуже.
Сам 6800, "как врёт википедия", делался по мотивам PDP-11, хотя я бы сказал, что и мотивов PDP-8 в нём хватает.
Когда делали PDP-11, знали прекрасно о IBM/360, но пожалуй взяли оттуда только байтовую организацию и идею 8-битных байтов.
В PDP-11 всё таки были стандартные для того времени 8 регистров общего назначения, так что конкретно этот нюанс не оттуда. В 6800 zero page тоже был, хотя всё таки оставили два аккумулятора, в 6502 развили идею.
Точней, шесть регистров: седьмой и восьмой -- указатель стека и счётчик команд, так что не очень общего, хоть и нумеровались вместе с общими.
Под 6502, кстати, мне приятней писать было, чем под 8080. Правда, AVR8 ещё приятней -- но это уже совсем-совсем другое поколение (и транзисторов там немеряно по сравнению с этими -- одни только 32 регистра сколько жрут).
Если считать по 8 бит, то в Z80 сравнимое число регистров, около 26 штук. Уже тогда не было особой проблемой разместить столько на кристалле.
А в 8051 128, правда не регистров, а байт памяти.
Собственно, поэтому сначала, когда важнее была цена, 6502 фактически захватил рынок 8битных компьютеров, а уже потом, когда себестоимость уменьшилось - стали появляться модели на более мощном (по сравнению и с ним, и с 8080) Z80.
Я не вижу, чтобы 6502 захватывал прям весь рынок 8-битных компьютеров. Безусловно, цвели и пахли эпл2, коммодоры, атари, ещё какое-то кол-во домашних компьютеров на 6502. Но точно так же было огромное кол-во компьютеров на Z80, в том числе с CP/M или её вариантами/доработками.
Я согласен с тем, что 6502 сразу после появления был сделан по огромным нормам, но его дешевизна была связана скорее с маркетинговой стратегией, а не с натурально бOльшими расходами на производство у конкурентов (8080, 6800). Тем более, что те сразу снизили цену.
Но вообще я хотел сказать, что большое кол-во регистров не означает огромных площадей кристалла.
эпл2, коммодоры, атари
В конце 70х это был практически весь рынок.
огромное кол-во компьютеров на Z80
Это уже в 80е.
а не с натурально бOльшими расходами на производство у конкурентов (8080, 6800). Тем более, что те сразу снизили цену.
Тем не менее домашних компьютеров на 8080/6800 практически не было. Исключение - СССР, где склонировали 8080 и соответственно он был самым доступным.
PDP-11 для своего времени был обычной машиной по сложности (более ранние например PDP-10 были ещё более умопомрачительно сложны), но для однокристалльных процессоров таки оказался слишком сложным. Даже 68000 по сложности пожалуй проще PDP-11 (имею в виду сложность алгоритмов функционирования и микропрограмм, а не просто кол-во регистров/бит в datapath'е).
Если бы и PDP-11 удалось вовремя запихать в 1 кристалл с 8битной внешней шиной данных, и основатель DEC понял вовремя значимость микрокомпьютеров (как он в конце 50ых понял значимость миникомпьютеров), то, возможно, история микропроцессоров шла бы совсем по-другому.
16 Мбайт памяти — это огромная величина для середины 1960-х годов, машины с таким объёмом ОП стали сколько-нибудь массово появляться «у них» лишь во второй половине 1970-х
Забавный факт: программа начальной загрузки (IPL) ранних версий OS/360 зацикливается при максимальном размере ОП 16 Мб. Происходит это потому, что определение размера ОП реализовано так: выполняется чтение через каждые 2 Кб и перехват прерывания, возникающего при выходе за доступный размер ОП. Соответственно, на 16 Мб такого прерывания не возникает.
Более поздняя версия IPL выполняет этот цикл более корректно, с проверкой верхней границы.
При добавлении памяти в пульте дырку приходилось проковыривать и лампочку вставлять. Для индикации адреса разряда не хватало.


Процессор ЭВМ ЕС-1020. Оперативная память