Академический Документы
Профессиональный Документы
Культура Документы
Ñàíêò-Ïåòåðáóðã
«ÁÕÂ-Ïåòåðáóðã»
2010
УДК 681.3(075.8)
ББК 32.973-02я73
Ж77
Жмакин А. П.
Ж77 Архитектура ЭВМ: 2-е изд., перераб. и доп.: учеб. пособие. — СПб.: БХВ-
Петербург, 2010. — 352 с.: ил. + CD-ROM — (Учебная литература для вузов)
ISBN 978-5-9775-0550-5
Пособие объединяет в одном издании теоретическую часть одноименной дисцип-
лины и лабораторный практикум. Рассмотрены базовые вопросы организации ЭВМ:
функциональная организация ЭВМ, системы команд и командный цикл. Большое вни-
мание уделено арифметическим основам ЭВМ, принципам построения различных уст-
ройств и их взаимодействию. Обсуждаются вопросы построения микропроцессорных
систем. Во втором издании лабораторный практикум дополнен программными моде-
лями арифметико-логического устройства, представленными, наряду с программной
моделью ЭВМ, на прилагаемом компакт-диске. Кроме того, пособие содержит мате-
риалы для выполнения курсового проектирования.
УДК 681.3(075.8)
ББК 32.973-02я73
Предисловие ........................................................................................................................ 1
Принято считать, что ЭВМ — "сложная система". Это понятие имеет много
трактовок, в т. ч. и такую: "сложную систему невозможно адекватно опи-
сать на одном языке". Обычно ЭВМ рассматривают на нескольких
уровнях:
логические элементы;
операционные элементы (узлы);
устройства;
структура ЭВМ и система команд.
На каждом из уровней используются свои языки описания. И "выше", и "ни-
же" приведенных элементов списка можно выделить другие уровни, но их
рассмотрение лежит за пределами этой книги.
Приступая к изучению вопросов архитектуры ЭВМ, читатель должен иметь
представление о логических и операционных элементах цифровой техники
(конъюнкторы, инверторы, ..., триггеры, регистры, мультиплексоры, дешиф-
раторы, сумматоры и т. д.).
Центральным в структуре ЭВМ является, несомненно, процессор, а главными
устройствами любого процессора можно считать арифметико-логическое
устройство (АЛУ) и устройство управления (УУ). Далее мы подробно рас-
смотрим принципы и способы организации АЛУ. Поскольку АЛУ разраба-
тывается для реализации определенных алгоритмов арифметической и логи-
ческой обработки данных, то неизбежным становится и рассмотрение
различных вариантов таких алгоритмов.
Глава 1
а б
Рис. 1.1. Модель: а — механическая система; б — "аналогичная" ей электрическая цепь
Годы
Поколение Элементная база Области применения
существования
Первое Электронные лампы 50—60 Научно-технические расчеты
Второе Транзисторы, 60—70 Научно-технические расчеты,
ферритовые сердеч- планово-экономические рас-
ники четы
Третье Интегральные схемы 70—80 Научно-технические расчеты,
планово-экономические расче-
ты, системы управления
Четвертое СИС, БИС, СБИС 80 и по сей день Все сферы деятельности
и т. д.
ЭВМ
Большие
Уровень
Объект Структурный базис Язык описания
описания
Электрические Логические и запоми- Электронные и радио- Соотношения тео-
схемы нающие элементы компоненты — тран- рии электрических
зисторы, резисторы цепей
и др.
Логические Операционные элементы Логические и запоми- Булева алгебра,
схемы (счетчики, сумматоры, нающие элементы теория конечных
дешифраторы, регистры автоматов
и т. д.), микропрограмм-
ные автоматы
Операционные Операционные устройст- Операционные эле- Языки описания
схемы ва: (арифметико- менты, микропро- микроопераций
логическое устройство, граммные автоматы
устройство управления,
запоминающее устройст-
во и др.)
Структурные ЭВМ и системы Операционные Языки машинных
схемы устройства команд, микропро-
грамм
Программный Операционные системы, Команды и операторы Алгоритмические
уровень вычислительный процесс языки
Глава 2
Функциональная
организация ЭВМ
г
Рис. 2.1. Форматы команд: а — трехадресный; б — двухадресный;
в — одноадресный; г — безадресный
О п р едел ение
Позиционными называются системы счисления, в которых значение каждой
цифры в изображении числа определяется ее положением (позицией) в ряду
других цифр.
Преобразование Zp → Z1 → Zq
Идея алгоритма перевода предельно проста: положим начальное значение
Z q := 0 ; из числа Z p вычтем 1 по правилам вычитания системы p , т. е.
Z p := Z p − 1 , и добавим ее к Z q по правилам сложения системы q , т. е.
Z q := Z q + 1 . Будем повторять эту последовательность действий, пока не
достигнем Z p = 0 . Правила сложения с 1 (инкремента) и вычитания 1 (дек-
ремента) могут быть записаны так, как представлено в табл. 3.1.
28 Часть I. Принципы организации ЭВМ
( p − 2) − 1 = p − 3 1+1 = 2
... ...
1−1 = 0 (q − 2) + 1 = q − 1
0 − 1 = π( p − 1) (q − 1) + 1 = π.0
Преобразование Zp → Zw → Zq
Очевидно, первая и вторая часть преобразования не связаны друг с другом,
что дает основание рассматривать их по отдельности. Алгоритмы перевода
Z w → Z q вытекают из следующих соображений. Многочлен (3.1) для Z q
может быть представлен в виде:
m−1
Zq = ∑bj ⋅ q j = ((… (bm−1 ⋅ q + bm−2 ) ⋅ q + bm−3 ) ⋅ q + … + b1 ) ⋅ q + b0 , (3.2)
j =0
Пример 3.1
123 5
120 24 5
3 20 4
4
Рис. 3.1. Результат выполнения примера 3.1
30 Часть I. Принципы организации ЭВМ
Пример 3.2
0, Yq = (0, b1b1 … bi bi +1 … bn ).
εi
Пример 3.3
0,375 × 2 = 0, 750
0,75 ×2 = 1, 50
0,5 ×2 = 1, 0
Пример 3.4
Как уже было сказано, значение целого числа не зависит от формы его пред-
ставления и выражает количество входящих в него единиц. Простая дробь
имеет смысл доли единицы, и это "дольное" содержание также не зависит от
выбора способа представления. Другими словами, треть пирога остается тре-
тью в любой системе счисления.
34 Часть I. Принципы организации ЭВМ
Z p = (a k −1 ⋅ p k −1−r + a k −2 ⋅ p k −2−r + … a r +1 ⋅ p1 + a r ⋅ p 0 ) ⋅ p r +
+ (a r −1 ⋅ p r −1 + a r −1 ⋅ p r −2 + … a1 ⋅ p1 + a0 ⋅ p 0 ) ⋅ p 0 = b1 ⋅ q1 + b0 ⋅ q 0 ,
Глава 3. Арифметические основы ЭВМ 35
где
b1 = a k −1 ⋅ p k −1−r + a k −2 ⋅ p k −2−r + … a r +1 ⋅ p1 + a r ⋅ p 0 = ( a k −1 … a r ) p ,
b0 = a r −1 ⋅ p r −1 + a r −1 ⋅ p r −2 + … a1 ⋅ p1 + a 0 ⋅ p 0 = (a r −1 … a 0 ) p .
Таким образом, r -разрядные числа системы с основанием p оказываются за-
писанными как цифры системы с основанием q . Этот результат можно обоб-
щить на ситуацию произвольного k −1 > r — в этом случае выделятся не
две, а больше ( m ) цифр числа с основанием q . Очевидно, Z q = (bm ... b0 ) q .
( Z p ) max = p k − 1 = q σk − 1 ,
т. е. количество разрядов числа в системах счисления p и q будут разли-
чаться в σ раз, причем
log p
σ= . (3.9)
log q
При этом основание логарифма никакого значения не имеет, поскольку σ
определяется отношением логарифмов. Сравним количество цифр в числе
9910 и его представлении в двоичной системе счисления: 9910 = 11000112 ,
т. е. двоичная запись требует 7 цифр вместо 2 в десятичной,
σ = log 10 log 2 = 3,322 ; следовательно, количество цифр в десятичном пред-
ставлении нужно умножить на 3,322 и округлить в большую сторону:
2 ⋅ 3,322 = 6,644 ≈ 7 .
Введем понятие экономичности представления числа в данной системе счис-
ления [10].
О п р едел ение
Под экономичностью системы счисления будем понимать то количество чисел,
которое можно записать в данной системе с помощью определенного коли-
чества цифр.
Параметр Значения
Основание системы 2 3 4 6 12
счисления ( p )
Разрядность числа ( k ) 6 4 3 2 1
A ≤ 1 − 2 − n. (3.13)
Далее, если не сделано специальных оговорок, будем рассматривать дробные
двоичные числа со знаком, запятая в которых фиксирована после знакового
разряда a0 :
a 0 , a1a 2 a3 … a n . (3.14)
Очевидно, если двоичное число A = 0, a1a 2 a3 … a n > 0 , то оно будет представ-
лено в форме (3.14) как 0, a1a 2 a3 … a n , а если A = 0, a1a 2 a3 … a n < 0 , то как
1, a1a 2 a3 … a n . Приведенное кодирование дробных двоичных чисел со знаком
принято называть прямым кодом числа (обозначается как [A]d ). Итак
⎧ A, если A ≥ 0;
[A] d =⎨ (3.15)
⎩1 + A , если A < 0.
Глава 3. Арифметические основы ЭВМ 39
т. е. [[ A]i ]i = [A]d .
42 Часть I. Принципы организации ЭВМ
Пример 3.5
Пример 3.6
Сложить два числа в обратном коде (случай 3). Результат — на рис. 3.5.
Пример 3.7
Сложить два числа в обратном коде (случай 4). Результат — на рис. 3.6.
Пример 3.8
Пример 3.9
Пример 3.10
Пример 3.11
Сложить два числа в обратном коде: (−11 16) + (− 8 16) = (−19 16) . Резуль-
тат — на рис. 3.10.
Пример 3.12
Пример 3.13
учитывая, что ( a i + a i ) = 1 .
Таким образом, для преобразования отрицательного двоичного числа в до-
полнительный код следует преобразовать его сначала в обратный код (уста-
новив знаковый разряд в 1 и проинвертировав все остальные разряды числа)
и добавить единицу к младшему разряду обратного кода.
Другой способ перевода прямого кода отрицательного двоичного числа в
дополнительный (приводящий, разумеется, к такому же результату) опре-
деляется следующим правилом: оставить без изменения все младшие нули
и одну младшую единицу, остальные разряды (кроме знакового!) проин-
вертировать.
Пример 3.14
Пример 3.15
Пример 3.16
Пример 3.17
Пример 3.18
Пример 3.19
Пример 3.20
Сложить два числа в дополнительном коде: (−11 16) + (− 8 16) = (−19 16) .
Результат — на рис. 3.19.
A = −0,1011 [A]d = 1,1011 [A]c = 1,0101
B = −0,0011 [B]d = 1,1000 [B]c = 1,1000
C = +0,1101 ⇐ [C ]d = 0,1101 ⇐ [C ]c = 1 0,1101
Пример 3.21
Сложить два числа в дополнительном коде: (−11 16) + (− 5 16) = (−16 16) .
Результат — на рис. 3.20.
⎧ если A ≥ 0;
[A] im = ⎪⎨
A,
−n (3.23)
⎪⎩4 + A − 2 , если A ≤ 0.
A, если A ≥ 0;
[A] cm = ⎧⎨ (3.24)
⎩4 + A, если A < 0.
Нетрудно показать, что модифицированные коды отличаются от соответст-
вующих обычных наличием дополнительного знакового разряда: "плюс" ко-
дируется 00, а "минус" — 11. Эта своеобразная избыточность, сохраняя все
качества обычных обратных и дополнительных кодов, позволяет фиксиро-
вать факт переполнения по неравнозначности знаковых разрядов результа-
та. Заметим, что использование модифицированного дополнительного кода
не решает проблемы обнаружения переполнения в случаях A < 0 , B < 0 ,
A + B =1.
C ' = A '⋅ B ' = A '⋅ (b1 ⋅ 2−1 + b2 ⋅ 2−2 + … + bn−1 ⋅ 2−( n −1) + bn ⋅ 2− n ) =
= A '⋅ bn ⋅ 2− n + A '⋅ bn −1 ⋅ 2− ( n−1) + … + A '⋅ b2 ⋅ 2−2 + A '⋅ b1 ⋅ 2−1 =
= ( A '⋅ bn ⋅ 2− ( n−1) + A '⋅ bn −1 ⋅ 2− ( n− 2) + … + A '⋅ b2 ⋅ 2−1 + A '⋅ b1 ) ⋅ 2−1 = (3.26)
= (( A '⋅ bn ⋅ 2−( n− 2) + A '⋅ bn−1 ⋅ 2−( n −3) + … + A '⋅ b2 ) ⋅ 2−1 + A '⋅ b1 ) ⋅ 2−1 =
......................................................................................
= (… (0 + A '⋅ bn ) ⋅ 2−1 + A '⋅ bn −1 ) ⋅ 2−1 + … + A '⋅ b2 ) ⋅ 2−1 + A '⋅ b1 ) ⋅ 2−1.
Глава 3. Арифметические основы ЭВМ 55
01 × 01 = 0001 10 × 10 = 0100
01 × 10 = 0010 10 × 11 = 0110
01 × 11 = 0011 11 × 11 = 1001
Рис. 3.26. Вспомогательная таблица умножения
Пример 3.22
Пример 3.23
10 01
01 10
+
00 11
00 10
01 00 11 01
Пример 3.24
2 Сдвиг влево 2W 2 ⋅ (W + B )
3 Вычитание делителя 2W − B 2 ⋅ (W + B ) − B = 2W + B
Мантисса и порядок могут иметь свои знаки, причем знак мантиссы соответ-
ствует знаку числа. Основание q может не совпадать с основанием системы
счисления. При операциях с двоичными числами часто для расширения диа-
пазона представления чисел выбирают q = 2 k , например, q = 16 .
В машинном представлении формат числа с плавающей запятой (рис. 3.30)
задается двумя полями — полем мантиссы m и полем порядка p , причем
каждое поле имеет свой разряд знака. Значение порядка в формате числа не
указывается — оно подразумевается одинаковым для всех чисел.
Мантисса и порядок представляются в формате с фиксированной запятой,
причем обычно порядок — целое число со знаком (запятая фиксирована по-
сле младшего разряда), а мантисса — правильная дробь (запятая фиксирова-
на между знаковым разрядом и старшим разрядом модуля). С целью увели-
чения точности представления числа в заданном формате мантиссу
представляют в нормализованной форме, когда старший разряд модуля ман-
тиссы — не ноль (для прямых кодов). Действительно,
0,2364 ⋅ 10 4 ≈ 0,0024 ⋅ 10 6 ,
однако в последнем случае мантисса не нормализована и точность представ-
ления числа — всего два десятичных разряда.
1
Institute of Electrical and Electronics Engineers — институт инженеров по электротехнике и
электронике.
64 Часть I. Принципы организации ЭВМ
Пример 3.25
−2
B = 1140 0,820000 ⋅ 10 B = 0,114082 ⋅ 10 +2
C= 1,135290 ⋅ 10 −2 C = 0,114114 ⋅ 10 +2
а б
A = 0,96502 ⋅ 10 +2 A = 0,96502 ⋅ 10 +2
A = 0,24512 ⋅ 10 −8
B = −0,24392 ⋅ 10 −8
D = A ÷ B = (m A ÷ m B ) ⋅ q p A − pB , т. е. m D = m A ÷ m B , p D = p A − p B .
Пример 3.26
Пример 3.27
Пример 3.28
Пример 3.29
Пример 3.30
α i ⋅ βi
δi = α i ⋅ βi − ⋅ pi . (3.38)
pi
Действительно, на основании (3.33) можно написать
α i + βi
γ i = α i + βi − ⋅ pi , для i = 1, 2, …, n .
pi
Из представления A и B следует, что
A = k i pi + α i , B = li pi + βi , i = 1, 2, …, n , (3.39)
где k i и li — целые неотрицательные числа. Тогда
A + B = ( k i + l i ) pi + α i + β i ,
⎡ A+ B⎤ ⎡ α i + βi ⎤
⎢ ⎥ = k i + li + ⎢ ⎥ , i = 1, 2, …, n .
⎣ pi ⎦ ⎣ pi ⎦
Откуда
⎡ α + βi ⎤
γ i = α i + βi − ⎢ i ⎥ ⋅ pi ,
⎣ pi ⎦
что и доказывает (3.37).
В случае умножения
⎡ A⋅ B ⎤
δi = A ⋅ B − ⎢ ⎥ ⋅ pi , i = 1, 2, …, n .
⎣ pi ⎦
Учитывая (3.39), получим
A ⋅ B = k i li pi2 + (α i li + β i k i )k i + α i β i ,
⎡ A⋅ B⎤ ⎡ α i ⋅ βi ⎤
⎢ ⎥ = k i l i pi + α i l i + β i k i + ⎢ ⎥ , i = 1, 2, …, n .
⎣ pi ⎦ ⎣ pi ⎦
Следовательно,
⎡α ⋅β ⎤
δ i = α i ⋅ β i − ⎢ i i ⎥ ⋅ pi ,
⎣ pi ⎦
что и доказывает (3.38).
Рассмотрим несколько примеров, иллюстрирующих приведенные выше
правила.
Глава 3. Арифметические основы ЭВМ 77
Пример 3.31
Пример 3.32
Пример 3.33
4.1. Принцип
микропрограммного управления
Для выполнения операций над информацией используются операционные
устройства — арифметико-логические, управления, контроллеры ВУ и т. п.
Функцией операционного устройства является выполнение заданного множе-
ства операций F = { f1 , f 2 , ..., f K } над входными словами из множества DI
с целью вычисления выходных слов из множества DO , представляющих ре-
зультаты операций DO = f k ( DI ) , k = 1, ..., K .
Функциональная и структурная организация операционных устройств, опре-
деляющая порядок функционирования и структуру устройств, базируется на
принципе микропрограммного управления, который состоит в следующем [7]:
1. Любая операция f k , реализуемая устройством, рассматривается как
сложное действие, которое разделяется на последовательность элементар-
ных действий над словами информации, называемых микрооперациями.
2. Для управления порядком следования микроопераций используются логи-
ческие условия, которые, в зависимости от значений слов, преобразуемых
микрооперациями, принимают значения "истина" или "ложь" (1 или 0).
3. Процесс выполнения операций в устройстве описывается в форме алго-
ритма, представляемого в терминах микроопераций и логических условий
и называемого микропрограммой. Микропрограмма определяет порядок
проверки значений логических условий и следования микроопераций, не-
обходимый для получения требуемых результатов.
4. Микропрограмма используется как форма представления функции уст-
ройства, на основе которой определяются структура и порядок функцио-
нирования устройства во времени.
80 Часть I. Принципы организации ЭВМ
фиксирована после знакового разряда, таким образом, все числа могут быть
только дробными (рис. 4.2).
Начало
да нет
a0 = b0
s := 0 s := 1
a0 := 0
b0 := 0
C := A – B
0
c0
1
OV := 0 OV := 1
n := 16
A := C
A := L1(A)
0 1
c0
D[15] := 1 D[15] := 0
C := A – B C := A + B
D := L1(D)
n := n – 1
нет
n=0
да
C := D
c0 := s
Конец
y1 s := 0 y10 A := L1( A) x1 a0 = b0
y2 s := 1 y11 D[15] := 1 x2 c0
y3 a0 := 0 y12 D[15] := 0 x3 Сч n = 0
y4 b0 := 0 y13 C := A + B
y5 C := R + S y14 D := L1( D)
y6 OV := 0 y15 Сч n := Сч − 1
y7 OV := 1 y16 C := D
y8 n := 16 y17 c0 := s
y9 A := C
Следует отметить, что проблемы гонок могут быть полностью решены при
использовании в автомате двухтактных элементов памяти, причем способ
кодирования состояний в этом случае роли не играет. Правда, затраты обору-
дования при таком решении несколько возрастают, по сравнению с исполь-
зованием метода противогоночного кодирования, но во-первых, эффектив-
ность метода заметно проявится лишь при достаточно большом числе
состояний автомата (25—40), а во-вторых, большинство современных инте-
гральных элементов памяти (триггеров) выпускаются именно двухтактными.
Применение специальных методов кодирования "с учетом сложности комби-
национных схем" [2] так же обеспечивает заметный эффект лишь для доста-
точно громоздких автоматов.
В нашем примере воспользуемся простейшим методом кодирования состоя-
ний автомата, когда код состояния совпадает с двоичным числом, соответст-
вующим номеру состояния. В рассматриваемом автомате насчитывается
14 состояний (см. рис. 4.6), поэтому для их кодирования требуется четырех-
разрядный двоичный код ( 24 > 14 ; 2 3 < 14 ) — табл. 4.2.
Шаг 5. Выбор элемента памяти (типа триггера). При выборе элемента памя-
ти следует учитывать простоту управления им. С этой точки зрения удобнее
выбирать триггеры, управляемые по единственному информационному вхо-
ду — к таким относятся D- и Т-триггеры. В нашем примере в качестве эле-
мента памяти автомата выберем синхронный двухтактный D-триггер. Оче-
видно, для реализации нашего автомата понадобятся четыре D-триггера.
Шаг 6. Построение автоматной таблицы переходов (табл. 4.3).
Эта таблица практически описывает функцию переходов автомата, стро-
ится по графу автомата и определяет, какие значения необходимо подать
Глава 4. Организация устройств ЭВМ 93
( a1 ) 0001 x1 ( a2 ) 0010 0 0 1 0
x1 ( a3 ) 0011 0 0 1 1
( a2 ) 0010 1 ( a4 ) 0100 0 1 0 0
( a3 ) 0011 1 ( a4 ) 0100 0 1 0 0
( a4 ) 0100 1 ( a5 ) 0101 0 1 0 1
( a5 ) 0101 x2 ( a6 ) 0110 0 1 1 0
x2 ( a7 ) 0111 0 1 1 1
( a6 ) 0110 1 ( a8 ) 1000 1 0 0 0
( a7 ) 0111 1 ( a1 ) 0001 0 0 0 1
( a8 ) 1000 1 ( a9 ) 1001 1 0 0 1
1
Напомним, что переменные а1, а2, …, а14 являются булевыми, принимающими единичное
значение, когда автомат находится в соответствующем состоянии, и нулевое значение — во
всех остальных случаях.
96 Часть I. Принципы организации ЭВМ
Принципы организации
Заметим, что функция любого управляющего автомата — генерирование по-
следовательности управляющих слов (микрокоманд), определенной реали-
зуемым алгоритмом с учетом значений осведомительных сигналов.
Если заранее разместить в запоминающем устройстве все необходимые для
реализации заданного алгоритма (группы алгоритмов) микрокоманды, а по-
том выбирать их из памяти в порядке, предусмотренном алгоритмом (с уче-
том значения осведомительных сигналов), то получим управляющий автомат,
98 Часть I. Принципы организации ЭВМ
Адресация микрокоманд
Исходными данными для проектирования УАПЛ является, как и для УАЖЛ
(управляющий автомат с "жесткой" логикой), микропрограмма, представлен-
ная, например, в форме ГСА. Каждая операторная вершина должна реализо-
ваться в один такт машинного времени, причем после операторной вершины
в ГСА может следовать:
операторная вершина;
условная вершина, оба выхода которой или один из них соединены с опе-
раторными вершинами, например, как показано на рис. 4.9, а;
цепочка из двух или более условных вершин, выходы которых соединены
с условными вершинами (рис. 4.9, б).
а б
Рис. 4.9. Фрагменты ГСА-микропрограмм
⎧ xk при i = 0;
xk ⊕ i = ⎨
⎩ xk при i = 1.
Кодирование микроопераций
Теперь рассмотрим, как можно использовать разряды поля микроопераций
(МО). Различают [2] три способа кодирования поля микроопераций:
горизонтальный;
вертикальный;
смешанный.
Ранее мы говорили, что управляющий автомат проектируется для выдачи
в заданной последовательности наборов микроопераций из некоторого напе-
ред определенного множества микроопераций Y = {y1 , y 2 , ..., y n } .
При горизонтальном способе кодирования каждой микрооперации
yi ∈ {y1 , ..., y n } ставится в соответствие разряд поля микроопераций микро-
командного слова. В этом случае количество разрядов поля микроопераций
N равно числу n различных микроопераций, вырабатываемых УА.
Достоинствами горизонтального способа кодирования являются:
возможность формирования произвольных микрокоманд из заданного на-
бора микроопераций;
Глава 4. Организация устройств ЭВМ 105
Код Y1 Y2 Y3 Код x
Константа
000 ∅ ∅ ∅ 00
0
001 y1 y4 y7 01 x1
010 y2 y5 y8 10 x2
y3 y6 y13 Константа
011 11
1
100 y10 y9
110 — yk
111 — —
Адрес Y1 Y2 Y3 x A1
Из ГСА видно, что тогда следует проверить условие x1 — случай двух под-
ряд расположенных условных вершин. Передать управление на адрес 0, где
проверяется это условие? Но тогда выполнятся и микрооперации y1 , y 4 , y7 ,
а это микропрограммой не предусмотрено. Очевидно, в микропрограмму
следует включить дополнительно микрокоманды (в нашем случае — по ад-
ресам 9 и 10), которые не формируют никаких микроопераций, а обеспечи-
вают только передачу управления. Первая осуществляет условный переход
по переменной x1 на адрес 7, вторая (которая будет выполняться только при
x1 = 0 ) — безусловно на адрес 1. Теперь код микропрограммы полностью
сформирован.
Осталось изобразить структурную схему разработанного управляющего ав-
томата (рис. 4.16).
Глава 5
Таким образом, в АСОЗУ создаются копии тех ячеек ОЗУ, к которым в данный
момент обращается процессор в надежде, что "в ближайшее время" произойдет
новое обращение по этому адресу. (Существуют и другие стратегии загрузки
АСОЗУ, например, если процессор обращается в ОЗУ по определенному адре-
су, то в АСОЗУ перемещается содержимое целого блока соседних ячеек.)
При необходимости записи в АСОЗУ новой информации требуется отыскать
свободную ячейку, а при ее отсутствии (что чаще всего и бывает) — оты-
скать ячейку, содержимое которой можно удалить из АСОЗУ. При этом
следует помнить, что если во время пребывания ячейки в АСОЗУ в нее про-
изводилась запись, то требуется не просто очистить содержимое ячейки,
а записать его в ОЗУ по адресу, хранящемуся в поле признаков, т. к. процес-
сор, отыскав адрес в АСОЗУ, производит запись только туда, оставляя в ОЗУ
старое значение (так называемое "АСОЗУ с обратной записью"). Возможен и
другой режим работы СОЗУ — со сквозной записью, при котором всякая за-
пись осуществляется и СОЗУ, и в ОЗУ.
При поиске очищаемой ячейки чаще всего используют метод случайного вы-
бора. Иногда отмечают ячейки, в которые не проводилась запись, и поиск
"кандидата на удаление" проводят из них.
Глава 5. Организация памяти в ЭВМ 121
В0 В1 В2 Действие
0 0 х Заменяется строка L0
0 1 х Заменяется строка L1
1 х 0 Заменяется строка L2
1 х 1 Заменяется строка L3
Базовая архитектура
микропроцессорной системы
а б
Рис. 6.2. Машинные циклы микропроцессора i8086:
а — цикл ЧТЕНИЕ; б — цикл ЗАПИСЬ
142 Часть II. Архитектура микропроцессорных систем
6.3. Функционирование
основных подсистем МПС
Теперь можно рассмотреть функционирование основных подсистем базовой
МПС с интерфейсом типа "общая шина". Этот термин используется в двух
смыслах: во-первых, как обозначение принципа организации связи процессо-
ра с другими устройствами в составе ЭВМ, во-вторых, как обозначение
(в русском переводе) конкретного интерфейса Unibus мини-ЭВМ семейства
PDP-11 фирмы DEC.
Unibus явился, пожалуй, первым интерфейсом, в котором были полностью
реализованы принципы "общей шины":
все линии интерфейса делятся на три группы: адрес, данные, управление;
все устройства, в т. ч. процессор, подключаются к линиям интерфейса
одинаковым образом;
Глава 6. Базовая архитектура микропроцессорной системы 149
Диспетчер памяти
При необходимости расширить объем памяти за пределы адресного про-
странства можно воспользоваться так называемым диспетчером памяти.
В простейшем случае он представляет собой программно-доступный регистр,
который должен располагаться в пространстве ввода/вывода. В него заносит-
ся номер активного в данный момент банка памяти, причем объем банка мо-
жет равняться объему адресного пространства МП.
Глава 6. Базовая архитектура микропроцессорной системы 151
6.3.2. Ввод/вывод
Подсистема ввода/вывода (ПВВ) обеспечивает связь МП с внешними уст-
ройствами, к которым будем относить:
устройства ввода/вывода (УВВ): клавиатура, дисплей, принтер, датчики
и исполнительные механизмы, АЦП, ЦАП, таймеры и т. п.;
внешние запоминающие устройства (ВЗУ): накопители на магнитных
дисках, "электронные диски", CD и др.
В рамках рассмотрения ПВВ будем полагать термины "УВВ" и "ВУ" сино-
нимами, т. к. обращение к ним со стороны процессора осуществляется по од-
ним законам.
ПВВ в общем случае должна обеспечивать выполнение следующих функций:
согласование форматов данных, поскольку процессор всегда выдает/при-
нимает данные в параллельной форме, а некоторые ВУ — в последова-
тельной. С этой точки зрения различают устройства параллельного и по-
следовательного обмена. В рамках параллельного обмена не производится
преобразование форматов передаваемых слов, в то время как при после-
довательном обмене осуществляется преобразование параллельного кода
в последовательный и наоборот. Все варианты, при которых длина слова
ВУ (больше 1 бита) не совпадает с длиной слова МП, сводятся к разно-
видностям параллельного обмена;
организация режима обмена — формирование и прием управляющих сиг-
налов, идентифицирующих наличие информации на различных шинах, ее
тип, состояние ВУ (Готово, Занято, Авария), регламентирующих времен-
ные параметры обмена. По способу связи процессора и ВУ (активного и
пассивного) различают синхронный и асинхронный обмены, различия ме-
жду которыми мы обсудили в начале настоящей главы.
Параллельный обмен
Простейшая подсистема параллельного обмена должна обеспечить лишь де-
шифрацию адреса ВУ и электрическое подключение данных ВУ к системной
шине данных DB по соответствующим управляющим сигналам. На рис. 6.7
152 Часть II. Архитектура микропроцессорных систем
Последовательный обмен
При организации последовательного обмена ключевыми могут считаться две
проблемы:
синхронизация битов передатчика и приемника;
фиксация начала сеанса передачи.
Различают два способа передачи последовательного кода: синхронный
и асинхронный.
При синхронном методе передатчик генерирует две последовательности —
информационную TxD и синхроимпульсы CLK, которые передаются на при-
емник по разным линиям. Синхроимпульсы обеспечивают синхронизацию
передаваемых битов, а начало передачи отмечается по-разному. При органи-
зации внешней синхронизации (рис. 6.9) сигнал начала передачи BD генери-
руется передатчиком и передается на приемник по специальной линии.
6.3.3. Прерывания
Подсистема прерываний — совокупность аппаратных и программных средств,
обеспечивающих реакцию программы на события, происходящие вне про-
граммы. Такие события возникают, как правило, случайно и асинхронно по
отношению к программе и требуют прекращения (чаще временного) выпол-
нения текущей программы и переход на выполнение другой программы
(подпрограммы), соответствующей возникшему событию.
Различают внутренние и внешние (по отношению к процессору) события,
требующие реакции подсистемы прерываний. К внутренним событиям отно-
сятся переполнение разрядной сетки при выполнении арифметических опе-
раций, попытка деления на 0, извлечение корня четной степени из отрица-
тельного числа, появление несуществующего кода команды, обращение
программы в область памяти, для нее не предназначенную, сбой при выпол-
нении передачи данных или операции в АЛУ и многое другое. Внутренние
прерывания должны обеспечиваться развитой системой аппаратного контро-
Глава 6. Базовая архитектура микропроцессорной системы 159
Приоритет запросов
Для исключения конфликтов при одновременном возникновении нескольких
запросов на векторном входе ответный сигнал INTA подается на источники
запросов не параллельно, а последовательно — в порядке убывания приори-
тетов запросов. Источник, не выставлявший запроса, транслирует сигнал
INTA со своего входа на выход, а источник, выставивший запрос, блокирует
162 Часть II. Архитектура микропроцессорных систем
Приоритет программ
Прерывание в общем случае может возникать не только при решении "фоно-
вой" задачи, но и в момент работы другой прерывающей программы, причем
не всякую прерывающую программу допустимо прерывать любым запросом.
В фоновой задаче также могут встречаться участки, при работе которых пре-
рывания (все или некоторые) недопустимы. В общем случае в каждый мо-
мент времени работы процессора должно быть выделено подмножество за-
просов, которым разрешено прерывать текущую программу.
В МПС эта задача решается на нескольких уровнях. В процессоре обычно
предусматривается программно-доступный флаг разрешения/запрещения
прерывания, значение которого определяет возможность или невозможность
всех прерываний. Для создания более гибкой системы приоритетов программ
на каждом источнике прерываний может быть предусмотрен специальный
программно-доступный триггер разрешения формирования запроса. В таком
случае возможно формирование произвольного подмножества разрешенных
в данный момент источников прерываний.
При использовании контроллера внешних прерываний, в нем обычно преду-
сматривают специальный программно-доступный регистр, разряды которого
маскируют соответствующие линии запросов на прерывание, запрещая кон-
троллеру вырабатывать сигнал прерывания процессору, если запросы от ВУ
поступают по замаскированным линиям. Однако замаскированные запросы
сохраняются в контроллере и в дальнейшем, при изменении состояния реги-
стра маски, могут быть переданы на обслуживание.
Обработка прерывания
К обработке прерывания отнесем фиксацию состояния прерываемой про-
граммы, переход к программе, соответствующей обслуживаемому прерыва-
нию, и возврат к прерванной программе после окончания работы прерываю-
щей программы.
Ранее мы определили, что большинство процессоров может прервать выпол-
нение текущей программы и переключиться на реализацию обработчика пре-
Глава 6. Базовая архитектура микропроцессорной системы 163
Эволюция архитектур
микропроцессоров и микроЭВМ
1
В рамках этой главы будем понимать под обозначением х86 микропроцессоры i80386
и старше.
Глава 7. Эволюция архитектур микропроцессоров и микроЭВМ 169
2
Из рис. 7.1 видно, что дескриптор содержит ряд полей, имеющих название и размер.
Например, 32-разрядный адрес "базовый адрес [31:0]"; но в формате данного деск-
риптора он расположен в разрядах [63:56] и [39:16]. То же относится и к полю "пре-
дел". Это связано с желанием фирмы Intel сохранить преемственность форматов
младших моделей.
170 Часть II. Архитектура микропроцессорных систем
7.2. Мультизадачность
Под мультизадачностью понимают способность процессора выполнять не-
сколько задач "одновременно". Конечно, процессор традиционной архитек-
туры не может выполнять строго одновременно более одного потока команд,
однако он может некоторое время выполнять один поток команд, потом бы-
стро переключиться на выполнение другого потока команд, потом третьего,
потом — снова первого и т. д. Такая организация вычислительных процессов
при высоком быстродействии процессора создает иллюзию одновременности
(параллельности) выполнения нескольких задач.
Для реализации мультизадачности необходимо:
располагать быстродействующим процессором;
процессор должен аппаратно поддерживать механизм быстрого переклю-
чения задач;
процессор должен аппаратно поддерживать механизм защиты памяти;
использовать специальную мультипрограммную операционную систему.
Под задачей в мультизадачной системе понимается программа, которая вы-
полняется или ожидает выполнения, пока выполняется другая задача, причем
в определение задачи обычно включают ресурсы, требуемые для ее решения
(объем памяти, процессорное время, дисковое пространство и др.).
Рассмотрим, как реализуется механизм переключения задач в процессо-
рах х86.
3
Под устройством здесь понимается аналог математического сопроцессора — уст-
ройство с плавающей точкой FPU.
198 Часть II. Архитектура микропроцессорных систем
Поле Назначение
Li Локальное разрешение контрольной точки i ∈ {0, 1, 2, 3} . Когда бит Li нахо-
дится в 1, разрешена аппаратная контрольная точка, линейный адрес кото-
рой находится в DR1, но только в текущей задаче. При переключении зада-
чи сбрасываются все биты Li
Gi Глобальное разрешение контрольной точки i . Функционирует аналогично
биту Li, но на него не действует переключение задач. Сбросить бит Gi мож-
но только программно
LE Локальная точность
GE Глобальная точность
RWi Определяет вид контрольной точки i :
• 00 — контрольная точка по команде;
• 01 — контрольная точка по данным с обращением по записи;
• 10 — не определена и не используется;
• 11 — контрольная точка по данным с обращением по считыванию или
записи (но не выбор команды)
LENi Для контрольной точки i по данным определяет длину данных:
• 00 — однобайтовое поле (и все команды);
• 01 — двухбайтовое поле (слово);
• 10 — не определена и не используется;
• 11 — четырехбайтовое поле (двойное слово)
7.5.1. Конвейеры
При отсутствии конвейера процессор выполняет программу, по очереди вы-
бирая из памяти и активизируя ее команды.
Процесс обработки команды может быть разбит, например, на следующие
шаги (стадии):
F — выборка (от англ. fetch) — чтение команды из памяти;
D — декодирование (от англ. decode) — декодирование команды;
A — формирование адресов (от англ. address generate) и выборка опе-
рандов;
Е — выполнение (от англ. execute) — выполнение заданной в команде
операции;
W — запись (от англ. write) — сохранение результата по целевому адресу.
Приведенное разбиение не является единственно возможным — в некоторых
случаях рассматривают четырехстадийный командный цикл, иногда (напри-
мер, для процессоров, реализующих команды над числами с плавающей за-
пятой) — восьмистадийный и др.
Для реализации каждой из стадий командного цикла в процессоре преду-
смотрено соответствующее оборудование (регистры, дешифраторы, сумма-
торы, управляющие автоматы или их фрагменты), причем операционные
элементы разных стадий обычно слабо пересекаются между собой. Поэтому
когда очередная команда завершает действия на одной стадии, например F,
и переходит на следующую — D, то оборудование стадии F "простаивает"
и может быть использовано для чтения следующей команды. Таким образом,
очередная команда может начинать выполнение, не дожидаясь окончания
командного цикла предыдущей команды.
При рассмотрении пятистадийного командного цикла одновременно на раз-
ных стадиях может выполняться до пяти команд. Организация пятистадий-
ного конвейера потребует дублирования некоторых операционных элементов
на разных стадиях (например, регистра команд PC) и усложнение схемы
управления, однако игра стоит свеч.
Очевидно, очередная команда может перейти с одной стадии командного
цикла на другую при выполнении двух условий:
действия команды на текущей стадии завершены;
предыдущая команда освободила оборудование следующей стадии.
При условии, что каждая стадия выполняется в любой команде одинаковое
количество тактов (например, один), конвейер работает идеально, и одновре-
менно всегда выполняются пять команд (для пятистадийного конвейера).
Глава 7. Эволюция архитектур микропроцессоров и микроЭВМ 209
4
Complex Instruction Set Computer — компьютер с полным набором команд.
5
Reduced Instruction Set Computer — компьютер с сокращенным набором команд.
210 Часть II. Архитектура микропроцессорных систем
6
Здесь мы не обсуждаем возможности кэш-памяти.
Глава 7. Эволюция архитектур микропроцессоров и микроЭВМ 213
7.5.3. VLIW-архитектура
Для реализации динамического параллелизма в процессорах с традиционной
системой команд и способами компиляции программного кода требуются
весьма сложные схемы организации пула, планировщики, схемы "отката"
и др. Процессоры такой архитектуры имеют несколько операционных блоков
различного, а иногда и одинакового назначения, которые могут работать па-
раллельно, например, 1—2 блока вычисления адресов, 2—3 блока АЛУ для
чисел с фиксированной запятой, блок обработки чисел с плавающей запятой,
блок размещения результата, блок предсказания переходов и др.
Поскольку процессор может планировать и формировать последовательность
выполнения команд на ограниченном (размером пула) участке программы, то
для эффективной загрузки операционных блоков требуются не только слож-
ные и эффективные процедуры планирования, но и некоторое "везение" —
хорошо, если в пул загружены команды, для выполнения которых нужны
различные операционные блоки, а если нет?
Один из путей дальнейшего повышения эффективности подобных систем
лежит в области разработки специальных компиляторов, которые упаковы-
вают несколько простых команд в "очень длинное командное слово"
(VLIW — аббревиатура от Very Long Instruction Word) таким образом, чтобы
в одной "очень длинной команде" можно было использовать все существую-
щие в процессоре операционные блоки. В этом случае командное слово соот-
ветствует набору функциональных устройств.
VLIW-архитектуру можно рассматривать как статическую суперскалярную,
поскольку распараллеливание кода производится на этапе компиляции, а не
динамически во время исполнения, т. е. в машинном коде VLIW присутству-
ет явный параллелизм.
Одним из примеров воплощения идей VLIW может служить предложенная
Intel в содружестве с НР концепция 64-разрядной архитектуры микропроцес-
сора IA-64 (Intel 64-bit Architecture, 64-разрядная архитектура Intel). Для ее
обозначения использована аббревиатура EPIC (Explicitly Parallel Instruction
Computing, вычисления с явным параллелизмом команд).
Процессор, разработанный на базе этой концепции, отличающийся следую-
щими особенностями:
большое количество регистров: 128 64-разрядных регистров общего на-
значения (целочисленных), плюс 128 80-разрядных регистров арифметики
плавающей запятой, плюс 64 1-pазpядных предикатных регистра;
масштабируемость архитектуры до большого количества функциональ-
ных устройств. Это свойство представители фирм Intel и HP называют
216 Часть II. Архитектура микропроцессорных систем
Выводы
Основная особенность EPIC — распараллеливанием потока команд занима-
ется компилятор, а не процессор.
Достоинства данного подхода:
упрощается архитектура процессора; вместо распараллеливающей логики
на EPIC-процессоре можно разместить больше регистров, функциональ-
ных устройств;
процессор не тратит время на анализ потока команд на предмет возмож-
ности их параллельного выполнения — эту работу уже выполнил компи-
лятор;
возможности процессора по анализу программы во время выполнения ог-
раничены сравнительно небольшим участком программы, тогда как ком-
пилятор способен произвести анализ по всей программе;
если некоторая программа должна запускаться многократно, выгоднее
распараллелить ее один раз (при компиляции), а не каждый раз, когда она
исполняется на процессоре.
Недостатки:
компилятор производит статический анализ программы, раз и навсегда
планируя вычисления. Однако даже при небольшом изменении начальных
данных путь выполнения программы может сколь угодно сильно изме-
ниться;
серьезно увеличивается сложность компиляторов. Значит, увеличится
число ошибок в них, время компиляции;
еще более увеличивается сложность отладки, т. к. отлаживать придется
оптимизированный параллельный код;
производительность EPIC будет всецело зависеть от качества компилятора;
218 Часть II. Архитектура микропроцессорных систем
входящие в состав ЭВМ: регистры, различные типы памяти (на первых по-
рах — небольшого объема), тактовый генератор, порты параллельного и по-
следовательного обмена, различные внешние устройства (таймеры, АЦП
и др.).
При этом получается полностью "самодостаточный" кристалл БИС (СБИС)
однокристальной микроЭВМ (некоторые авторы используют термин микро-
контроллер, учитывая, что основная сфера применения подобных изделий —
управляющие системы, работающие в реальном времени).
В настоящее время многие фирмы (Motorola, Intel, MicroСhip, Zilog и др.)
выпускают широкую номенклатуру подобных однокристальных микроЭВМ
(ОМЭВМ), отличающихся разрядностью, системой команд, типами и объе-
мом памяти, составом и характеристиками внешних устройств. Большинство
ОМЭВМ выпускается с 8-разрядным процессором, но на рынке присутству-
ют и 16- и даже 32-разрядные ОМЭВМ.
Базовые принципы архитектуры ОМЭВМ можно проиллюстрировать на
примере 8-разрядных ОМЭВМ. Далее кратко отметим некоторые особенно-
сти этих контроллеров. Подробнее архитектура ряда ОМЭВМ и примеры их
применения описаны в [4, 12].
Контроллеры разных фирм, несмотря на кажущиеся различия, имеют много
общих черт, определяющих тенденции развития современных ОМЭВМ ма-
лой и средней производительности. Попробуем отметить некоторые из них.
Все без исключения контроллеры имеют встроенные тактовые генера-
торы; для запуска большинства из них используют одну из четырех воз-
можных внешних цепей: источник внешних тактовых импульсов, кварце-
вый резонатор, LC-цепь, RC-цепь. Последние две можно использовать
лишь в системах, где точностью временных привязок можно пренебречь.
Большинство контроллеров имеют в своем составе динамические элемен-
ты памяти, что ограничивает допустимую тактовую частоту не только
сверху, но и снизу (обычно — до 1 МГц). ОМЭВМ Motorola используют
на кристалле только статические элементы памяти, что позволяет работать
на произвольно низких системных тактовых частотах. Снижение тактовой
частоты контроллера целесообразно при управлении инерционными объ-
ектами, если необходимо отслеживать достаточно длительные временные
задержки (от долей секунды до десятков секунд).
Процессоры большинства ОМЭВМ реализуют классическую ("интеллов-
скую") систему команд, включающую одно- и двухадресные команды
с операциями над ячейками памяти и регистрами, с использованием раз-
нообразных способов адресации (прямая, регистровая, косвенно-регист-
ровая, индексная, непосредственная). Предусмотрен широкий выбор
220 Часть II. Архитектура микропроцессорных систем
Описание программных
моделей АЛУ
x1 p8 — признак переноса/заема
x2 DL — значение триггера "данные слева"
x3 DR — значение триггера "данные справа"
x4 Сч = 8 — признак "счетчик равен 8"
x5 Сч > 3 — признак "счетчик больше 3"
x6 Z := p8 ⊕ DL — признак, по которому можно определить значение цифры
частного в операциях деления
Пример 8.1
№ DL
Микрокоманда Ax Bx A B C
МК (x2)
00001011 10000111
1 y0, y2 00001011
2 y1, y3 10000111
3 y4, y6, y13, y18 1
4 Анализируем x2
12 y4, y6, y9, y18, y24 00001000 1
13 Анализируем x2
7 y4, y32, y18 0
8 y26, y2 00001000
9 y4, y32, y17, y24 00000100
10 y28 0
11 Переход на END
17 y21 00000100 0
П р и мечани е
Допускаются любые сочетания этих значений (в т. ч. A = B или A = F или даже
A = B = F).
248 Часть III. Лабораторный практикум и курсовое проектирование
Пример 8.2
Если для поля Сдв выбрать мнемонику С (код 111), то набор мнемоник из-
менится в соответствии с форматом "дополнительной" микрокоманды (см.
рис. 8.7, б).
Такой способ набора микрокоманд исключает синтаксические ошибки, по-
скольку выбор мнемоники порождает только допустимые коды. Однако при
желании пользователь может и непосредственно редактировать двоичный
код микрокоманды.
В правой части окна обозревателя УА (см. рис. 8.9) размещены органы
управления УА, включающие в себя:
флажки: Подключить к ОА, Удаление, Добавление;
строка ввода текущего адреса;
таблица ввода значений логических условий;
кнопки: Очистить ПЗУ МК, Сохранить, Сохранить мнемоники, Загру-
зить, Шаг, Сброс, Авто, Стоп.
Флажок Подключить к ОА является копией флажка Подключить УА в ок-
не ОА — при установке/сбросе одного из них то же значение принимает
и другой.
Вводить новые микрокоманды описанным ранее способом можно только при
установленном флажке Добавление.
Установка флажка Удаление разрешает процедуру удаления строк (микро-
команд) по нажатию клавиши <Delete>.
Строка ввода Текущий адрес позволяет установить адрес ячейки, в которой
можно выполнять редактирование или, начиная с которой, можно запускать
выполнение микропрограммы.
Таблица Логические условия позволяет установить в автономном режиме
УА значения логических условий независимо от состояния ОА. Это может
быть полезно при отладке микропрограммы. В режиме совместной работы
ОА и УА значения логических условий определяются состоянием ОА.
Кнопка Очистить ПЗУ МК сбрасывает содержимое памяти микропрограмм.
Кнопки Сохранить и Сохранить мнемоники открывают стандартный диа-
лог сохранения файла. По кнопке Сохранить в текстовом файле сохраняются
двоичные коды записанных в памяти микрокоманд. Такой файл можно потом
загрузить в память микропрограмм по кнопке Загрузить. По кнопке Сохра-
нить мнемоники в текстовом файле сохраняются мнемокоды микрокоманд.
Попытка загрузить такой файл в память УА блокируется с выдачей сообще-
ния об ошибке. Такие файлы можно использовать только для формирования
отчетов.
Глава 8. Описание программных моделей АЛУ 253
Описание архитектуры
учебной ЭВМ
1
Программная модель учебной ЭВМ находится на компакт-диске, прилагаемом к книге.
256 Часть III. Лабораторный практикум и курсовое проектирование
MDR IR
Процессор
OR
RDR
АУ
Acc РОН Кэш- ОЗУ Контроллер Дисплей Блок
[0:9] память клавиатуры таймеров
DR [0:999]
RAR
CR:COP.TA.ADR
Глава 9. Описание архитектуры учебной ЭВМ
PC SP
RA RB Контроллер
прерываний
INT MAR
Магистраль адреса
Старший разряд слова данных используется для кодирования знака: плюс (+)
изображается как 0, минус (–) — как 1. Если результат арифметической опе-
рации выходит за пределы указанного диапазона, то говорят, что произошло
переполнение разрядной сетки. АЛУ в этом случае вырабатывает сигнал пе-
реполнения OV = 1. Результатом операции деления является целая часть ча-
стного. Деление на ноль вызывает переполнение.
разряды [3:5] могут определять прямой или косвенный адрес памяти, но-
мер регистра (в команде MOV номера двух регистров), адрес перехода или
короткий непосредственный операнд. В двухсловных командах непо-
средственный операнд занимает поле [6:11].
Полный список форматов команд показан на рис. 9.3, где приняты следую-
щие обозначения:
СОР — код операции;
ADR — адрес операнда в памяти;
ADC — адрес перехода;
I — непосредственный операнд;
R, Rl, R2 — номер регистра;
ТА — тип адресации;
X — разряд не используется.
• Микрокомандный уровень;
• Память;
• Кэш-память;
• Программа;
• Текст программы;
Внешние устройства:
• Менеджер ВУ;
• окна подключенных ВУ;
Работа:
• Пуск;
• Стоп;
• Шаг;
• Режим микрокоманд;
• Кэш-память;
• Настройки.
Команды меню Вид открывают окна соответствующих обозревателей, опи-
санные далее. Менеджер внешних устройств позволяет подключать/отклю-
чать внешние устройства, предусмотренные в системе. Команда вызова
менеджера внешних устройств выполняется при нажатии кнопки на панели
инструментов. Подробнее о внешних устройствах и их обозревателях см.
в разд. 9.6.
Команды меню Работа позволяют запустить программу в автоматическом
(команда Пуск) или шаговом (команда Шаг) режиме, остановить выполне-
ние программы в модели процессора (команда Стоп). Эти команды могут
выполняться при нажатии соответствующих одноименных кнопок на панели
инструментов основного окна.
Команда Режим микрокоманд включает/выключает микрокомандный ре-
жим работы процессора, а команда Кэш-память подключает/отключает
в системе модель этого устройства.
Команда Настройки открывает диалоговое окно Параметры системы, по-
зволяющее установить задержку реализации командного цикла (при выпол-
нении программы в автоматическом режиме), а также установить параметры
файла logfile.txt, формируемого системой и записываемого на диск.
Глава 9. Описание архитектуры учебной ЭВМ 263
Окно Память
Окно Память (рис. 9.5) отражает текущее состояние ячеек ОЗУ. В этом окне
допускается редактирование содержимого ячеек, кроме того, предусмотрена
возможность выполнения (через меню или с помощью кнопок панели инстру-
ментов) пяти команд: Сохранить, Загрузить, Перейти к, Вставить, Убрать.
Команды Сохранить, Загрузить во всех окнах, где они предусмотрены, ра-
ботают одинаково — сохраняют в файле текущее состояние объекта (в дан-
ном случае памяти) и восстанавливают это состояние из выбранного файла,
Глава 9. Описание архитектуры учебной ЭВМ 265
Окно Программа
Окно Программа (рис. 9.7) отображает таблицу, имеющую 300 строк и
4 столбца. Каждая строка таблицы соответствует дизассемблированной ячей-
ке ОЗУ. Второй столбец содержит адрес ячейки ОЗУ, третий — дизассемб-
лированный мнемокод, четвертый — машинный код команды. В первом
столбце может помещаться указатель --> на текущую команду (текущее зна-
чение PC) и точка останова — красная заливка ячейки.
Окно Кэш-память
Окно Кэш-память используется в режиме с подключенной кэш-памятью.
Подробнее об этом режиме см. в разд. 9.8.
Контроллер клавиатуры 0 0, 1, 2 0
Дисплей 10 0, 1, 2, 3 Нет
Блок таймеров 20 0, 1, 2, 3, 4, 5, 6 2
Тоногенератор 30 0, 1 Нет
2
Сокр. от American Standard Code for Information Interchange — американский стан-
дартный код обмена информацией.
Глава 9. Описание архитектуры учебной ЭВМ 271
9.6.2. Дисплей
Дисплей (рис. 9.11) представляет собой модель внешнего устройства, реали-
зующую функции символьного дисплея. Дисплей может отображать симво-
лы, задаваемые ASCII-кодами, поступающими на его регистр данных. Дис-
плей включает:
видеопамять объемом 128 слов (ОЗУ дисплея);
символьный экран размером 8 строк по 16 символов в строке;
четыре программно-доступных регистра:
DR (адрес 0) — регистр данных;
CR (адрес 1) — регистр управления;
SR (адрес 2) — регистр состояния;
AR (адрес 3) — регистр адреса.
Через регистры адреса AR и данных DR по записи и чтению осуществляется
доступ к ячейкам видеопамяти. При обращении к регистру DR по записи со-
держимое аккумулятора записывается в DR и в ячейку видеопамяти, адрес
которой установлен в регистре AR.
274 Часть III. Лабораторный практикум и курсовое проектирование
попытке записать в регистр адреса число, большее 127, причем как в режиме
прямой записи в AR, так и в режиме автоинкремента после обращения по
адресу 127. Сбрасывается флаг Err программно или при нажатии кнопки
Очистить в окне Дисплей (рис. 9.12).
9.6.4. Тоногенератор
Модель этого простого внешнего устройства не имеет собственного обозре-
вателя, содержит всего два регистра, доступных только для записи:
FR (адрес 0) — регистр частоты звучания (Гц):
LR (адрес 1) — регистр длительности звучания (мс).
По умолчанию базовый адрес тоногенератора — 30. Сначала следует запи-
сать в FR требуемую частоту тона в герцах, затем в LR — длительность зву-
чания в миллисекундах. Запись числа по адресу регистра LR одновременно
является командой на начало звучания.
278 Часть III. Лабораторный практикум и курсовое проектирование
Теги Данные Z U W
1 012 220152 1 0 0
2 013 211003 1 1 0
3 050 000025 1 1 1
4 000 000000 0 0 0
Мл.
0 1 2 3 4
Ст.
0 NOP JMP MOV
1 IN JZ RD RD RDI
2 OUT JNZ WR WR
7 POP JRNZ IN
9 HLT CALL DI
Мнемо-
КОП Название Действие
код
00 NOP Пустая операция Нет
01 IN Ввод Acc ← IR
02 OUT Вывод OR ← Acc
03 IRET Возврат из прерывания FLAGS.PC ← M(SP); INC(SP)
04 WRRB Загрузка RB RB ← CR[ADR]
05 WRSP Загрузка SP SP ← CR[ADR]
06 PUSH Поместить в стек DEC(SP); M(SP) ← R
07 POP Извлечь из стека R → M(SP); INC(SP)
08 RET Возврат PC → M(SP); INC(SP)
09 HLT Стоп Конец командных циклов
10 JMP Безусловный переход PC ← CR[ADR]
11 JZ Переход, если 0 if Acc = 0 then PC ← CR[ADR]
12 JNZ Переход, если не 0 if Acc ≠ 0 then PC ← CR[ADR]
13 JS Переход, если if Acc < 0 then PC ← CR[ADR]
отрицательно
14 JNS Переход, если if Acc ≥ 0 then PC ← CR[ADR]
положительно
15 JO Переход, если if |Acc| > 99999 then PC ← CR[ADR]
переполнение
16 JNO Переход, если нет if |Acc| ≤ 99999 then PC ← CR[ADR]
переполнения
17 JRNZ Цикл DEC(R); if R ≠ 0 then PC ← CR[ADR]
Глава 9. Описание архитектуры учебной ЭВМ 285
Мнемо-
КОП Название Действие
код
Мнемо-
КОП Название Действие
код
42 Нет
43 ADI Сложение Acc ← Acc + I
44 SBI Вычитание Acc ← Acc – I
45 MULI Умножение Acc ← Acc × I
46 DIVI Деление Acc ← Acc/I
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 @ P ‘ p А Р а р
1 ! 1 A Q a q Б С б с
2 " 2 B R b r В Т в т
3 # 3 C S c s Г У г у
4 $ 4 D T d t Д Ф д ф
5 % 5 E U e u Е Х е х
6 & 6 F V f v Ж Ц ж ц
7 ‘ 7 G W g w З Ч з ч
8 ( 8 H X h x Ё ё И Ш и ш
9 ) 9 I Y i y Й Щ й щ
A * : J Z j z К Ъ к ъ
B + ; K [ k { Л Ы л ы
C , < L l | М Ь м ь
D - = M ] m } Н Э н э
E . > N n O Ю о ю
F / ? O _ o П Я п я
Глава 9. Описание архитектуры учебной ЭВМ 287
0 1 2 3 4 5 6 7 8 9 A B C D E F
Лабораторные работы
2 Сложение ОК ПК ДК ПК
3 Вычитание ДК ПК ДК ПК
4 Сложение ПК ПК ОК ДК
5 Вычитание ДК ПК ДК ПК
6 Вычитание ПК ДК ПК ДК
7 Сложение ПК ПК ДК ПК
8 Сложение ДК ПК ПК ДК
9 Сложение ПК ПК ОК ДК
10 Вычитание ПК ПК ПК ПК
11 Сложение ПК ПК ОК ПК
12 Сложение ДК ПК ДК ДК
13 Вычитание ПК ПК ОК ПК
14 Сложение ПК ОК ДК ДК
10.3.2. Пример
Дана последовательность мнемокодов, которую необходимо преобразовать
в машинные коды, занести в ОЗУ ЭВМ, выполнить в режиме Шаг и за-
фиксировать изменение состояний программно-доступных объектов ЭВМ
(табл. 10.2).
Последовательность Значения
10.3.3. Задание
1. Ознакомиться с архитектурой ЭВМ (см. часть I).
2. Записать в ОЗУ "программу", состоящую из пяти команд — варианты за-
дания выбрать из табл. 10.4. Команды разместить в последовательных
ячейках памяти.
3. При необходимости установить начальное значение в устройство ввода IR.
4. Определить те программно-доступные объекты ЭВМ, которые будут из-
меняться при выполнении этих команд.
Глава 10. Лабораторные работы 297
10.4.1. Пример
В качестве примера (несколько упрощенного по сравнению с заданиями ла-
бораторной работы № 2) рассмотрим программу вычисления функции
⎧( x − 11)2 − 125, при x ≥ 16,
⎪
y = ⎨ x 2 + 72 x − 6400
⎪ , при x < 16,
⎩ − 168
причем x вводится с устройства ввода IR, результат y выводится на OR.
Граф-схема алгоритма решения задачи показана на рис. 10.1.
Глава 10. Лабораторные работы 299
Команда
Адрес Примечание
Мнемокод Код
000 IN 01 0 000 Ввод x
001 WR 30 22 0 030 Размещение x в ОЗУ (ОЗО)
002 SUB #16 24 1 016 Сравнение с границей — ( x − 16)
003 JS 010 13 0 010 Переход по отрицательной разности
004 RD 30 21 0 030 Вычисления по первой формуле
005 SUB #11 24 1 011
006 WR 31 22 0 031
300 Часть III. Лабораторный практикум и курсовое проектирование
Команда
Адрес Примечание
Мнемокод Код
007 MUL 31 25 0 031
008 SUB #125 24 1 125
009 JMP 020 10 0 020 Переход на вывод результата
010 RD 30 21 0 030 Вычисления по второй формуле
011 MUL 30 25 0 030
012 WR 31 22 0 031
013 RD 30 21 0 030
014 MUL #72 25 1 072
015 ADD 31 23 0 031
016 ADI 43 0 000
106400
017 10 6 400
018 DIVI 46 0 000
100168
019 10 0 168
020 OUT 02 0 000 Вывод результата
021 HLT 09 0 000 Стоп
10.4.2. Задание
1. Разработать программу вычисления и вывода значения функции:
⎧Fi ( x), при x ≥ a,
y=⎨
⎩F j ( x), при x < a,
для вводимого из IR значения аргумента x . Функции и допустимые пре-
делы изменения аргумента приведены в табл. 10.6, варианты заданий —
в табл. 10.7.
2. Исходя из допустимых пределов изменения аргумента функций (табл. 10.6)
и значения параметра a для своего варианта задания (табл. 10.7) выделить
на числовой оси Ox области, в которых функция y вычисляется по пред-
Глава 10. Лабораторные работы 301
k Fk(x) k Fk(x)
x + 17 ( x + 2) ;
2
1 ; 2 ≤ x ≤ 12 5 50 ≤ x ≤ 75
1− x 15
( x + 3) ; 1 ≤ x ≤ 50
2
2 x2 + 7
2 6 ; 1 ≤ x ≤ 30
x x
1000 x2 + 2 x
3 ; −50 ≤ x ≤ −15 7 ; −50 ≤ x ≤ 50
x + 10 10
8100
( x + 3) ; ; 1 ≤ x ≤ 90
3
4 −20 ≤ x ≤ 20 8
x2
302 Часть III. Лабораторный практикум и курсовое проектирование
Номер Номер
i j a i j a
варианта варианта
1 2 1 12 8 8 6 30
2 4 3 –20 9 2 6 25
3 8 4 15 10 5 7 50
4 6 1 12 11 2 4 18
5 5 2 50 12 8 1 12
6 7 3 15 13 7 6 25
7 6 2 11 14 1 4 5
10.5.1. Пример
Разработать программу вычисления суммы элементов массива чисел C1 ,
C 2 , ..., C n . Исходными данными в этой задаче являются: n — количество
суммируемых чисел и C1 , C 2 , ..., C n — массив суммируемых чисел. Заме-
тим, что должно выполняться условие n > 1 , т. к. алгоритм предусматривает,
по крайней мере, одно суммирование. Кроме того, предполагается, что сум-
мируемые числа записаны в ОЗУ подряд, т. е. в ячейки памяти с последова-
тельными адресами. Результатом является сумма S .
10.5.2. Задание
1. Написать программу определения заданной характеристики после-
довательности чисел C1 , C 2 , ..., C n . Варианты заданий приведены
в табл. 10.9.
2. Записать программу в мнемокодах, введя ее в поле окна Текст программы.
3. Сохранить набранную программу в виде текстового файла и произвести
ассемблирование мнемокодов.
4. Загрузить в ОЗУ необходимые константы и исходные данные.
5. Отладить программу.
щих команд для работы с ОЗУ, но в адресной части содержат символы реги-
стров R0—R9.
Кроме обычных способов адресации (прямой и косвенной) в регистровых
командах используются два новых — постинкрементная и преддекрементная
(см. табл. 9.5). Кроме того, к регистровым относится команда организации
цикла JRNZ R,М. По этой команде содержимое указанного в команде регистра
уменьшается на 1, и если в результате вычитания содержимого регистра не
равно 0, то управление передается на метку М. Эту команду следует ставить
в конце тела цикла, метку М — в первой команде тела цикла, а в регистр R
помещать число повторений цикла.
10.6.1. Пример
Даны три массива чисел. Требуется вычислить среднее арифметическое их
максимальных элементов. Каждый массив задается двумя параметрами: ад-
ресом первого элемента и длиной.
Очевидно, в программе трижды необходимо выполнить поиск максимально-
го элемента массива, поэтому следует написать соответствующую подпро-
грамму.
Параметры в подпрограмму будем передавать через регистры: R1 — началь-
ный адрес массива, R2 — длина массива.
Рассмотрим конкретную реализацию этой задачи. Пусть первый массив на-
чинается с адреса 085 и имеет длину 14 элементов, второй — 100 и 4, тре-
тий — 110 и 9. Программа будет состоять из основной части и подпрограммы.
Основная программа задает параметры подпрограмме, вызывает ее и сохра-
няет результаты работы подпрограммы в рабочих ячейках. Затем осуществ-
ляет вычисление среднего арифметического и выводит результат на устрой-
ство вывода. В качестве рабочих ячеек используются регистры общего
назначения R6 и R7 — для хранения максимальных элементов массивов.
Подпрограмма получает параметры через регистры R1 (начальный адрес
массива) и R2 (длина массива). Эти регистры используются подпрограммой
в качестве регистра текущего адреса и счетчика цикла соответственно. Кроме
того, R3 используется для хранения текущего максимума, а R4 — для вре-
менного хранения текущего элемента. Подпрограмма возвращает результат
через аккумулятор. В табл. 10.10 приведен текст основной программы и под-
программы. Обратите внимание, цикл в подпрограмме организован с помо-
щью команды JRNZ, а модификация текущего адреса — средствами пост-
инкрементной адресации.
Глава 10. Лабораторные работы 309
Команда Примечания
Основная программа
RD #85 Загрузка
WR R1 параметров
RD #14 первого
WR R2 массива
CALL M Вызов подпрограммы
WR R6 Сохранение результата
RD #100 Загрузка
WR R1 параметров
RD #4 второго
WR R2 массива
CALL M Вызов подпрограммы
WR R7 Сохранение результата
RD #110 Загрузка
WR R1 параметров
RD #9 третьего
WR R2 массива
CALL M Вызов подпрограммы
ADD R7 Вычисление
ADD R6 среднего
DIV #3 арифметического
OUT Вывод результата
HLT Стоп
Подпрограмма MAX
M: RD @R1 Загрузка
WR R3 первого элемента в R3
L2: RD @R1+ Чтение элемента и модификация адреса
WR R4 Сравнение
310 Часть III. Лабораторный практикум и курсовое проектирование
Команда Примечания
Подпрограмма MAX
SUB R3 и замена,
JS L1 если R3 < R4
MOV R3,R4
L1: JRNZ R2,L2 Цикл
RD R3 Чтение результата в Асс
RET Возврат
10.6.2. Задание
Составить и отладить программу учебной ЭВМ для решения следующей за-
дачи. Три массива в памяти заданы начальными адресами и длинами. Вычис-
лить и вывести на устройство вывода среднее арифметическое параметров
этих массивов. Параметры определяются заданием к предыдущей лаборатор-
ной работе (см. табл. 10.9), причем соответствие между номерами вариантов
заданий к лабораторным работам № 5 и 6 устанавливается по табл. 10.11.
Номер варианта 1 1 1 1 1
задания к л. р. № 6
1 2 3 4 5 6 7 8 9
0 1 2 3 4
Номер строки 1 1 1 1 1
в табл. 10.9
5 7 9 1 3 6 8 2 4
3 1 2 0 4
10.7.1. Задание 1
Выполнить снова последовательность команд по варианту задания из
разд. 10.3.3 (см. табл. 10.4), но в режиме Шаг. Зарегистрировать изменения
состояния процессора и памяти в форме табл. 10.12, в которой приведены
состояния ЭВМ при выполнении примера из разд. 10.3.2 (фрагмент).
10.7.2. Задание 2
Записать последовательность микрокоманд для следующих команд модели
учебной ЭВМ:
ADD R3
ADD @R3
312 Часть III. Лабораторный практикум и курсовое проектирование
Глава 10. Лабораторные работы 313
ADD @R3+
ADD -@R3
JRNZ R3,M
MOV R4,R2
JMP M
CALL M
RET: PUSH R3
POP R5
10.8.1. Задание
Свой вариант задания (табл. 10.13) требуется выполнить двумя способами —
сначала в режиме программного контроля, далее модифицировать программу
таким образом, чтобы события обрабатывались в режиме прерывания про-
граммы. Поскольку "фоновая" (основная) задача для этого случая в заданиях
отсутствует, роль ее может сыграть "пустой цикл":
M: NOP
NOP
JMP M
№ ва- Используемые
Задание Пояснения
рианта ВУ
1 Ввод пятиразрядных Клавиатура Программа должна обеспечивать
чисел в ячейки ОЗУ ввод последовательности ASCII-
кодов десятичных цифр (не длиннее
пяти), перекодировку в "8421", упа-
ковку в десятичное число (первый
введенный символ — старшая циф-
ра) и размещение в ячейке ОЗУ.
ASCII-коды не-цифр игнорировать
2 Программа ввода сим- Клавиатура, Очистка буфера клавиатуры после
волов с клавиатуры с дисплей, ввода 50 символов или каждые 10 с
выводом на дисплей таймер
Глава 10. Лабораторные работы 315
№ ва- Используемые
Задание Пояснения
рианта ВУ
3 Вывод на дисплей трех Дисплей, Первый текст выводится сразу при
текстов, хранящихся в таймер запуске программы, второй — через
памяти, с задержкой 15 с, третий — через 20 с после вто-
рого
4 Вывод на дисплей од- Клавиатура, <1> — вывод на дисплей первого
ного из трех текстовых дисплей текстового сообщения, <2> — вто-
сообщений, в зависи- рого, <3> — третьего, остальные
мости от нажатой кла- символы — нет реакции
виши
5 Выбирать из потока Клавиатура, Вывод каждой цифры сопровожда-
ASCII-кодов только дисплей, ется коротким звуковым сигналом
цифры и выводить их тоногенератор
на дисплей
6 Выводить на дисплей Клавиатура, Вывод каждой цифры сопровожда-
каждый введенный с дисплей, ется троекратным звуковым сигна-
клавиатуры символ, тоногенератор лом
причем цифру выводить
"в трех экземплярах"
7 Селективный ввод сим- Клавиатура, Все русские буквы, встречающиеся
волов с клавиатуры дисплей в строке ввода — в верхнюю часть
экрана дисплея (строки 1—4), все
цифры — в нижнюю часть экрана
(строки 5—8), остальные символы
не выводить
8 Вывод содержимого за- Дисплей, Остаток от деления на 256 трех
данного участка памяти таймер младших разрядов ячейки памяти
на дисплей посимвольно рассматривается как ASCII-код сим-
с заданным промежутком вола. Начальный адрес памяти, длина
времени между выводами массива вывода и промежуток време-
символов ни — параметры подпрограммы
9 Программа ввода сим- Клавиатура, Очистка буфера клавиатуры после
волов с клавиатуры дисплей ввода 35 символов
с выводом на дисплей
10 Выводить на дисплей Клавиатура, Очистка буфера клавиатуры после
каждый введенный с дисплей, ввода 48 символов, очистка экрана
клавиатуры символ, таймер каждые 15 с
причем заглавную рус-
скую букву выводить
"в двух экземплярах"
316 Часть III. Лабораторный практикум и курсовое проектирование
№ ва- Используемые
Задание Пояснения
рианта ВУ
11 Вывод на дисплей со- Дисплей, Содержимое ячейки распаковывает-
держимого группы яче- таймер ся (с учетом знака), каждая цифра
ек памяти в числовой преобразуется в соответствующий
форме (адрес и длина ASCII-код и выдается на дисплей.
группы — параметры При переходе к выводу содержимого
подпрограммы) очередной ячейки формируется за-
держка 10 с
12 Определить промежу- Клавиатура, Результат выдается на OR. (Учиты-
ток времени между таймер вая инерционность модели, нажатия
двумя последователь- не следует производить слишком
ными нажатиями кла- быстро.)
виш
10.9.1. Задание
В качестве задания предлагается некоторая короткая "программа" (табл. 10.15),
которую необходимо выполнить с подключенной кэш-памятью (размером 4
и 8 ячеек) в шаговом режиме для следующих двух вариантов алгоритмов за-
мещения (табл. 10.14).
10.10.1. Задание
В данной лабораторной работе все варианты задания одинаковы: исследо-
вать эффективность работы кэш-памяти при выполнении двух разнотипных
программ, написанных и отлаженных вами при выполнении лабораторных
работ № 4 и 6.
Курсовая работа
11.2. Задания
Задания на курсовую работу включают в себя некоторый набор исходных
данных и ограничений для проектирования АЛУ. Все варианты задания све-
дены в табл. 11.1. Строка таблицы представляет один вариант задания, при-
чем номер варианта определяется номером группы (1—2) и порядковым но-
мером студента по списку группы (1—25).
Разрабатываемое АЛУ должно выполнять одну арифметическую и одну по-
разрядную бинарную логическую операцию, причем на способ выполнения
арифметической операции заданием накладываются некоторые ограничения.
Варианты операций обозначаются в табл. 11.1 следующим образом:
± — алгебраическое сложение/вычитание;
× — умножение обыкновенное;
324 Часть III. Лабораторный практикум и курсовое проектирование
Список сокращений,
используемых в тексте
Описание компакт-диска
A, C Адрес:
виртуальный 127
Abort 190
линейный 173
CISC-архитектура 209
логический 172
Code Privilege Level (CPL) 178
физический 175
Current Privilege Level (CPL) 178
эффективный 172
Адресация 20
D, E, F микрокоманд:
Descriptor Privilege Level (DPL) 177 естественная 101
Error code 195 принудительная 100
Fault 189 Адресное пространство, единое 150
Алгоритм:
R "Карабкающаяся страница"
(КС) 129
Requested Privilege Level (RPL) 178 "Рабочий комплект" (РК) 130
RISC-архитектур 209 деления без восстановления
остатка 83
T, W замещения 128
Task State Segment (TSS) 184 строк 281
Trap 190 Минховского — Шора 128
Watch-Dog Timer (WDT) 221 НДИ 129
Альтернативное именование 184
А, Б Аналитическая машина
Ч. Беббеджа 6
Авария 190 Арифметико-логическое устройство
Автомат: (АЛУ) 13
операционный (ОА) 80, 81 Архитектура:
управляющий EPIC 215
(микропрограммный) 87 VLIW 215
управляющий (УА) 80, 89 гарвардская 220
Мили 90 Ассоциативное запоминающее
Мура 90 устройство (АЗУ) 119
с жесткой логикой 89 Буфер ассоциативной
с программируемой логикой 97 трансляции 176
342 Ïðåäìåòíûé óêàçàòåëü
В К
Вектор: Каталог раздела 174
знаковый 38 Код:
прерывания 163 "8421" 68
Верхушка стека 307 ошибки 195
с избытком три 69
Г числа:
дополнительный 41, 46
Гарвардская архитектура ЭВМ 13 обратный 41
Граф-схема алгоритма (ГСА) 39, 81 прямой 38
Команда 12, 16
Д двухадресная 19
одноадресная 19
Двоичный код десятичной цифры 68 привилегированная 178
Деление: трехадресная 19
без восстановления остатка 62 Командный цикл 17
модулей двоичных чисел 60 Конвейер 208
с восстановлением остатка 62 Контекст задачи 183
Дескриптор 169 Контрольная точка 200
Дескрипторная таблица 171 аппаратная по данным 205
глобальная (GTD) 171 аппаратная по командам 204
локальная (LTD) 171 Кэш-память 121
прерываний (IDT) 171, 193 ассоциативная по множеству 123
Диспетчер памяти 150 с обратной записью 125
с прямым отображением 121
З со сквозной записью 125
Загрузка по предположению 217 Л
Задача 183
Запоминающее устройство (ЗУ) 13 Ловушка 190, 201
Запрашиваемый уровень Логическое условие 79
привилегий 178
Защита: М
доступа к данным 179 Межразрядная связь 73
памяти: Методы ускорения умножения 56
на уровне сегментов 177 Микрокоманда 87
на уровне страниц 181 Микроконтроллер 219
сегментов кода 180 MC68332 222
Защищенный режим (protect mode, Микрооперации 79
P-режим) 168 несовместимые 106
совместимые 106
И способ кодирования:
вертикальный 105
Интегральная технология (ИТ) 132 горизонтальный 104
Интерфейс Unibus 148 смешанный 105
Исключение 189 Микропрограмма 79, 87
Ïðåäìåòíûé óêàçàòåëü 343
Микропроцессор (МП): П
i8086 138
адресное пространство 145 Память:
машина пользователя 145 ассоциативная страничных
система команд 147 таблиц 176
многокристальный 135 виртуальная 127
однокристальный 135 сегментная организация 130
поколения 133 страничная организация 127
Микропроцессорная система магазинная 21
(МПС) 137 оперативная 150
МикроЭВМ, однокристальная 136, 219 сверхоперативная 118
от Motorola 221 физическая 127
Мультизадачность 183 Параллелизм, динамический 212
Перевод из одной системы счисления
Н в другую 34
дробных чисел 31
Нарушение 189 целых чисел 27
Нормализация результата 66 Переполнение:
отрицательное 66
О положительное 65
Обработчик прерывания 159 Подсистема ввода/вывода (ПВВ) 151
Операционное устройство 79 Подсистема прерываний 158
Операция 21 Поколения ЭВМ 8
алгебраическая 39 Предикация 216
Организация памяти 116 Представление числа:
сегментная 168 беззнаковое 38
страничная 173 с фиксированной запятой 38
Особый случай 189 со знаком 38
двойное нарушение 198 Прерывание 158, 189
контроль выравнивания 200 программное 189
контрольная точка 197 Привилегия для сегмента 177
нарушение: Принцип:
границы массива 197 микропрограммного управления 79
общей защиты 199 мультиплексирования сигналов 138
стека 199 программного управления 12
недействительный код операции 197 структурного описания 13
недействительный сегмент TSS 198 Программа 12, 16
немаскируемое прерывание NMI 197 Программный счетчик 17
неприсутствие сегмента 199 Процессор:
отладка 196 8086 168
ошибка: IA-64 215
деления 196 Pentium 211
операции плавающей с точкой 200 Pentium Pro 212
переполнение 197 PowerPC 214
страничное нарушение 199 суперскалярный 212
устройство недоступно 197 Процессорный модуль 138, 142
Отладка 200 Прямой доступ в память (ПДП) 165
344 Ïðåäìåòíûé óêàçàòåëü
Р Т
Разностная машина Ч. Беббеджа 6 Табулятор 6
Регистр команд 17 Текущий уровень привилегий 178
Регистр общего назначения (РОН) 119 Теория вычетов 74
Релейная машина Холлерита 6
У
С
Умножение чисел:
Сверхоперативное ОЗУ (СОЗУ) 118 в дополнительном коде 56
с ассоциативным доступом 119 методы ускорения 56
с прямым доступом 119 Уровень привилегий дескриптора 177
Сегмент 169 Устройство ввода (УВв) 13, 152
подчиненный 180 Устройство вывода (УВыв) 13, 152
состояния задачи 184
Система 13 Ф, Ц
команд процессора 18
Формат команды 18
Система оснований 74
Центральное устройство управления
Система счисления 24
(ЦУУ) 13
аддитивная 25
Цикл:
в остаточных классах (СОК) 74
командный (КЦ) 140, 160
восьмеричная 34
машинный (МЦ) 141, 160
двоичная 26, 34
асинхронный 142
непозиционная 24
синхронный 142
основание 25
позиционная 25
римская 24 Ч
троичная 37 Число 24
унарная 24 Число с плавающей запятой 62
шестнадцатеричная 34
экономичность 36 Ш
Сложение, алгебраическое
в дополнительном коде 48 Шлюз:
в обратном коде 42 вызова 181, 193
Страничная таблица 127 задачи 193
Стек 21, 307 ловушки 193
Сторожевой таймер 221 прерывания 193
Страница, виртуальная 127
Страничный сбой 128 Э
Структура системы 14 Экономичность представления
Счетная машина Паскаля 5 числа 36
Счетчик команд 17 Элемент 14