Юрий Ревич - Занимательная микроэлектроника
- Название:Занимательная микроэлектроника
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2007
- Город:Санкт-Петербург
- ISBN:978-5-9775-0080-7
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Юрий Ревич - Занимательная микроэлектроника краткое содержание
Для широкого круга радиолюбителей
Занимательная микроэлектроника - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Заметки на полях
Легкостью программирования современных электронных узлов стали широко пользоваться производители оборудования, особенно в последние годы, чтобы оптимизировать свои прибыли. Делается это примерно так: разрабатывается некое устройство (видеокарта, пишущий привод и т. п.) с некими новыми возможностями. Естественно, оно продается несколько дороже аналогичных более примитивных устройств. Спустя некоторое время конкуренты догоняют, тогда это устройство снимается с продажи, а на рынок выбрасывается аналогичная модель с еще более расширенной функциональностью — по той же цене или еще несколько дороже. Другой вариант той же политики — одновременно выпустить линейку похожих устройств разного класса (например, по быстродействию) с ценой, отличающейся иногда в разы (характерно, например, для видеокарт). И простодушному покупателю невдомек, что разработан был лишь самый дорогой и «продвинутый» вариант, а все более дешевые отличаются лишь программой — «прошивкой» (ну, иногда еще отсутствием некоторых микросхем на плате). Выпуская модели с искусственно урезанной функциональностью, производитель имеет значительно большую суммарную прибыль, т. к. фактически одно и то же устройство может продаваться годами без значительных инвестиций в его доработку, а также охватить все секторы рынка, от самых простых до эксклюзивных. Во многих случаях пользователь сам может превратить дешевое устройство в более дорогое, сменив лишь микропрограмму — классическим примером сезона 2005/2006 годов стала линейка пишущих приводов NEC 3540, 3550, 4550 и др.
С другой стороны, чем больше функций устройства реализовано программно, а не аппаратно, тем оно, во-первых, дешевле (сравните цены аппаратных модемов и софт-модемов), а во-вторых, тем легче исправляются недочеты при проектировании. Мой знакомый однажды, сменив прошивку дешевенькой «фотомыльницы», обнаружил, что она приобрела способность снимать чуть ли не в лунном свете, хотя до этого не вытягивала даже комнатное освещение!
Ну а теперь перейдем к рассмотрению того, как работает микропроцессор «вообще».
Для того чтобы понять, как работает микропроцессор (МП), зададим себе вопрос: а как он должен работать? Есть теория (в основном созданная постфактум: после того, как первые ЭВМ были уже построены и функционировали), которая указывает, как именно строить алгоритмы, и что процессор в соответствии с этим должен делать. Мы, естественно, углубляться в это не будем, просто констатируем, что любой алгоритм есть последовательность неких действий, записанных в виде набора последовательно выполняемых команд (инструкций, операторов). При этом среди таких команд могут встречаться переходы, которые в некоторых случаях нарушают исходную последовательность выполнения операторов строго друг за другом. Среди прочих должны быть также команды ввода и вывода данных (программа должна как-то общаться с внешним миром?), а также команды выполнения арифметических и логических операций.
Команды необходимо где-то хранить, поэтому неотъемлемой частью всей системы должно быть устройство памяти программ. Где-то надо складывать и данные, как исходные, так и результаты работы программы, поэтому должно быть устройство памяти данных. Поскольку команды и данные в конечном счете все равно есть числа, то память может быть общая, только надо уметь отличать, где именно у нас команды, а где — данные. Это есть один из принципов фон Неймана, хотя и в микроконтроллерах, о которых мы будем говорить в дальнейшем, традиционно используют не фон-неймановскую, а так называемую гарвардскую архитектуру, когда память данных и программ разделены (это разделение, впрочем, может в определенных пределах нарушаться). Процессор, построенный по фон Нейману, более универсальный, например, он позволяет без особых проблем наращивать память и более эффективно ее перераспределять прямо по ходу работы. В то же время микроконтроллерам подобная гибкость не особенно требуется, на их основе, как правило, строятся узлы, выполняющие конкретную задачу и работающие по конкретной программе, так что нужную конфигурацию системы ничего не стоит предусмотреть заранее.
МП и МК
Кстати, а почему мы все время говорим так: то микропроцессоры, то микроконтроллеры? Микроконтроллер (МК) отличается от микропроцессора тем, что он предназначен для управления другими устройствами, и поэтому имеет встроенную развитую систему ввода/вывода, но, как правило, относительно более слабое арифметико-логическое устройство (АЛУ). Микроконтроллерам очень хорошо подходит термин, который в советское время имел, правда, несколько иное значение— «микроЭВМ», еще точнее звучит английское «computer-on-chip». В самом деле, для построения простейшего вычислительного устройства, которое могло бы выполнять что-то полезное, обычный микропроцессор, от i4004 до Pentium и Core Duo, приходится дополнять памятью, BIOS, устройствами ввода/вывода, контроллером прерываний, тактовым генератором с таймерами и т. п. — всем тем, что сейчас стало объединяться в т. н. «чипсеты». «Голый» МП способен выполнить только одно: правильно включиться, ему даже программу загрузки неоткуда взять.
В то же время для МК микропроцессор — это только ядро, даже не самая большая часть кристалла. Для построения законченной системы на типовом МК не требуется вообще ничего, кроме источника питания и периферийных исполняющих устройств, которые позволяли бы человеку определить, что система работает. Обычный МК может без дополнительных компонентов общаться с другими МК, внешней памятью, специальными микросхемами (вроде часов реального времени или флэш-памяти), с компьютером, управлять небольшими (а иногда — и большими) матричными панелями, к нему можно напрямую подключать датчики физических величин (в том числе— чисто аналоговые, АЦП тоже входят в МК), кнопки, клавиатуры, светодиоды и индикаторы, короче — в микроконтроллерах сделано все, чтобы как можно меньше приходилось паять и задумываться над подбором элементов. За это приходится расплачиваться пониженным быстродействием (которое, впрочем, не так и требуется в типовых задачах для МК) и некоторым ограничением в отдельных функциях — по сравнению с универсальными, но в сотни раз более дорогими и громоздкими системами на «настоящих» МП. Вы можете мне не поверить, но процессоры для ПК, о которых мы столько слышим, занимают в общем количестве выпускаемых процессоров лишь 6 %, — остальные 94 % составляют микроконтроллеры различного назначения.
В соответствии со сказанным основной цикл работы процессора должен быть таким: выборка очередной команды (из памяти), при необходимости выборка исходных данных для нее, выполнение команды, размещение результатов в памяти (опять же если это необходимо). Вся работа в этом цикле должна происходить автоматически по командам некоторого устройства управления, содержащего тактовый генератор — системные часы, по которым все синхронизируется. Кроме того, где-то это все должно происходить — складирование данных, кода команды, выполнение действий и т. п., так что процессор должен содержать некий набор рабочих регистров (по сути — очень небольшую по объему сверхбыструю память), определенным образом связанных между собой, а также с устройством управления и АЛУ, которое неизбежно должно присутствовать.
Читать дальшеИнтервал:
Закладка: