История встраиваемых систем
Как ни странно, одной из причин появления микроконтроллеров является холодная война и космическая гонка. Конечно, и до 60-х годов существовали процессоры и компьютеры, однако они представляли собой стеллажи и наборы плат, соединенных проводами. В инструментальной лаборатории МТИ (англ. MIT Instrumentation Laboratory) группа инженеров под руководством Чарльза Старка Драпера (англ. Charles Stark Draper) специально для программы «Аполлон» разработала Apollo Guidance Computer (сокр. AGC), процессор которого был выполнен в виде интегральной микросхемы. По сути это и была первая «встраиваемая система» (англ. embedded system) с весьма смешными по сегодняшним меркам характеристиками. Процессор состоял из 4100 вентилей на резисторно-транзисторной логике; имел 4 килобита оперативной и 32 килобита постоянной памяти; работая на частоте 2,048 МГц, был способен выполнять всего 12 инструкций (элементарных операций: сложение, вычитание и т.д.) Таких параметров хватило для осуществления самого безумного и опасного предприятия за всю историю человечества — высадки человека на Луну.
Бортовой компьютер AGC (такие были установлены в командном и лунном модуле) работал под управлением операционной системы реального времени (кооперативная многозадачность, планировщик на прерываниях), написанной на языке ассемблера, и был в состоянии выполнять до 8 задач одновременно. К слову, программный код миссии Apollo 11 выложен в публичный доступ на GitHub. Изучать его нет особого смысла, так как это анахронизм, потерявший актуальность, однако это довольно интересное культурное событие — во время холодной войны за такие действия могли посадить или даже приговорить к смертной казни.
После программы «Аполлон», в начале 70-х, независимо друг от друга над микропроцессорной техникой начали работу довольно известные на сегодня компании — Intel и Texas Instruments, пути которых разошлись в самом начале. Intel в ноябре 1971 года представила первый коммерческий 4-битный микропроцессор i4004, предназначенный для калькуляторов. (Впоследствии данная компания превратилась в монополиста на рынке универсальных процессоров.) А вторая, Texas Instruments, решая ту же самую задачу — создавая микропроцессоры для калькуляторов, — разработала семейство микросхем TMS1000, с одним большим отличием — на одном кристалле с ним была расположена оперативная и постоянная память. Патент на данное изделие получил Гари Бун (англ. Gary Boone) в 1973-м, и именно эту дату принято считать датой рождения микроконтроллеров как класса устройств.
При таком подходе не требуются дополнительные микросхемы памяти, что позволяет создавать миниатюрные устройства. Название «микроконтроллер» (англ. micro + controller, микро + регулятор), скорее всего, происходит от специфики применения подобных микросхем — устройств автоматизации и управления.
Осознав потенциал такого подхода, со временем на кристалле стали размещать и другие периферийные блоки, о которых мы поговорим чуть позже.
Со временем на рынке появились и другие компании, предлагающие микроконтроллеры (сокр. МК) с разной разрядностью и архитектурами. Сейчас среди них можно выделить Renesas Electronics, Microchip, Atmel, NXP Semiconductor, Freescale Semiconductor, Texas Instruments, Fujitsu, ST Microelectronics и многие другие.