Есть такое странное хобби: компьютеры конструировать. Но не так, чтобы купил по частям, воткнул и готово. Не-ет, сделать надо всё с самого начала. Нашёлся умелец, который спроектировал и собрал компьютер, используя только простейшие микросхемы базовой логики. И еще Си-компилятор написал, а теперь Minix переносит. Проект называется "Homebrew CPU", по аналогии с домашним пивоварением. :)



А я вот придумал другую концепцию радиолюбительского компьютера: http://vak.ru/doku.php/proj/samputer/intro
Причем на отечественном процессоре, MIPS32, да с плавающей точкой.

А я вот придумал другую концепцию радиолюбительского компьютера: http://vak.ru/doku.php/proj/samputer/intro
Причем на отечественном процессоре, MIPS32, да с плавающей точкой.

no subject
Date: 2007-05-18 14:19 (UTC)Согласен, VGA - главный камень преткновения. Или хотя бы TFT-LCD. Схему на MCT-01 я почти закончил, но без VGA она стала совсем неинтересной.
На двухслойку рассчитывать не стоит, при таких частотах без земляной подложки сигналы начинают звенеть со страшной силой. Четыре слоя самое оно.
Blackfin в LQFP - это ценная информация, спасибо. MMU там без педжинга, ну и ладно. А как там выход видео сделан? Не могу примеров найти.
no subject
Date: 2007-05-19 15:02 (UTC)http://www.analog.com/processors/blackfin/technicalLibrary/applicationNotes/index.html
http://www.analog.com/UploadedFiles/Application_Notes/74670263ee256Rev2March706.pdf
http://www.analog.com/UploadedFiles/Associated_Docs/377016527EE256v02_March06.zip
Смотреть в последнем архиве, кажется, код для второго ядра.
Аппаратно - думаю, можно взять за основу схему от Cirrus EP9315
http://www.cirrus.com/en/pubs/manual/EDB9315A_Tech_Ref_Manual.pdf
http://arm.cirrus.com/files/schematics/edb9307/8_SCHEMATICS/pdf/9307_schematics_v_2.pdf
Кстати, рылся у себя в свалке, еще одного QFP с VGA нашел:
Winbond W90P710
http://www.winbond.com.tw/NR/rdonlyres/B8339DC2-3563-48A2-A048-66F57FE87CFB/0/W90N710CD_W90P710CDG.pdf
И, повторяю, если плату заказывать, можно заказать и монтаж BGA.
А распространять через Мастер-Кит, например.
no subject
Date: 2007-05-19 19:33 (UTC)Winbond W90P710 трудно купить, efind.ru даже цену не дает. И потом, приходилось работать с их чипами... Не верю я им больше.
BGA неспортивно, хочется всё же удержаться в рамках более доступной технологии.
Цена
Date: 2007-05-20 12:32 (UTC)Использование FPGA и российского (военного) CPU - прямая туда дорога.
К тому же для рабочего компьютера они не нужны, максимум GAL или дешевый CPLD.
Я бы даже VGA DAC попробовал сделать на R-2R (учитывая импеданс выходов, возможно, поставив защелки) - у нас ведь скорее всего 5-6 бит, а не 8.
А для расширения надо оставить ISA в формате PC/104.
Забуферировать 245-ми, отгородив от CPU+SDRAM.
Кстати, IDE (параллельный ATA) тоже надо предусмотреть, шагом 2,54.
Может, поставить стандартный ISA MIO (FDC + 2COM + LPT + IDE ~CS).
Основные применения ящика:
- терминал RDP, возможно, X11;
(по опыту, 24-битному RDP хватает 10Мбит на 5 человек)
- "однорукий бандит";
- FreePascal.
Ящик должен допускать пересборку ядра и компиляторов (самые тяжелые вещи) на нем самом и запуск минимального менеджера окон без свопа. Кстати, может поставить слабенький FPGA ради внешнего TLB и сделать, как в MIPS (TLB miss -> exception)?
Назначение
Date: 2007-05-20 12:38 (UTC)И винчестер ему ни к чему, и ЦАП в VGA...
Тогда все слова забираю обратно.
no subject
Date: 2007-05-22 20:59 (UTC)R-2R - хорошая идея. Я думал про это, но не решился. Но еще не поздно. :)
Не вижу большого смысла в ISA, IDE, FDC. В качестве жесткого и/или сменного диска сейчас удобнее flash-карточки. Самый простой интерфейс имеют карты SD.
Для пересборки ядра и компиляторов 64 мегабайт памяти должно хватить без всякого пейджинга. А для свопинга TLB, строго говоря, не нужен.
SpaceWire - и правда интересная шина. Например, можно было бы сварганить на FPGA видеоадаптер с таким интерфейсом.
Спецификация
Date: 2007-05-23 10:12 (UTC)Однако для комнатного применения, по-моему, лучше оставить IDE - ведь он ничего не стоит (дешифровать его ~CS-ы), заодно можно подключить CompactFlash, а винчестер все-таки имеет большую емкость и допускает большее число записей сектора.
ISA, с другой стороны, и особенно в формате PC/104 - стандарт для таких систем, и единственная шина, для которой привык вести разработку типичный радиолюбитель - без FPGA и специализированных микроконтроллеров с поддержкой синхронных последовательных шин.
Так что разводить эти разъемы, по-моему, надо, а вот запаивать ли их - личное дело сборщика.
По-моему, следует также сразу предусмотреть JAMMA, даже, может, сдублировав на него VGA. Хотя, может, его лучше сделать на дочерней PC/104 плате.
Место для запайки на ISA NAND flash надо предусмотреть - для несменного твердотельного носителя это стандарт.
Другие вопросы, на которые нужны ответы:
- необходимая тактовая частота:
высокая (около 1ГГц и выше) - XScale + дискретный VGA (у внутреннего недостаточное разрешение), например, бывший C&T,
средняя (175 - 400 МГц) - что и выбрано, надеюсь,
низкая;
- объем ОЗУ:
большой (512 МБ и выше),
средний (64 - 256 МБ), что и выбрано,
малый (4 - 16 МБ);
- тип полевой шины (по-моему, наиболее популярны CAN и RS-485);
- _необходимые_ шины расширения;
- USB ? (нехватка компенсируется прямой поддержкой всех флэш-карт?)
- Ethernet (нужен, хоть место под RTL8019 или CS8900), хотя, опять-таки, возможно на дополнительной плате.
Насчет свопинга без диспетчера памяти - это оверлеи, я собирал unarj под RT-11, об оверлеях должен заботится прикладной программист. (Даже когда системная поддержка самая прозрачная). Голый TLB, как в MIPS, по-моему, - самая простая аппаратная реализация диспетчера памяти, полная аппаратная реализация таблицы страниц по спецификациям IBM S/370, сделанная в i386, намного дороже (т.е. с микрокодовой отработкой TLB miss). А в MIPS этого микрокода нет, все делается обычным кодом режима супервизора.
Кстати, по-моему, 1МГц ARM = 2МГц MIPS (= 0,5Мгц AVR32), поскольку у ARM набор команд намного хитрее - как в микроЭВМ 60-х годов ;-) , а все они полный конвеер без суперскаляра, т.е. почти всегда 1 команда за такт. Т.е. при одной и той же частоте ARM намного быстрее MIPS. Для примера почитайте Вашу хэш-функцию (правда, не знаю, может у российского процессора есть все расширения набора команд, сам ничего не читал, прикидывал когда-то по S-boxes, кто из $50 роутеров быстрее в этом деле...)?
Заодно огромное Вам спасибо за оригиналы стандартов! :-)
Re: Спецификация
Date: 2007-05-24 21:51 (UTC)Ваша гипотеза о значительном превосходстве ARM не подтвердилась.
А также выяснилось, что Blackfin не сильно хуже чем Thumb.
SDRAM DIMM
Date: 2007-05-23 10:46 (UTC)Таким образом, установив слот SDRAM DIMM вместо планарных корпусов, мы можем обеспечить значительную экономию средств и легкость приобретения комплектующих.
На плате, по-моему, нужно все же развести оба варианта - запаянная память на материнской плате нужна при:
- запайке ее в Китае вместе с процессором,
- изготовлении компьютера повышенной надежности,
- установке малого объема ОЗУ в целевые изделия.
Re: SDRAM DIMM
Date: 2007-05-23 19:56 (UTC)Частота определяется выбранным микроконтроллером. Ethernet с моей точки зрения, нужен обязательно, а без USB можно и обойтись. DIMM, все-таки, слишком громоздко.
Своппинг в Юниксе изначально был реализован в ядре, пользователю про это думать не надо. А вот пейджинг появился только в 1984-м году, с выходом System V Release 2. Так что справимся.
Стандарты - пользуйтесь на здоровье. :) Оно ж всехнее, общественное.
JAMMA
Date: 2007-05-23 20:58 (UTC)http://pinouts.ru/Slots/jamma_pinout.shtml
http://www.larwe.com/coinop/jamma.html
Лампочки, видимо, не из оригинальной версии, а от болгарского Casino Technology. Сейчас не нахожу :-(
no subject
Date: 2007-05-24 10:51 (UTC)