Архитектура компьютера

Общий обзор уровня архитектуры набора команд UltraSPARC III

Архитектура SPARC была впервые введена в 1987 году компанией Sun Microsystems. Эта архитектура стала одной из первых RISC-архитектур промышленного назначения. Она была основана на исследовании, проведенном в Беркли в 80-е годы [161, 164]. Изначально архитектура SPARC была 32-разрядной, но UltraSPARC III — это 64-разрядная машина, основанная на архитектуре Version 9 SPARC, и именно ее мы будем описывать в этой главе. В целях согласованности с остальными частями книги мы будем называть данную систему UltraSPARC III, хотя на уровне архитектуры набора команд все машины UltraSPARC идентичны.

Структура памяти машины UltraSPARC III очень проста — линейный массив размером 264 байт. В настоящее время реализовать ее невозможно, поскольку память слишком велика (18 446 744 073 709 551 616 байт). Современные реализации имеют ограничение на размер адресного пространства, к которому они могут обращаться (244 байт у UltraSPARC III), но в будущем это число увеличится. Байты нумеруются слева направо, но можно перейти на нумерацию справа налево, установив один из битов во флаговом регистре.
Читать дальше »

Программируемые логические матрицы

Ранее отмечалось, что любую функцию (таблицу истинности) можно представить в виде суммы произведений и, следовательно, воплотить в схеме, использовав вентили И и ИЛИ. Для вычисления сумм произведений служит так называемая программируемая логическая матрица (рис. 3.14). Эта микросхема содержит входы для 12 переменных. Дополнительные сигналы (инверсии) генерируются внутри самой микросхемы. В итоге получается всего 24 входных сигнала. Какой именно входной сигнал поступает в тот или иной вентиль И, определяется по матрице размером 24 х 50 бит. Каждая из входных линий к 50 вентилям И содержит плавкую перемычку. При выпуске с завода все 1200 перемычек остаются нетронутыми. Чтобы запрограммировать матрицу, покупатель выжигает выбранные перемычки, прикладывая к схеме высокое напряжение.

Выходная часть схемы состоит из шести вентилей ИЛИ, каждый из которых содержит до 50 входов, что соответствует наличию 50 выходов у вентилей И. Какие из потенциально возможных связей действительно существуют, зависит от того, как была запрограммирована матрица 50 х 6. Микросхема имеет 12 входных выводов, 6 выходных выводов, питание и землю (то есть всего 20 выводов).
Читать дальше »

Компараторы

Еще одна полезная схема — компаратор. Компаратор сравнивает два слова, которые поступают на вход. Компаратор, изображенный на рис. 3.13, принимает два входных сигнала, A и B, по 4 бита каждый и выдает 1, если они равны, и 0, если они не равны. Схема основывается на вентиле ИСКЛЮЧАЮЩЕЕ ИЛИ, который выдает 0, если сигналы на входе равны, и 1, если сигналы на входе не равны. Если все четыре входных слова равны, все четыре вентиля ИСКЛЮЧАЮЩЕЕ ИЛИ должны выдавать 0. Эти четыре сигнала затем поступают в вентиль ИЛИ. Если в результате получается 0, значит, слова, поступившие на вход, равны; в противном случае они не равны. В нашем примере мы использовали вентиль ИЛИ в качестве конечного, чтобы поменять значение полученного результата: 1 означает равенство, 0 — неравенство.

Декодеры

В качестве второго примера рассмотрим схему, которая получает на входе n-раз-рядное число и использует его для того, чтобы выбрать (то есть установить в значение 1) одну из 2n выходных линий. Такая схема называется декодером. Пример декодера для п = 3 показан на рис. 3.12.

Чтобы понять, зачем нужен декодер, представим себе память, состоящую из 8 микросхем, каждая из которых содержит 1 Мбайт. Микросхема 0 имеет адреса от 0 до 1 Мбайт, микросхема 1 — адреса от 1 Мбайт до 2 Мбайт и т. д. Три старших двоичных разряда адреса используются для выбора одной из восьми микросхем. На рис. 3.12 эти три бита — три входа A, B и C. В зависимости от входных сигналов ровно одна из восьми выходных линий (D0),…, D7) принимает значение 1; остальные линии принимают значение 0. Каждая выходная линия запускает одну из восьми микросхем памяти. Поскольку только одна линия принимает значение 1, запускается только одна микросхема.
Читать дальше »

Мультиплексоры

На цифровом логическом уровне мультиплексор представляет собой схему с Т входами, одним выходом и п линиями управления, которые позволяют выбрать один из входов. Выбранный вход соединяется с выходом. На рис. 3.10 изображена схема восьмивходового мультиплексора. Три линии управления, A, B и C, кодируют 3-разрядное число, которое указывает, какая из восьми входных линий должна соединяться с вентилем ИЛИ и, следовательно, с выходом. Вне зависимости от того, какое значение окажется на линиях управления, семь вентилей И всегда будут выдавать на выходе 0, а оставшийся может выдавать 0 или 1 в зависимости от значения выбранной линии входа. Каждый вентиль И запускается определенной комбинацией сигналов на линиях управления. Если в схему мультиплексора, показанную на рис. 3.10, добавить источник питания и землю, то мультиплексор можно включить в корпус с 14 выводами.

Использовав мультиплексор, мы можем реализовать функцию большинства (см. рис. 3.3, a), как показано на рис. 3.11, б. Для каждой комбинации A, B и C выбирается одна из входных линий. Каждый вход соединяется либо с сигналом Vcc (логическая 1), либо с землей (логический 0). Алгоритм соединения входов очень прост: входной сигнал Di такой же, как значение в строке i таблицы истинности. На рис. 3.3, а в строках 0, 1, 2 и 4 значение функции равно 0, поэтому соответствующие входы заземляются; в оставшихся строках значение функции равно 1, поэтому соответствующие входы соединяются с логической единицей. Таким способом можно реализовать любую таблицу истинности с тремя переменными, использовав микросхему на рис. 3.11, а.
Читать дальше »

Комбинаторные схемы

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

Интегральные схемы

Вентили производятся и продаются не по отдельности, а в модулях, которые называются интегральными схемами (ИС), или микросхемами. Интегральная схема представляет собой квадратный кусок кремния размером примерно 5×5 мм, на котором располагаются несколько вентилей. Маленькие интегральные схемы обычно помещаются в прямоугольные пластиковые или керамические корпуса размером от 5 до 15 мм в ширину и от 20 до 50 мм в длину. Вдоль длинных сторон располагается два параллельных ряда выводов около 5 мм в длину, которые можно вставлять в разъемы или впаивать в печатную плату. Каждый вывод соединяется с входом или выходом какого-нибудь вентиля, с источником питания или с «землей». Корпус с двумя рядами выводов снаружи и интегральными схемами внутри официально называется корпусом с двусторонним расположением выводов (Dual Inline Package, DIP), но все называют его микросхемой, игнорируя разницу между куском кремния и корпусом, в который он помещается. Большинство корпусов имеют 14, 16, 18, 20, 22, 24, 28, 40, 64 или 68 выводов. Для больших микросхем часто используются корпуса, у которых выводы расположены со всех четырех сторон или снизу.

Микросхемы можно разделить на несколько классов с точки зрения количества вентилей, которые они содержат. Эта классификация, конечно, очень грубая, но иногда она может быть полезна:
Читать дальше »

Основные цифровые логические схемы

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

Виртуальная память UltraSPARC III

UltraSPARC III — это 64-разрядная машина, которая поддерживает виртуальную память со страничной организацией и с 64-разрядными виртуальными адресами. Тем не менее по разным причинам программы не могут использовать 64-разрядное виртуальное адресное пространство целиком. Поддерживается только 44 бита, поэтому программы не могут превышать 1,8 х 1013 байт. Доступная виртуальная память делится на 2 зоны по 243 байт каждая, одна из которых находится в верхней части виртуального адресного пространства, другая — в нижней. Между ними находится свободная область, адреса которой не используются. Попытка обратиться к ним вызовет ошибку отсутствия страницы.

Максимальная физическая память компьютера UltraSPARC III составляет 241 байт (2200 Гбайт). Поддерживается 4 размера страниц: 8, 64 и 512 Кбайт, а также 4 Мбайт. Механизм отображения этих страниц показан на рис. 6.15.
Читать дальше »

Виртуальная память Pentium 4

Pentium 4 имеет сложную систему виртуальной памяти, которая поддерживает вызов страниц по требованию, чистую сегментацию и сегментацию с разбиением на страницы. Виртуальная память состоит из двух таблиц: LDT (Local Descriptor Table — локальная таблица дескрипторов) и GDT (Global Descriptor Table — глобальная таблица дескрипторов). Каждая программа имеет собственную локальную таблицу дескрипторов, а единственная глобальная таблица дескрипторов разделяется всеми программами компьютера. Локальная таблица дескрипторов описывает локальные сегменты каждой программы (ее код, данные, стек и т. д.),

а глобальная таблица дескрипторов — системные сегменты, в том числе самой операционной системы.

Как уже отмечалось в главе 5, чтобы получить доступ к сегменту, Pentium 4 сначала загружает селектор сегмента в один из сегментных регистров. Во время выполнения программы регистр CS содержит селектор сегмента кода, DS — селектор сегмента данных и т. д. Каждый селектор представляет собой 16-разрядное число (рис. 6.10).
Читать дальше »

 Страница 2 из 7 « 1  2  3  4  5  6  7 »
Архитектура ПК, персонального компьютера, ЭВМ