Строительный блокнот Развитие полупроводниковой электроники жоводств по программированию на различных языках, а также послуживших иредметом глубоких теоретических исследований, нашедших свое отражение в статьях и монографиях. Несмотря на все это, на вопрос о том, как надо программировать, лучше всего ответить словами одного известного писателя, который на просьбу раскрыть его творческие секреты ответил так: <Я просто беру нужное слово и помещаю его в нужное место . Описывая последовательность действий (алгоритм), скажем, на русском языке, мы не выдвигаем никаких особых требований, кроме того, что описание .должно быть понятным и ие содержать грамматических ошибок. Грамматические ошибки легко выявить и устранить. Что же касается понятности, вряд ли адесь можно предложить какие-либо рецепты. Говоря это, мы, конечно, имеем в виду текст, не содержащий явных или скрытых противоречий. Все то же самое справедливо и для текста, написанного на языке программировання. Программа, в содержащая грамматических ошибок, будет воспринята и исполнена микропроцессорной системой. Непонятный фрагмент программы, естественно, будет отвергнут ЭВМ или микропроцессорной системой. Всякая программа составляется для реализации некоторого алгоритма, но не существует алгоритма составления программ. Возможно, в этом и заключается причина трудностей, отмеченных в начале главы. ГЛАВА ПЯТАЯ. МИКРОКОНТРОЛЛЕРЫ И МИКРО-ЭВМ 5.1. Компактность, экономичность, надежность Нет такой области человеческой деятельности, где бы не могли найти применение устройства н приборы, построенные на основе микропроцессорных комплектов, н их внедрение в эту область (если таковое еще не состоялось) - лишь вопрос времени. Ограничимся несколькими примерами. Почему мы выбрали именно эти примеры? Скорее всего потому, что, вопросы, связанные с микро-ЭВМ и микроконтроллерами, особенно оживленно обсуждаются в современной литературе. Кроме того, с мнкро-ЭВМ, точнее с ЭВМ, построенными На основе микропроцессорных комплектов, связан целый ряд проблем, имеющих принципиальное значение. К сожалению, малый объем книги не дает нам возможности рассмотреть еще один весьма важный класс устройств - карманные калькуляторы. Они получили широкое распространение, и вряд лн будет преувеличением сказать, что они оказывают заметное влияние на культуру человека в целом На сегодня уже имеется целый ряд устройств, начиная от простейшего, выполняющего четыре арифметических действия и размещенного в одном корпусе {даже в одном кристалле) с наручными часами, и кончая устройствами, спо-€обнымн играть в шахматы на уровне перворазрядника, решать сложные математические задачи по программе, содержащей несколько тысяч команд, и т. д. Карманные калькуляторы представляют собой, пожалуй, наиболее типичное применение микропроцессоров. Здесь наиболее ярко проявляются такие свойства БИС с программно перестраиваемой логикой, как огромная (даже по сегодняшним масштабам) производительность, малые габаритные размеры, экономичность и высокая надежность. 5.2. Микро-ЭВМ Перед тем как перейти к описанию микро-ЭВМ, прежде всего договоримся о том, что именно мы понимаем под этим термином. В настоящее время имеется тенденция называть ЭВМ, т. е. электронной вычислительной машиной, все, что построено на основе электронных элементов и выполняет свои действия под управлением со стороны программы, хранимой в памяти. Однако приняв такую точку зрения, мы должны отнести к классу ЭВМ ткацкие станки, металлообрабатывающие станки с программным управлением, современные лифты и многое-многое другое. Ясно, что в таких условиях всякое обсуждение теряет смысл котя бы потому, что нельзя объять необъятное. За истекшие 40 лет своего существования и развития техника ЭВМ (оиа же вычислительная техника) приобрела достаточно четкие формы. Это и позволяет попытаться дать определение тому, что такое ЭВМ. ЭВМ - это комплекс технических средств и программного обеспечения, способный реализовать любой алгоритм, оформленный в виде программы, хранимой в памяти, и ориентированный на реализацию процессов переработки информации во взаимодействии с человеком-пользователем. Последнее особенно важно. Именно тот факт, что любая ЭВМ обязательно ориентирована на совместную работу с человеком, определяет все ее остальные свойства. Комплекс технических средств ЭВМ обязательно должен содержать в своем составе хотя бы минимум средств, обеспечивающих обмен данными с человеком. Сегодня такой минимальный набор чаще всего включает в себя клавиатуру, подобную клавиатуре пишущей машинки, н либо печатающее устройство - автоматическую пишущую машинку, либо вндеодисплей - устройство с телевизионным экраном, на котором высвечиваются строки букв, цифр и других символов алфавита. У современных больших ЭВМ номенклатура устройств обмена данными с человеком весьма разнообразна. Сюда входят алфавитно-цифровые строкопеча-тающие устройства большой производительности, устройства, позволяющие вводить и выводить графические изображения, сложные вндеодисплей, позволяющие оперировать не только символами, но н рисунками, в том числе цветными. Наконец, в последние годы широко развивается техника обмена данными с ЭВМ обычным человеческим голосом. Так нлн иначе, но наличие в составе технических средств устройств обмена данными с человеком-пользователем является обязательным атрибутом ЭВМ. Необходимость общения с человеком-пользователем оказывает свое влияние и на то обстоятельство, что ЭВМ обязательно должна представлять собой комплекс технических средств и программного обеспечения. Рядовой пользователь ЭВМ - это специалист в одной нз областей человеческой деятельности, а возможно, н творческий работник. Он должен располагать минимальными сведениями н навыками в области программирования, а в идеале вообще обходиться без таких навыков н формулировать свои задания машине на обычном разговорном языке. В последние годы к решению этой задачи все больше привлекаются диалоговые режимы, когда машина задает пользователю вопросы, на которые можно давать краткие ответы типа да - нет . Весь труд по проведению диалога с пользователем и дальнейшей организации процесса переработки информации берет на себя внутреннее программное (системное) обеспечение. Системное программное обеспечение (так называемые операционные системы) достигло весьма высокого развития. И здесь, как всегда, есть своя оборотная сторона. Реализация системных программ, непосредственно занимаю-щихся организацией процесса переработки информации, захватывает сейчас до 80% ресурсов, т. е. времени работы процессора и объема памяти. Здесь наблюдается чрезвычайно интересная тенденция. Возможности или, если угодно, способности ЭВМ непрерывно растут. Однако одновременно с этим все большая часть возможностей затрачивается на собственные внутренние нужды и все меньшая часть предоставляется пользователю. Эффективная работа человека с ЭВМ возможна лишь в том случае, если ЭВМ располагает большим объемом различных справочных данных, а также фрагментов программ, реализующих стандартные алгоритмы. Кроме того, работая с ЭВМ, человек постепенно формирует свой собственный архив, который может достигать весьма внушительных размеров. Это приводит к тому, что в состав комплекса технических средств ЭВМ входит большое число устройств массовой памяти, типичными примерами которых являются запоминающие устройства на магнитных лентах н магнитных дисках. Запоминающее устройство на магнитной ленте - это обычный магнитофон с тем отличием, что он допускает автоматическое управление со стороны процессора ЭВМ, а на магнитной ленте записываются двоичные символы, т. е. сигналы, передающие логические значения О н 1. В запоминающих устройствах на магнитных дисках принцип записи и воспроизведения информации тот же самый, ио вместо магнитной ленты используются металлические диски, покрытые слоем ферромагнитного материала. Устройства на магнитных дисках, обладая несколько меньшей по сравнению с магнитными лентами емкостью, имеют существенно большее быстродействие, поскольку здесь не затрачивается время на перемотку магнитной ленты для отыскания нужной записи. Наличие устройств массовой памяти на магнитных лентах и магнитных дисках является обязательным атрибутом любой современной ЭВМ. Некоторые сомнения может вызвать введенное нами в состав определения ЭВМ условие о том, что ЭВМ должна быть способна реализовать любой алгоритм. Что касается самой техники реализации алгоритма, то здесь сомнений не возникает. Процессор совместно с памятью способен выполнить любук> подстановку применительно к любому вхождению любого слова. Но вот длина алгоритма, т. е. полное число операций, которое должно быть выполнено для его реализации! Однако говоря слово любой , мы подразумеваем тем самым, что количество операций, в том числе и количество команд в программе и количество символов в слове (словах), к которым применяются подстановки может быть любым. Объем современных устройств массовой памяти исчисляется миллиардам байт. Некоторое представление о том, сколь велико это число, можно получить, если сказать, что емкость в 1 млрд. байт эквивалентна информационной емкости 1000 толстых томов по 400 страниц в каждом. С этих позиций слово любой , внесенное нами в определение ЭВМ, оказывается оправданным. И все же, чтобы быть до конца строгими, добавим к сказанному, что, поскольку ЭВМ работает во взаимодействии с человеком, всегда остается возможность достать из шкафа и установить на лентопротяжном механизме новую катушку маг-
|