Об АЛУ К155ИП3 (74181)

4-битные микроконтроллеры и микропроцессоры (прошлое, настоящее, будущее)

Moderator: Lavr

User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Об АЛУ К155ИП3 (74181)

Post by Lavr »

Bill wrote:
Lavr wrote:откуда есть пошло АЛУ К155ИП3
с его странностями и почему у него такой набор операций.
А что именного странного вы увидели в этом АЛУ?
А разве вот здесь этого не написано в начале топика?


PS. И я, кажется, обращал Ваше внимание уже, что не принято на форуме копировать
весь пост с картинками, если у Вас вопрос всего лишь по одной фразе.
iLavr
Bill
Fanat
Posts: 92
Joined: 25 Jan 2014 21:54
Location: 37.113.169.14

Re: Об АЛУ К155ИП3 (74181)

Post by Bill »

Lavr wrote: А разве вот здесь этого не написано в начале топика?


PS. И я, кажется, обращал Ваше внимание уже, что не принято на форуме копировать
весь пост с картинками, если у Вас вопрос всего лишь по одной фразе.
То, что в данном АЛУ есть лишние функция, то я бы с этим согласился. Только странного в этом абсолютно не вижу. И вообще, данное АЛУ в свое время достаточно широко использовалось. Более того, многие операции с помощью данного АЛУ реализуются гораздо проще, нежели с использованием уже упоминавшегося выше 530ИК1 (74381/82).
PS: Что касается вашего замечания насчет копирования сообщений, то учту на будущее. Хотя я и так стараюсь удалять из цитата все лишнее. Кстати, на некоторых движка есть удобная опция цитирования только выделенного текста.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Об АЛУ К155ИП3 (74181)

Post by Lavr »

Bill wrote:То, что в данном АЛУ есть лишние функция, то я бы с этим согласился. Только странного в этом абсолютно не вижу.
А я разве говорил, что Вы видите странное? Совершенно нигде не говорил! :o
Или Вы отказываете мне в праве считать что-то странным на свой взгляд?
Bill wrote:И вообще, данное АЛУ в свое время достаточно широко использовалось.
Вот именно. Но в большинстве конструкций самодельщиков я видел, что полностью все функции этого АЛУ используются не всегда.
Отсюда и возник этот топик, который я выделил из другого топика, где мы обсуждали самодельные АЛУ и минимально необходимые наборы их функций.

А вот Mixa64 интуитивно суть дела уловил верно:
Mixa64 wrote:в сравнении со спартанским набором операций АЛУ 531ИК2

Ну так и я об этом написал, хотя и ни с чем не сравнивал, кроме своего собственного АЛУ на NAND.
iLavr
User avatar
Shaos
Admin
Posts: 23990
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Об АЛУ К155ИП3 (74181)

Post by Shaos »

Реверсинжынирнули 74181 (по-видимому чтобы убедиться, что его внутренее устройство точно соответствует логической схеме из даташита):

http://www.righto.com/2017/01/die-photos-and-reverse-engineering.html

Image

Про странности выбранных функций:
Many of the 74181's 32 functions are strange, but there is actually a system behind it. Note that there are exactly 16 possible functions on two (one-bit) binary inputs A and B. (There are 4 lines in the truth table, and two choices for each output, so 2^4 possible functions.) The 74181's 16 logic functions are simply these 16 functions (extended to 4 bits). The 74181's 16 arithmetic functions are A PLUS (one of the 16 possible functions of A and B) PLUS carry-in.
Найдено через http://hackaday.com/2017/01/07/yes-you-can-reverse-engineer-this-74181/
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Об АЛУ К155ИП3 (74181)

Post by Lavr »

Shaos wrote:Реверсинжынирнули 74181 (по-видимому чтобы убедиться, что его внутренее устройство точно соответствует логической схеме из даташита):
...
Про странности выбранных функций:
Ну в общем-то мы так и думали: 74181 реализовано в Нормальной Форме - есть все входные сигналы
и все их инверсии. Подавлять как-то "странные" функции - было бы излишним усложнением АЛУ,
т.к. их можно просто не использовать...
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Об АЛУ К155ИП3 (74181)

Post by Lavr »

Мне тут попался даташит на АЛУ типа '381, '382 - очень понравилось, как внесли ясность
во входную логику:
LS381.gif
Также есть вариант более сжатой схемотехники К155ИП3 (74181):
74181Func.shema.gif
Ну и, оказывается, КМОП версии ИП3 имеют дополнительные инверторы по входам и выходам:
74181_IP3.gif
You do not have the required permissions to view the files attached to this post.
iLavr
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: Об АЛУ К155ИП3 (74181)

Post by Tronix »

А если взять 2 АЛУ ИП3, можно сделать 8-битные вычисления? А если 8 АЛУ ИП3?
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Об АЛУ К155ИП3 (74181)

Post by Lavr »

Tronix wrote:А если взять 2 АЛУ ИП3, можно сделать 8-битные вычисления?
Запросто! Именно так и делали на заре компьютеростроения до появления микропроцессоров.
Эти АЛУ с быстрым параллельным переносом С внутри и их можно также объединять.
K155IP3-3.jpg
Tronix wrote:А если 8 АЛУ ИП3?
Да - можно. Эти АЛУ можно объединять также с быстрым параллельным переносом и для этого в комплекте 155 есть спец. микросхема параллельных переносов.
Но если ты "никуда особо не торопишься" :wink: 2 штуки К155ИП3 можно объединить с последовательным переносом Cout-->Cin.
8 АЛУ ИП3 при таком включении дадут 8 задержек распространения Cout-->Cin. Это уже "не есть хорошо". :-?
Микросхему для быстрых параллельных переносов можешь глянуть в Шыло... ну или "в этом нашем Интернете" -
не помню я её по памяти (но уже глянул - К155ИП4 - Блок ускоренного переноса). :wink:
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 23990
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Об АЛУ К155ИП3 (74181)

Post by Shaos »

You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Об АЛУ К155ИП3 (74181)

Post by Lavr »

Кстати, модель 74XX181.MDF, которую я так настырно разыскивал, у меня заработала.
Ну и я на радостях "нарисовал ей костюмчик" поприятней, чем "родной" у Proteusa... :wink:
74181.gif
И немного подправил обозначния: CI - это CIn - вход переноса (в оригинале - CN);
a CO - это COut - вЫход переноса (в оригинале - CN+4);

Переименование чисто графическое, внутри модели 74XX181.MDF, обозначения те же: CN и CN+4.
И чтобы не перекрывать существующие в Proteus подобные модели АЛУ, я переименовал её в 74HC181A.
Задержки распространения выставлены характерные для серии HC.

Все необходимые файлы - в архиве:
74181.zip
P.S. В архиве, кстати, и таблица функций АЛУ для проверки модели 74XX181.MDF .

 Операции АЛУ 74181
74HC181_Tabl.gif

You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Об АЛУ К155ИП3 (74181)

Post by Lavr »

Mixa64 wrote:...может быть в сравнении со спартанским набором операций АЛУ 531ИК2 ?
Я как-то пропустил отметить, что 531ИК2 это и есть Микросхема 74381.
Lavr wrote:Мне тут попался даташит на АЛУ типа '381, '382 - очень понравилось, как внесли ясность
во входную логику:
Действительно, набор операций этого АЛУ вполне можно охарактеризовать как спартанский! :lol:
74381tab.gif
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Об АЛУ К155ИП3 (74181)

Post by Lavr »

Я решил тут потратить немного собственного времени и внести полную ясность и прозрачность
в конструктивные особенности АЛУ К155ИП3 (aka 74181) в финале топика об его "странностях".

И мне лично все стало понятно в конструкции обсуждаемого АЛУ после моего этого поста:
Lavr wrote:В источнике, на который я ссылаюсь, принципы построения АЛУ К155ИП3 объясняют
следующим образом:

Image
Но видимо не все читали приведенный там источник, и я с удивлением узнал, что и у меня
на работе не все четко понимают принцип работы этого АЛУ и путаются в его функциях.
Да и в книге, из которой скопирован материал, рассмотрен всего один каскад, что при взгляде
на остальные каскады вызывает некоторое замешательство - каскады на первый взгляд не похожи.
Поэтому я взял на себя труд нарисовать схему этого АЛУ, так чтобы при взгляде стал сразу
прозрачен принцип его работы, и любые функции можно было определить без таблиц.

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

 Схема электрическая принципиальная ИС АЛУ К155ИП3(74181)
74LS181.gif

Смотрим что получается: во входном каскаде из входных аргументов A и B создается через элементы
И и НЕ набор из 5 логических функций в каждом каскаде
. Эти функции или их комбинации с помощью
управляющих сигналов S0, S1, S2, S3 подают на входы первого каскада сумматора, выполненного
в этом АЛУ по совершенно традиционной схеме:
Full_Adder.gif
И вот тут обычно начинается путаница и недопонимание...
По этой схеме в АЛУ выполнен только каскад для сигналов A0 и B0, остальные каскады сделаны
на вид несколько иначе. И дело в том, что в этом АЛУ применен ускоренный параллельный перенос
для всех 4-х сумматоров одновременно. Это и делает схему АЛУ такой громоздкой.

Смысл параллельного переноса в том, что для каждого более старшего разряд сумматора логикой
выбираются ВСЕ комбинациии ВХОДНЫХ сигналов сумматоров младших разрядов, при которых у ЭТОГО
разряда сумматора должен произойти перенос
. Поэтому с каждым разрядом схема параллельного
переноса становится "толще" и "толще" - надо учесть всё большее количество входных сигналов.

В этом плане построение сумматора с параллельным переносом похоже на построение многоразрядного
синхронного счетчика: он реально счетчиком-то в привычном смысле и не является, а представляет
собой параллельный регистр, в каждый триггер которого одновременно записываются комбинации
сигналов предыдуших разядов, а логика отслеживает, когда надо записать
"0", а когда - "1".

Следующий момент, который многих сбивает с толку: АЛУ одинаково хорошо работает как со входными
сигналами, так и с их инверсиями
, поэтому возникает путаница: в
одних справочниках приводят две таблицы для прямых входных сигналов и для их инверсий,
в других считают, что пользователи знакомы по меньшей мере с законами дуальности де Моргана: это используется в схемотехнике АЛУ.
Если у булевой функции инвертировать входные сигналы и выходные сигналы, то она превращается
в двойственную ей функцию
- И в ИЛИ, ИЛИ в И и т.п.

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

Значит, если вместо A и B мы подадим на входы сумматора /A и /B он вычислит вместо S --- /S.

Теперь о логических функциях АЛУ: следует помнить, что XOR - в общем-то тоже вентиль, который
является управляемым инвертором. И в одном из состояний - он повторитель входного сигнала.
В АЛУ это используют так: специальный сигнал М запрещает подачу на выходной XOR сумматоров
сформированные сигналы параллельных переносов, и выходной XOR просто передает на выход АЛУ
какую-то логическую комбинацию из входного каскад
а. Эту комбинацию определяют управляющие
сигналы S0, S1, S2, S3.

На своей схеме я нарисовал все функции для прямых сигналов A и B. Для инверсных сигналов
/A и /B наборы логических сигналов, согласно законам дуальности де Моргана, будут другие.
Но так и выбрать нужные следует другими комбинациями управляющих сигналов S0, S1, S2, S3

И если никто не забыл основные аксиомы и тождества булевой алгебры-логики, то всё нужное
вырисовывается просто элементарно!

P.S. И я подумал - краткую шпаргалку основных аксиом и тождеств булевой алгебры-логики здесь тоже неплохо приложить: :wink:

 Аксиомы и тождества булевой алгебры-логики
ZakonyAL.gif

You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Об АЛУ К155ИП3 (74181)

Post by Lavr »

Ну а теперь - о пользе затраченных мной усилий, чтобы ни у кого не возникла мысль, что я
возомнил тут себя "просветителем славянства"... :mrgreen:

Я тоже нечасто сталкиваюсь с этим АЛУ К155ИП3(74181), а когда сталкиваюсь, всякий раз
снова начинаю елозить пальцем по какой-то схеме... :-?
Теперь я этого делать не буду, поскольку совершенно понятная и правильная схема лежит
здесь, и для меня, и для всех.

И вчера я профит всей затеи явно ощутил: рисовал я схему довольно долго, но потом испил
чашечку кофе и буквально за 2 минуты набросал её в симуляторе.
ALU_3.gif
А я специально так всё рисовал понятно и удобно, чтобы второй раз никогда более не думать. 8)

И я тут-же проверил эту схему - работает она совершенно идентично модели 74XX181.MDF из
пакета моделирования Proteus.
ALU_2.gif
А кто захочет в этом убедиться - Do please:
74LS181.zip
Надеюсь, что теперь вне зависимости от программы-симулятора, вопрос реализации в нём АЛУ
типа К155ИП3(74181) ни у кого не вызовет затруднений... :wink:
You do not have the required permissions to view the files attached to this post.
iLavr
Sergei Frolov
Novelist
Posts: 33
Joined: 03 Oct 2001 17:00
Location: Питер

Re: Об АЛУ К155ИП3 (74181)

Post by Sergei Frolov »

Кстати, в терминале 15ИЭ-00-013 стоят два К531ИП3
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Об АЛУ К155ИП3 (74181)

Post by Lavr »

Lavr wrote:Надеюсь, что теперь вне зависимости от программы-симулятора, вопрос реализации в нём АЛУ
типа К155ИП3(74181) ни у кого не вызовет затруднений... :wink:
Неожиданно выяснилось, что не все на нашем форуме правильно понимают, как работает вычитание
в АЛУ типа К155ИП3(74181), несмотря на наличие подробных схем и моделей... :-?

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

Если пошарить поиском, процедуру сложения/вычитания иллюстрируют следующие картинки:
cod.PNG
Сумматор-выч.png
Разночтения имеют место в случае как интерпретировать флаг переноса С при вычитании, выполненным
сложением, но аппаратно сама процедура вычитания выполняется всегда сумматором посредством сложения!
И на это никак не влияет каким способом мы получим число в дополнительном коде!
You do not have the required permissions to view the files attached to this post.
iLavr