Как стать автором
Обновить

Действующий процессор на 13 микросхемах стандартной логики

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров22K
Всего голосов 85: ↑84 и ↓1+109
Комментарии54

Комментарии 54

Ну, чисто технически, если собрать процессор на одной микросхеме 74181 (4-битное АЛУ, можно соединять "паравозиком" для получения 8 или 16 бит, например), то он тоже будет 4-битный компьютер на микросхемах стандартной логики 7400 серии. :)

Тут скорее всё дело даже не в том, что это микросхемы стандартной логики, в том что это процессор с одной инструкцией.

UPD: Подождите, или всё таки до процессора с одной инструкцией он всё равно не дотягивает, ведь там должна быть вообще одна инструкция, например вычитание, без всяких там переходов не так ли?

вычитание это сложение с обратным кодом, т.е. -А = (инверсия А + 1)
/s Извините, Ваш КЭП /s
дополнение, чтобы совсем быть язвой:
например 5 — 4, 5 это 5, а -4 = 12.
5 + 12 = 17, т.к. регистр 4 битный, получаем 1.

Я просто задумался, если у процессора целый список инструкций вида ADD, MOV, IN, JMP и т.п., то это реально одна инструкция или как?

И только сейчас до меня дошло, что это мнемоники, а одна инструкция - двоичное сложение (вычитание).

если у процессора целый список инструкций вида ADD, MOV, IN, JMP и т.п., то это реально одна инструкция или как?

16 яблок это одно яблоко или как?

Вам не кажется, что вы сами ответили на свой вопрос?

То что тут под капотом они работают однообразно через одно и то же ALU, это дело десятое. Практически так же работает ARM1. Есть регистры, ALU+Shift, через который выполняется все операции и вычисления и адресации.

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

ADD R0,r1,r2 LSL #3

LDR r0,[r1+r2 LSL #3]

http://www.visual6502.org/

что это мнемоники, а одна инструкция - двоичное сложение

мнемоника это символьное представление команды (инструкции).

ведь там должна быть вообще одна инструкция, например вычитание, без всяких там переходов не так ли?

Нет, в OISC есть только одна инструкция - действие+условный переход.

Вы же сами привели ссылку(!)

Теперь понятно, спасибо! Я даже изначально посмотрел вот на этот список, но почему-то всё равно до меня не дошло что там везде именно одна инструкция пока вы не обратили на это моё внимание.

Какой хэшрейт Биткоина на нем? SSE3 хотя-бы есть?

Если серьезно, то интересная штука для изучения того как работает процессор. Все просто и наглядно. Мне кажется на уроках труда такое нужно собирать в 21 веке, а не эти ваши мемные табуретки/скворечники.

Угу, а потом вырастают "мужики", которые в случае чего сами кран перекрыть не могут, или прости господи, засверлить бетонную стену под шуруп.
Мальчик должен уметь работать руками, головой, и уже потом остальными частями тела! Тогда из него вырастет нормальный мужик.

Что-то не помню сверления бетонных стен на уроках труда )

это вопрос не обучению конкретным навыкам (в школе вряд ли можно и стоит учить всему), а привитие умения не бояться что то делать своими руками, и главное, под контролем педагога - реально воплощать теорию в практику. И столярно - слесарные навыки они самые оптимальные именно для уроков труда.

Меня на трудах учили вытачивать молоток из металлического бруска напильником и обрабатывать доску рубанком. Ни то, ни другое мне ни разу в жизни не пригодилось. А паять приходится регулярно.

Старые (действительно старые, не поздние) советские пособия по классному и внеклассному трудовому обучению предлагали изготавливать вещи, которые на то время были актуальными в быту. Вплоть до фотоаппаратов и прочих сложных изделий. Это было востребовано, круто, престижно. Потому такое обучение было успешным.

Про что и речь, сейчас актуальна сложная электроника. Паять киты с такими процессорами самое то, по пути объясняя, что это и как работает.

Увы, сейчас актуально учить детей уметь перебирать автомат Калашникова, петь гимн и защищать родину. Вот прямо сейчас живу рядом с детским садиком. Там детей с малых лет зомбируют ходить строем, знать слова гимна и отвечать, что они любят родину. То день берёзки отмечают, то репетируют подготовку ко дню России всю неделю. Вырастут зомби без индивидуальности и полезных навыков. Но зато будут патриотами.
Электроника наврядли актуальна. Ростят солдат и медсестёр, которым привычно воевать. Кругом враги.

Погоди, они скоро ещё каждое утро будут начинать с pledge of allegiance, как это делается в цензура.

Так вроде уже обязали еженедельные поднятия флага и гимн России в школах?!

Вы путаете с США. Только там ежедневное поднятие флага и приспускание в дни траура. А не еженедельные. Как видим, это не мешает выпускать и электронику и прочий хлам с попкорном. Так что го...ноеды выше 100% не в тот корень зрят, если вообще в корень.

Прочитайте два комментария выше моего, пожалуйста. Про США и речи не было, в явном виде, но речь шла про РФ.

В СССР учили перебирать автомат Калашникова, петь гимн и любить партию. Выросли ли все советские люди зомби-патриотами?

В Ирландии учили (и сейчас часто учат) любить боженьку, католическую церковь и ирландский язык. Стали ли все ирландцы ревностными католиками, говорящими по-ирландски?

Зачем большинству людей что-то паять? Работа руками развивает нервную систему, пространственное воображение, умение оптимизировать действия самостоятельно. Вы, кажется, понятия не имеете о чём пишете... Повторю -- база в школах должна развивать тело и душу, а вот умение паять это должно быть факультативно по желанию ребёнка или его опекунов. Просто потому, что 1) это примитивный навык, если речь идёт о пайке антенного штекера, и слишком сложный, если это пайка уровня доп. кружка любителей электроники, на уроке труда этому точно не место 2) без понимания основ электротехники это впустую потраченное время и 90% людей это точно в жизни не пригодится -- за них паяют специалисты или даже роботы на фабриках

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

У мелкого в школе на технологии изучались сверлильный и токарный станки на примере работы с деревом. Они делали себе подставки под телефон (еще и ошкурили, проолифили и отлакировали).

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

Застал Союз, застал школьные труды. Были у нас великолепные межшкольные мастерские рядом с домом. Со станками - дерево- и металлообрабатывающими и даже там был фрезерный с ЧПУ. Мы же делали черенки для лопат, табуретку, выпиливая сидение и прочие детали ножовкой. Потом эти черенки и табуретки горели на заднем дворе. Станки еам показывали чисто теоретически, нас к ним не подпускали. С ЧПУ было связано одно из заданий "со звездочкой" на информатике: превратить задание для станка в картинку в виде сверху.

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

На уроках труда учат труду прежде всего (планирование, схема, анализ, работа, синтез работ, результат), а не готовят узкоспециализированного болванчика для фабрики по выпуску айфона по низкой часовой ставке, чтобы в 14 лет уже был на все ручонки мастер за плошку риса. Поэтому для профана со стороны это всё выглядит не слишком понятным. Кстати, у нас все эти поделки не горели на заднем дворе, а просто забирались домой. Здесь уже вопросы к вашим учителям, т.к. ритуальное сожжение результата труда не входило в образовательную программу (инфа 100%!)

Вот планированию и анализу на уроках труда точно не учат ) Вот тебе деревяшка, вот ножовка, пили. И на результат обычно пофиг.

Не знаю как сейчас, в начале 2000х ещё учили

В учебниках 90-00х точно учили, там черт-подери даже что-то про бизнес было! В живую это естественно были обычные труды, расправление гвоздей итп. и факультативно для адекватных старшеклассников токарка итп.

Молотком из железнодорожного «костыля» (кавычки по тому что не уверен в названии, такой себе гвоздь), что сделал в школе, до сих пор пользуюсь ;)

Когда мне было 13-14 (91-92 годы) лет мы проходили трудовую практику в профтехучилище при местном Радиозаводе (основной продукцией - были радиопередатчики а также блок управления ракетой средней дальности - гарантированное время хранения (в ракете) -10 лет, гарантированная работа - 10 минут если мне память не изменяет). Практика была двух видов - для классов у которых не было проблем с дисциплиной - пайка не сложных плат, у других доводка гаечных ключей напильниками до нужного размера губок.
Когда мне было 15 лет (в 93-94 году) я перешел в другую школу, где на уроке труда в школе мы изготавливали молоток. Процесс изготовления включал:
1 - обточку конического бойка на токарном станке (станок был 1А616 вроде);
2 - проточку двух поперечных канавок на нем же, обточку узкого бойка на строгальном станке!;
3 - сверловку отверстий под рукоятку на сверлильном станке (2А112 вроде);
4 - доработку отверстия под рукоятку напильником;
5 - закалку бойков после нагрева в электропечи;
6 - шлифовку молотка с помощью резиновой насадки на заточном станке и пасты ГОИ;
7. Изготовление рукоятки и насадка на нее бойка;
Молоток до сих пор жив и готов к использованию. Через примерно 30 лет мне понадобилось восстановить поверхности на фланцах, которыми соединялись трубы системы отопления (в доме который я строил сам своими руками), и у соседа по счастливой случайности был купленный по случаю советский токарник. Я встал за станок и восстановил эти самые поверхности, включая радиальные уплотнительные канавки, не бог весть что но многие просто не понимают что это такое станок.
До сих пор я вспоминаю - того учителя труда, который нас учил,и советских коммунистов которые нам дуракам сделали бесплатные школы, оснастили их оборудованием, и дали нам возможность где лаской, а где и таской научиться работать своими руками.
Всю жизнь я работаю айтишником и образование у меня соответствующее. Но я постоянно стараюсь делать по хозяйству большую часть дел сам. Например сделал своему батьке на кладбище фундамент под памятник, так что местные изготовители памятника потом со мной здоровались уважительно, а один из них сказал - на опалубку котрую ты выставил под заливку бетоном надо водить экскурсии, чтобы другие знали как надо такие конструкцйии делать. И
вот в такие моменты я думаю - а ведь я реально мужик! (такие мысли кстати проскакивают, когда например в 46 лет пропускаешь в спарринге нокаутирующий удар, а противник этого не понимает, ну это так понты конечно).

Беня Бенасси выпустил хорошее видеопособие для школьников по работе с силовыми инструментами

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

Это обычно на дом задают

2023 год

мальчик должен
"нормальный мужик"

А может, всех детей стоит немножечко учить работать и руками, и головой, и не бояться делать что-то как руками, так и головой?

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

Ну прекрасная ведь вещица!

Вау! Прямо прослезился... пару лет назад с приятелем делали такой проект. Плата изготавливалась утюгом (та еще песня!) но все заработало. Причем помню, что я очень хотел заполучить всю книгу в коллекцию, а не обрывочные фото, но так и не смог найти :( Кстати, а где вы заполучили "черную" плату?

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

Потому стандартные для устройств на цифровых микросхемах требования по фильтрации питания применительно к этой поделке неактуальны.

Это из за непонимания физики процесса.

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

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

Космически гениально! Очень зайдет такое дарить почти любым айтишникам в виде готово устройства или набора для пайки!
Технически, несложно сделать ап устройства для чтения с кольцеобразных-перфолент и получится вообще убойно! самим устройством можно не управлять, а для goto просто пропускать N-инструкций!

А лампочки зря убрали дополнительные

А что бы ей не коррелировать, если девайс один и сказано про него одно и то же?

Cайт prog.world успел перевести именно эту статью. Даже с баннером RuVDS.

И подписи на картинках.

Умеют люди работать. Или они не люди, а роботы?

У нас в универе на лабах что-то подобное было. Было то лет 25-30 назад, деталей не помню, но развлекались - изучали как работает процессор.

У нас это был годовой курсовик на 3 курсе. Команд было поменьше, кажется,4 штуки - сложение, условный переход, безусловный переход и еще что-то. И делали не в железе, а в специальной программе для симуляции.

Микротренажер мт1804 наверное? у нас лабы на нем были - мы с него прям протащились, радостно переключателями щелкали забивая программу.

Очень странно выбрана система команд. Я бы сделал так: на каждый из двух входов АЛУ поставил бы по двух-входовому 4-х битному мультиплексору (74HCT257N). На один мультиплексор завел бы A и IN (выбор по D4), на второй - B и Im (выбор по D5). Получилась бы следующая система команд:

ADD r, A, B;

ADD r, A, Im или MOV r, A если Im = 0 - сохранение аккумулятора, или NOP если r = A и Im = 0;

ADD r, B, IN;

ADD r, IN, Im или MOV r, IN если Im = 0 - чтение порта.

где r - регистр сохранения определяемый битами D7,D6 оригинальной схемы.

Для тех, кому требуется загрузка непосредственного значения, её тоже можно сделать заменой команды NOP. Для этого потребуется еще один двух-входовый мультиплексор, который устанавливается последовательно после первого мьюкса, и простая схема дешифрации r = A. Суммарное количество микросхем в этом случае, по моим прикидкам, будет на одну больше (плюс один мьюкс).

На мой взгляд такая система команд более "ортогональна". Во всяком случае, мы получим возможность складывать два регистра, что является самой распространенной командой в любой системе команд (возможность реализовать умножение).

Ещё побитового отрицания не хватает.

Или NAND (NOR).

Я бы заменил сумматор на нормальный 4-х битный АЛУ (ИП3 или 181N), но для его управления требуется еще минимум пара бит в командном слове. Если командное слово расширить до 10 бит, то можно сделать уже полноценный процессор.

16 команд - это маловато.

Вот примеры программ для моего релейного комппьютера: https://dovgalyuk.github.io/Relay/programs.html

Он чуток помощнее, там что-то влезает. А тут наверное только числа Фибоначчи можно посчитать.

Хотя может быть что-то типа игры "угадай число" и влезет, если очень постараться.

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

В стиме есть "игра" turing complete. Позволяет учиться и даже вытворять что-то подобное описанному, но без паяльника.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий