LINUX.ORG.RU

О дизайне базовых типов данных и правильной архитектуре

 , ooad


1

1

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

Особенно интересен ответ Старших Главных Архитекторов Всего. Спасибо.

★★★★☆

Последнее исправление: stevejobs (всего исправлений: 1)

Дешёво потому что. Были Lisp-машины, но они оказались дорогими.

anonymous
()

Ну предположим. А что там в качестве ключа делать? в теоритической железной мапе?

Какие ваши доказательствапредложения?

Постинг заблокирован: 4.3 Провокация flame

мля, задолбало. какой чудак это сделал? либо закройте ваще анонимов, либо идите нах с такой херней. Роскомнадзор прям.

anonymous
()

Про частоту это вряд ли, но в железе оно тоже есть и называется АЗУ (Ассоциативное запоминающее устройство). Только дорогое это удовольствие, хотя где-то своё применение находит.

xaizek ★★★★★
()

интересен ответ Старших Главных Архитекторов Всего. Спасибо.

Есл ивы хотите ответа Демиурга то извольте сформулировать запрос молитвой.

Deleted
()
Ответ на: комментарий от xaizek

хотя где-то своё применение находит.

Например в свитчах поиск MAC-адреса в таблице часто реализуется при помощи TCAM - Content-addressable memory.

Deleted
()

Потому что ЭВМ до сих пор проектирует и строит инженерьё.А ему до высоких материй в виде ассоциативного массива Key/Value глубоко непонятно.

iZEN ★★★★★
()
Ответ на: комментарий от xaizek

дорогое это удовольствие

дело в том, что оно реально дорогое, или потому что просто не пошло в массы?

когда-то устройство, аналогичное китайскому говнофону, стоило как дом и шесть самолётов. Но потом говнофоны пошли в массу и стали стоить дешевле бутылки вина

есть предположение, что если бы ассоциативная память была в типичных IBM PC, мы бы сейчас сидели за компами, которые были бы в пару раз быстрее, за примерно ту же цену

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

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

fixed

Дополнительная схема также увеличивает рассеиваемую мощность, так как все схемы сравнений активны на каждом такте. Дополнительная схема увеличивает физический размер чипа АП, что увеличивает стоимость производства.

(c) википедия

foror ★★★★★
()
Ответ на: комментарий от stevejobs

дело в том, что оно реально дорогое, или потому что просто не пошло в массы?

Оно сложное само по себе. Т.е. в ОЗУ где-то что-то лежит, но есть адресация с делением на банки и подобное. Где данные лежат предсказать просто, а сама логика выборки маленькая и хранилище большое. В АЗУ вся схема это по сути логика, которая работает параллельно и в полном объёме. Это намного более сложное устройство (количественно и по размерам, принципиально то оно простое), потребляющее значительно большую мощность.

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

Про реальные попытки массового внедрения мне не известно.

xaizek ★★★★★
()

Если Map - это Самый часто использующийся тип данных

Нет.

почему в железе и на нижнем уровне только всякие регистры, массивы да очереди?

Нахрена тебе Map в железе? Какие с этого будут бонусы?

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)

почему в железе и на нижнем уровне только всякие регистры, массивы да очереди?

Потому что на этом можно поднять _любую_ высокоуровневую абстракцию. А не только мап.

Это ли не сломанный дизайн?

Напиши хоть какую программу _только_ на мапах :)

anonymous
()

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

это не везде так.

например, см. Dataflow-architecture и систолические матрицы. примерно так: 1 2 матрица вики:systolic array wiki:Dataflow architecture

на уровне логики: следует почитать последние работы Н. Брусенцова (автора компьютера Сетунь на троичной логике) про «трехместную функцию следования» и критику Аристотелевой логики. там, где этот MAP сразу задаёт силлогизм прошлое -> настоящее -> будущее , про связь с материальной импликацией. опять же, в троичной логике можно выразить Да/Нет/Не Знаю (вопрос не имеет смысла)

на уровне СУБД: см. про MUMPS, многомерные структуры данных (вики)

при этом эта СУБД выглядит почти как ОС: есть процессы, корутины, устройства ввода-вывода, сеть, свой мини-язык с процедурами, корутинами и процессами. хранится всё в BTree, на уровне блоков. на уровне языка это многомерный массив (глобал) с ключами индексами-строками и значениями-тоже строками (числа хранятся как строки, «каноническая форма»). но интерпретировать можно как угодно (например, хранить блобы)

то есть, это не «файл — это поток байтов», а «запись в дереве — это поток байтов», и массив/дерево/список — это одно и то же.

на уровне гипертекста: см. изначальный ZigZag Теда Нельсона (вики, далее по ссылкам на прототип, например).

здесь тоже типа СУБД в которой можно вводить произвольное число измерений.

идея Теда Нельсона в том, что в клетках можно хранить код, данные и т.п. унифицированно. а произвольные измерения выступают как бы гиперссылками для организации контента (на пересечении узлов многомерного гиперкуба, отображения). например, по ссылке отсюда.

а дальше см. его же идею насчёт Applitudes

то есть: когда в Джонни Мнемонике он там фигачил базу данных напрямую ручками в 3D виртуальности — это оно, вот то самое.

см. также: GopherVR, расширение Gopher (типа файловая система) для виртуальности.

anonymous
()
Ответ на: комментарий от anonymous

Если Map - это Самый часто использующийся тип данных

А если нет?

есть зачастую суслик, которого ты не видишь.

например, та же система типов — это неявный Map из ноуменов типов на значения привязок (переменных), к потоку байтиков.

или, логические силлогизмы и цепочка из двух силлогизмов. двоичная логика неадекватна, известно же.

из публикаций стоит почитать последние работы Брусенцова, про троичную функцию следования и критику силлогизмов логики Аристотеля.

отчего матлогика несодержательна

цитата:

Николай Петрович Брусенцов рассказал в интервью «Компьютерре» о преимуществах троичной логики: «Люди настолько „околпачены“ законом исключённого третьего, что не в состоянии понять, как всё обстоит на самом деле. На самом же деле двоичная логика совершенно не подходит даже для описания основного логического выражения — следования. При попытке описания в двоичной логике нормальной дизъюнктивной формы следования оно превращается либо в тождество, либо в пресловутую материальную импликацию.

Математик С.К. Клини и его книга „Математическая логика“ в своё время оказали такое влияние на этот раздел математики, что сегодня практически ни в одном учебнике математической логики не найти отношения следования. Ссылаясь на Аристотеля, Клини заменил следование на материальную импликацию („Два проще, а потому и полезней“). Логики, конечно, признают, что материальная импликация в постановке Клини — отношение, не имеющее смысла.

Дело в том, что все логики пытаются выразить отношение следования, используя закон исключённого третьего, а такого закона в природе нет, потому что отношение следования трёхзначное...»

"...Недостаток двоичной логики мы обнаружили, когда попытались научить компьютер делать умозаключения. Оказалось, что с использованием двузначной логики это невозможно. Люди, делая умозаключения, выходят из положения, убирая в нужный момент двоичную логику и используя отношение следования, а значит — трёхзначную логику".

также см. отсюда вот это, например

anonymous
()
Ответ на: комментарий от anonymous

ещё см. про автоматы Л. Мараховского

например, эта статья. или эта.

или вот эта, про мозг.

опять же: автомат Мараховского с памятью — это и есть неявное отображение, Map как структура данных и элементная база.

anonymous
()
Ответ на: комментарий от stevejobs

или потому что просто не пошло в массы?

мы бы сейчас сидели за компами, которые были бы в пару раз быстрее, за примерно ту же цену

тыц

ЗАКЛЮЧЕНИЕ

Описанные ссылки на полученные знания в междисциплинарных областях знаний нового направления в сфере компьютерных систем позволят поднять уровень обработки иерархической информации на более высокий уровень. Благоприятные усилия по внедрению этих разработок, к сожалению, под силу только передовым фирмам, таким как Intel, IBM и им подобным или государственным программам, потому что разработку надо начинать с нуля

Фирмам позволит опередить своих конкурентов, а странам – поднять свой престиж и экономику.

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

anonymous
()

регистры, массивы да очереди

Потому что это всё по сути один тип данных - массив = пронумерованные ячейки памяти и его проще всего реализовать //К.О.

Кроме того, на основе массива легко и без особых накладных расходов можно реализовать все остальные структуры памяти. А вот, например, граф поверх map - это извращение.

А ещё в аппаратном мапе в качестве ключа будет не тот тип данных, который тебе нужен.

legolegs ★★★★★
()
Ответ на: комментарий от legolegs

«аппаратный мап» по-русски — это тегированная архитектура с тайптегами.

например, Эльбрусы или лисп-машины.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.