Машина Тюринга
-
thunder87l
- Встал на лапы
- Сообщения: 138
- Зарегистрирован: Вт дек 30, 2008 22:54:36
Сверху слева - что должно делать с битом наше устройство в операциях плюс и минус. Запись: исходный бит +/- сколько добавить = ответ (перенос бита на следующую позицию). Зачем перенос бита? Чтобы устройство М можно было легко каскадировать если понадобится увеличить число позиций на входе. Справа обозначения. Команда: если равно 1, на выходе будет результат. Операция: 0 - минус, 1 - плюс. Инпут - исходный бит, аддишн - сколько добавить. Резалт - ответ, суперскрипт - сноска на следующую позицию.
Ниже - карта Карно и функция для R и S. Должно каскадироваться по идее - ещё не пробовал.
Ниже - карта Карно и функция для R и S. Должно каскадироваться по идее - ещё не пробовал.
- Реклама
-
thunder87l
- Встал на лапы
- Сообщения: 138
- Зарегистрирован: Вт дек 30, 2008 22:54:36
-
MyTHbIu
- Открыл глаза
- Сообщения: 51
- Зарегистрирован: Ср окт 08, 2008 02:55:59
- Откуда: РК, Ухта, Россия
очень интересно вы глаголете человече, вам нужны студенты-преддипломники-компьютеростроители, им будет ОЧЕНЬ полезно... а мне, механику, интересен ваш мыслительный процесс, я с недельку повникаю в концепцию и возможно присоединюсь к вам )
еще немного оффтопа, а что вас побудило толкнуть эту идею именно на етом форуме? на скольких еще форумах вы параллельно запостили сие чудо?
еще немного оффтопа, а что вас побудило толкнуть эту идею именно на етом форуме? на скольких еще форумах вы параллельно запостили сие чудо?
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен
любителем. Профессионалы построили «Титаник».
любителем. Профессионалы построили «Титаник».
-
thunder87l
- Встал на лапы
- Сообщения: 138
- Зарегистрирован: Вт дек 30, 2008 22:54:36
Скажем так. Делом сиим я пудрю себе мозгу уже где-то неделек восемь-девять. Не так чтобы активно пудрю, но время от времени вспоминаю что хотел вот енто сделать и на досуге возвращался к вопросу. Что касается форума - у вас тут галерея кошатиков. Больше нигде не постил, бо до ужаса не люблю повторяться. А вообще на форум пишу по двум причинам: 1) котэ существо ленивэ, и сам для себя я ничего в жизни не сделаю - а тут... вроде как начал писать - надо мало-мальски ддо ума довести, ну и 2) ихъ бин студент первого курса и если логика работы цифровых цепец мне более или менее ясна, то с железячными проблемами я знаком лишь частично, и от советов я не откажусь.
-
thunder87l
- Встал на лапы
- Сообщения: 138
- Зарегистрирован: Вт дек 30, 2008 22:54:36
Поехали дальше. Есть такая штука "мапинг": грубо говоря - редизайн схемы с использованием только заданных компонентов. Убедиться в эфективности подобного метода можно сравнив цены хотя-бы даже здесь: http://www.elfa.lv/cgi-bin/index.cgi?ar ... 50&lng=rus
Как видим - AND-NOT одна штука стоит примерно 50 сантимов в наших латвийских тугриках. 1 рубль = 1.7 сантима, итого - примерно 85 рублей. Смапеная схема содержит 15 элементов - это для преобразования одного бита! А адресная шина шириной в 8. Итого - 120 единиц необходимо. Этот конкретный шоп, если вы обратили внимание, при закупке более 100 скидывает цену до 36 рублей.
AND-NOT - потому что мапинг проще получается, меньше элементов на схему выходит чем с помощью OR-NOT.
А вот собственно и схема компонента:

Как видим - AND-NOT одна штука стоит примерно 50 сантимов в наших латвийских тугриках. 1 рубль = 1.7 сантима, итого - примерно 85 рублей. Смапеная схема содержит 15 элементов - это для преобразования одного бита! А адресная шина шириной в 8. Итого - 120 единиц необходимо. Этот конкретный шоп, если вы обратили внимание, при закупке более 100 скидывает цену до 36 рублей.
AND-NOT - потому что мапинг проще получается, меньше элементов на схему выходит чем с помощью OR-NOT.
А вот собственно и схема компонента:

- Реклама
-
thunder87l
- Встал на лапы
- Сообщения: 138
- Зарегистрирован: Вт дек 30, 2008 22:54:36
Вроде логика правильная. Если кто проверит и отпишется по результатам тестирования схемки - будет очень круто. Ошибиться со всяким случается. Что касается схемки - три провода я нарисовал красным. Вопрос зачем? Потому что они перекрещиваются с другими проводами. Можно их конечно вывести на другую сторону платы, но чисто в моём уразумении, если уж плата делается как surface mounted, имеет смысл все сигналы оставить на лицевой стороне платы(для чего вместо жил - красные провода реально выполнить проводами). А заднюю по возможности оставить впокое, ну или - зарезервировать для power-ground проводов.
Кстати говоря - только что заметил, что в предыдущем посте ссылку дал на ИЛИ-НЕ, а не на И-НЕ. Впрочем сути дела не меняет.
Кстати говоря - только что заметил, что в предыдущем посте ссылку дал на ИЛИ-НЕ, а не на И-НЕ. Впрочем сути дела не меняет.
-
thunder87l
- Встал на лапы
- Сообщения: 138
- Зарегистрирован: Вт дек 30, 2008 22:54:36
Что касается каскадирования. Одиночный элемент мы допусим собрали. Как теперь к нему присобачить другой?
Примерно вот так:
Сверху - упрощённая версия элемента, ниже - как эта фигня должна каскадироваться.

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

Поскольку пока у нашей машины может быть столько адресов, сколько влезется нашему кошельку - можно ужать адресное пространство и до трёх и даже до двух жил. На четыре клеточки конечно не очень то разрисуешься, но 3+3 сложить пожалуй можно, если денег на компоненты нет совсем.
-
thunder87l
- Встал на лапы
- Сообщения: 138
- Зарегистрирован: Вт дек 30, 2008 22:54:36
Итого - как это работает. На входы 0b-3b подаём адрес. На О подаём операцию, напомню что 0 - отнять, а 1 - добавить единицу к адресу. И через сколько-то времени (задержку считать имеет смысл уже после того, как будут известны конкретные спецификации компонентов) после того как на C поступит тактовый сигнал, на выходах Q0-Q3 появится таки изменённый сигнал.
-
Pe3ucTop
- Прорезались зубы
- Сообщения: 231
- Зарегистрирован: Пт ноя 16, 2007 13:52:44
- Откуда: Рига, Латвия
Приятно видеть сожителей (наших Латвийских людей
)
Интересная тема хотя сам не програмист.
Был бы рад видеть принципы оптимизации цифровых схем - карты Карно, и просто математику преобразований элементов, может даже и сам добавлю позже. Знал человека у нас, который мудрил 256бит-ный проц
На мои взгляд сейчас очень много готовых логических микросхем, чтобы соорудить чего угодно, да и програмируемая логика, хочу понять какая цель преследуется??
Мне просто стало немного смешно по поводу цен 1 сантим = 0.58 руб.
И тоесть микросхема за 50 сантим это - 30 руб.
Это ничего
больше рассмешило NOT-AND 50 сантим , чесно сказать долго смеялся.. Не в обиду, на халяву могу отдать медленные штух 50..
У нас в Риге хватает магазинов электроники - ormix, argus, барахолка.
74HCT00 = ЛА3 = NOT-AND = 10 сантим в розницу в магазине, т.е. ~6 руб. Оптом ещё дешевле..
Интересная тема хотя сам не програмист.
Был бы рад видеть принципы оптимизации цифровых схем - карты Карно, и просто математику преобразований элементов, может даже и сам добавлю позже. Знал человека у нас, который мудрил 256бит-ный проц
На мои взгляд сейчас очень много готовых логических микросхем, чтобы соорудить чего угодно, да и програмируемая логика, хочу понять какая цель преследуется??
Мне просто стало немного смешно по поводу цен 1 сантим = 0.58 руб.
И тоесть микросхема за 50 сантим это - 30 руб.
Это ничего
У нас в Риге хватает магазинов электроники - ormix, argus, барахолка.
74HCT00 = ЛА3 = NOT-AND = 10 сантим в розницу в магазине, т.е. ~6 руб. Оптом ещё дешевле..
-
thunder87l
- Встал на лапы
- Сообщения: 138
- Зарегистрирован: Вт дек 30, 2008 22:54:36
По порядку тогда 
Цель преследуется - хернёй маяться, но так чтобы с великой целью. А вообще - меня мучают мысли, что машина тюригна побыстрее будет. Прикол то в чём. Чтобы составить машину по фон Нейману, надо машину Тюринга сэмулировать на машине Поста, и уже потом машину Поста надо выполнить по архитектуре фон Неймана. Вся загвоздка процесса в том, что шестая команда (рекурсия) в машине Поста выглядит как-то наиграно... Если нужно сравнение - как последняя аксиома евклидовой геометрии, - нужно, но уж как-то слишком громоздко и неправильно. А у машины Тюринга рекурсия, что называется - в крови. Оно иногда возникает - такая маленькая злобная мысль, что так оно будет работать быстрее и стабильнее, и лучше бы развитие ЭВМ началось с реализации машины Тюринга, я не с интеловских процессоров.
Насчёт логических микросхем - тут спорить не буду. Если есть предложения по поводу как выполнить каскад устройства М дешевле и меньшим количеством микросхем - я весь внимание. Фишка в том, что я живу в Вентспилсе. Рынка и барахолки здесь нет, как впрочем и спец.магазинов (насколько я в курсе). Было дело - я даже мини-УСБ для фотика найти мучался, пришлось кард-ридер покупать за 12 лат. Какая тут програмируемая логика? Вот и шарюсь по интернет-магазинам в поисках чего подешевле. Понятно, что ежели они готовы большой партией загнать по 9 сантимов за штуку, то реально красная цена им не больше 3-4 сантимов, учитывая посредников, перевозки, наценки, налоги, таможню и прочая обдиралово. Сорри, но проектирую так, чтобы у меня была реальная возможность эту штуку собрать. При чём ищу по возможности на латвийских ресурсах, ибо бывает обидно, когда заказ в какой-то Америке стоит 10 баксов, а за пересылку будь добр - заплати 15, и накинь ащо пятачок на страховку, инакше, если не дойдёт или попортят по дороге - сам разбирайся. Грабёж, блин.
А кстати я тоже не програмист. Я студент-электроник. Кста через три дня иду сессию сдавать как раз по datorzinibu pamati (основы компьютероведения? или как енто перевести на человеческий язык?) - как раз АВМ, основы архитектуры и прочая теория.
И да - признаю, с ценами я это... попарился. Посмотрел на Дельфях курс RUB 0,0171LS и забыл, что енто рубль за сантимы, а не сантим за рубли... Школа сказывается - всегда терпеть ненавидел конвертировать валюты на экономике.
Цель преследуется - хернёй маяться, но так чтобы с великой целью. А вообще - меня мучают мысли, что машина тюригна побыстрее будет. Прикол то в чём. Чтобы составить машину по фон Нейману, надо машину Тюринга сэмулировать на машине Поста, и уже потом машину Поста надо выполнить по архитектуре фон Неймана. Вся загвоздка процесса в том, что шестая команда (рекурсия) в машине Поста выглядит как-то наиграно... Если нужно сравнение - как последняя аксиома евклидовой геометрии, - нужно, но уж как-то слишком громоздко и неправильно. А у машины Тюринга рекурсия, что называется - в крови. Оно иногда возникает - такая маленькая злобная мысль, что так оно будет работать быстрее и стабильнее, и лучше бы развитие ЭВМ началось с реализации машины Тюринга, я не с интеловских процессоров.
Насчёт логических микросхем - тут спорить не буду. Если есть предложения по поводу как выполнить каскад устройства М дешевле и меньшим количеством микросхем - я весь внимание. Фишка в том, что я живу в Вентспилсе. Рынка и барахолки здесь нет, как впрочем и спец.магазинов (насколько я в курсе). Было дело - я даже мини-УСБ для фотика найти мучался, пришлось кард-ридер покупать за 12 лат. Какая тут програмируемая логика? Вот и шарюсь по интернет-магазинам в поисках чего подешевле. Понятно, что ежели они готовы большой партией загнать по 9 сантимов за штуку, то реально красная цена им не больше 3-4 сантимов, учитывая посредников, перевозки, наценки, налоги, таможню и прочая обдиралово. Сорри, но проектирую так, чтобы у меня была реальная возможность эту штуку собрать. При чём ищу по возможности на латвийских ресурсах, ибо бывает обидно, когда заказ в какой-то Америке стоит 10 баксов, а за пересылку будь добр - заплати 15, и накинь ащо пятачок на страховку, инакше, если не дойдёт или попортят по дороге - сам разбирайся. Грабёж, блин.
А кстати я тоже не програмист. Я студент-электроник. Кста через три дня иду сессию сдавать как раз по datorzinibu pamati (основы компьютероведения? или как енто перевести на человеческий язык?) - как раз АВМ, основы архитектуры и прочая теория.
И да - признаю, с ценами я это... попарился. Посмотрел на Дельфях курс RUB 0,0171LS и забыл, что енто рубль за сантимы, а не сантим за рубли... Школа сказывается - всегда терпеть ненавидел конвертировать валюты на экономике.
-
thunder87l
- Встал на лапы
- Сообщения: 138
- Зарегистрирован: Вт дек 30, 2008 22:54:36
-
thunder87l
- Встал на лапы
- Сообщения: 138
- Зарегистрирован: Вт дек 30, 2008 22:54:36
Работать должно по задумке так:
1) на шине есть адрес, на О - есть операция.
2) подаём единичку на Read. В результате в первой части устройства С=1, и на выходах Q0-Q3, получаем изменённый адрес. Поскольку позиция "читать" включена на регистре, он записывает на входящих наш изменённый адрес.
3) Выключаем позицию "читать" и включаем "писать". Первая часть устройства блокируется, а вторая транслирует сигнал на адресную шину.
4) на шине есть изменённый адрес
И вот теперь, когда устройство без пяти минут собрано, я начинаю задумываться над двемя вещами:
1) нам нахрен не упал провод С в левой части устройства, ибо считает оно себе - да нехай себе преобразует адреса хоть 24 часа в сутки. Веса оно не имеет, ибо результат никуда не идёт пока на регистре не работает "читать". Итог оптимизации - минус четыре AND-NOT'а, а это на 25% меньше стоимости и работы.
2) а ещё нам нахрен не упал регистр ADR в общей концепции. Устройство М вполне справляется за него.
1) на шине есть адрес, на О - есть операция.
2) подаём единичку на Read. В результате в первой части устройства С=1, и на выходах Q0-Q3, получаем изменённый адрес. Поскольку позиция "читать" включена на регистре, он записывает на входящих наш изменённый адрес.
3) Выключаем позицию "читать" и включаем "писать". Первая часть устройства блокируется, а вторая транслирует сигнал на адресную шину.
4) на шине есть изменённый адрес
И вот теперь, когда устройство без пяти минут собрано, я начинаю задумываться над двемя вещами:
1) нам нахрен не упал провод С в левой части устройства, ибо считает оно себе - да нехай себе преобразует адреса хоть 24 часа в сутки. Веса оно не имеет, ибо результат никуда не идёт пока на регистре не работает "читать". Итог оптимизации - минус четыре AND-NOT'а, а это на 25% меньше стоимости и работы.
2) а ещё нам нахрен не упал регистр ADR в общей концепции. Устройство М вполне справляется за него.
Последний раз редактировалось thunder87l Вт янв 06, 2009 11:50:03, всего редактировалось 1 раз.
-
thunder87l
- Встал на лапы
- Сообщения: 138
- Зарегистрирован: Вт дек 30, 2008 22:54:36
Кстати говоря, ув.тов.Pe3ucTop Эм... интересно знать - а сколько у вас в Риге берут за 300 грамм чистого олова? Спрашиваю почему? - потому как у нас олово можно достать только в качестве припоя с кучей примесей и за дикие деньги, а я какое-то время обратно до жути хотел попробовать отлить фигурку из олова по глиняной форме, бо кроме всего я ещё и любитель самопальных настольных игр, для изготовления которых нужен либо оооочень качественный принтер (для изготовления карточных игр), либо возможность лить фигурки (для настольных). Я бы конечно и из эпоксидки лить попробовал, но не имеет пластик того что есть в металле.
И форму для эпоксидки надо металлическую иметь, а её опять-же надо где-то брать.
-
thunder87l
- Встал на лапы
- Сообщения: 138
- Зарегистрирован: Вт дек 30, 2008 22:54:36
Практический вопрос. ТОВАРИЩИ ЧИТАЮЩИЕ!!! Кто-нибудь вкурсе где можно достать (купить/поканючить/украсть) CMOS регистры на 8 или хотя-бы 4 бита по строению и функциям подобные указаному на рисунке? Желательно разумное соотношение быстродействие/цена. Необходим код элемента и ссылочку на ресурс со спецификациями - задержка, размеры, тип корпуса и так далее по списку...
-
thunder87l
- Встал на лапы
- Сообщения: 138
- Зарегистрирован: Вт дек 30, 2008 22:54:36
Плюс, конечно же хотелось бы замечания вот по этому поводу:

Признаюсь честно - тут я нуб. Где какой резистор/транзистор надо вставить чтобы все токи, напряжения, сопротивляемости чувствовали себя хорошо - я абсолютом не знаю. Помнится только что для CMOS напряжение на единице 5V. Можете заодно кинуть ссылочек - почитаю чего по этой теме на досуге.

Признаюсь честно - тут я нуб. Где какой резистор/транзистор надо вставить чтобы все токи, напряжения, сопротивляемости чувствовали себя хорошо - я абсолютом не знаю. Помнится только что для CMOS напряжение на единице 5V. Можете заодно кинуть ссылочек - почитаю чего по этой теме на досуге.




