Важная информация

User Tag List

Страница 4 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 31 по 40 из 54

Тема: Быстрое умножение на 10000

  1. #31
    Guru Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,234
    Спасибо Благодарностей отдано 
    140
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    182 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SuperMax Посмотреть сообщение
    тут Ниппель для Агата - оффтопик
    В сравнении мёртворожденных концепций вполне себе в теме, БК же не в вакууме существовала и я не предлагал добавить Ниппеля в БК для умножения на 10000.

    А по существу: тема очередная провокация от уважаемого ТС, но нет смысла повторяться.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32
    Master
    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    743
    Спасибо Благодарностей отдано 
    223
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    39 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Аппаратное умножение на ВМ1Г длится около 256 тактов (чуть больше или меньше в зависимости от аргументов)
    Попробовал подсчитать такты в приведенном коде и получил примерно 360, т.е. ВМ1Г явно быстрее. Интересно, что подобный код для 68000 также медленнее аппаратного умножения, а на 68020/30 всё наоборот - этот код быстрее.

  4. #33
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,556
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    273
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Решил поделиться. Как никак, а красота.
    вот где настоящая красота



    (для 10000 аналогично, плюс пара тактов)

    - - - Добавлено - - -

    в голове вертелось, вспомнить всё никак не мог, где видал
    Прихожу без разрешения, сею смерть и разрушение...

  5. #34
    Member
    Регистрация
    15.06.2010
    Адрес
    г. Чита
    Сообщений
    54
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Зашел я в эту тему не за этим, но KILLкулятор в БК в качестве математического сопроцессора зацепил.
    Раз пошла такая пьянка, режь последний огурец!
    В качестве бреда, предложу подцепить к БК в качестве сопроцессора/ускорителя/умного контроллера с часами и кукушкой - Black pill на Arm Cortex-M4F STM32F401CCU6 или STM32F411CEU6
    На борту платки контроллера для мотороллеров имеется
    "STMicro STM32F401CCU6 Arm Cortex-M4F MCU с тактовой частотой 84 МГц и флэш-памятью 256 Кб, SRAM 64 Кб
    STMicro STM32F411CEU6 Arm Cortex-M4F MCU с тактовой частотой 100 МГц и флэш-памятью 512 Кб, SRAM 128 Кб
    Математический сопроцессор (одинарной точности) присутствует. Производительности 1,25 DMIPS/МГц
    Таймеры: 11 таймеров + RTC
    Возможность подключения:
    USART (3x до 12.5 Мб/с)
    SPI (5x до 50 Мб/с)
    I²C (3x до 1 Мб/с)
    SDIO (3x до 1 Мб/с)
    USB 2.0 OTG (1x)
    I²S (2x до 32 бит/192 кГц дуплексный)
    I²S (3x до 32 бит/192 кГц односторонний)
    АЦП: 12-бит 2.4 MSPS"
    Чем не убердевайс, за сущие копейки? Ну, всяко разно, побыстрей калькулятора будет

  6. #35
    Veteran Аватар для Manwe
    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,722
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    403
    Поблагодарили
    256 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от axe_chita Посмотреть сообщение
    предложу подцепить к БК в качестве сопроцессора/ускорителя/умного контроллера с часами и кукушкой - Black pill
    Есть аутентичное решение из середины 90-ых: так называемая "приставка Бортника" (процессор ВМ3 + память + Covox, подключается к параллельному порту, содержит маленькую ПЗУ с протоколом обмена данными с БК). Вот её бы собрать, только на современном ВМ5.
    manwe.pdp-11.ru

  7. #36
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    397
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Есть аутентичное решение из середины 90-ых: так называемая "приставка Бортника" (процессор ВМ3 + память + Covox, подключается к параллельному порту, содержит маленькую ПЗУ с протоколом обмена данными с БК). Вот её бы собрать, только на современном ВМ5.
    Если схема есть и комплектующие доступны, то вполне можно засетапить открытый проект на KiCad.

  8. #37
    Veteran Аватар для Manwe
    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,722
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    403
    Поблагодарили
    256 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Если схема есть и комплектующие доступны, то вполне можно засетапить открытый проект на KiCad.
    Да, всё есть: https://zx-pk.ru/threads/33585-prist...=1#post1136008
    Было бы круто!

    А ещё лучше сделать новодел на более современных микросхемах памяти
    manwe.pdp-11.ru

  9. #38
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    397
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Да, всё есть: https://zx-pk.ru/threads/33585-prist...=1#post1136008
    Было бы круто!

    А ещё лучше сделать новодел на более современных микросхемах памяти
    Совсем новодел уже лучше на CPLD или FPGA делать, с DDR памятью. А так - рассыпную память наверняка можно заменить на еще доступные в природе модули SIMM.

    А есть список микросхем к классической схеме? процессор я более-менее угадал, да и то неточно.

    ЗЫ список деталей оригинальной схемы есть тут http://forum.pk-fpga.ru/viewtopic.php?f=18&t=227

    ЗЗЫ и схема на сайте Сергея 'vak' Вакуленко более целостная: https://vak.ru/lib/exe/fetch.php/proj/bk/vm3-page1.png

    ЗЗЗЫ полез искать, что за нога такая 34, нашел полезные окаменелости в (ну еще бы) MO.DEC (https://groups.google.com/g/fido7.mo...m/4glnLXgVtCgJ)

    Скрытый текст

    21 Sep 05 13:06, Michael I. Shestyrev ga All ni tegami wo okutta...
    MS> - Какие еще ноги у нее для земли-питания?

    Земля: 9,32,38,42
    Питание: 43,64

    MS> - Что за ноги 34, 35, 36, 37?

    34 o BS(L) выбор страницы ввода/вывода

    - yстанавливается в "0" в адpесной части цикла, если виpтyальный адpес
    смаплен на физический адpес стаpшего банка памяти:
    1. пpи выключенном ДП выставляется в диапазоне адpесов 0160000-0177777
    2. пpи 18-битной адpесации 0760000-0777777
    3. пpи 22-битной адpесации 017760000-017777777

    35 o SEL(L) признак обpащения к пpостpанствy пyльтовой пpогpаммы

    - для yпpощения микpопpогpаммных матpиц пpогpамма "MicroODT"(c)DEC y ВМ3
    pазмещена вне кpисталла пpоцессоpа, для ее pеализации (т.е. пyльтового
    отладчика) отведено 32кб, пpи этом младший банк поделен на две части -
    младшая половина должна содеpжать ПЗУ с кодом, эмyлиpyющим поведение
    PDP-пpооцессоpа в pежиме останова/отладки, а начиная с адpеса 020000 и вниз
    pаспостpаняется системный стек. Его глyбина может быть любой, однако сам
    пpоцессоp аппаpатно использyет только 4 байта, кyда пpячет ССП и СК. В ДВК
    глyбина стека - 256 слов. Остальные 24к можно использовать по своемy
    yсмотpению, если написать свой код пyльтового отладчика - его адpесное
    пpостpанство из пpогpаммы пользователя, в отличие от ВМ2, недостyпно.

    36 o TA(L) истинность адреса в цикле чтения

    - стpоб выбоpа команды, пpи классическом включении пpоцессоpа - не нyжен.

    37 o UMAP(L) разрешение преобразования адресов для 18-pазядной шины UNIBUS

    - включение дополнительного ДП, использyется на 18-pазpядных шинах, дабы
    обеспечить 18-битным yстpойствам адpесацию по ДМА к 22х-pазpядной памяти.
    пpи классическом включении пpоцессоpа - не нyжен.

    MS> - Правда ли, что 38...41 NC (No Contact)?

    39,40,41 - подключены только y платы с ВМ3 и ВМ4, yстанавливаемой в гнездо
    ВМ3, слyжат для yмощнения питания и земли. У ВМ3 не задействованы.

    MS> - все ненужные входы подтянул сопротивлениями к плюсу.

    Да. Сопpотивление не менее 2к и не более 10к.

    MS> - SSYNC на землю.

    Да. "ET" - тоже на землю.

    MS> - RPLY как "ИЛИ" стробов DIN и DOUT. В отрицательной логике, т.е.
    MS> физически "И".

    Веpно.

    MS> - к AD0...AD15 подключены шинные формирователи, открываемые DIN.

    В твоем слyчае - имеешь пpаво.
    По DIN меняют их напpавление пеpедачи, веpнее по фyнкции T=DIN xor /SACK.

    MS> - DCLO подымается через 0.1 секунду после появления питания.

    Hоpмально. У меня обычно больше - чем быстpее снимешь, тем меньше гаpантии
    хоpошего стаpта, но по паспоpтy 4 миллисекyнды пpи тактовой 6МГц.

    MS> - ACLO подымается через чуть меньше секунды после появления
    MS> питания.

    Хоpошо.

    MS> - Клок - поделенный 555ТМ2 пополам сигнал с частотой ~3.8 МГц,
    MS> т.е. ~1.9 МГц.

    CLC желательно с ypовнем КМОП, т.е. от земли до питания, ВМ3 pаботает
    ноpмально на 8-12МГц только с такими ypовнями. И пpоходной pезистоp
    Ом на 30 хоpошо бы поставить - чтобы не звенела шина.
    Hо пpи твоей частоте - все ноpмально.

    MS> - INIT подтянут к +5В.

    2.2к, это вход-выход в многопpоцессоpной системе, тебе нyжен только выход.

    MS> Hа входах ШФ джамперами выставляется 16-значный код, который
    MS> скармливается процессору при каждом его цикле чтения.
    MS> Ожидаемый эффект - бесконечное выполнение закодированной команды
    MS> после включения питания. Hаблюдаемое не соответствует ожидаемому,
    MS> оно столь многогранно и неоднозначно, что не поддается
    MS> исследованию и описанию. Короче, нет ожидаемого эффекта.

    Пеpвые действия пpоцессоpа по пpобyждении - пpоанализиpовать вход WO,
    если на нем земля, то в счетчик команд заносится 0173000, а в слово
    состояния пpоцессоpа - 0340 и начинается выполнение команд. Если на
    входе WO питание, то считываются ячейки памяти 024 и 026 и их значения
    заносятся в счетчик команд и pегистp состояния - выполняется пpеpывание
    по восстановлению питания (от пpеpывания по сбою питания отличается
    отсyтствием декpемента R6). Диспетчеp памяти пpи этом выключен сигналом
    INIT, тpанслиpованным с DCLO.

    Если возникает двойная ошибка шины (запись в память, на котоpyю yказывает
    R6 невозможна), либо встpечается команда HALT, либо подается сигнал КОСТH,
    пpоцессоp пытается записать в yказатель стека пyльтового pежима (пpогpаммно
    недостyпен) 020000, затем засyнyть в этот стек pегистp состояния и счетчик
    команд, потом обнyлить счетчик команд и шагать по пpогpамме, в адpесной
    части цикла выставляя SEL=0.

    ВМ3 не pаспознает зависание пpи пpиеме вектоpа, аппаpатный сигнал останова
    и пеpвичное включение питания - это должна делать пpогpамма пyльта. Точка
    входа одна, затем мы читаем/пишем память, на котоpyю yказывает R6: если
    отлyп, то это двойное зависание, иначе читаем последнюю командy: если "0",
    то это HALT, затем если есть тpиггеp фиксации аппаpатного останова, то
    можно и его пpочитать, все, что останется - это либо включение, либо вектоp,
    однако стандаpтный ДВКшный пyльт этого не делает и ошибкy по пpиемy вектоpа
    не фиксиpyет, хоть стpока соббщения такая имеется. Пеpвичное включение
    питания pаспознается по несовпадению значения в специально отведенной
    для этого ячейке с известными для этой ячейки значениями, напpимеp если
    там 112233 - печатается ошибка yстpойства, 123456 - печатается ошибка шины,
    я точно не помню всех значений, но если ни одно из них не соответствyет
    обнаpyженномy - выполняется начальная инициализация по включению питания.

    MS> Самое непонятное, что манипуляция только с ACLO и DCLO процессор
    MS> не запускает. Что-то барахтаться начинает только если на INIT "0"
    MS> подать и не отпускать. Если отпустить, все останавливается. Мне
    MS> кажется это неправильным.

    Может пpоцессоp дохлый? Внyтpи пpоцессоpа DCLO и RSTT соединены по И,
    после чего выдаются на INIT с откpытым стоком. Т.е. если DCLO в "0",
    то и INIT чеpез сколько-то тактов должен его повтоpить.


    Разводка выводов:

    01 o DIN(L) ввод данных
    02 o DOUT(L) вывод данных
    03 oi SYNC(L) синхpонизация обмена
    04 i SSYNC(L) адрес принят (логика отлична от ВМ2)
    05 io RPLY(L) ответ пассивного yстpойства
    06 o DMGO(L) разрешение прямого доступа
    07 io SACK(L) подтверждение захвата шины
    08 io DMR(L) запрос ПДП
    09 -- GND=42 земля
    10 io AD0 шина адреса/данных
    11 io AD1 шина адреса/данных
    12 io AD2 шина адреса/данных
    13 io AD3 шина адреса/данных
    14 io AD4 шина адреса/данных
    15 io AD5 шина адреса/данных
    16 io AD6 шина адреса/данных
    17 io AD7 шина адреса/данных
    18 io AD8 шина адреса/данных
    19 io AD9 шина адреса/данных
    20 io AD10 шина адреса/данных
    21 io AD11 шина адреса/данных
    22 io AD12 шина адреса/данных
    23 io AD13 шина адреса/данных
    24 io AD14 шина адреса/данных
    25 io AD15 шина адреса/данных
    26 o A16 шина адреса
    27 o A17 шина адреса
    28 o A18 шина адреса
    29 o A19 шина адреса
    30 o A20 шина адреса
    31 o A21/NS шина адреса/признак чтения команды/данных
    32 - GND1=38 земля
    33 io INIT(L) сброс
    34 o BS(L) выбор страницы ввода/вывода (0160000/0760000/017760000)
    35 o SEL(L) признак обpащения к пpостpанствy пyльтовой пpогpаммы
    36 o TA(L) истинность адреса в цикле чтения
    37 o UMAP(L) разрешение преобразования адресов для 18-pазядной шины UNIBUS
    38 - GND1=32 земля
    39 - не подключены к кристаллу
    40 - не подключены к кристаллу
    41 - не подключены к кристаллу
    42 - GND2=9 земля
    43 + Ucc=64 +5В
    44 i EVNT вход прерывания по таймеру
    45 i ET(L) разрешение зависания магистрали
    46 i ACLO(L) авария сетевого питания
    47 i HLT(L) вход прерывания в моду HALT
    48 i IRQ3(L) запрос векторного прерывания, пpиоpитет 7
    49 i IRQ2(L) запрос векторного прерывания, пpиоpитет 6
    50 i IRQ1(L) запрос векторного прерывания, пpиоpитет 5
    51 i IRQ0(L) запрос векторного прерывания, пpиоpитет 4
    52 i DCLO(L) авария постоянного питания
    53 io FPPTRP(L) прерывание от сопроцессора(вход/выход)
    54 i FPPRD(L) вход готовности сопроцессора
    55 o HLTM(L) индикация пультового режима
    56 i DRA(L) готовноть данных сопроцессора
    57 i FL двойная точность
    58 i FD длинное целое
    59 i WO режим начального пуска
    60 i CLC тактировка
    61 o LIN(L) загрузка команды в сопроцессор
    62 o IAKO(L) разрешение прерывания
    63 o WTBT(L) запись/байт
    64 + Ucc=43 +5В


    Odaiji ni nasai.

    ... PDP Forever
    [свернуть]
    Последний раз редактировалось tnt23; 07.12.2021 в 10:10.

  10. #39
    Master
    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    743
    Спасибо Благодарностей отдано 
    223
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    39 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от axe_chita Посмотреть сообщение
    Зашел я в эту тему не за этим, но KILLкулятор в БК в качестве математического сопроцессора зацепил.
    Раз пошла такая пьянка, режь последний огурец!
    В качестве бреда, предложу подцепить к БК в качестве сопроцессора/ускорителя/умного контроллера с часами и кукушкой - Black pill на Arm Cortex-M4F STM32F401CCU6 или STM32F411CEU6
    На борту платки контроллера для мотороллеров имеется
    "STMicro STM32F401CCU6 Arm Cortex-M4F MCU с тактовой частотой 84 МГц и флэш-памятью 256 Кб, SRAM 64 Кб
    STMicro STM32F411CEU6 Arm Cortex-M4F MCU с тактовой частотой 100 МГц и флэш-памятью 512 Кб, SRAM 128 Кб
    Математический сопроцессор (одинарной точности) присутствует. Производительности 1,25 DMIPS/МГц
    Таймеры: 11 таймеров + RTC
    Возможность подключения:
    USART (3x до 12.5 Мб/с)
    SPI (5x до 50 Мб/с)
    I²C (3x до 1 Мб/с)
    SDIO (3x до 1 Мб/с)
    USB 2.0 OTG (1x)
    I²S (2x до 32 бит/192 кГц дуплексный)
    I²S (3x до 32 бит/192 кГц односторонний)
    АЦП: 12-бит 2.4 MSPS"
    Чем не убердевайс, за сущие копейки? Ну, всяко разно, побыстрей калькулятора будет
    В АРМ надо только заложить эмулятор ВМ1 и готово. Но 100 МГц более 10 МГц эмулированных не получить. Лучше наверное таблетку с Малинкой Пи, там эмулятор сможет и до 100 МГц ВМ1 разогнать. Такие штуки для BBC Micro неплохо пошли. Они там эмулятор PDP-11 так и сделали и как раз на уровне системы команд ВМ1.

  11. #40
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,556
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    273
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    В АРМ надо только заложить эмулятор ВМ1 и готово. Но 100 МГц более 10 МГц эмулированных не получить.
    вопрос памяти, теоретически можно и намного больше 10мгц получить (только для проца, конечно, без видео)
    Прихожу без разрешения, сею смерть и разрушение...

Страница 4 из 6 ПерваяПервая 123456 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Деление/умножение
    от Serdjuk в разделе Программирование
    Ответов: 51
    Последнее: 25.04.2018, 15:54
  2. Быстрое вращение в 3Д
    от TmK в разделе Программирование
    Ответов: 26
    Последнее: 24.05.2009, 04:01
  3. Быстрое самоуничтожение
    от Barmaley_m в разделе Программирование
    Ответов: 13
    Последнее: 25.09.2007, 09:20
  4. Процедуры на асме (умножение деления)
    от gres8 в разделе Программирование
    Ответов: 3
    Последнее: 25.01.2007, 10:26

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •