- •Глава 2 Архитектура системы команд
- •Классификация по месту хранения операндов
- •Стековая архитектура
- •Аккумуляторная архитектура
- •Типы и форматы операндов
- •Упакованные целые числа
- •Разрядность основных форматов числовых данных
- •Размещение числовых данных в памяти
- •Символьная информация
- •Логические данные
- •Прочие виды информации
- •Видеоинформация
- •Аудиоинформация
- •Типы команд
- •Команды пересылки данных
- •Команды арифметической и логической обработки
- •Операции с целыми числами
- •Операции с числами в форме с плавающей запятой
- •Логические операции
- •Операции сдвигов
- •Операции с десятичными числами
- •Simd-команды
- •Адресность и эффективность использования памяти
- •Способы адресации операндов
- •Непосредственная адресация
- •Выбор системы операций на основе структурирования алгоритмов
Выбор системы операций на основе структурирования алгоритмов
Метод структурирования алгоритмов предполагает следующую формулировку задачи выбора системы операций: необходимо выбрать такую систему Fn, которая обеспечивает реализацию алгоритма A за заданное время Т= Tдоп при минимальной стоимости ВМ.
Иерархия операций Flt..., Fp, функционально полных для алгоритма А, может быть определена процедурой структурирования [22], сводящейся к следующему. Алгоритм А рассматривается как один оператор, реализующий операцию f1 над исходными данными с целью получения требуемых результатов, то есть f1 = {f1}• Затем оператор разделяется на части — программируется последовательностью более простых операторов. Последовательное применение процедуры структурирования (разделения оператора на более простые операторы) позволяет выявить системы операций F1 = {f1}, F2 = {f2,f3}, F3 = {f3,f4,f5}, F4 = {f4,f5,f6.f7},…., и тем самым построить иерархию операций Flt..., Fр. Для каждой операции в Ft можно определить количество ng ее выполнений при одной реализации алгоритма. Тогда сумма
(2.21)
будет представлять количество операций, выполняемых при одной реализации алгоритма, запрограммированного в терминах F,. Характеристики элементной базы позволяют задать приближенное значение средней длительности ,- операции в ВМ. С учетом этого время выполнения алгоритма на основеFt составит , что дает возможность поставить в соответствие иерархии систем операцийF,,..., Fp затраты времени на реализацию алгоритма Т..., Тр, причем Т1 < ... < Тр. Можно предположить, что минимум аппаратных затрат достигается при Fn e {F1,..., Fp], обеспечивающей время реализации алгоритма Тп, максимально близкое к заданному значению Тдоп. В силу сказанного, выбор системы операций сводится к нахождению такой системы Fn, для которой разность (Tдоп – Тn) имеет минимальное положительное значение.
Контрольные вопросы
1. Какие характеристики вычислительной машины охватывает понятие «архитектура системы команд»?
2. Охарактеризуйте эволюцию архитектур системы команд вычислительных машин.
3. В чем состоит проблема семантического разрыва?
4. Поясните различия в подходах по преодолению семантического разрыва, применяемых в ВМ с CISC- и RISC-архитектурами.
5.Какая форма записи математических выражений наиболее соответствует стековой архитектуре системы команд и почему?
6. Какие средства используются для ускорения доступа к вершине стека в ВМ со стековой архитектурой?
7. Чем обусловлено возрождение интереса к стековой архитектуре?
8.Какие особенности аккумуляторной архитектуры можно считать ее достоинствами и недостатками?
9. Какие доводы можно привести за и против увеличения числа регистров общего назначения в ВМ с регистровой архитектурой системы команд?
10.Почему для ВМ с RISC-архитектурой наиболее подходящей представляется АСК с выделенным доступом к памяти?
11. Какую позицию запятой в формате с фиксированной запятой можно считать общепринятой?
12. Чем в формате с фиксированной запятой заполняются избыточные старшие разряды?.
13. Какое минимальное количество полей должен содержать формат с плавающей запятой?
14.Как в формате с плавающей запятой решается проблема работы с порядкам; имеющими разные знаки?
15.В чем состоит особенность трактовки нормализованной мантиссы в стандарт IEEE 754?
16.От чего зависят точность и диапазон представления чисел в формате с плавающей запятой?
17.Чем обусловлено появление форматов с упакованными числами в современных микропроцессорах?
18.Какие факторы влияют на выбор разрядности целых чисел?
19.Сказывается ли на производительности ВМ порядок следования в памяти байтов «длинного» числа и выбор адреса, с которого начинается запись числа?
20.По какому признаку при передаче потока десятичных чисел можно определить окончание одного числа и начало следующего?
21.Какой общий принцип лежит в основе различных таблиц кодировки символов?
22. Чем обусловлен переход от кодировки ASCII к кодировке Unicode?
23.В чем состоит особенность обработки логических данных?
24. Какие трактовки включает в себя понятие «строка»?
25.Перечислите способы представления графической информации и охарактеризуйте особенности каждого из них.
26. Каким образом в вычислительной машине представляется аудиоинформация?
27. Какой вид команд пересылки данных характерен для ВМ с RISC-архитектурой?
28. Чем вызвана необходимость заполнения освободившихся разрядов значением знакового разряда при арифметическом сдвиге вправо?
29. В чем состоит особенность SIMD-команд и в каком формате должны быть представлены операнды?
30. Что такое «арифметика с насыщением» и где она применяется?
31. Какие виды команд относят к командам ввода/вывода?
32. Какие виды команд условного перехода обычно доминируют в реальных программах?
33. Какие факторы определяют выбор формата команд?
34. Перечислите возможные пути сокращения длины кода команды.
35.Какая особенность фон-неймановской архитектуры позволяет отказаться от указания в команде адреса очередной команды?
36. Какие факторы необходимо учитывать при выборе оптимальной адресности команд?
37. С какими ограничениями связано использование непосредственной адресации ?
38. В каких случаях может быть удобна многоуровневая косвенная адресация?
39. Какие преимущества дает адресация относительно счетчика команд?
40. В чем проявляются сходство и различия между базовой и индексной адресацией?
41. В чем состоит сущность автоиндексирования и в каких ситуациях оно применяется?
42. С какой целью применяется адресация с масштабированием?
43. Какие способы адресации переходов используются в командах управления потоком команд?
44. Как можно оценить эффективность системы операций при разработке архитектуры системы команд?
45. Охарактеризуйте основные методики проектирования и оценки системы команд.