Э. Таненбаум - Архитектура компьютера (1127755), страница 16
Текст из файла (страница 16)
Поскольку 8051 — одна из самых популярных моделей этой категории, именно ее мы рассматриваем в качестве примера. Успех модели 8051 объясняется несколькими моментами. Решающим фактором, конечно, является цена. В зависимости от объема заказа цена за одну микросхему 8051 колеблется от 10 до 15 центов, а для особо крупных партий она может быть и ниже.
Для сравнения, 32-разрядные микроконтроллеры обычно стоят в 30 раз больше, а 16-разрядные — примерно в 15 раз. В структуре себестоимости продуктов, которые продаются на конкурентных рынках по цене менее 50 долларов, выигрыш в 2 доллара может оказать решающее влияние на уровень продаж. Далее, производством микросхем 8051 по лицензии 1п1е1 занимаются с десяток компаний. Они выпускают разные варианты микросхем в диапазоне тактовых частот от 12 до 100 МГц, внедряя новые технологии производства и упаковки.
Такая конкуренция, во-первых, способствует снижению цен, во-вторых, упрогцает жизнь заказчикам, которые не попадают в зависимость от одного поставщика. Поскольку микросхемы 8051 выпускаются уже очень давно, программное обеспечение для них имеется в изобилии — в частности, ассемблеры, компиляторы для С и других языков, разнообразные библиотеки, программы моделирования и тестирования, отладчики и многое другое. Рынок не знает недостатка и в комплексных системах разработки, значительно ускоряющих создание встроенных аппаратных и программных средств.
Наконец, с архитектурой 8051 знакомы очень многие программисты и разработчики аппаратных средств, а следовательно, поиск квалифицированного персонала не составляет проблемы. По причине огромной популярности микросхем 8051 исследователи встроенных систем часто выбирают их в качестве основного объекта изучения — в частности, на их основе нередко проводится тестирование новых технологий 1136] и методов обеспечения отказоустойчивости 1128). В Интернете представлено огромное количество ресурсов, посвященных микросхемам 8051.
Рекомендуем начать с сайта агав.8051.сов. Кроме того, по этой теме до сих пор выходят новые книги [15, 36, 134, 1391 64 Глава 1. Введение Единицы измерения Во избежание недоразумений нелишне заметить, что в этой книге, равно как и в вычислительной технике в целом, вместо традиционных британских еди- ниц используются метрические. Основные метрические приставки приведены в табл. 1.6. Таблица 1.6. Основные метрические приставки Порядок Явная величина Приотавка 103 Милли Микро Нано Пико Фемто 0,000001 0,000000001 0,000000000001 0,000000000000001 0,000000000000000001 0,000000000000000000001 0,000000000000000000000001 0,000000000000000000000000001 10-в 10» 10-12 10- в Атто 10"в1 Зепто Йокто Кило 10-24 103 1000 тов 1 000 000 1 000 000 000 1 000 000 000 000 1 000 000 000 000 000 1 000 000 000 000 000 000 1 000 000 000 000 000 000 000 10в Гига 1012 гера 10'в Пега 10'в Экса 1021 Зета 1 000 000 000 000 000 000 000 000 Йотта 1Овв Следует иметь в виду, что при измерении емкости памяти, дисковых накопителей, файлов и баз данных в компьютерной отрасли вышеуказанные единицы измерения приобретают несколько другой смысл.
Например, приставка кило означает не 10з (1000), а 2'в (1024). Иными словами, объем памяти всегда выражается степенью числа «2». Таким образом, в 1 Мбайт содержится 2!в (1 048 576) байт, в 1 Гбайт — 2зв (1 073 741 824) байт, в 1 Тбайт — 24в (1 099 511 627 776) байт. С другой стороны, по каналу с пропускной способностью 1 Кбит/с за секунду передается 1000 бит, а в локальной сети на 10 Мбит/с — 10 000 000 бит. Это связано с тем, что пропускная способность не ограничена значениями,являю!цимися степенями двойки. К сожалению, многие люди путают эти две системы, особенно при оценке емкости дисковых накопителей.
Чтобы избежать двусмысленности, ответственно заявляем: в этой книге единицы измерения Кбайт, Мбайт, Гбайт и Тбайт означают 2'в, 2ю, 2зв и 2!~ байт, соответственно, а единицы Кбит/с, Мбит/с, Гбит/с и Тбит/с — 10з, 10в, 10 и 10!! бит/с. Краткое содержание книги 65 Краткое содержание книги Эта книга о многоуровневых компьютерах и о том, как они организованы (отметим, что почти все современные компьютеры многоуровневые). Подробно мы рассмотрим четыре уровня — цифровой логический уровень, уровень микроархитектуры, уровень архитектуры набора команд и уровень операционной системы.
Основные вопросы, которые обсуждаются в этой книге, включают общую структуру уровней (н почему уровни построены именно таким образом), типы команд и данных, организацию памяти, адресацию, а также способы построения каждого уровня.
Все это называется компьютерной организацией, или компьютерной архитектурой. Мы в первую очередь имеем дело с общими понятиями и не касаемся деталей и строгой математики. По этой причине многие примеры значительно упрощены, чтобы сделать упор на основных понятиях, а не на деталях. Чтобы разъяснить, как принципы, изложенные в этой книге, могут применяться на практике, мы в качестве примеров используем компьютеры Репг1шп 4, Б!ггаЯРАКС П[ и 8051. Они были выбраны по нескольким причинам. Во-первых, они широко используются, и у читателя наверняка есть доступ хотя бы к одному из ннх.
Во-вторых, каждый из этих компьютеров обладает собственной уникальной архитектурой, что дает основу для сравнения и возможность показать альтернативные варианты. Книги, в которых рассматривается только один компьютер, оставляют у читателя чувство, будто это и есть единственный нормальный компьютер, что является абсурдным в свете огромного числа компромиссов и произвольных решений, которые разработчики вынуждены принимать. Читатель должен рассматривать эти и все другие компьютеры критически и стараться понять, почему дела обстоят именно таким образом и что можно изменить, а не просто принимать их как данность. Нужно уяснить с самого начала, что эта книга не о том, как программировать Репгшт 4, П!ггаЯРАВС П! и 8051.
Эти компьютеры используются только в качестве иллюстративных примеров, и мы не претендуем на их полное описание. Читателям, желающим ознакомиться с этими компьютерами, следует обратиться к публикациям производителей. Глава 2 знакомит читателей с основными компонентами компьютера: процессорами, памятью, устройствами ввода-вывода.
В ней дается краткое описание системной архитектуры, что потребуется при чтении следующих глав. Главы 3, 4, 5 и 6 касаются каждая одного из уровней, показанных на рис. 1.2. Мы идем снизу вверх, поскольку компьютеры разрабатывались именно таким образом. Структура уровня я в значительной степени определяется особенностями уровня Й вЂ” 1, поэтому очень трудно понять, как устроен определенный уровень, если не рассмотреть подробно предыдущий, который и определяет строение последующего.
К тому же с точки зрения обучения логичнее следовать от более простых уровней к более сложным, а не наоборот. Глава 3 посвящена цифровому логическому уровню, то есть аппаратному обеспечению. В ней рассказывается, что такое вентили и как они объединяются в схемы. В этой главе также вводятся основные понятия булевой алгебры, которая используется для обработки цифровых данных. Кроме того, объясняется, что 66 Глава 1. Введение такое шины, причем особое внимание уделяется популярной шине РС1. В главе приводится много разнообразных примеров, в том числе относящихся к трем упомянутым ранее компьютерам. Глава 4 знакомит читателя со строением уровня микроархитектуры и принципами его работы. Поскольку функцией этого уровня является интерпретация команд второго уровня, мы сконцентрируемся именно на этом, что и проиллюстрируем на примерах.
В этой главе также рассказывается об уровне микроархитектуры некоторых реальных систем. В главе 5 обсуждается уровень архитектуры набора команд (1БА), который многие называют машинным языком. Здесь мы подробно рассмотрим три модели компьютеров, выбранные нами в качестве иллюстративных примеров. В главе 6 говорится о некоторых командах, об устройстве памяти компьютера, о механизмах управления на уровне операционной системы.
В примерах фигурируют две операционные системы: ЪЪ'1пдов з ХР, устанавливаемая на профессиональных серверах на базе Репсшш 4, и По)1Х, применяемая вкупе с микросхемой 1Л~га5РАКС П1. Глава 7 — об уровне языка ассемблера. Сюда относится и язык ассемблера, и процесс ассемблирования. Здесь речь также идет о компоновке.
В главе 8 обсуждаются параллельные компьютеры, важность которых возрастает с каждым днем. Одни из них действуют на базе нескольких процессоров с общей памятью, у других общей памяти нет. Одни из них представляют собой суперкомпьютеры, другие — сети рабочих станций, третьи — системы на одной микросхеме. Глава 9 содержит тематический список рекомендуемой литературы к каждому разделу, а также алфавитный список литературы, цитируемой в этой книге. Автор считает, что это — самая главная часть книги. она вам непременно понадобится! Вопросы и задания 1.