- •17 Базовые типы операндов: данные логического типа, строки, адреса
- •18 Базовые типы операндов: числа, разрядность основных форматов, размещение в памяти
- •19, 20 Данные символьного типа: общие сведения, принципы кодирования, стандарты ascii и iso 8859, кодовые страницы, юникод.
- •21. Архитектура на основе общей магистрали. Характеристики системной магистрали.
- •22. Алгоритм функционирования системной магистрали. Взаимодействие устройств.
- •23. Иерархия магистралей: двух- и трехшинная архитектура.
- •24. Шинный арбитраж: предпосылки введения, схемы приоритетов.
- •25. Шинный арбитраж: алгоритмы динамического изменения приоритетов.
- •26. Централизованный параллельный и многоуровневый арбитраж шины.
- •27. Централизованный последовательный арбитраж.
- •28. Децентрализованный арбитраж шин.
- •29. Опросные схемы арбитража шин.
- •30. Протокол шины: понятие, виды протоколов. Транзакции синхронной шины.
- •31. Асинхронные протоколы шины: транзакции, тайм-ауты.
- •32. Пакетный режим пересылки информации. Конвейеризация транзакций.
- •33. Расщепление транзакций. Увеличение полосы пропускания шины.
- •Локализация данных;
- •Управление и синхронизация
- •Обмен информацией
- •Буферизация данных
- •Обнаружение ошибок
- •36. Структурная организация модуля ввода-вывода.
- •37. Алгоритм обмена информацией между центральным процессором и внешним устройством.
- •38 Способы организации ввода-вывода. Программно управляемый ввод-вывод.
- •39. Команды, используемые при программно управляемом вводе-выводе.
- •40. Механизм ввода-вывода по прерываниям
- •41. Методы идентификации устройств, запрашивающих прерывание.
- •42. Векторные прерывания: принципы реализации, виды.
- •43 Приоритеты прерываний. Отличие последовательной обработки прерываний от обработки вложенных прерываний.
- •44. Контроллер прямого доступа к памяти: состав и назначение компонентов, инициализация.
- •45. Алгоритм обмена на основе пдп. Буферизация данных.
- •Варианты реализации механизма пдп. Достоинства и недостатки.
- •Понятия канала ввода-вывода и процессора ввода-вывода.
- •Канальная программа. Управляющее слово канала.
- •Алгоритм функционирования канала ввода-вывода. Способы организации взаимодействия ву с каналом.
- •Режимы канала ввода-вывода.
- •Методы доступа к данным в памяти компьютера.
- •Параметры оценки быстродействия памяти.
- •Иерархическая архитектура памяти компьютера: предпосылки внедрения, принципы реализации и функционирования.
- •Локальность по обращению: виды, использование в архитектурных решениях.
- •Иерархия памяти компьютера: характеристики, описание уровней.
- •Основная память компьютера: назначение, типы запоминающих устройств, способы организации.
- •57 Адресная организация памяти
- •58. Блочная организация памяти: назначение, виды, факторы эффективности применения
- •59. Расслоение памяти и чередование адресов: назначение, принцип реализации
- •60. Ассоциативная память: логическая организация, функционирование
- •63 Логическая и функциональная организация кэш-памяти прямого отображения.
- •64 Логическая и функциональная организация полностью ассоциативной кэш-памяти.
- •65 Логическая и функциональная организация множественно-ассоциативной кэш-памяти.
- •66 Алгоритмы замещения информационных блоков в кэш-памяти: назначение, виды, реализация.
- •67 Согласование содержимого кэш-памяти и оп. Стратегии записи в кэш-памяти.
- •68 Многоуровневая кэш-память. Принстонская и гарвардская архитектуры кэш-памяти.
- •69 Виртуализация памяти компьютеров: предпосылки внедрения, принцип реализации, виды виртуальной памяти.
- •70 Концепция страничной организации памяти. Взаимодействие виртуальной памяти с кэш-памятью.
- •71 Варианты реализации страничной таблицы. Tlb.
- •72 Ограничения страничной организации памяти. Сегментация памяти.
- •73 Проблемы динамического распределения памяти при сегментации. Сегментно-страничная организация памяти.
- •74 Метод колец защиты памяти.
- •75 Метод граничных регистров памяти.
- •76 Защита памяти по ключам.
- •Концепция raid: принципы построения массивов дисковой памяти, назначение, способы реализации.
- •78. Дисковые массивы raid уровней 0, 1, 10: назначение, принципы реализации, свойства.
- •79. Дисковые массивы raid уровней 5, 6: назначение, принципы реализации, свойства.
- •81. Прерывания: фаза прерывания, поток данных, классы прерываний.
- •82. Арифметический конвейер: назначение, принципы реализации. Понятие суперковейера.
- •83. Конвейерная обработка данных: предпосылки внедрения, принципы реализации, способы синхронизации ступеней.
- •1. Синхронный конвейер
- •2. Асинхронный конвейер
- •84. Синхронный конвейер: реализация 6-ступенчатого конвейера, метрики эффективности, оценка выигрыша от внедрения.
- •Ускорение
- •2. Эффективность
- •3 . Пропускная способность (производительность)
- •85. Виды рисков синхронного конвейера.
- •86. Методы снижения приостановок конвейера.
- •88. Risc-архитектура: средства оптимизации использования регистров.
- •89. Параллелизм уровня команд. Концепция vliw-архитектуры.
- •90. Суперскалярные компьютеры: принципы построения, структура процессора.
- •1) Преобразовать выражение в постфиксную форму;
- •2) Показать последовательность стековых операций при использовании полиз.
Вопросы АК.
|
Базовые функции компьютера: обработка данных (обработка данных от памяти к вводу-выводу, обработка данных из памяти), хранение данных, перемещение данных, управление. Компьютер является объектом, способным взаимодействовать с внешней по отношению к нему средой через связи, которые можно разделить на две группы: связи с локальным периферийным оборудованием и связи для передачи данных на большое расстояние. |
|
Под архитектурой компьютера (computer architecture) обычно понимается его логическое построение, то есть то, каким компьютер представляется программисту. Термин введен фирмой IBM при разработке машин семейства IBM 360 для описания средств, доступных программисту, составляющему программу на уровне машинных команд. Он охватывает: перечень и формат команд, формы представления данных, механизмы ввода-вывода, способы адресации памяти и т.п. Подобная трактовка исключает из рассмотрения вопросы физического построения вычислительных средств: состав устройств, число регистров процессора, емкость памяти, наличие специального блока для обработки вещественных чисел, тактовая частота центрального процессора и т.д. Этот круг вопросов принято определять понятием организация или структурная организация. |
|
|
|
Сущность фон-неймановской концепции(концепции хранимой программы) ВМ сводится к принципам:
|
|
У стройство оперативной памяти содержит множество ячеек, каждая из которых имеет свой числовой идентификатор — адрес. В каждой ячейке оперативной памяти хранится число, которое может быть интерпретировано и как элемент данных, и как команда. ЦП должен обмениваться с памятью данными и извлекать из нее команды программы. Для взаимодействия с оперативной памятью в составе ЦП имеются, как минимум, два регистра (внутренних элементов памяти): регистр адреса памяти (MAR), регистр данных памяти (MBR). В регистре MAR формируется адрес ячейки памяти для выполнения записи или чтения. Регистр MBR служит для временного хранения данных, записываемых в память или считанных из памяти. Регистр адреса внешнего устройства I/OAR служит для хранения кода требуемого устройства ввода-вывода. Регистр данных внешнего устройства I/OBR — для временного хранения данных, передаваемых в устройство ввода-вывода или получаемых из него. Модуль ввода-вывода передает данные от внешнего устройства в ЦП или в память и обратно, для чего в его состав входят внутренние буфера для временного хранения передаваемых данных. |
|
Цикл выполнения команды – процесс обработки отдельной команды. Завершив выполнение одной команды, компьютер начинает выполнять следующую. Граф переходов: ------------------------Обмен данными между ЦП и памятью или модулем ввода-вывода------------------------
-------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------- Внутренние операции ЦП -----------------------------------------------------
|
|
Основные понятия. Команда – цифровая информация, обеспечивающая выработку в компьютере электронных сигналов, необходимых для выполнения определенного действия с его стороны над заданными операндами. Система команд компьютера – полный перечень команд, которые способен выполнять данный компьютер. Архитектура системы команд (АСК) – те средства компьютера, которые видны и доступны программисту. Свойства АСК. С точки зрения разработчика аппаратуры, АСК – один из основных компонентов технического задания на разработку, определяющий функциональные возможности ЦП. АСК можно рассматривать как линию согласования нужд разработчиков программного обеспечения с возможностями создателей аппаратуры компьютера. Общая характеристика АСК. Формируется из ответов на следующие вопросы:
|
|
|
|
Компоненты команды. Каждая машинная команда должна содержать данные, необходимые для однозначной ее интерпретации и выполнения процессором. Типовая команда, в общем случае, должна указывать: подлежащую выполнению операцию, адреса исходных данных (операндов), над которыми выполняется операция, адрес, по которому должен быть помещен результат операции. В соответствии с этим команда состоит из двух частей: операционной и адресной. информация об исходных данных и результате операции в машинной команде может относится к одному из трех компонентов компьютера: ОП или виртуальная память, регистр ЦП, устройство ввода-вывода. Формат команды. Формат команды определяет ее структуру, то есть количество двоичных разрядов, отводимых под всю команду, а также количество и расположение отдельных полей команды. Полем называется совокупность двоичных разрядов, кодирующих составную часть команды. В большинстве современных компьютеров используется несколько вариантов формата команды. Операционная часть. Содержит код операции, который задает тип операции (сложение, пересылка и т.д.). Число двоичных разрядов, необходимых для представления кода операции, выбирается таким, чтобы можно было представить все выполняемые компьютерные операции. В общем случае, если компьютер выполняет M различных инструкций, то число разрядов, отводимых для операционной части команды, |
|
Символическое представление команды. Двоичное представление кода операции неудобно в использовании программистами. Поэтому код операции часто представляют символической мнемоникой. Например: ADD (сложение), SUB (вычитание), MPY/MUL (умножение), DIV (деление), LOAD (загрузка элемента данных из памяти), STOR (сохранение элемента данных в памяти). Операнды также чаще всего представляются символически. Выбор формата команды влияет на многие характеристики компьютера. Оценивая возможные форматы, нужно учитывать следующие факторы: общее число различных команд, общую длину команды, тип полей команды (фиксированной или переменной длины) и их длину, простоту декодирования, адресуемость и способы адресации, стоимость оборудования для декодирования и исполнения команд. |
|
П о умолчанию в качестве адреса результата берется адрес одного из операндов.
Выделение определенного стандартного места для хранения первого операнда и результата.
Если для обоих операндов указать четко заданное местоположение, а также в случае команд, не требующих операнда, можно получить нульадресный формат команды |
|
Непосредственная (литеральная) адресация. Операнд – является частью команды и расположен в адресном поле команды. Например: ADD 5. 5 – операнд. Свойства: никакие дополнительные операции с памятью не требуются, повышается скорость обработки команд, ограниченный диапазон значений операнда. Прямая адресация. Адресное поле содержит исполнительный адрес операнда: ЕА = А. Например: ADD A - в качестве операнда используется содержимое ячейки А. Свойства: для выборки операнда требуется обращение к ячейке А, никакие специальные вычисления не нужны, возможность работать в сравнительно небольшом адресном пространстве. Регистровая адресация. Адресное поле содержит идентификатор регистра процессора: EA=R. При размер адресного поля 3 или 4 бит возможно адресовать 8 или 16 РОНов (регистров общ. назначения) процессора. Свойства: малый размер адресного поля, отсутствие дополнительных обращений к памяти, высокая скорость выполнения, выборка операндов из небольшого количества регистров. |
|
Адресация со смещением. Принцип получения исполнительного адреса: EA=A+(R). В коде команды должно быть два адресных поля: А – используется непосредственно, R – указывает на регистр, содержимое которого суммируется с А. Адресное поле R может отсутствовать в случае подразумеваемого адреса (неявной адресации), определяемого кодом операции. Существует три разновидности: относительная адресация, адресация через регистр базы, индексная адресация. Относительная адресация. Для вычисления исполнительного адреса содержимое адресного поля А команды суммируется с адресом текущей команды. EA = A + (PC). Программный счетчик (PC) является неявно указываемым регистром. Базируется на концепции локальности ссылок, т.е. предположении, что большинство операндов размещено недалеко от команд, в которых они используются. Адресация через регистр базы. EA=(R)+A. Интерпретация содержимого полей адресной части команды: регистр R содержит адрес в памяти (база), поле А содержит смещение относительно базового адреса. R задается явно или подразумевается (если в процессоре существует специальный базовый регистр). Применяется при сегментации. Также учитывает свойство локализации ссылок. |
|
Стековая адресация. Стек иногда называют магазинным списком (pushdown list) или списком с дисциплиной обслуживания в обратном порядке (LIFO – «последним вошел, первым вышел»). Для стека выделяется определенная область в оперативной или сверхоперативной памяти (регистры процессора). Виды стека: растущий вверх (адреса по мере добавления элементов растут), растущий вниз (адреса по мере добавления элементов уменьшаются), циклический (если стек дошел до граничного адреса, новые элементы будут добавляться начиная с основания). Управление стеком. Для работы со стеком необходимы три элемента: указатель стека – адрес вершины стека (текущего верхнего элемента - при добавлении в стек нового элемента или удалении из стека верхнего элемента значение указателя соответственно увеличивается или уменьшается), адрес основания стека – адрес «дна» стека – начальный адрес области памяти, выделенной под стек, граничный адрес стека – адрес другой (противоположной «дну» стека) границы области памяти, выделенной под стек. Операции, ориентированные на работу со стеком. Операция Описание PUSH Добавление нового элемента в вершину стека. POP Удаление элемента из вершины стека. Унарная операция Выполнение определенных действий с верхним элементом стека. Результат замещает элемент данных в вершине стека. Бинарная операция Выполнение определенных действий с двумя верхними элементами, которые удаляются из стека. Результат сохраняется на вершине стека.
|
|
Автоматизация вычисления выражений в ПОЛИЗ (Польской инверсионной записи) основана на использовании стека. Алгоритм вычисления для стековой машины:
Обратная польская запись совершенно унифицирована — она принципиально одинаково записывает унарные, бинарные, тернарные и любые другие операции, а также обращения к функциям, что позволяет не усложнять конструкцию вычислительных устройств при расширении набора поддерживаемых операций. Выражение ((1 + 2) * 4) + 3 в ПОЛИЗ может быть записано так: 1 2 + 4 * 3 + |
|
Индексная адресация. Указывается адрес начала массива, размер элемента и порядковый номер элемента в массиве. EA=(R)+A. Интерпретация содержимого полей адресной части команды: поле А указывает адрес в оперативной памяти (база), регистр R содержит положительное смещение (индекс) относительно базового адреса А. Применяется при обработке элементов массивов. Автоиндексация. После вычисления исполнительного адреса содержимое индексного регистра может автоматически модифицироваться.
ЕА = А+ (R); R <- (R) + 1 (постинкремент) или R <- (R) + 1; ЕА = А+ (R) (прединкремент).
ЕА = А + (R); R <- (R) – 1 (постдекремент) или R <- (R) – 1; ЕА = А + (R) (предекремент). Совмещенный режим адресации со смещением. Постиндексация – индексация выполняется после выборки адреса, заданного косвенно. Исполнительный адрес: ЕА= (А) + (R). В варианте преиндексации исполнительный адрес вычисляется следующим образом: EA=(A+(R)). |
17 Базовые типы операндов: данные логического типа, строки, адреса
Логические. Если рассматривать n-битовый элемент как объединение n независимых однобитовых элементов, то такие данные называются логическими. Достоинства: хранение больших массивов булевых величин (позволяет с максимальной эффективностью упаковать подобный массив в памяти), Манипулирование отдельными битами представления данных других типов (например, сдвиг разрядов мантиссы при программной обработке чисел в формате с плавающей точкой, преобразование кода ASCII в двоично-десятичный).
Строка. Строка – непрерывная последовательность битов, байтов, слов или двойных слов. Битовая строка может начинаться в любой позиции байта. Если байты байтовой строки представляют собой коды символов, то говорят о текстовой строке. Длина текстовой строки может меняться в очень широких пределах. Определение конца строки возможно посредством: занесения кода-ограничителя в последний байт, указания длины строки числом, располагаемым в ее первых байтах.
Адреса. Часто приходится выполнять вычислительные операции над содержимым полей адресной части команды, чтобы получить значение адреса в оперативной или виртуальной памяти. Адреса можно рассматривать как целые числа без знака.
18 Базовые типы операндов: числа, разрядность основных форматов, размещение в памяти
Процессоры обрабатывают числовые данные следующих трех типов: целые числа или числа в формате с фиксированной точкой, вещественные числа в формате с плавающей точкой, числа в двоично-десятичной системе счисления. В компьютере все операции выполняются только над двоичными кодами.
Разрядность основных форматов числовых данных.
Данные, представляющие в компьютере числовую информацию, могут иметь фиксированную или переменную длину. Целочисленные АЛУ, блоки обработки чисел с плавающей запятой, устройства десятичной арифметики и т. п., как правило, рассчитаны на обработку кодов фиксированной длины. Блоки операций с плавающей запятой обычно согласованы со стандартом IEEE 754. В приложениях, оперирующих десятичными числами, где количество цифр в числе может варьироваться в широком диапазоне, используют форматы переменной длины.
В современных компьютерах разрядность одной ячейки памяти, как правило, равна одному байту. Реальная длина кодов чисел составляет 2, 4, 8 или 16 байт. При хранении таких чисел в памяти последовательные байты числа размещают в нескольких ячейках с последовательными адресами, при этом для доступа к числу указывается только наименьший из адресов. При разработке архитектуры системы команд необходимо определить порядок размещения байтов в памяти.
19, 20 Данные символьного типа: общие сведения, принципы кодирования, стандарты ascii и iso 8859, кодовые страницы, юникод.
Текстовые данные, обрабатываемые в компьютере, представляют собой последовательность символов. Символы представляются в двоичной форме. Каждому символу ставится в соответствие определенная двоичная комбинация. Совокупность возможных символов и назначенных им двоичных кодов образует таблицу кодировки. Первая система представления символов текста в виде последовательности двоичных кодов – код Морзе. В настоящее время общепринятой является кодировка International Reference Alphabet (T.50), который рекомендован Международным союзом электросвязи ITU. Подмножеством кода T.50 на территории США является ASCII (American Standard Code for Information Interchange – Американский стандартный код для обмена информацией).
Стандарт ASCII регламентирует набор уникальных семибитовых кодов 128 символов, в число которых входят: прописные и строчные буквы латинского алфавита, цифры, знаки препинания, управляющие символы.
ISO 8859. Был распространен ранее. Используется в качестве внутреннего кода в универсальных компьютерах фирмы IBM. В СССР известен под названием ДКОИ (двоичный код обмена информацией). 1992 г. – введен стандарт ISO 8859 с целью упорядочить использование ASCII-совместимых кодовых страниц. Для кодирования используются все 8 разрядов. Европейская модификация ASCII – Latin 1 (стандарт ISO 8859-1). Дополнительные комбинации (коды 128-255) отводятся для представления: специфических букв алфавитов западно-европейских языков, символов псевдографики, некоторых букв греческого алфавита, ряда математических и финансовых символов.
Кодовая таблица ISO 8859-1 является мировым стандартом де-факто. В зависимости от использования кодов 128-255 различают несколько вариантов стандарта ISO 8859. В операционной системе MS-DOS реализован в форме кодовых страниц OEM (Original Equipment Manufacturer), каждая из которых имеет свой идентификатор. ISO 8859-5 содержит буквы многих языков, использующих кириллицу. Создана на базе «основной кодировки» (все русские буквы сохранили свое расположение, за исключением заглавной Ё). Не очень удобная кодировка, поскольку в ней отсутствуют многие нужные символы. В России и Украине почти не употребляется.
Для кодирования текстов на русском языке наиболее широко применяются следующие кодовые страницы:
в ОС Windows: Windows-1251 (другие наименования – Microsoft code page 1251 (CP1251), ANSI Cyrillic);
в ОС UNIX – семейство кодовых страниц KOI8;
в ОС DOS – «альтернативная кодировка», она же IBM code page 866;
на компьютерах Macintosh – MacCyrillic.
Windows-1259. Стандартная 8-битная кодировка для всех русских версий Microsoft Windows. Пользуется большой популярностью.
КОИ-8. 8-битовая ASCII-совместимая кодовая страница. Специально разработана с учетом возможных проблем со старшим битом. Существует несколько вариантов кодировки КОИ-8 для различных кириллических алфавитов: русский алфавит – KOI8-R, украинский – KOI8-U и т.д.
Юникод. 8-битные ASCII-совместимые коды достаточно удобны, но не вмещают множества необходимых символов. 1993 г. – консорциум компаний Apple Computer, Microsoft, Hewlett-Packard, DEC и IBM разработан стандарт ISO 10646. Введен новый 16-битный код, известный под названием Unicode («юникод»), позволяющий задавать до 65 536 символов. ISO 10646 состоит из двух основных разделов:
универсальный набор символов (UCS, Universal Character Set);
семейство кодировок (UTF, Unicode Transformation Format).
Универсальный набор символов задает однозначное соответствие символов кодам – элементам кодового пространства, представляющим неотрицательные целые числа. Семейство кодировок определяет машинное представление последовательности кодов UCS.