Category: компьютеры

Category was added automatically. Read all entries about "компьютеры".

Улыбка

Сетевой диск сделай-сам

Чего только народ не строит на процессорах MIPS. Вот, к примеру, самодельное сетевое хранилище на шесть жёстких дисков. Процессор MediaTek MT7621A (MIPS 1004Kc), два двухпоточных ядра до 1.2ГГц под управлением Debian Linux. Документация и схемы выложены на Гитхаб.

Cross-post from: http://vak.dreamwidth.org/448964.html

Улыбка

ОС "Дубна" работает!

Мише Попову [personal profile] mrupor удалось запустить операционную систему "Дубна" на симуляторе БЭСМ-6. Протокол смотрите ниже.

Мне раньше никогда не приходилось видеть ОС Дубна вживую. На физтехе у нас стоял Диапак, в остальных конторах обычно Диспак. Зато теперь можно доставать из загашника книжку Мазного и изучать "новую старую" система. Самое главное - все исходные тексты ОС Дубна сохранились, так что её можно пытаться пересобирать с нуля.
МУЛЬТИТАЙП  (ВЕРСИЯ ОТ 15/12/87)   ЭВМ-0
РАSS:*****
БУФЕР:*/*
КАК
00.03- Т 0002 24.00- INТRSР
00.09- Т 0004 24.00- МАСRОS

ПУС INТRSР
ЖДИТЕ ОТВЕТА
ПАКЕТ В ФАЙЛЕ ВВОДА: 06
СЛУ INТRSР
СЧЕТ
КАК
00.03- Т 0002 24.00- INТRSР
00.09- Т 0004 24.00- МАСRОS
00.28- Т 0006 24.00- INТRSР

БУФЕР:
РЕЗ 3
00
00.28
ОИЯИ. БЭСМ-6/0 ШИФР-20
МОНИТОРНАЯ СИСТЕМА 'Д У Б Н А' - 20/10/88
ЖЖЖ Ж Ж ЖЖЖЖЖ ЖЖЖЖ ЖЖЖ ЖЖЖЖ
Ж ЖЖ Ж Ж Ж Ж Ж Ж Ж
Ж Ж Ж Ж Ж Ж Ж ЖЖЖ Ж Ж
Ж Ж ЖЖ Ж ЖЖЖЖ Ж Ж Ж
Ж Ж Ж Ж Ж Ж Ж ЖЖЖЖ
Ж Ж Ж Ж Ж Ж Ж Ж Ж
ЖЖЖ Ж Ж Ж Ж Ж ЖЖЖ Ж
*NАМЕ INТRSР
*ТIМЕ:24.00
<ЭКСПРЕСС-ЗАДАЧА>
*NО LОАD
00
00.28
Ф О Р Т Р А Н
/16.07.73/
РRОGRАММА
DIМЕNSIОN М1(9),М2(9),М3(9),М4(9),М5(9)
DАТА М1/54НРRОGRАММА = /
DАТА М2/54НDIМЕNSIОN М1(9),М2(9),М3(9),М4(9),М5(9) = /
DАТА М3/54НРRINТ М4,М1,М2,1,М1,2,М2,3,М3,4,М4,5,М5,М3,М5 = /
DАТА М4/54Н(2(6Х,9А6/)5(6Х,6НDАТА М,I1,4Н/54Н,9А6,1Н//)(6Х,9А6)) = /
DАТА М5/54НЕND = /
РRINТ М4,М1,М2,1,М1,2,М2,3,М3,4,М4,5,М5,М3,М5
ЕND
ТАБЛИЦА ОТНОСИТЕЛЬНЫХ АДРЕСОВ
1 2 3 4 5 6 7 8 9 10 11 12 = 13 14 15 16 17 18 19 20
000 :00001
*ЕХЕСUТЕ
РRОGRАММА
DIМЕNSIОN М1(9),М2(9),М3(9),М4(9),М5(9)
DАТА М1/54НРRОGRАММА /
DАТА М2/54НDIМЕNSIОN М1(9),М2(9),М3(9),М4(9),М5(9) /
DАТА М3/54НРRINТ М4,М1,М2,1,М1,2,М2,3,М3,4,М4,5,М5,М3,М5 /
DАТА М4/54Н(2(6Х,9А6/)5(6Х,6НDАТА М,I1,4Н/54Н,9А6,1Н//)(6Х,9А6)) /
DАТА М5/54НЕND /
РRINТ М4,М1,М2,1,М1,2,М2,3,М3,4,М4,5,М5,М3,М5
ЕND
@ @
АДРЕС РАУ *И15* *И14* *И13* *И12* *И11* *И10* *И9** *И8**
00430 006 53401 00000 00427 03071 02441 01001 00000 02746
*И7** *И6** *И5** *И4** *И3** *И2** *И1**
01142 37015 20324 20232 00000 20220 00011
СВ=00.00.00 КВ=00.00.17 АВ=00.28.23
ДАТА=00/00/00 ЭВМ-0
КОНЕЦ ЗАДАЧИ ТЕРМ. Ш-20 ВЫ/ВВ=0000 ОТДЕЛ=041 - ПОПОВ М.Ю.
*****************ОС ДУБНА 1.04 ОТ 22,03,17 ,1ЩЩЩЩЩЩЩЩЩЩЩЩЩЩЩЩ
**************************************************************
.

Cross-post from: http://vak.dreamwidth.org/448758.html

Улыбка

Куда мигрируют программисты

В таблице для каждой пары языков X и Y показана активность обсуждения темы "Почему мы мигрировали с языка X на язык Y". Что интересно - побеждает язык Go (16.41%). На втором месте Си (14.26%).



Cross-post from: http://vak.dreamwidth.org/447155.html

Улыбка

Размер памяти для "Hello world"

Провёл простейшее измерение memory footprint для примера "Hello world" на четырёх языках: C, Go, C++ и D. Размер требуемой памяти и количество прерываний подкачки страниц измерялись утилитой /usr/bin/time. Операционная система Ubuntu Linux.
Language    Resident Size   Page faults
----------------------------------------
C           1324k           61
Go          1064k           120
C++         3052k           126
D           2796k           144 
Как можно видеть, Go требует наименьшего размера памяти: в три раза меньше чем C++ и D, и на 30% меньше чем Си.

Cross-post from: http://vak.dreamwidth.org/442654.html

Улыбка

Второй блин Сеймура Крея

Приобрёл я на днях древнюю книжечку, описывающую компьютер CDC 1604.



И книжка, и сам компьютер уникальны во многих отношениях. Утверждается, что сия книжка - первый в истории учебник программирования (1964 год). Машина 1604 - первая разработка молодой фирмы CDC (1960 год), и один из первых транзисторных компьютеров вообще. Руководил работой тогда еще молодой и не очень известный инженер Сеймур Крей. Для Крея это был второй проект, после ERA 1103.

Выглядела машина CDC 1604 вполне внушительно:



Collapse )

В книжке обнаружилась разрезанная на три части перфокарта, в качестве закладки. Лёня spamsink провёл расследование и выяснил, что такие карты применялись в то время для автоматизации приёма экзаменов и зачётов. Подробности читайте на StackExchange.




В 1968 году Советский Союз приобрёл машину CDC 1604, к тому времени уже снятую с производства. Компьютер был установлен в Дубне, в Объединённом институте ядерных исследований, рядом с новенькой БЭСМ-6. В поставке с машиной шёл компилятор с Фортрана, причём с исходными текстами. Команда программистов ОИЯИ под руководством Николая Николаевича Говоруна воодушевилась этими текстами и поставила задачу написать такой же компилятор для БЭСМ-6. Заодно пришлось сделать ассемблер, загрузчик, поддержку библиотек, да и всю остальную операционную систему, которая получила логичное название "Дубна". История красочно изложена в статье "Говорун и его команда".

Я собственно и добыл книжку, чтобы разобраться, насколько CDC 1604 повлияла на мониторную систему Дубна. Как выяснилось, не очень. Никаких общих черт между входными языками CDC и мониторной системы Дубна я не обнаружил.

Cross-post from: http://vak.dreamwidth.org/440642.html

Улыбка

309 МГц, полёт нормальный

С какой максимальной скоростью может работать асинхронный процессор на FPGA? Многие считают, что это в принципе невозможно, а я тем временем решил измерить реальную цифру. Возьмём пустой цикл следующего вида:
    forever
        continue;
Еслибы существовал транслятор с SystemVerilog в асинхронные компоненты, он бы породил такую схему:
                 ,---. out ,---.
    activate ---o| # |----o|run|
                 `---'     `---'
                 Loop     Continue
Примитив Continue я уже упоминал недавно. Loop это компонент, реализующий бесконечный цикл. У него два синхропорта: по ведомому порту он получает сигнал активации, после чего начинает генерить последовательность импульсов на ведущем порту. Реализуется он следующим образом:
    module Loop (sync.slave activate, sync.master out);

        wire req = activate.req & !out.ack;

        BUFR b (.O(out.req), .I(req));

        assign activate.ack = '0;
    endmodule
Работает схема так:



С точки зрения формальной логики буфер BUFR здесь не требуется. Однако без него схема не работает. У семейства Xilinx Artix7 есть три типа подходящых буферов на выбор: BUFG, BUGH и BUFR. Я загрузил прошивку в плату Digilent Basys3 и измерил результат для всех трёх вариантов. Самая высокая частота получается с BUFR, а именно 309 МГц. Это будет верхний предел для скорости асинхронного процессора на данном типе FPGA.

Cross-post from: http://vak.dreamwidth.org/439349.html

Улыбка

Технология M-DISC

Для долгосрочной архивации купил на Амазоне минимальный комплект: DVD-писалку для M-DISC ($25) и запас болванок ($1.33/шт). Производитель Verbatim обещает срок хранения в несколько сот лет. Поживём - увидим. :)

В отличие от традиционных дисков эти - полупрозрачные на просвет.

Cross-post from: http://vak.dreamwidth.org/439053.html

Улыбка

Фотки БЭСМ-6 из Дубны

Период от конца 1960-х до середины 1970-х.

Настройка БЭСМ-6, Емелин и Анатолий Гусев (остальные не опознаются):



БЭСМ-4 и CDC-1604 (была прототипом для Фортрана-Дубна):



Collapse )

Cross-post from: http://vak.dreamwidth.org/436707.html

Улыбка

БЭСМ-6: пополнение коллекции препринтов

Спасибо Мише Попову: коллекция документации БЭСМ-6 пополнилась изрядным количеством препринтов из дубненского ОИЯИ.

196819751976197719781979198019841986

Cross-post from: http://vak.dreamwidth.org/435561.html