Главная > Схемотехника > Искусство схемотехники, Т.2
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

10.01. Архитектура микроЭВМ

Рисунок 10.1 представляет типовую обобщенную схему большинства . Рассмотрим эту схему.

Центральный процессор.

Центральный процессор - это сердце ЭВМ. Компьютеры выполняют вычисления в центральном процессоре над порциями данных, организованных как машинные слова. Размер слова может составлять от 4 до 32 бит и более, наиболее популярные современные имеют -битовое слово. Восемь бит составляют байт, а половину байта - четыре бита - иногда называют «нибл». Часть ЦП, называемая дешифратором команд, интерпретирует последовательные команды, выбираемые из памяти, выясняя тем самым, что надлежит делать процессору в каждом случае. В состав ЦП входит арифметическое устройство, которое может выполнять такие операции, как сложение, нахождение дополнения, сдвиг, пересылку и некоторые другие над числами, находящимися в регистрах, а в некоторых случаях и в памяти. Программный счетчик постоянно отслеживает ход выполнения программы. Обычно значение программного счетчика инкрементируется после выполнения очередной команды, но оно может получить другое значение в результате выполнения команд безусловного перехода или ветвления - условного перехода. Управляющие линии магистрали обеспечивают сопряжение с памятью и устройствами ввода-вывода. Большинство компьютеров (и чем дальше - тем больше) имеют также регистр указателя стека и несколько флажков (переноса, нуля, знака), проверяемых при выполнении условных переходов.

В состав многих высокопроизводительных процессов входит также сверхоперативная память (кэш-память), которая для ускорения доступа содержит величины, незадолго до этого извлеченные из памяти.

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

Память.

Все компьютеры имеют некоторый объем быстрой памяти с произвольным доступом, такую память, бывало, называли «сердцем» компьютера, поскольку запоминали и сохраняли данные малюсенькие магнитные сердечники - по одному на каждый запоминаемый бит. В большой объем ОЗУ может достигать 10 Мбайт и более, хотя типичным значением является 1 Мбайт, а в микроконтроллерах объем ОЗУ может составлять всего 16 Кбайт. (Когда память измеряют в единицах К, это означает не 1000 байт, а 1024 или 210 байт; таким образом, 16 Кбайт на самом деле составляют 16 384 байт. Для обозначения 1000 мы употребляем строчную букву к.) Для того чтобы записать в такую память какой-либо код или считать его, обычно требуется около 100 не. Память с произвольным доступом почти всегда «разрушаема», это означает, что, когда электропитание отключается, информация улетучится (возможно, эту характеристику следовало бы назвать «забывчивостью»). Поэтому все компьютеры в своем составе имеют и неразрушаемую память, обычно доступную только для чтения (ПЗУ) и предназначенную для того, чтобы машину, находящуюся до включения питания в состоянии полной амнезии.

В дополнительное ПЗУ часто записывают системные и графические процедуры, а также другие программы, которые должны быть доступны в любой момент.

Для того чтобы считать из памяти или сохранить в памяти ту или иную информацию, ЦП «адресует» то слово (памяти), какое пожелает. Большинство компьютеров адресует память побайтно, начиная с нулевого байта и последовательно перебирая байты вплоть до последнего в памяти.

Поскольку машинное слово большинства компьютеров составляет несколько байт, обычно за один раз вы заносите в память или извлекаете из нее группу байт; обычно необременительно иметь шину данных с разрядностью в несколько байт. Например, , которые построены на МП 80386 или 68020, имеют -разрядную шину данных (что равно 4 байт), так что -разрядное слово может быть записано в память или считано из нее за один цикл выборки. Для того чтобы указать длину последовательности передаваемых байт, используют управляющие сигналы, причем даже для «солидных» шин вам на это потребуется всего 1-2 байт.

В компьютере с большим количеством сегментов памяти для указания произвольного адреса памяти необходимо 3-4 байт. Поскольку большинство адресов памяти в реальной программе обычно близко, все компьютеры поддерживают упрощенные модели адресации: «относительная» адресация определяет адрес по удалению его от текущей команды в памяти; «косвенная» адресация использует содержимое регистра ЦП для указания ячейки в памяти; «страничная» адресация использует укороченные адреса для указания на заданную ячейку памяти в пределах малого диапазона (страницы); «прямая» или «абсолютная» адресация использует несколько следующих за командой байт для указания адреса. Современные ЦП венчают этот краткий список «индексной», «автоинкрементной» и другими полезными способами адресации, которых мы коснемся в следующей главе.

Во время выполнения программы в памяти находятся как собственно программа, так и данные. Центральный процессор извлекает команды из памяти, выясняет, что они означают и поступает соответственно, при этом часто требуется сохранить данные где-нибудь в памяти. Обычно неспециализированные универсальные компьютеры хранят программы и данные в одной и той же памяти, причем компьютер на самом деле не отличает одних от других. Если программа пойдет не туда и начнет «исполнять» данные, могут начаться забавные вещи!

Поскольку компьютерные программы большую часть своей жизни проводят в циклах, состоящих из сравнительно коротких последовательностей команд, вы можете увеличить производительность машины, используя малую по объему, но быструю кэш-память, в которую вы просто заносите копии ближайших используемых ячеек памяти. Центральный процессор с кэш-памятью сначала обращается именно к ней, перед тем, как осуществить выборку из более медленной основной памяти, когда циклы «крутятся» по одним и тем же адресам; часто можно достичь рекордной эффективности использования кэш-памяти до 95% и выше, разительно увеличивая быстродействие.

Массовая память.

Компьютеры, предназначенные для разработки программ или вычислений, в противоположность специализированным управляющим процессорам, обычно имеют одно или более запоминающее устройство достаточной емкости, называемое устройством массовой памяти. Жесткие диски (именуемые также «винчестерскими») и гибкие диски (флоппи-диски или -вот типичные представители устройств массовой памяти, емкость которых изменяется от нескольких сотен килобайт до нескольких мегабайт для гибких дисков, и от нескольких десятков до нескольких сотен мегабайт для жестких дисков. Наиболее полно экипированные компьютеры имеют в своем составе дополнительно одно или два устройства ввода-вывода на магнитную ленту, конструкция которых может быть различна - от простого кассетного «стриммера» до магнитофона, рассчитанного на большие катушки -дорожечной полудюймовой стандартной ленты, те самые, которые всегда вращаются на заднем плане в научно-фантастических кинофильмах. Более современная технология, используя видеокассеты, те же самые, что обитают в легких переносных видеокамерах, позволяет записать на одну такую кассету 1 Гбайт.

Последним достижением в разработке массовой памяти являются компакт-диски, предназначенные только для чтения и использующие ту же технологию производства оптических дисков, что и при изготовлении аудио компакт-дисков; их емкость составляет 600 Мбайт на сторону -дюй-мового пластикового диска, обладающего к тому же гораздо меньшим временем доступа, чем любая магнитная лента. В отличии от аудио компакт-дисков существуют такие устройства массовой памяти на компакт-дисках, которые позволяют как считывать, так и записывать информацию путем образования на пустом ровном компакт-диске ямок за счет лазерного нагрева; такие устройства называют WORM от английской аббревиатуры «записать однажды - читать многократно». Более того, сейчас доступны также устройства внешней памяти на магнитооптических дисках, поддерживающие операции чтения - записи и позволяющие полностью обновлять содержимое таких дисков.

По сравнению с ОЗУ произвольного доступа устройства массовой памяти, вообще говоря, обладают меньшим быстродействием, причем самыми медленными являются устройства на магнитных лентах (их время доступа достигает многих секунд), а самыми быстрыми (и -жесткие диски (среднее время доступа порядка десятков миллисекунд). Скорость обмена данными для всех устройств массовой памяти высока и составляет от 10 Кбайт до 100 Кбайт в секунду и более, без учета задержки доступа к устройству. Как правило, вы храните программы, файлы данных, в том числе файлы графической информации, на некотором устройстве массовой памяти и загружаете их в ОЗУ только на время вычислений. С одним диском одновременно могут работать несколько пользователей; средних размеров оптический диск может хранить несколько копий Британской энциклопедии.

Если ваш компьютер имеет ОЗУ достаточно большого объема, элегантный способ поднять быстродействие компьютера, в том случае, если он часто обращается к диску, заключается в том, чтобы организовать псевдодиск путем загрузки всех необходимых дисковых файлов в ОЗУ в начале работы. Таким образом, вы можете загрузить в ОЗУ текстовый редактор, компилятор, редактор связей, загрузчик, после чего можно обращаться к такому диску для чтения или записи без потерь времени на ожидание. Тем не менее будьте бдительны: если компьютер отключится, ничто из результатов вашей работы не будет сохранено на внешнем носителе и вы потеряете всю наработку.

Алфавитно-цифровой и графический ввод-вывод.

Замечательно иметь мощный компьютер, способный выполнять миллионы интеллектуальных вычислений в секунду, но если он все результаты держит в себе, вам от этого мало проку. Такие внешние устройства, как клавиатура с экраном, составляющие вместе терминал, «мышь», печатающее устройство и другие обеспечивают общение человека с машиной и существенны для любой «дружественной» по отношению к пользователю вычислительной системы. Эти устройства ориентированы в основном на программирование, редактирование текстов, работу с электронными таблицами и на графику; вы используете их, когда пишете, отслеживаете и распечатываете программу, вводите и печатаете документы, манипулируете числами или изображениями, играете в копьютерные игры. Такие внешние устройства вкупе с соответствующей интерфейсной частью легко найти у многих поставщиков, включая фирмы-изготовители собственно компьютеров.

Ввод-вывод в реальном времени.

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

Возможности здесь практически безграничны; если взять хотя бы набор мультиплексируемых АЦП общего назначения, немного быстрых ЦАПов и несколько цифровых «портов» (последовательных или параллельных) для обмена данными, это уже обеспечит массу интересных приложений. Для наиболее популярных стандартов внутренней магистрали компьютеров подобная периферия общего назначения коммерчески доступна. Если же вы хотите от этих устройств чего-нибудь более причудливого, например, улучшенных характеристик (повышенного быстродействия, увеличенного числа каналов) или специализированных функций (генерации звуков, частотного синтеза, генерации временных интервалов и т.п.), вам придется сделать такие устройства самостоятельно. Вот здесь-то сведения об организации магистрали компьютера и технике программирования существенны, хотя подобные сведения полезны всегда.

Сетевой протокол.

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

Другим путем расширения сферы действия вашего компьютера является использование локальной вычислительной сети (ЛВС) для совместного объединения группы ЭВМ. Примером такой сети является ЛВС (Ethernet), которая обеспечивает передачу данных между машинами сети со скоростью до 10 Мбит/с по одному коаксиальному кабелю. Локальная вычислительная сеть позволяет вам обмениваться файлами с любой ЭВМ, включенной в эту сеть; на самом деле, работая в хорошо организованной сети, вы скорее всего приумножите ресурсы своего компьютера, совместно с другими ЭВМ используя быстрый диск большой емкости, дорогостоящие графопостроители и печатающие устройства и т.д. В этом случае каждая рабочая станция ЛВС может иметь внешнюю память весьма ограниченной емкости, зато обладать значительными вычислительными возможностями. Такая идеология организации ЛВС является идеальной, например, для издательств, где в процессе подготовки рукописи к публикации с ней работают разные люди. Для большинства компьютеров разработаны интерфейсы их подключения к Ethernet или другим ЛВС.

Магистраль данных.

Для обмена данными между ЦП и ОЗУ или адаптерами внешних устройств все компьютеры используют магистраль - набор обобщенных «линий» (проводников), по которым осуществляется обмен двоичными словами. (Многие магистрали допускают также обмен данными непосредственно между адаптерами внешних устройств, хотя такие возможности используются менее часто.) Использование магистрали с обобщенными линиями значительно упрощает межсоединения, поскольку в противном случае вам потребовались бы многожильные кабели, соединяющие каждую пару взаимодействующих друг с другом устройств. Немного внимания как при проектировании самой магистрали, так и при подключении к ней - и все работает отлично. Магистраль состоит из набора линий данных (их обычно столько же, сколько разрядов (бит) составляет слово данных 8 для микроконтроллера и ПЭВМ с невысокими рабочими характеристиками, 16 или 32 - для более сложных микрокомпьютеров), нескольких линий адреса для определения того, какое устройство будет «вещать», а какое - "слушать", подключившись к соответствующим линиям, а также набора управляющих линий, которые определяют, какое действие выполняется (передача данных от или к ЦП, обработка прерываний, прямой доступ к ОЗУ и т.п.).

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

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

Среди разных типов внутренних магистралей компьютеров существует одно интересное различие. Они могут быть либо синхронными, либо асинхронными, в популярных микрокомпьютерах можно найти примеры каждого типа. Что это значит, вы увидите, когда мы будем детально рассматривать взаимодействие отдельных узлов компьютера через магистраль.

Мы вернемся к подробному рассмотрению магистрали с примерами соответствующих интерфейсов, рассматривая популярное семейство IBM PC/XT. Однако сначала нам необходимо познакомиться с набором команд ЦП.

<< Предыдущий параграф Следующий параграф >>
Оглавление