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 05:16 am (UTC)
x86128: (Default)
From: [personal profile] x86128
Класс!
Я когда увидел конструции в pack/unpack и умножение как $signed * $signed только и изумился: "А что так можно было?!! 😂 😂". Но для RTL модели ведь можно, верно?

А дальше уже когда к железу "как в БЭСМ6" ближе спускаться, можно и убрать.
Я потому скрипт для сложения и сделал, пытаясь разобраться с тем как это было в самой БЭСМ реализовано (хотя и не точно).

Но вот с умножением получился пока затык, читаю книги с теорией и практикой реализации 2's compl умножителей в железе, вижу что в БЭСМ6 алгоритм Бута, но он какой-то модифицированный. Сам алгоритм придумали в 1951 году, поэтому "наши" о нём 100% знали, но улучшили.

Вот нашел, что есть еще один интересный вариант реализации умножения когда пропускаются повторяющиеся биты в множителе.

Постараюсь сделать python скрипт.

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. 5th, 2026 07:33 am
Powered by Dreamwidth Studios