nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 26 Feb 2020 13:22



Reply to topic  [ 124 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9  Next
АЛУ на NAND 
Author Message
God
User avatar

Joined: 13 Nov 2010 05:06
Posts: 1300
Reply with quote
Lavr wrote:
И чтобы нас не смогли упрекнуть в том, что мы подло и неспортивно применили в схеме АЛУ реальный дешифратор К155ИД4, выполненный не на кошерных NAND, схему его я, так и быть, приведу здесь.

Я думаю, дешифратор можно не считать частью АЛУ, поэтому даже для спортсменов-разрядников его можно выполнять на любой элементной базе :).


29 Oct 2011 03:13
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Тест АЛУ

Соединил все блоки нашего АЛУ в единую модель. "Пощёлкал" операндами и функциями -
вроде работает на первый взгляд... :-?
(Странно было бы если нет, всё же все блоки тестировались.) :wink:

Озадачился вопросом, который я уже как-то поднимал - а как проверить АЛУ на верность?

Я вижу 2 варианта:
Первый - перебрать всю таблицу истинности АЛУ, как устройства комбинационной логики.
И этот вариант я в среде моделирования скорее всего сделать не смогу.
Вручную - это прорва времени, а аппаратно EWB, похоже, такую задачу не потянет.
В нём есть устройство, перебирающее набор кодов, но ёмкость его ограничена.
Но в связи с этим приходит в голову вариант...

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

Такой вариант мне встретился в "Picaro".
Тест очень удобный, но как его составить?


29 Oct 2011 10:10
Profile
God
User avatar

Joined: 13 Nov 2010 05:06
Posts: 1300
Reply with quote
Post 
Мне кажется, основные проверки ты уже сделал. Я уже склонен собрать в железе и подключить к порту "Ориона", чтобы сгенерировать тестовые воздействия и рассматривать результат. Заодно так будет проверена не только схемная, но и железячная реализация.


29 Oct 2011 11:11
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
VituZz wrote:
Я уже склонен собрать в железе и подключить к порту "Ориона", чтобы сгенерировать тестовые воздействия и рассматривать результат. Заодно так будет проверена не только схемная, но и железячная реализация.


Что же у нас всё-таки получилось? 37 ТТЛ-корпусов это только "голое" АЛУ. Чтобы вписать его в схему ЦПУ необходимо 3 4-разрядных регистра для операндов А и В, а также регистра результата R. Необходимы также 4 тристабильных драйвера, чтобы состояние А В, R и регистра флагов F выводить на внутреннюю магистраль. Я применил вентили с ОК типа К155ЛА8, это ещё 4 корпуса.

Я изобразил это на схеме, раз уж там оставалось место - получилось следующее:

Image
Увеличить
_______________ Рис. 13. _______________

То есть, снова 37+7=44 ТТЛ-корпуса. Мы это уже себе хорошо представляем в корпусах серии К155:

Image

Виталий упоминал серии К133, К134… Да - они компактнее, но вот для примера плата, на которой 50 корпусов серии К134. По размерам она равна половине, от изображенной выше.

Image

Да и серии К133, К134 не были широко распространены.

Я всё больше склоняюсь к неприятному для себя выводу, что на рубеже 80-х годов радиолюбитель средней руки изготовить даже 4-битный процессор из распространённых логических элементов скорее всего НЕ МОГ! :cry:

Это представляется, на мой взгляд, проектом слишком затратным по тем временам... :-?


29 Oct 2011 11:32
Profile
God
User avatar

Joined: 13 Nov 2010 05:06
Posts: 1300
Reply with quote
Post 
Вспомни, какой энтузиазм тогда царил, он вполне мог компенсировать все трудности на этом пути. Это сейчас радиолюбитель неспешно тыкает мышкой по экрану и, оценивающе поцокав языком, отвергает один за другим готовые варианты. Изобилие сыграло с радиолюбителями злую шутку. Вот оно: всё есть, но ничего не хочу. А что хочу - куплю.

Проблема количества корпусов, конечно, имеет место. Но ты оцениваешь реализацию преимущественно на И-НЕ, оная же на более мозговитых мелкосхемах будет заметно худее. Поэтому, не настаивая категорически, всё же предлагаю отказаться от лопаты и сесть за рычаги экскаватора, то бишь, отдав дань ЛА третьим, обратить взор на исторические достижения ТТЛ-серий, не брезгуя при случае и ROMами. Я хочу собрать рабочую конструкцию, о которой можно будет сказать, что она хоть что-то делала, пусть хоть свет в туалете включает-выключает! Ну или управляет ёлочной гирляндой - Новый Год ведь на носу! Не успеем к этому - так к следующему, пусть и 2013-му :).


29 Oct 2011 11:56
Profile
God
User avatar

Joined: 13 Nov 2010 05:06
Posts: 1300
Reply with quote
Lavr wrote:
То есть, снова 37+7=44 ТТЛ-корпуса. Мы это уже себе хорошо представляем в корпусах серии К155.

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


29 Oct 2011 12:03
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
VituZz wrote:
Вспомни, какой энтузиазм тогда царил, он вполне мог компенсировать все трудности на этом пути.
...
Проблема количества корпусов, конечно, имеет место. Но ты оцениваешь реализацию преимущественно на И-НЕ, оная же на более мозговитых мелкосхемах будет заметно худее. Поэтому, не настаивая категорически, всё же предлагаю отказаться от лопаты и сесть за рычаги экскаватора, то бишь, отдав дань ЛА третьим, обратить взор на исторические достижения ТТЛ-серий, не брезгуя при случае и ROMами. Я хочу собрать рабочую конструкцию, о которой можно будет сказать, что она хоть что-то делала, пусть хоть свет в туалете включает-выключает! Ну или управляет ёлочной гирляндой - Новый Год ведь на носу! Не успеем к этому - так к следующему, пусть и 2013-му :).

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

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

На голом энтуазизме хорошо рубить дрова - но и то колун хороший нужен...

И я не против современной элементной базы. Но это не решает проблемы целиком.
Вот смотри - я сравнил для интересу с Viktor's Amazing 4-bit Processor:

Image

Это его CPU. Он не придерживался наших "спортивных" правил... делал как надо,
а не как"по-нищебодски".
Но тем не менее.. это 58 корпусов только 4-битное CPU!!! :o

PS. С тестом АЛУ вот подумал: там, где я привел пример, мужик как раз тестировал свой эмулятор процессора. Возможно, имеет смысл его тест взять сначала "влобовую" - и посмотреть какие в нём заложены принципы. Система команд у нас пока практически стандартная сейчас...

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

PPPS. Рекламу ЛУТ от Хардыча перенёс в курилку как оффтоп.


Last edited by Lavr on 29 Oct 2011 12:19, edited 1 time in total.



29 Oct 2011 12:13
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
VituZz wrote:
Мне кажется, основные проверки ты уже сделал. Я уже склонен собрать в железе и подключить к порту "Ориона", чтобы сгенерировать тестовые воздействия и рассматривать результат. Заодно так будет проверена не только схемная, но и железячная реализация.

Вот и мне казалось, что и тесты проделал, и поблочно поверял, но ошибки нашел, настырно "погоняв" модель... :oops:
Всякие сокращения и упрощения при сборке в единую схему дали себя знать.
А в некоторых местах некорректно учёл инверсии. :(

Но тем не менее, проект теперь действительно близок к рабочему варианту:

Image
Увеличить

Исправленную и насколько это возможно проверенную модель АЛУ прилагаю, возможно
недочёты могут ещё иметь место, но по большому счёту - АЛУ работоспособно.

Замеченные ошибки следующие:

1. В мультиплексоре "С" надо заменить "0" на "1" на входе первого вентиля, то есть, отцепить его от земли и подтянуть резистором к питанию.

2. В мультиплексоре "С" поменять на входах вентилей местами "С" и "/С" - забыл я что вентили инвертируют... :oops:

3. Управляющий сигнал BN необходимо инвертировать. В принципе свободные инверторы есть. Но если не увеличивать их число, то в мультиплексоре "В" поменять местами точки включения управляющего сигнала BN и инвертированного /BN.
Перемудрил я тут с "отрицанием отрицания"... :wink:

Вот пока и все отловленные баги... На принципиальных схемах их ещё не исправлял.
Впрочем эти баги не касаются самой первой схемы с сумматором и мультиплексорами (Рис. 2), там не было проблем, возникших при замене мультиплексоров вентилями с ОК.

Так что, как говаривал Рональд Рейган - "доувэриай бат проувэриай"... :D
Если кто ещё что заметит - исправим!


30 Oct 2011 03:39
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Lavr wrote:
тем не менее.. это 58 корпусов только 4-битное CPU!!! :o

Я тут частенько задумываюсь, как бы это АЛУ подсократить, и мысль у меня вертится в голове следующая...
К ней меня подтолкнуло 4-битное АЛУ 8-битного микропроцессора Z80.

А что, если АЛУ сделать частично последовательным? :roll:

То есть операции AND, OR, XOR, NOT выполнять параллельно, а вот суммирование -
последовательно через однобитный сумматор.

Так, если подробно не вникать, то кажется, что это тормознет ЦПУ, но если посмотреть
на характерную диаграмму цикла FETCH-EXECUTE:

Image

то у нас 2 такта, 4 положения - на FETCH и 2 такта, 4 положения - наEXECUTE.
Поскольку сумматор у нас с последовательным переносом, весь цикл EXECUTE всё-равно
используется на суммирование и сократить мы его не можем.

Но с таким же успехом мы можем за 2 такта и 4 положения пропихнуть 4 бита через однобитный сумматор! :roll:
Но однобитный сумматор даст большой выигрыш в сокращении числа деталей!

Как вам такая мысль?

_________________
iLavr


09 Jul 2014 08:42
Profile
Doomed

Joined: 10 Mar 2012 17:21
Posts: 601
Location: РФ
Reply with quote
Post 
Мне - нравится, но только ежели старшими разрядами вперёд ! :rotate:
( Для такого хорошего дела можно и готовое решение применить - в ИМС серии 1815 реализовано - выложу ссылочку как только доберусь )


09 Jul 2014 10:11
Profile
Novelist

Joined: 30 Nov 2013 06:04
Posts: 32
Location: 83.149.47.40
Reply with quote
Post 
Тоже думал об этом. Причем чем больше разрядов сумматор, тем больше выигрыш по деталям. Можно сразу и 8-битное последовательное АЛУ сделать. Применительно к нищебродскому АЛУ для радиолюбителя 80-х рассматривал применение в АЛУ микросхем ЭСЛ 500-й серии. Что интересно, среди мелкой логики там нет аналога 155лр - элемента И-ИЛИ. Зато там есть ИЛИ-И, например К500ЛК121.
А если сделать сумматор на таких элементах, то функции И , ИЛИ, исключающее ИЛИ получаются бесплатно - И и ИЛИ получаются на выходе сумматора , если на вход переноса подавать 0 и 1. Исключающее ИЛИ снимается с выхода переноса. А уж блокировать перенос для выполнения логических операций вместо суммирования в последовательном АЛУ намного проще.
Вообще можно сделать последовательное АЛУ с задержкой не больше, чем у одного вентиля ТТЛ и радоваться, что сердце твоего нищебродского компа работает на частоте 100 МГц


09 Jul 2014 12:28
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
AIS wrote:
Тоже думал об этом. Причем чем больше разрядов сумматор, тем больше выигрыш по деталям.
Можно сразу и 8-битное последовательное АЛУ сделать.

А я к этому и подбираюсь! :wink: Я с этой целью, собственно говоря, и моделировал EDUC-8,
чтобы почувствовать - сильно ли притормозит последовательный сумматор?
Пришел к выводу, что нет - не сильно.

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

_________________
iLavr


09 Jul 2014 12:58
Profile
Novelist

Joined: 30 Nov 2013 06:04
Posts: 32
Location: 83.149.47.40
Reply with quote
Post 
Небезинтересная схема последовательного АЛУ получается на мелкой логике К500 - сдвиговые регистры на К500ТМ131 - у них есть прямые и инверсные выходы, что пригодится в сумматоре, сумматор и перенос на К500ЛК121


Last edited by AIS on 09 Jul 2014 14:38, edited 1 time in total.



09 Jul 2014 13:00
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
AIS wrote:
Небезинтересная схема последовательного АЛУ получается на мелкой логике К500...

Заманчиво, но мелкой логики К500 у меня и вовсе ни одного корпуса в хозяйстве нет. :(
А покупать её для нищебродского АЛУ на NAND, видимо, неспортивно будет.
Тогда проще уж и вовсе купить 2 ИМС 531ИК2 - мне оно, кстати, нравится... 8)

Но поскольку максимум на что я предварительно рассчитываю - это 4 МГц, я думаю,
что старушка 155-я справится.

_________________
iLavr


09 Jul 2014 13:19
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
AIS, а у Вас есть схема (или ссылка на схему) последовательного АЛУ на мелкой логике К500 ?

Я тут просматривал свежий прайс-лист нашего радио-магазина, так 500-я серия у них есть!
Attachment:
K500ICs.gif
K500ICs.gif [ 11.29 KiB | Viewed 6643 times ]

Я с 500-й серией никогда не работал, поэтому хотелось бы взглянуть на что-то рабочее и проверенное,
чтобы не заниматься "изобретением велосипедов"...

_________________
iLavr


23 Nov 2015 05:58
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 124 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9  Next

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.