Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы 2008-2009.doc
Скачиваний:
20
Добавлен:
17.09.2019
Размер:
4.36 Mб
Скачать

Вопросы АК.

  1. Базовые функции компьютера общего назначения. Взаимодействие компьютера с информационной средой.

Базовые функции компьютера: обработка данных (обработка данных от памяти к вводу-выводу, обработка данных из памяти), хранение данных, перемещение данных, управление.

Компьютер является объектом, способным взаимодействовать с внешней по отношению к нему средой через связи, которые можно разделить на две группы: связи с локальным периферийным оборудованием и связи для передачи данных на большое расстояние.

  1. «Узость» понятия «Архитектура компьютера». Структурная организация компьютера.

Под архитектурой компьютера (computer architecture) обычно понимается его логическое построение, то есть то, каким компьютер представляется программисту. Термин введен фирмой IBM при разработке машин семейства IBM 360 для описания средств, доступных программисту, составляющему программу на уровне машинных команд. Он охватывает: перечень и формат команд, формы представления данных, механизмы ввода-вывода, способы адресации памяти и т.п.

Подобная трактовка исключает из рассмотрения вопросы физического построения вычислительных средств: состав устройств, число регистров процессора, емкость памяти, наличие специального блока для обработки вещественных чисел, тактовая частота центрального процессора и т.д.

Этот круг вопросов принято определять понятием организация или структурная организация.

  1. Уровни организации компьютера.

  • Уровень «черного ящика»: Входы -> Компьютер -> выходы

  • Уровень «общей архитектуры»: ЦП(центральный процессор), УВВ(устройства ввода-вывода), ОП(оперативная память), соединенные шиной

  • Уровень «архитектуры ЦП»: УУ(устройство управления), АЛУ(арифметико-логическое устройство), БПЗ(FPU - блок с плавающей запятой), Регисты, соединенные шиной

  • Уровень «архитектуры УУ»: Догика програмной последовательности, Регистры УУ, Память УУ, Логика формирования управления, все соединено шиной.

  1. Концепция фон Неймана.

Сущность фон-неймановской концепции(концепции хранимой программы) ВМ сводится к принципам:

  • двоичного кодирования; Вся информация, как данные, так и команды, кодируются двоичными цифрами 0 и 1.

  • программного управления; Все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов – команд. Команды программы хранятся в последовательных ячейках памяти

  • однородности памяти; Команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования.

  • адресуемости; Структурно основная память состоит из пронумерованных ячеек, причем процессору в произвольный момент доступна любая ячейка. (для доступа используются номера ячеек – адреса)

  1. Машина фон Неймана: принцип разработки, базовые компоненты.

У стройство оперативной памяти содержит множество ячеек, каждая из которых имеет свой числовой идентификатор — адрес. В каждой ячейке оперативной памяти хранится число, которое может быть интерпретировано и как элемент данных, и как команда. ЦП должен обмениваться с памятью данными и извлекать из нее команды программы.

Для взаимодействия с оперативной памятью в составе ЦП имеются, как минимум, два регистра (внутренних элементов памяти): регистр адреса памяти (MAR), регистр данных памяти (MBR).

В регистре MAR формируется адрес ячейки памяти для выполнения записи или чтения. Регистр MBR служит для временного хранения данных, записываемых в память или считанных из памяти.

Регистр адреса внешнего устройства I/OAR служит для хранения кода требуемого устройства ввода-вывода. Регистр данных внешнего устройства I/OBR — для временного хранения данных, передаваемых в устройство ввода-вывода или получаемых из него.

Модуль ввода-вывода передает данные от внешнего устройства в ЦП или в память и обратно, для чего в его состав входят внутренние буфера для временного хранения передаваемых данных.

  1. Цикл выполнения команды: состояния; детализированный граф переходов.

Цикл выполнения команды – процесс обработки отдельной команды. Завершив выполнение одной команды, компьютер начинает выполнять следующую.

Граф переходов:

------------------------Обмен данными между ЦП и памятью или модулем ввода-вывода------------------------

-------------------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------- Внутренние операции ЦП -----------------------------------------------------

  1. Архитектура системы команд: основные понятия, свойства, общая характеристика.

Основные понятия. Команда – цифровая информация, обеспечивающая выработку в компьютере электронных сигналов, необходимых для выполнения определенного действия с его стороны над заданными операндами. Система команд компьютера – полный перечень команд, которые способен выполнять данный компьютер. Архитектура системы команд (АСК) – те средства компьютера, которые видны и доступны программисту.

Свойства АСК. С точки зрения разработчика аппаратуры, АСК – один из основных компонентов технического задания на разработку, определяющий функциональные возможности ЦП. АСК можно рассматривать как линию согласования нужд разработчиков программного обеспечения с возможностями создателей аппаратуры компьютера.

Общая характеристика АСК. Формируется из ответов на следующие вопросы:

  • Какого вида данные будут представлены в компьютере и в какой форме?

  • Где эти данные могут храниться помимо основной памяти?

  • Каким образом будет осуществляться доступ к данным?

  • Какие операции могут быть выполнены над данными?

  • Сколько операндов может присутствовать в команде?

  • Как будет определяться адрес очередной команды?

  • Каким образом будут закодированы команды?

  1. Команды компьютера общего назначения: основные группы.

  1. Команды компьютера общего назначения: компоненты, формат, операционная часть.

Компоненты команды. Каждая машинная команда должна содержать данные, необходимые для однозначной ее интерпретации и выполнения процессором. Типовая команда, в общем случае, должна указывать: подлежащую выполнению операцию, адреса исходных данных (операндов), над которыми выполняется операция, адрес, по которому должен быть помещен результат операции.

В соответствии с этим команда состоит из двух частей: операционной и адресной.

информация об исходных данных и результате операции в машинной команде может относится к одному из трех компонентов компьютера: ОП или виртуальная память, регистр ЦП, устройство ввода-вывода.

Формат команды. Формат команды определяет ее структуру, то есть количество двоичных разрядов, отводимых под всю команду, а также количество и расположение отдельных полей команды. Полем называется совокупность двоичных разрядов, кодирующих составную часть команды. В большинстве современных компьютеров используется несколько вариантов формата команды.

Операционная часть. Содержит код операции, который задает тип операции (сложение, пересылка и т.д.). Число двоичных разрядов, необходимых для представления кода операции, выбирается таким, чтобы можно было представить все выполняемые компьютерные операции. В общем случае, если компьютер выполняет M различных инструкций, то число разрядов, отводимых для операционной части команды,

  1. Символическое представление команды. Критерии выбора формата команд.

Символическое представление команды. Двоичное представление кода операции неудобно в использовании программистами. Поэтому код операции часто представляют символической мнемоникой. Например: ADD (сложение), SUB (вычитание), MPY/MUL (умножение), DIV (деление), LOAD (загрузка элемента данных из памяти), STOR (сохранение элемента данных в памяти). Операнды также чаще всего представляются символически.

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

  1. Адресная часть команды компьютера общего назначения. Варианты реализации.

  • Ч етырехадресные команды

  • Трехадресные команды

  • Двухадресные команды

П о умолчанию в качестве адреса результата берется адрес одного из операндов.

  • Одноадресные команды

Выделение определенного стандартного места для хранения первого операнда и результата.

  • П олутораадресные команды

  • Нульадресные команды

Если для обоих операндов указать четко заданное местоположение, а также в случае

команд, не требующих операнда, можно получить нульадресный формат команды

  1. Режимы адресации: непосредственный, прямой, регистровый.

Непосредственная (литеральная) адресация. Операнд – является частью команды и расположен в адресном поле команды. Например: ADD 5. 5 – операнд. Свойства: никакие дополнительные операции с памятью не требуются, повышается скорость обработки команд, ограниченный диапазон значений операнда.

Прямая адресация. Адресное поле содержит исполнительный адрес операнда: ЕА = А. Например: ADD A - в качестве операнда используется содержимое ячейки А. Свойства: для выборки операнда требуется обращение к ячейке А, никакие специальные вычисления не нужны, возможность работать в сравнительно небольшом адресном пространстве.

Регистровая адресация. Адресное поле содержит идентификатор регистра процессора: EA=R. При размер адресного поля 3 или 4 бит возможно адресовать 8 или 16 РОНов (регистров общ. назначения) процессора. Свойства: малый размер адресного поля, отсутствие дополнительных обращений к памяти, высокая скорость выполнения, выборка операндов из небольшого количества регистров.

  1. Адресация со смещением: общие принципы, относительная адресация, адресация через регистр базы.

Адресация со смещением. Принцип получения исполнительного адреса: EA=A+(R). В коде команды должно быть два адресных поля: А – используется непосредственно, R – указывает на регистр, содержимое которого суммируется с А. Адресное поле R может отсутствовать в случае подразумеваемого адреса (неявной адресации), определяемого кодом операции. Существует три разновидности: относительная адресация, адресация через регистр базы, индексная адресация.

Относительная адресация. Для вычисления исполнительного адреса содержимое адресного поля А команды суммируется с адресом текущей команды. EA = A + (PC). Программный счетчик (PC) является неявно указываемым регистром. Базируется на концепции локальности ссылок, т.е. предположении, что большинство операндов размещено недалеко от команд, в которых они используются.

Адресация через регистр базы. EA=(R)+A. Интерпретация содержимого полей адресной части команды: регистр R содержит адрес в памяти (база), поле А содержит смещение относительно базового адреса. R задается явно или подразумевается (если в процессоре существует специальный базовый регистр). Применяется при сегментации. Также учитывает свойство локализации ссылок.

  1. Стековая адресация: принципы реализации, виды стека, управление стеком, стек-ориентированные операции.

Стековая адресация. Стек иногда называют магазинным списком (pushdown list) или списком с дисциплиной обслуживания в обратном порядке (LIFO – «последним вошел, первым вышел»). Для стека выделяется определенная область в оперативной или сверхоперативной памяти (регистры процессора).

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

Управление стеком. Для работы со стеком необходимы три элемента: указатель стека – адрес вершины стека (текущего верхнего элемента - при добавлении в стек нового элемента или удалении из стека верхнего элемента значение указателя соответственно увеличивается или уменьшается), адрес основания стека – адрес «дна» стека – начальный адрес области памяти, выделенной под стек, граничный адрес стека – адрес другой (противоположной «дну» стека) границы области памяти, выделенной под стек.

Операции, ориентированные на работу со стеком.

Операция Описание

PUSH Добавление нового элемента в вершину стека.

POP Удаление элемента из вершины стека.

Унарная операция Выполнение определенных действий с верхним элементом стека.

Результат замещает элемент данных в вершине стека.

Бинарная операция Выполнение определенных действий с двумя верхними элементами, которые удаляются

из стека. Результат сохраняется на вершине стека.

  1. Выполнение арифметических операций в компьютере со стековой архитектурой. ПОЛИЗ.

Автоматизация вычисления выражений в ПОЛИЗ (Польской инверсионной записи) основана на использовании стека. Алгоритм вычисления для стековой машины:

  • Обработка входного символа

    • Если на вход подан операнд, он помещается на вершину стека.

    • Если на вход подан знак операции, то соответствующая операция выполняется над требуемым количеством значений, извлечённых из стека, взятых в порядке добавления. Результат выполненной операции кладётся на вершину стека.

  • Если входной набор символов обработан не полностью, перейти к шагу 1.

  • После полной обработки входного набора символов результат вычисления выражения лежит на вершине стека.

Обратная польская запись совершенно унифицирована — она принципиально одинаково записывает унарные, бинарные, тернарные и любые другие операции, а также обращения к функциям, что позволяет не усложнять конструкцию вычислительных устройств при расширении набора поддерживаемых операций.

Выражение ((1 + 2) * 4) + 3 в ПОЛИЗ может быть записано так: 1 2 + 4 * 3 +

  1. Адресация с индексированием: общие принципы, разновидности.

Индексная адресация. Указывается адрес начала массива, размер элемента и порядковый номер элемента в массиве. 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.