Пользователь:RastaKins

РастаКинс — инженер-электронщик и программист.

В 1976 году первой работой Растакинса, связанной с компьютерами, стала работа в Industrial Micro Systems (теперь Cubix) по сборке контроллеров XYZ на базе 8080 для машин для соединения микросхем проводами . Эта компания быстро переключилась на прибыльный рынок S-100 . Во время спада Растакинс прошел через парковку к одному из первых компьютерных магазинов в мире, Computer Mart of Orange. Там Растакинс получил работу техника по ремонту. Руководителем Растакинса был Джордж Тейт... Тейт будущего Ashton-Tate ! В качестве побочной работы Растакинс собрал по контракту двадцать два компьютера IMSAI 8080 и несколько Sol-20 и BYT-8. RastaKins также спроектировал плату памяти 16K S-100, контроллер матричного принтера и плату часов для IMSAI.

В 1979 году RastaKins начал работать в Western Digital, разрабатывая свой первый контроллер жесткого диска WD1000. В этой конструкции использовались пять вентильных матриц и микропроцессор Signetics 8X300 . WD1000 управлял ранними фиксированными дисками, такими как Seagate ST-506 . За конструкцией быстро последовал контроллер диска WD1001 ECC, основанный на новых вентильных матрицах и Signetics 8X305. Затем последовало несколько разработок на основе однокристального контроллера жесткого диска WD1010 от Western Digital, включая первый контроллер SCSI и первый контроллер чередования 1:1 от WD1003-SCS. Работа RastaKins с кодами исправления ошибок привела к созданию мертворожденного программируемого полиномиального генератора Western Digital. RastaKins написал микрокод для микросхемы часов времени дня WD2412 от WD, которая впервые была использована в Pascal MicroEngine . WD2412 был основан на WD4200, копии COP420 . RastaKins начал экспериментировать с кросс-объектными ассемблерами в WD, создав ассемблер, который брал исходный код 8080 и генерировал объектный код PDP-11 . RastaKins внес вклад в детальный цифровой дизайн и программное обеспечение для контроллера жесткого диска, который поставлялся со всеми IBM AT . [примечание 1]

Rastakins разработал или внес вклад в интеграцию продуктов контроллеров жестких дисков для TRS-80 , IBM Instruments System 9000 , Kaypro 10 , Fortune Systems '32:16 [примечание 2] и Olivetti M20 . [примечание 3]

В 1985 году RastaKins начал работать в ProVUE Development, создав улучшенный кросс-объектный ассемблер PDP-11 (на самом деле WD16 ) для Motorola 68000. Полученный объектный код выполнялся чисто 32-битным, хотя был написан на 16-битном PDP-11. За этим последовал кросс-объектный ассемблер PDP-11 для Intel 8086 , который реализовал 20-битную виртуальную машину, позволяя 20-битную линейную адресацию на 8086. [примечание 4] RastaKins работал над продуктами ProVUE SuperVUE и Panorama .

Затем RastaKins работал на L'Garde , проектируя ряд систем космических аппаратов. Rastakins спроектировал световые панели, топку пиропатрона, телеметрический интерфейс IRIG и программное обеспечение для эксперимента с надувной антенной , которая была основной полезной нагрузкой миссии Space Shuttle STS-77 . RastaKins спроектировал электронику развертывания для предварительной версии ISAT AFRL . Система развертывания использовала сетевой массив из 26 радиационно-стойких микроконтроллеров 80196. RastaKins спроектировал электронику так, чтобы она была бесконечно расширяемой, поэтому ферму любого размера можно было построить с использованием идентичных строительных блоков. RastaKins также спроектировал пневматическую систему развертывания, чтобы имитировать бесконечно расширяемые характеристики электроники. RastaKins создал оригинальный дизайн электроники для солнечного паруса Sunjammer . В этой конструкции используется 15 микроконтроллеров, поставляемых L'Garde. Другие проекты включают электронные и программные системы для OCSE (2000), MTS (2006), DSX (2007), COD (2008), AO (2008), LEVR (2009), Red Tigress (2009), SCD (2010) и LTD (2011).

Растакинс создал страницы Википедии WD16 и COP400 . Почему? Растакинс активно программировал и восхищался обоими. WD16 имеет самый сложный набор инструкций из всех ранних 16-битных микропроцессоров. [примечание 5] У COP400 есть гениальный и краткий набор инструкций, который экономит байты. Крошечная 1K ROM в чипе часов времени дня WD2412 на базе COP400 содержит почти 900 строк кода!

Примечания

  1. ^ Я помогал интегрировать этот контроллер в Бока-Ратоне. Ребята из IBM прятали материнскую плату AT в коробке из-под пиццы. Буквально в коробке из-под пиццы из местной пиццерии. Материнская плата выходила из строя примерно каждые 10 минут. Каждый раз ребята из IBM выключали ее и давали остыть в течение нескольких минут. После нескольких сбоев я сказал ребятам из IBM, что уже знаю, что на этой материнской плате есть 80286, из-за его синхронизации. Затем ребята из IBM прорезали отверстия в коробке из-под пиццы, обнажив процессор и еще один чип.
  2. ^ Поскольку Fortune 32:16 был полностью ориентирован на производительность, контроллеру диска необходимо было реализовать DMA. Контроллеры DMA той эпохи обычно обрабатывали только 8-битные данные и 16-битную адресацию. Шина 32:16 имела 16-битные данные и 24-битную адресацию. Я придумал решение DMA, которое не требовало ни устройств LSI, ни счетчиков. Я заставил 8X305 запустить 24-битные счетчики и преобразование шины из 8 в 16 бит в программном обеспечении. 8X300 отправлял адреса и данные на простые дешевые восьмеричные защелки. Инженерам Fortune не понравилось это программное решение, потому что они считали его медленным. Тем не менее, в их собственной спецификации DMA они требовали, чтобы устройства не занимали полосу пропускания шины. Я продемонстрировал, что программное решение 8X305 соответствовало как целям Fortune по производительности, так и целям незахламления шины. Программный цикл, необходимый для обновления 16 бит данных, обновления младшего байта адреса, поддержания счетчика слов, инициирования конечного автомата DMA и ожидания завершения, составлял всего 8 инструкций 8X305 или 2 микросекунды (мкс). Требуемая передача DMA из 256 16-битных слов могла быть выполнена всего за 512 мкс. Время сектора диска составляло около 1000 мкс. Таким образом, мой программный DMA мог доставлять данные в/из памяти на полной скорости диска. (Передачи DMA, которые пересекали границы 8-битных и 16-битных адресов, занимали 2,75 мкс и 3,25 мкс соответственно.)
  3. ^ Но не руководитель Osborne ! Western Digital часто интегрировала контроллеры дисков в клиентские компьютеры бесплатно, амортизируя затраты на протяжении всего производственного цикла. Ли Фельзенштейн хотел, чтобы WD разработала контроллер для будущего компьютера Osborne. Референсные проекты WD считывают данные с диска из микросхемы контроллера жесткого диска WD1010 в буфер сектора размером 512 байт. Затем хост передает блок в локальное ОЗУ с помощью DMA или, возможно, инструкции Z80 INIR. Фельзенштейн настаивал на том, чтобы мы не использовали буфер сектора, а вместо этого выполняли DMA напрямую из WD1010 в неиспользуемую видеопамять. Это не имело смысла, поскольку крошечные микросхемы ОЗУ, которые мы использовали для буферов сектора, были очень дешевыми, а видеопамять Osborne создавала бы переменные задержки, что усложняло бы конструкцию. Фельзенштейн, возможно, боролся за это, потому что ввод-вывод Osborne был странно отображен в память, что сделало бы инструкцию Z80 INIR (ввод блока) непригодной для использования. Если буфер сектора находился в видеопамяти, он мог использовать инструкцию Z80 LDIR (перемещение блока). Я рекомендовал руководству отклонить проект Osborne, и Osborne вскоре обанкротился.
  4. ^ Это использовалось для переноса SuperVUE на IBM PC. Код находился в сегменте кода размером 64 КБ. Именованные переменные находились в фиксированном сегменте данных. Регистры PDP-11 были реализованы как массив из 16-битных сегментов:смещений и хранились в стеке BP. Данные, на которые указывали регистры PDP-11, могли находиться в любом месте в пространстве памяти размером 500 килобайт, при этом сегменты данных рассчитывались для каждого доступа.
  5. ^ WD16 расширил набор инструкций PDP-11 во многих отношениях. Например, инструкция JMP PDP-11 может использовать любой режим адресации. WD16 улучшает JMP PDP-11, обобщая ее как инструкцию LEA (load effective address), которой нет в PDP-11. В WD16 JMP просто кодируется как LEA PC,dest.
Взято с "https://en.wikipedia.org/w/index.php?title=User:RastaKins&oldid=1231475914"