
- •А. Аппаратное обеспечение компьютеров
- •1. Раздел "Основы теории компьютеров"
- •2. Минимизация булевых функций с помощью диаграмм Вейча.
- •3. Определение и применение базиса при построении произвольных функций алгебры-логики.
- •4. Сложение и вычитание чисел с фиксированной запятой.
- •5. Умножение чисел с плавающей запятой.
- •6. Форматы команд.
- •7. Схема выполнения машинной двухадресной команды типа "Регистр-память" на однопроцессорном компьютере.
- •8. Схема выполнения машинной двухадресной команды типа "Регистр-регистр" на однопроцессорном компьютере.
- •2. Раздел "Архитектура вычислительных систем"
- •1. Архитектура кэш-памяти. Ассоциативное распределение информации в кэш-памяти.
- •2. Архитектура кэш-памяти. Прямое распределение (отображение) информации в кэш-памяти.
- •3. Архитектура векторного блока супер-ЭВМ CYBER-205. Особенности её конвейеров, обеспечивающие механизм "зацепления команд".
- •4. Векторные процессоры: структура аппаратных средств.
- •5. Пять основных архитектур высокопроизводительных ВС, их краткая характеристика, примеры.
- •6. SMP архитектура. Достоинства и недостатки. Область применения, примеры ВС на SMP.
- •7. MPP архитектура. История развития. Основные принципы. Концепция, архитектура и характеристики суперкомпьютера Intel Paragon.
- •8. Кластерная архитектура. Проблема масштабируемости. Примеры.
- •10. Понятие конвейера. "Жадная" стратегия. Понятие MAL в теории конвейера.
- •3. Раздел "Схемотехника ЭВМ"
- •1. Этапы проектирования комбинационных схем на примере дешифратора на 4 выхода: определение, таблица истинности, функция, логическая схема. Увеличение разрядности до 16-ти выходов.
- •2. Этапы проектирования комбинационных схем на примере мультиплексора 4-1: определение, таблица истинности, функция, логическая схема. Увеличение разрядности до 16-1.
- •3. Этапы проектирования комбинационных схем на примере схем сравнения двухразрядных слов: определение, таблица истинности, функция, логическая схема. Схема сравнения четырёхразрядных слов на элементах "Исключающее ИЛИ".
- •6. Синтез многовыходных комбинационных схем. Этапы проектирования в базисе И-НЕ.
- •7. Триггерные схемы: определение, классификация, условные графические обозначения, динамические параметры. Обобщённая структура двухступенчатого триггера, диаграмма его работы, условное графическое обозначение, динамические параметры.
- •8. Синтез двухступенчатого триггера по заданной таблице внешних переходов: таблица истинности, минимизация, схема. Построить временную диаграмму для двух переключений триггера, определить максимальные задержки переключений.
- •9. Счётчики: определение, модуль счётчика, динамические параметры. Примеры суммирующего, вычитающего и реверсивного счётчиков: схемы, временные диаграммы.
- •10. Счётчики: определение, модуль счётчика. Организация цепей переноса: схемы, динамические параметры. (CP)
- •11. Синтез синхронных счётчиков с заданным модулем на заданном типе триггера (DV, JK).
- •Б. Программное обеспечение компьютеров
- •4. Раздел "Алгоритмы и структура данных"
- •1. Понятие логических структур данных. Отображение структуры данных в памяти вектором и списком. Типы списков. Определение, основные операции; особенности их реализации.
- •2. Стек и очередь: определение, основные операции. Особенности выполнений операций при реализации стека и очереди вектором.
- •3. Стек и очередь: определение, основные операции. Особенности выполнения операций при реализации стека и очереди списком.
- •4. Просматриваемая динамическая таблица-вектор: определение, основные операции, особенности их реализации.
- •5. Просматриваемая динамическая таблица-список: определение, основные операции, особенности их реализации.
- •6. Упорядоченная таблица-вектор: определение, основные операции, особенности их реализации.
- •7. Таблица произвольного доступа: определение, основные операции, отображение в памяти. Функция рандомизации, её назначение.
- •9. Перемешанная таблица, использующая перемешивание сложением: определение, основные операции, особенности их реализации.
- •10. Перемешанная таблица, использующая перемешивание сцеплением: определение, основные операции, особенности их реализации.
- •5. Раздел "Базы данных"
- •1. Системы с базами данных. Понятие системы управления базами данных СУБД. Функции СУБД.
- •2. Понятие независимости от данных. Трёхуровневая архитектура ANSI-SPARC. Сравнительная характеристика уровней.
- •3. Модель данных. Назначение моделей данных. Компоненты моделей данных. Классификация моделей данных.
- •5. База данных реляционного типа. Основные понятия и структура реляционной модели. Реляционные языки. Основные правила целостности реляционной модели.
- •6. Реляционная алгебра. Основные операции реляционной алгебры.
- •7. Язык SQL. Операторы определения и манипулирования данными. Выборка данных из таблиц.
- •8. Модель данных "сущность-связь". Основные концепции и способы их представления на диаграммах. Современные методологии построения моделей "сущность-связь".
- •9. Нормализация отношений. Цель нормализации. Приведение к нормальным формам.
- •10. Жизненный цикл приложения баз данных. Основные фазы проектирования базы данных.
- •6. Раздел "Операционные системы"
- •1. Файловые системы современных операционных систем. Интерфейс пользователя для работы с файловой системой.
- •2. Принцип защиты данных в операционных системах. Управление правами доступа к файлам.
- •3. Способы группирования команд в операционных системах. Командные файлы. Программные каналы, конвейеры команд.
- •4. Обзор возможностей командных процессоров (оболочек) операционных систем.
- •5. Принципы организации многозадачного режима в операционных системах.
- •6. Коммуникационные средства многопользовательских операционных систем.
- •7. Генерация, конфигурирование, настройка операционной системы на потребности конкретного пользователя.
- •8. Средства и способы обеспечения многопользовательского режима в операционных системах.
- •9. Понятие процесса. Управление процессами в операционной системе UNIX.
- •10. Понятие программного канала. Средства управления программными каналами.

5. Умножение чисел с плавающей запятой.
(ОТК, лекция 20.10.2003)
Разрядную сетку компьютера можно условно представить следующим образом:
Мантисса нормализована, если находится в диапазоне: 0,1 ≤ M x <1 (т.е. после запятой
должна быть 1).
В основе действий над числами с плавающей запятой лежат действия над числами с фиксированной запятой. Действия выполняются в несколько этапов. При этом порядки заданы в обратном коде, а мантиссы - в прямом.
Умножение чисел с плавающей запятой:
Предполагаем, что мантисса нормализована (х1 всегда =1). Мx - в обратном коде, х - в прямом.
1-е число: õ = [2mõ Sõ ],[õ1, õ2,..., õN]
|
|
цифровая |
|
|
часть |
2-е число: y = 2my S |
,[y1, y2,..., yN] |
|
|
y |
|
|
|
цифровая |
|
|
часть |
Результат: z = x y = [2mz Sz ],[z1, z2,..., zN]
цифровая
часть
Порядок выполнения операции умножения:
1.Знак произведения находится так же, как знак произведения при умножении чисел с фиксированной запятой: Sz = Sx S y
2.Порядок произведения находится алгебраическим суммированием порядков множимого и множителя: mz = mx + my
3.Мантисса находится по правилу умножения чисел с фиксированной запятой. Для получения произведения необходимо выполнять две микрооперации: сдвиг и суммирование чисел в позиционной системе счисления. Два основных алгоритма (всего алгоритмов умножения ~50 шт.):
3.1.Алгоритм умножения со старших разрядов множителя
3.1.1.Множимое сдвигаем вправо на 1 разряд
3.1.2.Анализируем цифру множителя. Если она 0, то частное произведение не суммируется, а если 1, то частное произведение доставляется к общему результату.
3.1.3.Последовательность операций повторяется по всем знакам числа.
3.2.Алгоритм умножения с младших разрядов множителя. Достоинства: Для получения произведения с точностью не ниже 2n необходимо иметь разрядную сетку только в n-разрядов, имеет преимущество по точности. Недостаток - чтобы использовать этот алгоритм, надо сначала перевести в прямой код.

3.2.1.Анализируются младшие цифры множителя. Если она =1, то множимое участвует в формировании частичного произведения.
3.2.2.Полученное частичное произведение сдвигается вправо на 1 разряд.
3.2.3.Последовательность операций повторяется до старшего разряда.
4.Нормализация мантиссы. После вычисления мантиссы, возможны следующие
случаи: |
1 |
2 |
≤| M |
x |
|<1 , |
1 |
2 |
≤| M |
y |
|<1, а для результата |
1 |
4 |
≤| M |
z |
|<1 1 |
4 |
≤| M |
z |
|< 1 |
2 |
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
В последнем случае необходима нормализация мантиссы - влево, максимум на 1 разряд.
4.1.В этом случае мантисса сдвигается влево на 1 разряд, что соответствует умножению числа на 2 в 1-й степени. Чтобы число увеличилось в 2 раза, надо из порядка результата вычисть единицу.
4.2.При умножении. В силу ограниченности разрядной сетки можно получить число, которое не может быть в ней представлено. Это соответствует случаю получения машинной бесконечности. При этом вырабатывается специальный признак (или флаг), по которому дальнейшие вычисления прекращаются.
4.3.При умножении двух чисел можно получить минимальное число, которое так же не может быть представлено в разрядной сетке. Это соответствует числу, когда получаемое число должно быть интерпретировано как ноль. Вырабатывается признак, по которому программист (пользователь) сам принимает решение.
Пример: (пример из к/р)
Перемножить два числа в прямых кодах со старших разрядов множителя (в 2 -ичной
системе): (-15)(10)х12(10)
-15(10)=-1111(2) 12(10)=1100(2)
[x]ÏÊ |
=1.1111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[y]ÏÊ |
= 0.1 1 0 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y1y2 y3y4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
№ |
|
Действие |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Общий |
Добавка |
Частичные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
результат |
|
суммы |
||||
|
Берём модуль множимого |х|= |
0.1111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
Сдвигаем вправо на 1 разряд |
0.0111 |
1= |
|
x |
|
2−1 |
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
т.к. цифра множителя =1, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
частичное произведение |
|
|
|
x |
|
|
2−1 y1 |
|
x |
|
|
|
2−1 y1 |
|
|
|||||||||
|
добавляется к общему |
0.0111 |
1= |
|
|
|
|
|
|
|
0.0111|1000 |
|
|||||||||||||
|
результату (y1=1=> результат |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
не обнулиться) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.0111|1000 |
|
2 |
Сдвигаем вправо на 1 разряд. |
0.0011 |
11= |
|
x |
|
|
2−2 |
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
т.к. цифра множителя =1, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
частичное произведение |
|
|
|
|
x |
|
|
2−2 y2 |
|
x |
|
|
2−2 y2 |
0.0011|1100 |
|
|||||||||
|
добавляется к общему |
0.0011 |
11= |
|
|
|
|
|
|
||||||||||||||||
|
результату (y2=1=> результат |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.1011|0100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
не обнулиться) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
3 |
Сдвигаем вправо на 1 разряд. |
0.0001 |
111= |
|
|
|
x |
|
|
2−3 |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
т.к. цифра множителя =1, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
частичное произведение |
|
|
|
|
|
|
|
x |
|
2−3 y3 |
|
x |
|
23 y3 |
|
|
||||||||
|
добавляется к общему |
0.0000 |
000= |
|
|
|
|
|
|
0.0000|0000 |
|
||||||||||||||
|
результату (y3=0=> результат |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
обнулиться) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.1011|0100 |

|
№ |
|
|
Действие |
|
|
|
|
|
|
|
|
|
|
|
|
|
Общий |
Добавка |
Частичные |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
результат |
|
суммы |
||||
|
4 |
Сдвигаем вправо на 1 разряд |
|
0.0000 |
1111= |
|
x |
|
|
2−4 |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
т.к. цифра множителя =1, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
частичное произведение |
|
|
|
|
x |
|
|
2−4 |
y4 |
|
x |
|
2 |
−4 |
y4 |
0.0000|0000 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
добавляется к общему |
|
0.0000 |
0000= |
|
|
|
|
|
|
|||||||||||||
|
|
результату (y4=0=> результат |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.1011|0100 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
не обнулиться) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Итого: |
0.1011|0100 |
|
Знак произведения находится независимо от цифровой части; и определяется на основе |
|||||||||||||||||||||||
|
операции сложения по модулю 2: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
SignZ = Singnx Signy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
Таблица истинности: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
x1 |
|
x2 |
x1 x2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
0 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SignZ =1 0 =1, то есть знак результата - отрицательный. |
|
|
|
|
|||||||||||||||||||
|
Ответ: [Z ]ÏÊ |
=1.10110100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
В десятичной системе: |
= −(11 161 + 4 160 )(10) |
= −(11 16 + 4)(10) = −(176 + 4)(10) |
= −(180)(10) |
||||||||||||||||||||
|
Z = −10110100 = −B4(16) |
|||||||||||||||||||||||
|
|
|
B |
4 |
(2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ответ: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
[Z ]ÏÊ |
=1.10110100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Z = −10110100(2) = −B4(16) |
= −180(10) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6. Форматы команд.
(ОТК, лекция 01.12.2003; )
Правила выборки операндов определяется режимом адресации.
Форматы команд:
1.Четырёхадресная
2.Трёхадресная
3.Двухадресная
4.Одноадресная
5.Безадресная
1)Четырёхадресная команда
* - обобщённая операция (логическая или арифметическая)
A3 - ячейка оперативной памяти или регистр общего назначения
КОП A1 A2 A3 A4
(A1) (A2)→ A3 , где A4 - адрес следующей выполняемой команды. Принцип явной
адресации на сегодня не используется.
По адресу A1 выбирается первый операнд, по A2 - второй. А3 - используется для записи результата

2) Трёхадресная команда
(A1) (A2)→ A3
КОП A1 A2 A3
Способы кодирования адресов определяются следующим: некоторые команды из системы команд могут обрабатывать операнды, которые хранятся не в ячейке оперативной памяти, а в регистрах общего назначения процессора, причём обрабатываемый операнд может оказаться ненужным и на его место может быть помещён результат.
Работа процессора при выполнении команды:
1)считывание команды в устройство управления и её расшифровка;
2)По адресам A1 и A2 операнды считываются из ячеек ОП или РОН и загружаются в рабочие регистры АЛУ.
3)По команде из устройств управления выполняется операция
4)Результат из рабочего регистра АЛУ заносится в оперативную память или в один из регистров общего назначения по адресу A3.
3) Двухадресная команда
Начиная с машин III-го поколения - система команд двухадресная.
КОП A1 A2
В двухадресной команде третий адрес берётся по умолчанию (начиная с машин III поколения - система команд двухадресная).
4) Одноадресная команда
Пример: инкремент / декремент i=i+1; i=i-1
КОП A1
Для одноадресной команды два поля берутся по умолчанию и записываются в некоторый регистр результата (?):
Пример: a=b+c
Требуется только две дополнительных команды, в то время как система команд стала короче, и, следовательно, программа выполняется быстрее.
5) Безадресная система команд
КОП * (регистр центрального процессора)
КОП