The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Проект по производству открытого процессора, совместимого с ..."
Отправлено Sw00p aka Jerom, 02-Май-24 14:30 
> Это зачем? Чтобы профакать очень серьезный % емкости абсолютно ни на что?

В смысле? я чет не понял, проясните о какой емкости идет речь?
Я  вообще-то про регистровую память говорил с фиксированной емкостью в битах (32 бита - еах к примеру) и как была она 32 бита, так и остается.

А суть, и собственно НЕОБХОДИМОСТЬ "третьего" состояния бита информации, в том, что -  при  использовании "полной позиционной двоичной системы счисления" не работает "правило лидирующих незначимых нулей".

Пример:

Допустим размер регистра - 8 бит. В обычной (используемой нами) неполной двоичной системе счисления значение регистра 00000100 (4) не отличается от 100 (4), так как это два одинаковых представления числа, с применением правила лидирующих незначимы нулей. А вот в полной двоичной системе счисления это не то чтобы два разных числа, это семь разных представлений семи разных чисел, 0 (0), 00 (2), 100(10), 0100 (18), 00100 (34), 000100 (66), 00000100 (258) (направление битов <--, число в скобках - десятичное обычное представление числа). ~~~Ого в восьми битах число 258 О_о.~~~

Вопрос, как их отличать если наш регистр если не хранит значение бита как 1, то хранит заведомо 0?

Как по мне, есть три решения:

1) Придумать что-то вроде динамического регистра. Это отдельная тема для рассуждений.

2) Если оставить фиксированный размер регистра, то необходимо ввести новый регистр "регистр длины".

К примеру:


Регистр А (обычный регистр) содержит значение 00000100, а регистр Б (регистр длины, размер в битах у обоих регистров одинаковый) содержит значение 00100000. Это своего рода плавающая единица в роли терминатора (ограничителя числа).

А - 00000100
Б - 00100000

истинное значение регистра А - 000100 (66)

3) Придумать "третье" состояние (незначимое значение) бита - допустим *. Тогда регистр А будет содержать следующее значение.

А - **000100 (66)

И это не "троичность" как может показаться, это аппаратное распознавание, или динамический регистр (хотя я его представляю немного иначе)

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

Ну да, но не в качестве значения бита ведь. Если я буду использовать это состояние в качестве значения бита, то получиться троичная система счисления.


> Двоичная система прекрасна тем что это математика упрощенная до предела.

А зачем тогда отказались от полной мощности представления чисел? Почему после цифры 9 идет не последовательность 00, а 10 ? Кто ответит на этот вопрос? Кто и когда решил лишить человечество полной мощности представления чисел "упрощая до предела арифметику"?

> Сильнее упростить нельзя. И таких
> микро-оптимизаций много где получается.

Предлагаю, просто реализуйте сумматор (однобитовый фулл) для "полной двоичной системы счисления" и сравните. Я вот пытался, и сравнивал количество использованных логических элементов, всегда выходило больше. Ну и зачем он нам такой? А теперь фокус, сдвиньте эту "полную двоичную систему счисления" на два значения вот так:

Было:

0 - 0 (десятичное представление числа)
1 - 1
00 - 2
01 - 3
......

Стало после сдвига:

0 - 2
1 - 3
00 - 4
01 - 5
....


И сново попробуйте реализовать сумматор :)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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