Kniga-Online.club

Юрий Ревич - Занимательная электроника

Читать бесплатно Юрий Ревич - Занимательная электроника. Жанр: Радиотехника издательство -, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Часть IV. МИКРОКОНТРОЛЛЕРЫ

ГЛАВА 18

Начала микроэлектроники

Микропроцессоры, память и микроконтроллеры

Людовик XIV поглотил все мелкие созвездия своего двора, затмив их своим ослепительным сиянием.

А. Дюма. Три мушкетера

Электронные устройства на дискретных элементах и тем более на микросхемах могут выполнять в автоматическом режиме довольно сложные функции. Устройства управления военной техникой в сороковые-шестидесятые годы XX века так и делали — для них строили специальные схемы на каждый раз, для каждой конкретной задачи, иногда очень «навороченные» и весьма остроумно придуманные. Эти схемы объединяли цифровые и аналоговые узлы, реализовывавшие различные функции, вплоть до решения в реальном времени сложнейших дифференциальных уравнений. Вы только представьте сложность задачи управления межконтинентальной баллистической ракетой, которая даже в те времена, когда не было ни спутников наведения, ни систем глобального позиционирования, обеспечивала точность попадания в радиусе нескольких десятков-сотен метров на расстоянии в тысячи километров!

Характерная черта таких устройств — они построены из одних и тех же основных элементов. Особенно это касается цифровой техники — со времен Клода Шеннона известно, что любая цифровая функция может быть реализована всего на нескольких базовых «кирпичиках», и мы видели в предыдущих главах, как на основе таких «кирпичиков» — логических элементов — строятся последовательно все более сложные устройства, вплоть до сумматоров и многофункциональных счетчиков, которые затем уже могут комбинироваться в схемы любой степени сложности.

Возникает естественная мысль — а нельзя ли соорудить универсальное устройство, которое бы могло выполнять любые подобные функции, раз в какой-то глубинной основе своей они похожи?

К этой мысли человечество двигалось и с другой стороны, связанной с никогда не покидавшей ученых мечтой о построении искусственного разума. Через арифмометр Паскаля, аналитическую машину Бэббиджа, математическую логику Буля, теоретические построения Тьюринга и Шеннона, через первые электромеханические компьютеры Конрада Цузе, Эйкена и Атанасова, этот путь воплотился в ЭНИАКе — построенной в 1946 году электронной вычислительной машине, которая стала символом начала компьютерной эпохи (хотя, добавим, была не самой первой и не единственной даже в те времена).

Ученые сразу поняли, каковы потенциальные возможности этого устройства: зародилось направление «искусственного интеллекта», стали обсуждаться проблемы автоматического перевода, шахматного компьютера, распознавания образов — увы, многие из них, несмотря на то, что мощность компьютеров возросла в миллионы раз, так и не решены до сих пор и вряд ли будут решены в ближайшее время[27]. Компьютер и есть то самое универсальное электронное устройство, которое может выполнить любую задачу, — от наведения баллистической ракеты на цель до банального переключения режимов стиральной машины, надо только иметь соответствующую программу.

* * *

Заметки на полях

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

* * *

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

* * *

Первый микропроцессор

Первоначально корпорация Intel не помышляла ни о каких процессорах и занималась разработкой и продажами микросхем памяти, на которые тогда как раз начиналось увеличение спроса. В 1969 году в Intel появились несколько человек из Busicom — молодой японской компании, занимающейся производством калькуляторов. Им требовался набор из 12 интегральных схем в качестве основного элемента нового дешевого настольного калькулятора.

Проект был разработан Масатоши Шима (Masatoshi Shima), который и представлял японскую сторону. Тед Хофф (Marcian E. «Ted» Hoff, p. 1937), руководитель отдела, занимавшегося вопросами применений для продукции Intel, ознакомившись с проектом, понял, что вместо того чтобы создать калькулятор с некоторыми возможностями программирования, можно поступить наоборот — создать компьютер, программируемый для работы в качестве калькулятора. Развивая идею, в течение осени 1969 года Хофф определился с архитектурой будущего микропроцессора. Весной в отдел Хоффа пришел (все из той же уже известной нам Fairchild) новый сотрудник Федерико Фэггин (Federico Faggin), который и придумал название для всей системы: семейство 4000. Семейство состояло из четырех 16-выводных микросхем: 4001 содержала ROM на 2 килобайта, 4002 содержала RAM с 4-битным выходным портом для загрузки программ, 4003 представляла собой 10-битный расширитель ввода/вывода с последовательным вводом и параллельным выводом для связи с клавиатурой, индикатором и другими внешними устройствами, наконец, 4004 (рис. 18.1) была 4-битным ЦПУ (центральным процессорным устройством). Оно содержало 2300 транзисторов и работало с тактовой частотой 108 кГц. О создании первого микропроцессора было объявлено 15 ноября 1971 года. Busicom приобрела разработку, заплатив Intel 60 тыс. долларов. Но в Intel решили возвратить Busicom эти деньги, чтобы вернуть себе права на микропроцессор.

i4004 обладал вычислительной мощностью, сравнимой с первым электронным компьютером ENIAC. Свое первое практическое применение 4004-й нашел в таких системах, как устройства управления дорожными светофорами и анализаторы крови. Он использован в бортовой аппаратуре межпланетного зонда Pioneer-10, который поставил рекорд долгожительства среди подобных аппаратов: он был запущен NASA в 1972 году, а к 1 сентября 2001 года удалился от Земли на 11,78 млрд км и все еще работал.

Рис. 18.1. Микропроцессор Intel 4004

Как работает микропроцессор?

Для того чтобы понять, как работает микропроцессор, зададим себе вопрос — а как он должен работать? Есть теория (в основном созданная постфактум — после того, как первые ЭВМ были уже построены и функционировали), которая указывает, как именно строить алгоритмы, и что процессор в соответствии с ними должен делать.

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

Перейти на страницу:

Юрий Ревич читать все книги автора по порядку

Юрий Ревич - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


Занимательная электроника отзывы

Отзывы читателей о книге Занимательная электроника, автор: Юрий Ревич. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*