• АЛУ переключается в режим пропуска, в котором содержимое рабочего регистра без изменений копируется в регистр FDR и выставляется на шину данных памяти данных.
• Содержимое регистра FDR заносится в память данных по адресу, выставленному на шину адреса, т. е. в регистр NUM_2.
* * *
Обратите внимание на автоматическое изменение счетчика команд на этапе выборки каждого цикла. Такой последовательный характер изменения его содержимого будет сохраняться до тех пор, пока не встретится команда, напрямую модифицирующая этот счетчик, например команда goto h’200’. При выполнении этой команды адрес h’200’ помещается в счетчик команд, нарушая обычный процесс инкрементирования, в результате чего ЦПУ перейдет к команде, расположенной по адресу h’200’. Далее изменение счетчика команд снова примет линейный характер.
Хотя наша программа делает, прямо скажем, немного, на выполнение каждой команды затрачивается всего около 1 мкс. Миллион простейших операций в секунду — это сила! По существу, все компьютеры, какими бы «умными» они ни казались, просто выполняют с очень большой скоростью множество относительно простых операций. Поэтому основной задачей программиста является принятие решения о том, в какой последовательности необходимо расположить команды и структуры данных для выполнения соответствующей задачи.
* * *
До настоящего момента мы рассматривали одни компьютероподобные структуры. Для логического завершения главы нам осталось только провести связь между предметом обсуждения и собственно микроконтроллерами.
Так что же это такое — микроконтроллер? Кратко говоря, микроконтроллер — это микропроцессор, который объединен с памятью и различными устройствами ввода/вывода в одной интегральной микросхеме. То есть по сути дела это микропроцессор со встроенными вспомогательными узлами. Так что нам придется совершить небольшое путешествие во времени к моменту рождения микропроцессора. Вся эта история началась в 1968 году, когда Роберт Нойс (один из изобретателей интегральных микросхем), Гордон Мур[52] и Эндрю Грув уволились из компании Fairchild Corporation и основали свою собственную компанию, назвав ее Intel[53]. В течение трех лет новая компания освоила выпуск полупроводниковой памяти всех основных типов, используемых в настоящее время, — динамического и статического ОЗУ, а также микросхем EEPROM.
Одним из неосновных направлений деятельности компании была разработка интегральных микросхем большой степени интеграции (БИС) по спецификациям заказчика. В 1970 году к Intel обратились представители японской корпорации Busicom с предложением изготовить подходящий набор микросхем (так называемый чипсет) для линейки калькуляторов. В то время рынок калькуляторов развивался очень динамично, поэтому любые микросхемы пришлось бы менять каждые несколько лет. Естественно, при этом снижалась рентабельность производства БИС и увеличивалась их стоимость. И вот инженеру Тэду Хоффу[54] пришла в голову революционная идея: а почему бы не создать простой ЦПУ на кристалле? Его можно было бы запрограммировать на реализацию функций калькулятора, а для расширения функциональности устройства по мере появления новых требований достаточно будет просто усовершенствовать его программное обеспечение. Все это значительно увеличивало срок жизни такой микросхемы и ее рентабельность. Кроме того, не следует забывать, что основной сферой деятельности компании Intel было производство микросхем памяти, а компьютероподобные архитектуры требуют ее очень много! Это была поистине блестящая мысль. Разумеется, в конце 1969 года японские заказчики одобрили предложение компании Intel, поскольку оно было простым и гораздо более гибким, нежели традиционные решения.
Весной 1970 года в Intel появился Федерико Фаггин[55], а уже к концу года были изготовлены рабочие образцы первого в мире чипсета. Эксклюзивными правами на его приобретение обладала компания Busicom. Однако к середине 1971 года у нее возникли серьезные финансовые затруднения, и компания Intel, возместив затраты на разработку этого чипсета в размере 65 000 долл., получила права на его продажу всем желающим. В то время рыночные перспективы этого изделия были достаточно туманны, но Intel все же решила рискнуть и опубликовала в ноябрьском номере журнала «Electronic News» за 1971 год рекламу своего «микропрограммируемого компьютера на кристалле», получившего обозначение 4004 (термин микропроцессор вошел в обиход только после 1972 года). Появление процессора 4004 вызвало бурный интерес, поскольку он позволял внедрить «интеллект» в электронную технику.
52
Именно он высказал в 1965 году предположение, что число транзисторов на кристалле будет удваиваться каждые 18 месяцев (в то время типичная ИС состояла из 50 транзисторов). Эту зависимость, которая получила название первого закона Мура, он вывел путем экстраполяции роста емкости микросхем с 1959 года. Впоследствии эта зависимость пересматривалась каждые два года и все время с блеском подтверждалась.
53
Считается, что это название произошло от слов INTELligence (интеллект) или INTegrated ELcclronics (интегрированная электроника).
55
Именно он позже основал компанию Zilog, которая стала известна благодаря своему микропроцессору Z80 — основному конкуренту процессора Intel 8085.