Найти тему

Вычислитель

Вычислитель на тиристорах с шаблонным ответом.

1.Основная идея

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

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

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

Т.е. вы можете запрограммировать вычислитель так как вам будет удобно и под любые даже экзотические задачи. Это можно сравнить если логические элементы «И,ИЛИ,НЕ», это просто азбука Морзе, хотя морзянка всё таки более продуктивная чем эти логические элементы, а новый вычислитель - пианино, но я думаю что синтезатор (с самым разным набором программных инструментов), будет более правильным для сравнения.

Вы должны понимать, что пока это концепция, пред прототип, так что если будут предложены более интересные варианты иных принципов, то он будет или дополнен или переделан.

Пока нельзя полностью создать всю логическую цепочку на этом принципе на самой материнской плате, из за этого на первом этапе создания вычислителя придется вынужденно использовать «костыли».

А теперь перейдём к самой идее.

2.Общая концепция на тиристорах

Для начала давайте опишу из каких основных модулей примерно должен состоять вычислитель

1. Вводной контроллер

2. Тиристорный каскад

3. Сумматор

4. Выводной контроллер

5. Тактовый генератор(контроллер)

6. Контроллер управления питание

Схема от руки

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

Теперь читаем и вникаем.

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

Возьмём простейшую задачу для понимания «два умножить на два».

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

После напряжение объединяется в общую сумму или на сумматоре, и выводится на выводной контроллер, который от полученного результата сверяет с нужным шаблоном готовых ответов и выдает ответ согласно заданным результатам. В нашем случае общая сумма напряжений будет равна шаблонному числу – 4. Данные выводятся в готовом варианте уже за вычислитель на оперативную память. Если требуется более сложные вычисления, которые сам вычислитель не может сделать за один такт то он возвращает результат на вводной контроллер где уже и решается дальнейший выбор действий.

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

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

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

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

3.Вводной контроллер

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

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

-2

4.Тиристорный каскад

Повторюсь что для удобства мы будем использовать два блока в котором по 10 отдельных тиристоров с разным сопротивлением и объединённые общий блок каскад.

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

Каждый блок каскада получает от контроллера управления питанием разное напряжение, т.е. блок А получает своё напряжение, а блок Б своё, и в зависимости от задачи напряжение может меняться, т.е. с помощью сигналов от вводного контроллера и разницей общего напряжения на каждый блок, мы получаем определенные результаты для сумматора. И в зависимости физических свойств тиристоров, помехозащищённости, и тактового генератора мы получаем так же и количество выполненных операций в секунду. Один такт в секунду это и будет означать одна операция на один тиристорный каскад, если она простейшая, если операция не может быть выполнена на один проход, то она возвращается на вводной контроллер где операция продолжается. При масштабировании тиристорных каскадов, операция распараллеливается для быстрого её завершения.

-3

Пример: 5*9, «Вводной контроллер» отправляет сигнал «Выводному контроллеру» о том, что выбираем шаблон – «Цифры», далее «Вводной» выбирает какое напряжение будем использовать, напряжение соответствует задаче – умножение, далее «Вводной» на первый блок отправляет сигнал открытия тиристора – 5, а на блок Б тиристора – 9, так как эти тиристоры означают символы в порядковой таблице, после эти сигналы сочетаются в «Сумматоре» и получаем ответ 45.

Или альтернативное вычисление.

Берём опять наши 5*9, «Вводной» отправляет запрос на «Выводной» о том, что выбираем шаблон «Цифры, умножение», далее «Вводной» делает запрос «контроллеру напряжения» на подачу дефолтного напряжения на блоки А и Б, а далее по схеме, открывается тиристор 5 блока А, и тиристор 9 блока Б, а результат из сумматора выводится на выводной контроллер, который уже ждёт результаты согласно шаблону где сумма напряжений будет равна 45. Умножение, деление, сложение или вычитание – это самые основные функции которые делает сумматор.

Если нам требуется писать буквы или целые слова, то вводной контроллер выбирает Буквенные шаблоны или целые слова при наличии подходящего шаблона.

На счет более сложных вычислений, то это тоже решаемо если грамотно программировать сам вычислитель.

Для большего понимания смотрим простенькую схему ниже.

-4

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

5.Сумматор

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

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

-5

К примеру, у нас есть в шаблоне 100 ячеек в которых находится вписанные результаты, значит нам требуется 100 разных амплитудных ответов сумматора.

-6

Так же возможно использовать время подачи ответа от сумматора, и по той же схеме – 100 ячеек 100 разных длин сигналов, т.е. от времени сколько подаётся сигнал от сумматора и есть ответ в ячейке.

-7

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

6.Выводной контроллер

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

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

-8

7.Управляемый контроллер выбора и подачи напряжения

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

8.Тактовый генератор

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

Т.е. Выводной контроллер подаёт сигнал о выполнении операции на тактовый генератор, а генератор отправляет сигналы на работу контроллера подачи напряжения, на выводной контроллер и на вводной контроллер.

-9

9.Итог

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

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

Ну как вам идея? Интересно??? А что если я вам скажу, что я додумался как её сделать луче? Меня недавно посетила мысль, как оптимизировать вычислитель так что бы его можно было изготавливать дешевле и при этом он получает кратно больше возможностей.

Представляю вам Вычислитель на принципе регулируемых вентилей.

10.Вычислитель на принципе регулируемых вентилей

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

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

А теперь приведём схему

-10

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

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

11.Язык программирования, его принцип и концепция

Давайте кое-что уясним, я гражданин Российской Федерации и единственный язык который государство обязует изучать и знать - это русский язык. Но что бы не быть совсем душным человеком и с осознание что РФ — это многонациональное государство, то предлагаю использовать не просто русский язык, а с допущением как просто кириллические символы с русским смыслом.

Как это должно выглядеть и как я это вижу? Мы изначально для программирования логики вычислителя и самого языка программирования будем использовать цифры и буквы русского алфавита с возможным допущением иных кириллических символов на усмотрение тех людей кто будет стоять у истоков этого языка. Так как эта идея разрабатывается в первичном виде на территории РФ это означает что в будущем люди, которые будут заниматься развитием этой идеи используют в своих умах русский язык как основной и что бы не заниматься идиотическим переводом в голове, мы не будем использовать латиницу, её мы оставим на будущий период, когда эту идею будут разрабатывать люди за территорией РФ.

Итак, мы используем:

1.Цифры

2.Кириллические символы с русской логикой

3.Общие спецсимволы которые не имеют аналогов в русском языке.

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

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

Итог.

Основную концепцию вычислителя примерно и в общих чертах я вам изложил. Очень хочется всё-таки верить, что мои идеи найдут со мной или без меня практическое применение, лично я вижу очень большие перспективы в этой идее. А что думаете вы? Если нужно будет что-то пояснить, то пишите, с радостью разъясню.

На этом пока всё, всем спасибо за внимание.

С Уважением, AdmiralTurbo.