Заметки на полях
Для понимания того, как работают микропроцессорные системы, нужно очень твердо усвоить, что программирование процессора и составление логических схем есть в полном смысле слова один и тот же процесс, только выраженный на разных языках: либо в виде последовательности команд процессора, либо в виде схемы. Грубо говоря, при переходе на микроконтроллеры вы заменяете паяльник средствами программирования, причем программировать много проще, потому что гораздо легче поправить ошибку, а результат оказывается дешевле, надежнее и компактнее. Принцип эквивалентности можно проиллюстрировать на таком примере: на процессоре 8086 операции с действительными числами выполнялись с помощью подпрограмм, но выполнение программы всегда медленнее, чем работа «железок». Поэтому к нему сначала добавили арифметический сопроцессор (8087), а потом (начиная с 486-х) и вовсе интегрировали блок обработки чисел «с плавающей точкой» внутрь процессора. В результате программы упростились, а процессор усложнился, но с точки зрения пользователя ничего (кроме ускорения работы) не произошло. Но потом процессоры стали быстрее, а количество необходимых функций возросло, поэтому, начиная с какого-то момента, их опять стали реализовывать в виде подпрограмм, только уже «зашитых» прямо в процессор. И опять с точки зрения пользователя ничего не произошло — просто процессор стал «умнее».
* * *
Но принцип эквивалентности «железа» и программ, благодаря работам Шеннона понятный ученым и инженерам еще задолго до эпохи всеобщей компьютеризации, дошел до практики далеко не сразу — «железо» резко отставало от нужд практики. Первые ЭВМ были огромными, потребляли энергии, как небольшой завод, требовали непрерывного обслуживания (плановое ежесуточное время работы первых советских ЭВМ составляло 16 часов, а остальное занимал ремонт). Кому в те времена могла прийти мысль даже о том, чтобы дать компьютер каждому в персональное пользование, не то что пристроить его к управлению стиральной машиной, правда? Революция произошла лишь с изобретением микропроцессора в фирме Intel в 1971 году. С этого момента инженерам-электронщикам пришлось учить программирование.
* * *