Вычитание на уровне схемы

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Вычитание на уровне схемы

Сообщение просто КОТ »

Странное название для темы.. Но лучше выдумать не смог...
Дня два назад мне подкинули идейку сделать процессор на транзисторах. Шютка конечно, но меня зацепило -- начал думать над этим. Полностью процессор, типа компового, конечно не планирую даже. Просто небольшая поделка, вводим в неё два байта -- два числа в двоичном виде. Потом два бита -- от первого будет зависеть складывать/вычитать, второй бит -- сигнал к началу отсчёта.
Теперь вот думаю, получить из набора единиц и нулей два числа, записав их в два параллельных регистра на триггерах не трудно.
А вот как на уровне схемы, пока что из логических блоков типа И, ИЛИ, НЕ и т.д. произвести то самое вычитание или сложение? Со сложением есть идеи в принципе.. Но вычитание... Подскажете?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Реклама
a_skr
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Re: Вычитание на уровне схемы

Сообщение a_skr »

Вычитание - тоже сложение, просто у второго числа знак поменять ;)
P.S.
В дополнительном коде - проинвертировать все биты и добавить единицу.
А потом просто сложить.
Итого - инверсия, инкремент, сложение. ;)
Реклама
Шурики
Вымогатель припоя
Сообщения: 506
Зарегистрирован: Пн авг 31, 2009 22:10:50
Откуда: СК

Re: Вычитание на уровне схемы

Сообщение Шурики »

Всё верно, поэтому самая простая система команд для любого процессора состоит всего из 5 команд: MOV, ADD, AND, NOT, JZ.

Тут вопрос в базисе реализации.
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Вычитание на уровне схемы

Сообщение da-nie »

Только на транзисторах не советую - их дофига уйдёт на логические элементы. А вот на элементарной логике сделать можно.
Есть такая книжка -Чарльз Петцольд - КОД
Там рассмотрено создание простейшего процессора.
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
VT1
Поставщик валерьянки для Кота
Сообщения: 2458
Зарегистрирован: Вс июл 11, 2010 14:39:04
Откуда: Россия.
Контактная информация:

Re: Вычитание на уровне схемы

Сообщение VT1 »

просто КОТ писал(а):А вот как на уровне схемы?
Качаешь эту книжку.
http://padabum.com/d.php?id=3235
И там описывается как сделать то, что тебе нужно.

Изображение
Вложения
1.JPG
(54.52 КБ) 1034 скачивания
Реклама
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Вычитание на уровне схемы

Сообщение просто КОТ »

Что-то там очень сложные схемы, едва читаются... Но кусками уловил, плюс добавил фантазии, и потом ещё фантазии, и вышел, что на каждую пару бит понадобится:
1. Три элемента НЕ и три элемента ИЛИ для вычитания.
2. Один элемент 2И и два Исключающих ИЛИ для сложения.
Т.к. работать хочу с 8-битными числами, понадобится 16 триггеров для памяти, 32 инвертора, 24 ИЛИ, и 16 Исключающих ИЛИ. Плюс ещё парочка деталек для управления блоками, чтоб связывать их друг с другом.
Последний раз редактировалось просто КОТ Сб ноя 02, 2013 12:58:07, всего редактировалось 1 раз.
Изображение
И ты врёшь!!! © Vladisman
Изображение
Реклама
Шурики
Вымогатель припоя
Сообщения: 506
Зарегистрирован: Пн авг 31, 2009 22:10:50
Откуда: СК

Re: Вычитание на уровне схемы

Сообщение Шурики »

не 16 триггеров, а два 8-разрядных или один 16-разрядный регистр, схемы интегральные полусумматоров... ну и т.д. Если сделать не на "рассыпухе", то будет меньше корпусов микросхем.
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Вычитание на уровне схемы

Сообщение просто КОТ »

Вообще, на реле хотелось... Это странно объяснить, почему реле, но хотелось бы...
Не вкурсе ли, кстати, где взять реализации вышеназваных блоков на реле? Как сделать Исключающее ИЛИ знаю, как сделать инверсию и элемент И тоже знаю. А вот с триггером и с ИЛИ есть проблемы..
Изображение
И ты врёшь!!! © Vladisman
Изображение
Шурики
Вымогатель припоя
Сообщения: 506
Зарегистрирован: Пн авг 31, 2009 22:10:50
Откуда: СК

Re: Вычитание на уровне схемы

Сообщение Шурики »

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

Полностью на реле реализовать, конечно можно, но это будут специфические реле. Что-то придётся изготовить самому.

Предварительная информация:

http://ru.wikipedia.org/wiki/%C0%F0%F5% ... 2%E5%F0%E0

(Нулевое поколение ЭВМ)

Информация к размышлению для дальнейшего поиска:

Релейная машина «Марк-2», изготовленная в 1947 году, содержала около 13 000 реле. Одной из наиболее совершенных релейных машин была машина советского конструктора Н. И. Бессонова — РВМ-1. Она была построена в 1956 году и проработала почти 10 лет, конкурируя с существовавшими уже в то время ЭВМ. Поскольку реле — это механическое устройство, то его инерционность (задержка при переключении) достаточно велика, что сильно ограничивало скорость работы таких машин. Скорость РВМ-1 составляла 50 сложений или 20 умножений в секунду. Практически это был предел скорости для машин этого типа.

Если пошёл процесс даунграунда, то можно собрать ещё пневматические вычислительные машины. Уже не совсем механика, но ещё не реле. Правда, пишут что они ещё используются на опасных производствах.
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Вычитание на уровне схемы

Сообщение просто КОТ »

Я так прикинул -- мне это выйдет в около 200 реле, но это будет только сложение/вычитание чисел до 256.
По идее, осилить можно. Плюс прикрутить ещё красивое табло, корпус стимпанковский какой-нибудь, и чтоб щелкало по громче... Красота будет.
Изображение
И ты врёшь!!! © Vladisman
Изображение
Шурики
Вымогатель припоя
Сообщения: 506
Зарегистрирован: Пн авг 31, 2009 22:10:50
Откуда: СК

Re: Вычитание на уровне схемы

Сообщение Шурики »

А ещё взять реле с прозрачными корпусами, чтобы всё можно было даже визуально оценить.
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Вычитание на уровне схемы

Сообщение просто КОТ »

200 реле переключатся по одному разу за одну секунду и затихнут, не впечатляющее будет зрелище -- слишком быстро и коротко.
А вот услышать за сотню клацаний в хаотичной очереди.. Уже лучше.
Изображение
И ты врёшь!!! © Vladisman
Изображение
Шурики
Вымогатель припоя
Сообщения: 506
Зарегистрирован: Пн авг 31, 2009 22:10:50
Откуда: СК

Re: Вычитание на уровне схемы

Сообщение Шурики »

Тогда сделать потоковый ввод с компа, имитируя операцию умножения двух чисел. Или перемножение матриц, а потом результат останется на индикаторе. Ну как-то так...
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Вычитание на уровне схемы

Сообщение просто КОТ »

Т.е. не с клавиатуры забивать регистры, а снимать цифры с ЛПТ порта?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Шурики
Вымогатель припоя
Сообщения: 506
Зарегистрирован: Пн авг 31, 2009 22:10:50
Откуда: СК

Re: Вычитание на уровне схемы

Сообщение Шурики »

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

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

Нашёл: индикаторы ИН, например, ИН-13.
Последний раз редактировалось Шурики Сб ноя 02, 2013 11:31:20, всего редактировалось 1 раз.
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7360
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Вычитание на уровне схемы

Сообщение uldemir »

А цифры вводить механическим номеронабирателем...
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Вычитание на уровне схемы

Сообщение просто КОТ »

Мне хотелось в двоичном виде оставить пока-то.
Ддесятично-двоично-десятичное преобразование можно потом прикрутить... Но пока что будем в двойке работать -- благо числа до 256 можно легко прочесть.
Изображение
И ты врёшь!!! © Vladisman
Изображение
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Вычитание на уровне схемы

Сообщение da-nie »

Нашёл: индикаторы ИН, например, ИН-13.
И линейку к ним. :)
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Шурики
Вымогатель припоя
Сообщения: 506
Зарегистрирован: Пн авг 31, 2009 22:10:50
Откуда: СК

Re: Вычитание на уровне схемы

Сообщение Шурики »

Да, где-то не там, получается нашёл. Грешен. Ну поправьте, если есть инфа под рукой ("навскидку").

А линейку привязать на ниточке к корпусу (чтобы не спёрли).
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Вычитание на уровне схемы

Сообщение просто КОТ »

Хм.. Я вот начал колебаться -- Д-триггер это 3 реле, боюсь в 200 реле можем не уложиться.. Или..
И хочется, и дофига что-то выходит... Не раздобуду я столько реле. 50 могу.. 100, пусть не одинаковых, ещё можно попробовать.. А вот 200... 250... перебор.
Попробовать 4-х битные числа для начала?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Ответить

Вернуться в «Умные мысли»