spamsink: (Default)
[personal profile] spamsink posting in [community profile] besm6
После переписывания дорогих команд сборки, разборки и сдвига в многотактный вид и исправления нормализации вправо инвертированных мантисс (прибавлять младший бит инверсии можно по ходу нормализации, и в окончательном суммировании РМРу участвовать больше не нужно) всё стало гораздо компактнее:


There are 31 levels of combinational cells
2-input LUTs: 309
3-input LUTs: 231
4-input LUTs: 228
5-input LUTs: 375
6-input LUTs: 726
Total LUT area: 1869
State : 204
(FF) : 204
CARRY4 : 132
DSP : 6


Коммит будет сегодня вечером.

Date: 2019-04-09 06:16 am (UTC)
x86128: (Default)
From: [personal profile] x86128
Перенесу сюда из темы на гитхаб.

Что делать с текущим К1 при вызове вложенного экстракода?

Можно сделать Экстракоды так чтобы они всегда выталкивали полный текущий PC_next по адресу [K15--], а команда ВЫПР возвращалась на [++K15]. При необходимости, программное выталкивание К2, К3 прописать в "соглашении о программных вызовах".

Date: 2019-04-10 04:57 am (UTC)
vak: (Default)
From: [personal profile] vak
Экстракоды внутри экстракодов можно сделать, но по жизни они не особо нужны, ведь всегда можно просто вызвать нужную функцию через VJM, переход с возвратом.

Date: 2019-04-10 01:45 pm (UTC)
x86128: (Default)
From: [personal profile] x86128
Хотя вот действительно. Если основной язык для платформы это паскаль, то лучше сделать теневую копию М регистров, как предлагает Сергей, что позволит писать обработчики прерываний на паскале без изменений компилятора. Если будет рантайм, то вызывать всякие печати на экран(терминал), синусы и косинусы через VJM, а не через Э*. Сами же КОПы экстракодов зарезервировать для каких-то инструкций которых нет в БЭСМ6, но будут в системе на чипе МЭСМ6.

Есть мысль, чтобы процессор ходил в память через арбитр как в БЭСМ6, что позволит реализовать подсистемы блочного ввода/вывода с SD-карты, Ethernet (через шилд от ардуины), UART (протокол похожий на SLIP). Обращение к регистрам ввода/вывода сделать через команду УВВ (033), запрет/разрешение прерываний по маске через РЕГ 002.

Date: 2019-04-10 04:55 am (UTC)
vak: (Default)
From: [personal profile] vak
Дополнительный набор регистров удобно иметь, чтобы не заниматься записью регистров в стек при входе в прерывание, и восстановлением потом. Хотелось бы писать обработчики экстракодов прямо на Паскале, с минимальной обвязкой.

Profile

Сообщество любителей БЭСМ-6

January 2026

S M T W T F S
    123
45678910
11121314151617
18192021222324
2526272829 3031

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 3rd, 2026 09:00 pm
Powered by Dreamwidth Studios