?

Log in

ramlamyammambam

Верхняя запись Основной блог находится на vak.dreamwidth.org

2016 дек 25 | 1:38

Этот блог переехал на vak.dreamwidth.org.
Предлагаю взаимодружиться на новом месте.

Ссылка | оставить комментарий (24) | Поделиться

ramlamyammambam

Марш «дармаедаў»

2017 фев 19 | 22:03

«Ня мы дармаеды, а вы — дармаеды - Тыя, хто гэты закон напісаў»



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

Ссылка | оставить комментарий | Поделиться

ramlamyammambam

В Сан-Франциско открылось кафе, где работают только роботы

2017 фев 19 | 3:10

Живём в 21 веке, однако. Надо будет заглянуть как-нибудь на чашечку робокофе.

https://www.yelp.com/biz/cafe-x-san-francisco-3

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

Ссылка | оставить комментарий (16) | Поделиться

ramlamyammambam

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

2017 фев 17 | 21:11

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



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

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



+2Свернуть )

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




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

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

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

Ссылка | оставить комментарий (7) | Поделиться

ramlamyammambam

Вычисление элементарных функций

2017 фев 15 | 22:32

Копаясь в исходных текстах операционной системы "Дубна" для БЭСМ-6, я набрёл на любопытную ссылку в комментариях:
          MACRO50:,NAME,
COCTABЛEHA A.И.CAЛTЫKOBЫM (OИЯИ)
C YЧACTИEM Л.Г.KAMИHCKOГO (ИФBЭ)
C BEPCИЯ 15.01.1975
C  KOЭФФИЦИEHTЫ ПOЛИHOMOB BЗЯTЫ
C  KHИГИ 'COMPUTER APPROXIMATIONS'
C  (ABTOPЫ J.F.HART И ДP., ИЗД-BO
C  JOHN WILEY AND SONS,NEW YORK,1968)
Это начало фрагмента, реализующего элементарные функции sqrt(), sin(), cos(), atan(), asin(), log(), exp(). Эта книжка, точнее её репринт 1978 года, до сих пор присутствует на Амазоне, причём по цене аж $96, что для издания 40-летней давности несколько удивительно. Я пошёл и взял книжку в библиотеке. Позже обнаружил её в сети в формате DJVU.



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

Ссылка | оставить комментарий (13) | Поделиться

ramlamyammambam

SiFive FE310: микроконтроллер с архитектурой RISC-V

2017 фев 13 | 21:02

Приехала ко мне вот такая штуковина:



Это Arduino-совместимая плата, построенная на микроконтроллере FE310 фирмы SiFive. Процессор имеет открытую архитектуру RISC-V. Фактически это первая реализация RISC-V в кремнии, доступная широкой публике. Плату можно заказать за $59 на сайте CrowdSupply.

Скачиваем и устанавливаем среду разработки:
git clone --recursive https://github.com/sifive/freedom-e-sdk.git
cd freedom-e-sdk
make tools
Компилируем и загружаем в плату тест Dhrystone:
make software PROGRAM=dhrystone BOARD=freedom-e300-hifive1
make upload PROGRAM=dhrystone BOARD=freedom-e300-hifive1
Подключаемся к консоли платы и жмём кнопку Reset:
core freq at 279979622 Hz
циферкиСвернуть )
Dhrystones per Second: 775193.8


Progam has exited with code:0x00000000
Видим, что процессор работает на частоте 280 МГц. Измеренную производительность надо поделить на 1757 (скорость VAX), чтобы получить величину DMIPS = 775193.8 / 1757 = 441.2. Для сравнения: микроконтроллер ATmega2560 16MHz даёт 7.23 DMIPS, процессор STM32F103 72MHz - 48.8 DMIPS, PIC32MX 80MHz - 92 DMIPS.

Для оценки эффективности архитектуры процессора имеет смысл поделить производительность на частоту процессора. Получим характеристику DMIPS на MHz. Результат такой:
Processor    Architecture    DMIPS/MHz
-----------------------------------------
ATmega2560 AVR 0.45
STM32F103 ARM 0.68 PIC32MX MIPS 1.15
FE310 RISC-V 1.57

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

Ссылка | оставить комментарий (4) | Поделиться

ramlamyammambam

Вот мчится тройка почтовая (тихо по склону Фудзи)

2017 фев 12 | 11:26



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

Ссылка | оставить комментарий (4) | Поделиться

ramlamyammambam

Чайник Малевича

2017 фев 11 | 23:10

Звучит почти как "барабан Страдивари". И тем не менее, для крутых пацанов Казимир Малевич действительно делал чайники!

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

Метки: ,

Ссылка | оставить комментарий (13) | Поделиться

ramlamyammambam

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

2017 фев 9 | 20:51

С какой максимальной скоростью может работать асинхронный процессор на 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

Ссылка | оставить комментарий (14) | Поделиться

ramlamyammambam

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

2017 фев 9 | 15:42

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

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

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

Ссылка | оставить комментарий (47) | Поделиться