The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Проект по производству открытого процессора, совместимого с Z80"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Доступны два режима работы форума: "Раскрыть нити" и "Свернуть нити".
. "Проект по производству открытого процессора, совместимого с ..." +/
Сообщение от Sw00p aka Jerom (?), 02-Май-24, 21:31 
> О информационной емкости памяти. Если у памяти завести дополнительное состояние указывающее
> что оно не инициализированая + 2 состояния - о, круто, треть
> емкости профачена на бесполезняк.

Сколько в таком случае "информационной емкости" профукано, когда мы пользуемся десятичной системой счисления и пишем цифры в клетки в тетрадке?

> Хранить 32 бита как только 1 и 0 это одно. А если
> еще третье состояние завести - это более сложная схема, чудес не
> бывает.

что должен сделать Паскаль в своей "Паскалине", чтобы перейти от неполной дестяичной системы к полной? Из ваших соображений, он дожен либо увеличить радиус барабана чтобы добавить 11-тое деление незначимого характера (пустой сектор), либо переразбить тот же радиус уже не на 10, а на 11 более меньших секторов делений. В чем проблема? В схематехнике нынешней проблема может быть только в устойчивости 3-го состояния, хотя и три-стейт реализации тоже имеются. Тип такого

https://www.ti.com/lit/ds/symlink/sn74hcs126.pdf?ts=17145953...

> Никто не будет усложнять схемы на минимум треть чтобы порадовать любителей абстракций.

лол, а чеж тогда банальный Ripple-carry adder не используется в современной выч технике? Он же самый простой схематически. :) Не то чтобы усложнять, они еще любители и переусложнять я бы сказал ;)


> И проч. И это как раз все делает сильно проще. И в схемотехнике и в
> понимании.

Это должно быть доказано. Эт как в алгоритмах, к примеру, когда проще перебрать делители чтобы разложить число на простые множители, но на больших числах этот простой метод работать не будет, и надо городить целый огород чтобы придумать метод эффективней. Таким же макаром рассуждений, спрошу, а чеж мы унарную систему не используем ? Сложить ведь два унарных числа - обычная операция.

> Что ведет к неэффективности на уровне схемотехнике и непоняткам. А потому нафиг
> надо.

А кто сказал (доказал), что эффективно хранить допустим 3 бита в 8 битном регистре? Почему это не эффективно иметь для каждой длины собственный регистр?

0 - A
00 - B
000 - C
0000 - D
00000 - E
000000 - F
0000000 - G
00000000 - H

Эффективно в RISC-V иметь отдельный регистр для нуля ("железный нуль")?

> В двоичной логике нет понятия "регистр не хранит значение бита". Условились что
> всегда что-то хранится.

Ок, условились, как мне теперь реальзовать полную систему счисления? У меня 8 битов (ячеек, клеток, корзин) и два значения 0 и 1, одно из которых (0) заведомо лежит во всех битах. В регистры А и Б положили некоторые числа в полной системе счисления, подали на вход сумматору (полному) и он записал в регистр В результат. И как мне понять какое число представлено в В?


> В 8 бит регистре всегда 8 битов. И
> этот самый трекинг "хранится или не хранится" и ожрет часть емкости
> памяти, если кто не понял. Это крайне неэффективно.

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

Приведу простой пример для наглядности: возьмем допустим число 497 (десятичное обычное)


111110001 - Вот так оно представленно в нынешней двоичной системе.
*11110011 - А вот так оно представлено в полной двоичной системе.

Что мы видим на первый взгляд? Разница в один бит, уже выигрыш какой-то, и та крайняя 1 (единица) (у этой записи 111110001) есть ничто иное как терминатор, если бы мы использовали полную систему. То есть, что хочу сказать, нынешняя неполная система счисления может трактоваться как полная для n-1 бита от всей битности регистра с добавлением избыточного бита "терминатора", получается что это естественный термитанор полной системы. Но в таком случае нет никакого выигрыша, отсюда делаю вывод, для представления полной двоичной системы, необходимо три состояния бита, два из которых - значимые.


> Это не совсем то и не в
> хардваре, но идея немного похожа по общей логике действа.

вы про карту "занятости" ячеек памяти во всяких аллокаторах?


> В обычной двоичной логике условились просто игнорить leading zeros считая одинаково. Это
> как раз все сильно упростило. В чем прелесть этой штуки и
> состоит. Это самое простое на уровне реализации в схемах решений.

Вот говорите условились, вот ведь изначально вообще нигде и не кем не реализовывалась полная система счисления, будь то в Паскалине (десятичной) вплоть до нынешних выч машинах бинарных. Я даже не говорю, что даже Лейбниц не упомянул об этом в своем письме про двоичное представление числа, хотя он срисовал с китайской книги перемен, но там триграмма описывается полной двоичной системой. Там есть триграмма 000 (Кунь (Земля)) (если две палочки это 0, а одна сплошшная - 1). Есть и 001 (Чжэнь (Гром)) и все комбинации бинарной системы - значимы, нет понятия незначимых лидирующих нулей, что и есть полнота представления.

https://ru.wikipedia.org/wiki/%D0%9A%D0%...


> Да я понял о чем вы. Но с практической точки зрения что
> совой о пень что пнем о сову, хранить третье состояние как-то
> где-то надо и на уровне схемотехники и емкости памяти примерно один
> фиг по проблематике будет. Так что отличия больше в формальностях абстракции.

ну и чем обоснована замена "экономичная" схема последовательного сумматора, от "экспоненциально не экономичного" параллельного?


> Я уже сказал - та двоичная система сделана такой для максимально простой
> и компактной реализации в железе. Там просто нет понятия "ячейка не
> хранит информацию". Это понятие - wasteful. Теряет часть информационной емкости системы
> by design и усложняет схемы.

Что я теряю деля вольтаж между 0В и 1В на N частей?

> Но зачем возиться с сдвигами? Двоичная система интересна тем что все в лоб, максимально просто и брутално.

А я не с проста вам это сказал, оказывается если сдвинуть "полную двоичную систему счисления" на два значения, то в качестве сумматора применим обычный сумматор "неполной двоичной системы" :) Вот вам и фокус, и ничего переизобретать не надо. И получаем преимущество в полной мощности двоичного представления числа и сумматором, количество логических элементов которого равно сумматору "неполной двоичной системы" ;)

> Мой пойнт в том что знать usage бита избыточно и нафиг нужно. Только лишний
> оверхед зазря.

А не оверхед всякие CE, SE, OE, буфера, линии задержек и т.д.?

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Проект по производству открытого процессора, совместимого с Z80, opennews, 30-Апр-24, 11:52  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру