nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 19 Mar 2024 01:58



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

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

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


29 Oct 2011 02:13
Profile
Supreme God
User avatar

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

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

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

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

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

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


29 Oct 2011 09:10
Profile
God
User avatar

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


29 Oct 2011 10:11
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08: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 10:32
Profile
God
User avatar

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

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


29 Oct 2011 10:56
Profile
God
User avatar

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

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


29 Oct 2011 11:03
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08: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 11:19, edited 1 time in total.



29 Oct 2011 11:13
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08: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 02:39
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08: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 07:42
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 114 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8

Who is online

Users browsing this forum: No registered users and 8 guests


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.