stringtranslate.com

Ферранти F100-L

Ferranti F100-L — семейство 16-битных микропроцессоров , анонсированное компанией Ferranti в 1976 году и запущенное в производство в 1977 году. Это был первый микропроцессор, разработанный в Европе [1] , и один из первых 16-битных однокристальных процессоров. Он был разработан с учетом военного использования, способен работать в очень широком диапазоне температур и устойчив к радиации . Для реализации этих возможностей в F100 использовались транзисторы с биполярным переходом , в отличие от процесса металлооксид-полупроводник (МОП), который использовался в большинстве других процессоров той эпохи. Семейство включало в себя множество вспомогательных микросхем, включая блок умножения/деления, различные микросхемы поддержки памяти, таймеры и контроллеры последовательной шины .

В 1978 году F100 стоил 39 фунтов стерлингов со скидкой 100 штук. Три модели предлагались по одной цене; коммерческая спецификация имела номинальную частоту 8 МГц, промышленная - 6,5 МГц в расширенном диапазоне температур, а военная - 3,5 или 5 МГц с диапазоном температур от -55 C до +125 C. Это было очень конкурентоспособно по цене в промышленной и военной сфере. рынках, но в меньшей степени на коммерческом рынке, где процессоры вроде MOS 6502 стоили около 11 долларов за ту же партию из 100 единиц.

Линия была обновлена ​​с выпуском F200-L в 1984 году. Это было программное обеспечение, совместимое с F100, но включало математический процессор на том же кристалле, расширяло адресацию до 128 КБ и позволяло использовать до 1 МБ памяти в сочетании с новым F220. блок управления памятью . Вскоре после выхода F200 на рынок, в 1987 году, Ферранти приобрела International Signal and Control , компанию, которая вскоре обнаружила, что совершает крупное мошенничество; это привело Ферранти к банкротству.

Подразделение микросхем было куплено Плесси , который продолжал производить некоторые вспомогательные чипы семейства F100 вплоть до 1995 года. Поскольку он почти полностью используется в военной сфере, F100 мало известен в более широкой области ретрокомпьютеров , и осталось несколько примеров.

История

Предыдущие компьютеры

Ферранти была одной из первых компаний, представивших коммерческий компьютер Ferranti Mark 1 в 1951 году. За этим последовали несколько других коммерческих разработок, в первую очередь Ferranti Atlas 1962 года, который на тот момент был самым быстрым компьютером в мире. В 1963 году они использовали Ferranti-Packard 6000 , независимо разработанный в их канадском подразделении, в качестве «золотого кирпича» при продаже всей своей линейки коммерческих компьютеров компании International Computers and Tabulators (ICT). Компания ICT использовала FP6000 в качестве основы для своей линейки 1900, которая продавалась годами. До продажи Ferranti продала около 24% всего компьютерного оборудования в Великобритании. [2]

В рамках сделки с ICT Ферранти было запрещено продавать продукцию на коммерческом компьютерном рынке. В результате у них остались две существующие архитектуры, которые были разработаны для военного использования: небольшой Ferranti Argus , который уже добился успеха на рынке промышленных контроллеров, и FM 1600, более крупная машина, используемая для обработки данных в реальном времени, управления оружием и моделирования. [3] Оба были построены из отдельных транзисторов и небольших интегральных схем с использованием технологии биполярных транзисторов MicroNor компании Ferranti . Оба они были очень успешны на рынке, обеспечив продажи в сотни миллионов фунтов в конце 1960-х годов. [2]

CDI

Существенная проблема с процессом MicroNor заключалась в том, что логический элемент, реализованный с использованием биполярной схемы, был значительно больше, чем тот, который использует современный процесс MOSFET , примерно в шесть раз. [a] В типичных конструкциях биполярная компоновка также требовала трех или четырех дополнительных этапов маскировки, каждый из которых занимал много времени и увеличивал вероятность повреждения чипа во время обработки. Опыт работы с MicroNor показал, что максимум около 100 вентилей является пределом для одного чипа, в отличие от MOS, который использовался для проектов с тысячами вентилей. Однако МОП-система была более чувствительна к примесям в полупроводниковом сырье, что приводило к появлению электрических шумов, которые снижали производительность, а также ограничивали условия ее эксплуатации. Ни то, ни другое было неприемлемо на военном рынке. [1]

В 1971 году Ферранти лицензировал новый процесс коллекторно-диффузионной изоляции (CDI) у Fairchild Semiconductor . Этот процесс, первоначально разработанный в Bell Labs , позволил создать значительно упрощенный биполярный затвор, который требовал меньше шагов маскировки и был лишь немного больше, чем эквивалентный МОП. Это мало интересовало ни Белла, ни Фэйрчайлда, которые были довольны своими МОП-процессами, и ни один из них не продвинулся дальше экспериментальных систем. [1]

Ферранти вложил значительные средства в процесс CDI, работая над повышением рабочего напряжения с 3 до 5 В для совместимости с существующими устройствами транзисторно-транзисторной логики (TTL), которые уже широко использовались в военных целях. [4] Это привело к созданию серии интеграционных частей среднего масштаба, использующих этот процесс. Наиболее известной среди них была серия незадействованных логических матриц (ULA, или вентильная матрица), микросхем без заранее установленной логической схемы, которые разработчик мог запрограммировать для создания любой необходимой схемы. Они стали очень популярными, и к 1986 году компания занимала около 20% мирового рынка ULA. [4]

Ф100-Л

Появление первых микропроцессоров в начале 1970-х годов врезалось в бизнес Ферранти по военным вычислениям. Хотя эти ранние разработки не были конкурентоспособными с точки зрения производительности, их соотношение цена/качество было на несколько порядков лучше, чем у дискретных разработок Ферранти, несмотря на несколько этапов снижения стоимости линейки MicroNor в конце 1960-х годов. Убежденное, что микропроцессор представляет собой стратегическое изменение в военном применении, в 1974 году Министерство обороны Великобритании согласилось спонсировать усилия Ферранти по созданию конструкции микропроцессора военного уровня с использованием процесса CDI, высокая мощность которого позволяла им работать в электрическом режиме. шумная обстановка. [2]

Внутреннее исследование внутри компании показало, что 8-битная часть не будет иметь возможностей, необходимых различным подразделениям, и было принято решение производить 16-битную часть. [1] Основываясь на исследованиях экономики производства чипов, Ферранти пришел к выводу, что у них есть бюджет около 1000 вентилей, прежде чем конструкция станет слишком дорогой. Для создания 16-битной конструкции с таким ограниченным количеством вентилей арифметико-логическое устройство (АЛУ) использовало последовательную архитектуру . Это замедляет выполнение математических операций, поэтому минимальное время, необходимое для выполнения инструкции, составляет 36 тактов. Этот удар по производительности несколько компенсируется тактовой частотой 8 МГц, что примерно вдвое выше, чем у самых быстрых процессоров той эпохи. [5]

При 16-битных данных и 15-битных адресах обычно требуется 31 контакт для сопряжения конструкции с компьютером в целом. Желая получить недорогое решение, его пришлось разместить в обычном 40-контактном двухрядном корпусе (DIP). Для этого линии данных и адреса имеют общие контакты, поэтому для завершения чтения одной инструкции требуется несколько циклов. [4] Для сравнения: Texas Instruments TMS9900 , еще одна 16-битная конструкция, представленная в том же году, имела удвоенное количество вентилей и была упакована в дорогой специальный 64-контактный DIP. [5]

В конечном итоге F100 не смог удовлетворить ограничение в 1000 ворот и был построен примерно с 1500 воротами на площади 5,8 мм. Это было больше, чем существующая система производства масок, и потребовало от них разработки новой версии с большим коэффициентом оптического уменьшения. Выбор времени для проектирования также дал одно преимущество; F100 начали готовить к производству как раз в тот момент, когда на рынок вышла система Micralign , и Ferranti внедрила эту систему выравнивания выступов в производство, тем самым значительно увеличив урожайность. [6]

Как это было принято в то время, F100 был представлен вместе с семейством вспомогательных микросхем, включая интерфейсы шины памяти, контроллер прерываний, контроллер прямого доступа к памяти и базовый контроллер последовательной шины . Большинство из них были построены с использованием чипов ULA. [7] Пожалуй, самым интересным среди них был F101-L, выпущенный вскоре после ЦП, который выполнял аппаратное умножение и деление. Это стало настолько распространенным, что вскоре ЦП стал предлагаться с F101 на том же кристалле, что и FBH5092. [7]

Пока разрабатывался F100, Ferranti выпустила многоплатную версию процессора F100-M для установки в стойку. Он использовался в качестве платформы для разработки, а также использовался в гражданских целях. Инструменты программирования изначально были написаны на FORTRAN , но большинство проектов были написаны на CORAL , как только стал доступен компилятор для этого языка. [8]

Когда об этом было впервые объявлено в 1977 году, цена партии по 100 единиц составляла 57 фунтов стерлингов, но вскоре к 1978 году она была снижена до 39 фунтов стерлингов. [4] Набор, содержащий F100 вместе с интерфейсом управления F111-L и двумя F112-L. Контроллеры DMA можно было приобрести за дополнительные 18 фунтов стерлингов. [6] Хотя это делало его неконкурентоспособным с коммерческими процессорами на базе MOS, такими как Zilog Z80 за 25 долларов или MOS 6502 за 11 долларов в тех же партиях по 100 единиц, он был очень конкурентоспособен с другими разработками военного назначения, такими как процессор Z80 с военным рейтингом за 165 долларов. . [9]

F100 быстро нашел применение в оборонных проектах Великобритании. Среди наиболее известных успехов — блок наведения ракеты «Си Игл» . Другие примеры включают артиллерийский компьютер для зенитной самоходной установки Falcon , множество баллистических компьютеров, используемых в различных танках, центральный процессор для спутника UoSAT-1 и ряд приложений военно-морских компьютеров. [8] Он также использовался в гражданской сфере в системах управления двигателем от Ultra Electronic Controls, ограничителе скорости винта от Dowty Group и даже в управлении оборудованием для ядерных испытаний с использованием протокола CAMAC . [9]

Ф200-Л

Линия F100 была обновлена ​​в 1984 году с появлением F200-L, которая была программно и по выводам совместима с F100. Основные изменения заключались в включении математического процессора, ранее F101, в состав базового процессора. Улучшения в производстве также позволили F200-L работать на частоте до 20 МГц. F200 также поддерживал 16-битные адреса, расширяя память до 64 кВт (128 КБ). Новый блок управления памятью F220-L, выпущенный в то же время, обеспечивал поиск адреса в пространстве памяти объемом 1 МВт (2 МБ). [7]

Покупка Плесси

В 1980-е годы Ферранти добился большого успеха и богатства. Желая увеличить продажи в США, компания начала искать надежного американского военного поставщика, которого можно было бы купить и использовать в качестве основы для своего собственного подразделения в стране. Этот процесс в конечном итоге привел к покупке компании International Signal and Control (ISC) в 1987 году и одновременно к изменению названия компании на Ferranti International. [10]

К сожалению, основным бизнесом ISC, который на тот момент не был раскрыт, была незаконная продажа оружия. Этот источник дохода испарился вместе с покупкой, оставив их практически без постоянного бизнеса. Последовал длительный судебный процесс, и долговая нагрузка, связанная с покупкой , а также судебные издержки привели Ferranti к банкротству в декабре 1993 года.

В рамках процедуры банкротства компания была расформирована, а подразделение полупроводников было куплено Плесси . Впоследствии она стала частью подразделения Siemens Plessey после того, как Siemens приобрела компанию в 1989 году. Линия продолжала производиться в течение всего этого периода, причем сам F100/200 производился по крайней мере до 1992 года [9] , а некоторые другие члены - до 1995. [11]

Сегодня

Используемый в основном в военных системах, сегодня сохранилось несколько систем F100. Среди них — чип дисплея F100-L в Музее науки и промышленности в Манчестере, также есть два типа чипов дисплея F100-L и книга данных в Компьютерном музее ICL, а также небольшое количество карточек от F100. микрокомпьютер в Центре истории вычислений . [9]

Описание

Регистры

Большинство микропроцессоров 1970-х годов использовали внутренние 8-битные регистры процессора , 8-битную шину данных и 16-битную адресную шину . В F100 использовались 16-битные регистры, но только 15-битные в адресной шине, но эти адреса представляли собой 16-битные слова, поэтому общий объем адресуемой памяти составлял 64 КБ, как и в большинстве 8-битных процессоров с 16-битной адресацией. [6] На момент разработки F100 память была чрезвычайно дорогой, и типичные машины той эпохи обычно имели только 4 КБ SRAM , поэтому отсутствие 16-го бита в адресе не было важным фактором. [9]

Существует три основных реестра пользователей. 16-битный АСС ( аккумулятор ) и ИЛИ (регистр операнда) используются для хранения значений, которыми манипулирует арифметико-логическое устройство (АЛУ) во время вычислений и сравнений. Результаты этих операций устанавливают биты в 7-битном CR (регистре условий). Два дополнительных регистра используются внутри; 15-битный ПК ( счетчик программ ) хранит адрес выполняемой в данный момент инструкции и имеет функцию автоматического приращения, а 16-битный IR (регистр команд) используется для хранения самой фактической инструкции. Если инструкция работает с адресом памяти, значение в IR перемещается во внутренние защелки , а затем в IR загружается значение адреса. [9]

CR содержал набор из семи битов: [9]

Режимы адресации

Всего у F100 было четыре режима адресации ; прямой, непосредственный, указательный и непосредственный косвенный. [7]

В прямом режиме постоянное значение кодируется непосредственно в инструкции. Для этого для кода операции были доступны только пять старших битов, что позволяло использовать в общей сложности 32 возможные прямые инструкции, а оставшиеся нижние 11 битов хранили числовое значение. [7] В стандартной мнемонике ассемблера это обозначалось размещением значения непосредственно после инструкции. Например, AND 0x444будет выполняться поразрядная операция И между текущим значением в ACC и 16-битной константой 0x444. Непосредственный режим аналогичен прямому, но значение, к которому осуществляется доступ, помещается в 16-битный код, следующий за инструкцией, чтобы можно было использовать константы большего размера. Это обозначалось запятой, например, AND ,0x4444. [9]

Как это было принято в то время, F100 имел форму адресации нулевой страницы , которую они называли косвенной адресацией указателя или просто указателем. В качестве указателя стека использовался нулевой адрес, 16-битное слово, у которого не было собственного регистра. Это должно было быть установлено на нечетное число. Пользователю были доступны локации с 1 по 255. При адресации указателя использовались младшие 8 бит инструкции для указания одного из адресов нулевой страницы, значение которого будет считываться как адрес, а затем загружаться значение по этому адресу. [7] Адресация указателя обозначалась косой чертой, например, AND /0x44. [9]

Кроме того, в F100 были альтернативные формы инструкций адресации указателя, которые выполняли предварительное приращение или постдекремент значения указателя на нулевой странице. Это позволяет легко выполнять циклы по блокам данных в основной памяти без необходимости чтения и выполнения отдельной операции приращения. [7] Они обозначались с помощью + или - в конце значения указателя, например, AND /0x44+или AND /0x44-. [9]

Наконец, косвенная адресация аналогична адресации указателя, но позволяет любому значению в памяти хранить указатель, а не только нулевую страницу. [7] Это более гибкий вариант, но поскольку адрес хранится в 16 битах, следующих за инструкцией, использование этого метода медленнее, чем использование нулевой страницы, поскольку необходимо прочитать два адреса памяти вместо одного. Этот режим обозначался точкой, например, AND .0x4444. [9]

Некоторые инструкции режима косвенной адресации также принимали третье значение, указывающее на другое место в памяти. Это использовалось для побитовых сравнений; инструкции включали бит, который нужно проверить, в качестве первого операнда, местоположение в памяти в качестве второго и адрес для перехода в качестве третьего. [7] Например, JBS 0x2 0x4444 0x5555будет проверен второй бит значения в ячейке 0x4444, а затем перейдет к ячейке 0x5555, если она была установлена, или продолжится, если это не так. [9]

Поскольку формат адресации в инструкциях различался по длине, память естественным образом разбивалась на сегменты. Первым был указатель стека в нулевой ячейке, затем — оставшиеся 255 ячеек нулевой страницы, затем максимальные 2048 ячеек прямого режима (включая нулевую страницу) и, наконец, оставшаяся память, к которой могли получить доступ 15 ячеек. -битные адреса. [9]

инструкции

Всего в F100 было 29 инструкций, что в совокупности с использованием различных режимов адресации дало 153 кода операций. Инструкции обычно делятся на шесть основных категорий; математические и логические, математические и логические двойной длины (32 бита), битовые проверки и условные переходы, обработка прерываний и внешние функции. Последний позволяет передавать неиспользуемые биты инструкции на внешние чипы для обработки. [6]

Инструкции были относительно распространены, но имели некоторые вариации. Например, ADDи SUBимели альтернативные версии, ADSи SBS, которые выполняли операцию, а затем сохраняли результат обратно в адрес операнда. JMPвыполнил безусловный переход, CALвызывая подпрограмму, которую большинство ассемблеров назвали бы a JSR, и RTNвыполнил возврат. Условные переходы допускали тестирование и переход. [7]

В формате инструкций использовались различные поля для кодирования классов инструкций. Четыре старших бита, с 15 по 12, определяют фактическую инструкцию, например, 1001 был ADD. Остальные биты менялись в зависимости от режима адресации. Например, если использовалась прямая адресация, бит 11 устанавливался в 0, 10 и 9 в 1, а оставшиеся 11 бит кодировали адрес операнда. Если все 11 бит были установлены в ноль, вместо этого он считывает операнд из следующих 16 бит в памяти. [9]

Запускать

При запуске или сбросе процессор проверяет вывод AdSel (выбор адреса). Если напряжение на выводе равно нулю, оно переходит в ячейку 0x400016384 десятичное число, а если напряжение на выводе равно 1, оно переходит в 0x08002048. Поместив код запуска в ПЗУ в этих местах, процесс загрузки можно автоматизировать. [9]

Примечания

  1. ^ См. диаграммы, Эванс, с. 21. [4]

Рекомендации

Цитаты

  1. ^ abcd Push 1977, с. 448.
  2. ^ abc Evans & Spittles 2019, стр. 20.
  3. ^ «История автоматизированных AIO» (PDF) . Королевский флот . Архивировано из оригинала (PDF) 18 октября 2012 года.
  4. ^ abcde Evans & Spittles 2019, стр. 21.
  5. ^ ab Evans & Spittles 2019, стр. 21–22.
  6. ^ abcd Push 1977, с. 449.
  7. ^ abcdefghij Evans & Spittles 2019, стр. 22.
  8. ^ ab Evans & Spittles 2019, стр. 23.
  9. ^ abcdefghijklmno Эванс 2016.
  10. ^ ab "Скандал ISC / Ферранти". Архивировано из оригинала 17 декабря 2017 года . Проверено 13 декабря 2008 г.
  11. ^ Эванс и Спиттлс 2019, с. 25.

Библиография

Внешние ссылки