VituZz wrote:Lavr wrote:
 А в том, что на одной выборке S0sum, к примеру, 
выполняется несколько команд, которые при включенном суматоре имеют разные С, В и А.
Эту коммутацию и должен делать наш сложный дешифратор.
Признаться, я пока по дешифратору не понял, в чём смысл. Можно чуть больше слов? 

 
Да в принципе - можно, 
хотя я не люблю слов без готовой схемы.
Суть следующая: по выборке 
S0sum включаются выходы сумматора на выходы АЛУ - 
R0-R3.
Выполняется операция сумирования 
R = А + B + C при этом 
С = 0, значит это команда 
ADD или  
ADI.
Если выполнить простое вычитание, то 
R = А + инверсия_B + C при этом 
С = 1,  значит это команда 
SUB или 
SUI.
Значит вычитание - это тоже сложение только надо включить инвертор 
В, и включить 
мультиплексор С = 1, но выборка 
S0sum - должна быть включена!
И таких ситуаций, когда выборка 
S0sum включена набегает примерно 6 или более штук.
То есть на разные коды операций дешифратор должен сделать активным один и тот-же выход:  
S0sum.
Обычный дешифратор типа К155ИД4 так сделать не сможет.
У него 
000 - на входе однозначно включает 
S0sum на выходе.
Именно поэтому приходится сочинить хитрый дешифратор, который при разных кодах на входе будет делать активной одну и ту же линию 
S0sum, но при этом переключать также 
мультиплексор С, 
инвертор В и 
мультиплексор А, чтобы на включенном блоке сумматора реализовать суммирование, вычитание, сравнение, инкремент и декремент.
То есть - все эти операции выполняет сумматор, его включает выборка 
S0sum , но вот аргументы и значение флага переноса на входе сумматора при этих операциях разные.
Это вкратце. Если я рассказал неубедительно, то очень хороша и понятна книжка:
Computation Structures (
MIT Electrical Engineering and Computer Science)
Все кто берутся за "самогонные компьютеры", обычно опираются на неё.
Ссылки есть в нашей "библиотеке". И ещё подходящую литературку я там упоминал...