Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

otvety_na_bolshinstvo_biletov

.docx
Скачиваний:
33
Добавлен:
10.05.2015
Размер:
276.4 Кб
Скачать

1.Основные понятия и определения

Вычисл машина-это устройство которое принимает и обрабатывает данные в соответствии с хранимой программой,генерирует результаты и обычно состоит и блоков ввода,вывода,памяти,АЛУ и устройства управления ; функциональный блок способный выполнять вычисления, включающий множественные логические и арифметические операции без участия человека в процессе этих вычислений ; устройство способное хранить программы или программы обработки и по меньшей мере информацию необходимую для выполения программ, быть свободным перепрограммированным в соответствии с требованиями пользователем, выполнять арифм и логич вычисления определяемые пользователем, выполнять без вмешательства человека программу обработки требующую изменения действия путем принятия логических решений ; (!) совокупность технических спредств создающая возможность проведения обработки информации и получение результатов в необходимой форме. Вычисл система-совокупность взаимосвязанных и взаимодействующих вычисл машин переферийного оборудования и программного обеспечения предназначенная для подготовки и решения задач пользователя. Архитектура вычисл машин-логическое построение вычисл машины,те то какой машина представляется программисту(термин приименен впервые при разработки IBM360 в 1964) Подобную трактовку называют узкой и охватывает она перечень и форматы команд, формы представления данных,механизмы ввода-вывода, методы организации памяти итд.из рассмотрения при этом выпадают вопросы физич построения вычисл средств:емкосьт памяти. Наличие сопроцессора,тактовое число и тд.Этот круг вопросов ринято определять как организация.Арх-ра и орг-ия-это 2стороны описания вычисл машины. Комп-ры разрабатываются с использованием разных уровней абстракции.Эти уровни меняются,другие представляют аппаратные средства которые кроются в иерархической системе: элементарные логич схемы, типовые схемо-технич узлы,функциональные узлы эвм,ЦП/сист памяти/подсистема вв-выв…,арх-ра сист команд, компилятор/ассемблер/ос, прикладное ПО.

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

Принципы построения ЦВМ:

  1. Дискретное представление и преобразование данных.

  2. Автоматическое выполнение преобразований по заданной программе.

  3. Принцип хранимой в памяти программы. Реализлван в 1949 году

3. Структурная организация классической ЭВМ. Это машина, описанная Нейманом, которая реализует эти идеи.

АЛУ – арифметическо логическое устройство.

УУ – устр-во управления

УВВ – ус-во ввода-вывода

ПУ – пульт управления

ОП – оперативная память

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

4. Уровни абстракции при описании вычислительных машин- Как и большинство сложных систем, компьютеры разрабатываются с использованием разных уровней абстракции. Эти уровни меняются от машины к машине. Некоторые из них соответствуют программному обеспечению, другие представляют собой аппаратные средства.

Аппаратные средства ВМ строятся по иерархической схеме.

1-й уровень: элементарные логические схемы.

2-й уровень: типовые схемотехнические узлы.

3-й уровень: функциональные узлы ЭВМ.

4-й уровень: подсистемы ЭВМ.

5-й уровень: …

6-й уровень: архитектура системы команд.

5.Представление числовой информации в ЭВМ. Информационные данные представляются в разных системах счисления. Системы счисления – способ записи чисел. Существуют позиционная и непозиционная системы. В позиционных – каждый знак имеет разный вес в зависимости от позиции (арабские цифры).

Непозиционная – римская система счисления. В науке и технике используют только позиционную систему счисления. Количество разных цифр – основание системы счисления. В жизни основание 10, но это сложно реализовать на ЭВМ, поэтому в технике используют двоичную (0), (1) – работоспособность увеличивается. Почти все современные машины двоичные. Но для человека двоичный код неудобен. Т.к. 100000 имеет 20 разрядов. Поэтому для представления 2-х кодов применяются 8-ричные и 16-ричные коды.

6. Арифметические основы ЭВМ. Кодирование отрицательных чисел.

1) Прямое кодирование

Отрицательное число записывается теми же цифрами, что и равное положительное, но под числом ставится знак «минус».

В двоичных сигналах: «0»-«+»; «1»-«-»

2) Инверсное кодирование

Код отрицательного числа получается путем инверсии разрядов кодов положительного числа:

00101011

прямое 10101011

инверсное 11010100

3) Дополнительное кодирование.

Изменяются все разряды и к младшему знаку добавляется 1: 11010101.

Числовые форматы. Форматы с фиксированной запятой в настоящее время применяется только для кодирования целых чисел, т.е. положение запятой справа от кода. Существуют форматы 1, 2, 4, 8 байт.

Самый старший разряд – знак. Числа кодируются дополнительным кодом. Единственная разница в разных компьютерах – нумерация битов, и байт. В персональных машинах самый младший разряд 0, в IBM – самый старший 0 (Проблемы в сети, поэтому приходиться интерпретировать).

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

Десятичный формат. В нем кодируется каждая цифра десятичной системы счисления. Существует 2 варианта формата: упакованный и неупакованный. В упакованном формате под каждую цифру отводится 4 бита (меньше нельзя). Положение запятой в коде не указывается. Этот формат используется для обработки чисел. Неупакованный формат отводит байт под каждую цифру. Такой формат используется при вводе-выводе (отдельно вводится каждая цифра, а за тем они совмещаются).

7. Особенности современных ЭВМ. Программы составляются для выполнения на вычислительных системах, при этом традиционно используемые системы, реализующие принцип программного управления Джона фон Неймана (последовательные ЭВМ) [3], в настоящее время разрабатываются так, что программы, написанные для одной последовательной ЭВМ, можно практически без изменений переносить на другие, хотя и здесь, конечно, имеются архитектурные различия, например длина машинного слова. Тем не менее, последовательное программирование достаточно унифицировано и проблемы переноса программ с одной машины на другую не слишком сложны, так как в их основе лежит одна и та же модель организации вычислений.

8. Сложение и вычитание чисел с фикс. точкой. 1 Сложение (вычитание). Операция вычитания приводится к операции сложения путем преобразования чисел в обратный или дополнительный код. Пусть числа A=>O и В=>О, тогда операция алгебраического сложения выполняется в соответствии с табл.

Требуемая операция

Необходимое преобразование

А+В

А-В

-А+В

-А-В

А+В

А+(-В)

(-А)+В

(-А)+(-В)

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

1. Слагаемые должны иметь одинаковое число разрядов. Для выравнивания разрядной сетки слагаемых можно дописывать незначащие нули слева к целой части числа и незначащие нули справа к дробной части числа.

2. Знаковые разряды чисел участвуют в сложении так же, как и значащие.

3. Необходимые преобразования кодов (п.2.3.1) производятся с изменением знаков чисел. Приписанные незначащие нули изменяют свое значение при преобразованиях по общему правилу.

4. При образовании единицы переноса из старшего знакового разряда, в случае использования ОК, эта единица складывается с младшим числовым разрядом. При использовании ДК единица переноса теряется. Знак результата формируется автоматически, результат представляется в том коде, в котором представлены исходные слагаемые.

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

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

Рассмотрим пример:

17

множитель

*

12

множимое

34

первое частичное произведение

17

второе частичное произведение

100

перенос

204

результирующее произведение

Поскольку множитель состоит из двух разрядов, получаются два частичных произведения, сложение которых вызывает перенос в разряд сотен.

В двоичной форме:

0001 0001

множимое 1710

*

0000 1100

множитель 1210

0000 0000

первое частичное произведение

0000 0000

второе

0001 0001

0001 0001

0000 0000

0000 0000

0000 0000

0000 0000

восьмое частичное произведение

000 0000 0000 0000

перенос

0000 0000 1100 1100

результат 20410

Перенос всегда будет равен 0, т.к. при умножении двоичных цифр его не возникает. Итак, получено восемь частичных произведений, поскольку множитель состоит из 8 разрядов. Третье частичное произведение - копия множимого, только оно сдвинуто относительно множимого на два двоичных разряда, поскольку для получения этого частичного произведения в качестве множителя используется значение третьего разряда, равного 1. Аналогично четвертое частичное произведение. Остальные равны нулям, как и соответствующие им разряды множителя. Сложение всех частичных произведений и дает конечный результат.

Создан способ выполнения двоичного умножения, получивший название умножения путем сдвига и сложения. Перечислим основные правила этого способа:

1. Формирование первого частичного произведения. Если значение младшего разряда множителя равно 0, то и результат равен 0, если значение этого разряда равно 1, то результат является копией множимого.

2. Правило сдвига. При использовании очередного разряда множителя для формирования частичного произведения производится сдвиг множимого на один разряд влево.

3. Правило сложения. Каждый раз, когда значение разряда множителя равно 1, к результату необходимо прибавить множимое, расположенное в позиции, определенной правилом сдвига.

4. Определение результирующего произведения. Искомое произведение есть результат выполнения всех операций сдвига и сложения.

10. Умножение чисел со знаком. В микроЭВМ широко используется представление отрицательных чисел в дополнительном коде (код дополнения до 2). При таком представлении исчезает двусмысленность представления нулевого результата, присущая способу в обратном коде. Формирование дополнительного кода или сокращенно дополнения состоит из двух операций получения обратного кода и дополнения единицы. Пример:

число 410 в двоичной форме

0000 0100

обратный код числа

1111 1011

добавляемая 12

1

число 410 в дополнительно коде

1111 1100


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

Пример 1: Вычислим разность (58 – 23)

0001 0111 число 2310

1110 1001 дополнительный код 2310

вычисление разности

58

0011 1010

число 5810

23

1110 1001

дополнительный код 2310

15

1 0010 0011

результат 1510

единица переноса отбрасываемая в случае положительного результата

11. Архитектура системы команд. Понятие и основные характеристики. Системой команд вычислительной машины называют полный перечень команд, которые способна выполнять данная ВМ. В свою очередь, под архитектурой системы команд (АСК) принято определять те средства вычислительной машины, которые видны и доступны программисту. АСК можно рассматривать как линию согласования нужд разработчиков программного обеспечения с возможностями создателей аппаратуры вычислительной машины

В конечном итоге, цель тех и других — реализация вычислений наиболее эффективным образом,

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

системы команд.

Общая характеристика архитектуры системы команд вычислительной машины складывается из ответов на следующие вопросы:

1.Какого вида данные будут представлены в вычислительной машине и в какой форме?

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

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

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

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

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

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

12. Классификация архитектур систем команд. Системой команд вычислительной машины называют полный перечень команд, которые способна выполнять данная ВМ. В свою очередь, под архитектурой системы команд (АСК) принято определять те средства вычислительной машины, которые видны и доступны программисту. АСК можно рассматривать как линию согласования нужд разработчиков программного обеспечения с возможностями создателей аппаратуры вычислительной машины. Среди мотивов, чаще всего предопределяющих переход к новому типу АСК, 2 наиболее существенных. Первый — это состав операций, выполняемых вычислительной машиной, и их сложность. Второй — место хранения операндов, что влияет на количество и длину адресов, указываемых в адресной части команд обработки данных. Именно эти моменты взяты в качестве критериев излагаемых ниже вариантов классификации архитектур системы команд.

13. Классификация архитектур по составу и сложности команд.

  • архитектуру с полным набором команд: CISC (Complex Instruction Set Computer);

  • архитектуру с сокращенным набором команд: RISC (Reduced Instruction Set Computer);

  • архитектуру с командными словами сверхбольшой длины: VLIW (Very Long Instruction Word).

Для CISC-архитектуры типичны:

  • наличие в процессоре сравнительно небольшого числа регистров общего назначения;

  • большое количество машинных команд, некоторые из них аппаратно реализуют сложные операторы ЯВУ;

  • разнообразие способов адресации операндов;

  • множество форматов команд различной разрядности;

  • наличие команд, где обработка совмещается с обращением к памяти.

RISC заключается в ограничении списка команд ВМ наиболее часто используемыми простейшими командами, оперирующими данными, размещенными только в регистрах процессорах. Обращение к памяти допускается лишь с помощью специальных команд чтения и записи. Резко уменьшено количество форматов команд и способов указания адресов операндов. Сокращение числа форматов команд и их простота, использование ограниченного количества способов адресации, отделение операций обработки данных от операций обращения к памяти позволяет существенно упростить аппаратные средства ВМ и повысить их быстродействие. RISC-архитектура разрабатывалась таким образом, чтобы уменьшить TВИЧ за счет сокращения CPI и I/. Как следствие, реализация сложных команд за счет последовательности из простых, но быстрых RISC-команд оказывается не менее эффективной, чем аппаратный вариант сложных команд в CISC-архитектуре. Отметим, что в последних микропроцессорах фирмы Intel и AMD широко используются идеи, свойственные RISC-архитектуре, так что многие различия между CISC и RISC постепенно стираются.

Архитектура с командными словами сверхбольшой длины (VLIW). Концепция VLIW базируется на RISC-архитектуре, где несколько простых RISC-команд объединяются в одну сверхдлинную команду и выполняются параллельно. В плане АСК архитектура VLIW сравнительно мало отличается от RISC. Появился лишь дополнительный уровень параллелизма вычислений, в силу чего архитектуру VLIW логичнее адресовать не к вычислительным машинам, а к вычислительным системам. Таблица 2.1 позволяет оценить наиболее существенные различия в архитектурах типа CISC, RISC и VLIW.

Таблица 2.1. Сравнительная оценка CISC-, RISC- и VLIW-архитектур

Характеристика

CISC

RISC

VLIW

Длина команды

Варьируется

Единая

Единая

Расположение нолей и команде

Варьируется

Неизменное

Неизменное

Количество регистров

Несколько (часто специализированных)

Много регистров общего назначения

Много регистров общего назначения

Доступ к памяти

Может выполняться как часть команд различных типов

Выполняется только специальными командами

Выполняется только специальными командами

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

  • стековую;

  • аккумуляторную;

  • регистровую;

  • с выделенным доступом к памяти.

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

Стековая архитектура

Стеком называется память, по своей структурной организации отличная от основной памяти ВМ. Принципы построения стековой памяти детально рассматриваются позже, здесь же выделим только те аспекты, которые требуются для пояснения особенностей АСК на базе стека. Стек образует множество логически взаимосвязанных ячеек (рис. 2.4), взаимодействующих по принципу «последним вошел, первым вышел» (L1FO, Last In First Out).

Верхнюю ячейку называют вершиной стека. Для работы со стеком предусмотрены две операции: push (проталкивание данных в стек) и pop (вытаякивание данных из стека). Запись возможна только в верхнюю ячейку стека, при этом вся хранящаяся в стеке информация предварительно проталкивается на одну позицию вниз. Чтение допустимо также только из вершины стека. Извлеченная информация удаляется из стека, а оставшееся его содержимое продвигается вверх. В вычислительных машинах, где реализована АСК на базе стека (их обычно называют стековыми), операнды перед обработкой помещаются в две верхних ячейки стековой памяти.

15. Классификация АСК по месту хранения операндов. Аккумуляторная архитектура и с выделенным доступом к памяти.

Аккумуляторная архитектура

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

Архитектура с выделенным доступом к памяти

В архитектуре с выделенным доступом к памяти обращение к основной памяти возможно только с помощью двух специальных команд: load и store. В английской транскрипции данную архитектуру называют Load/Store architecture. Команда load (загрузка) обеспечивает считывание значения из основной памяти и занесение его в регистр процессора (в команде обычно указывается адрес ячейки памяти и номер регистра). Пересылка информации в противоположном направлении производится командой store (сохранение). Операнды во всех командах обработки информации могут находиться только в регистрах процессора (чаще всего в регистрах общего назначения). Результат операции также заносится в регистр. В архитектуре отсутствуют команды обработки, допускающие прямое обращение к основной памяти. Допускается наличие в АСК ограниченного числа команд, где операнд является частью кода команды.

АСК с выделенным доступом к памяти характерна для всех вычислительных машин с RISC-архитектурой. Команды в таких ВМ, как правило, имеют длину 32 бита и трехадресный формат. В качестве примеров вычислительных машин с выделенным доступом к памяти можно отметить HP PA-RISC, IBM RS/6000, Sun SPARC, MIPS R4000, DEC Alpha и т. д. К достоинствам АСК следует отнести простоту декодирования и исполнения команды.

16. Регистровая архитектура.

В машинах данного типа процессор включает в себя массив регистров (регистровый файл), известных как регистры общего назначения (РОН). Эти регистры, в каком-то смысле, можно рассматривать как явно управляемый кэш для хранения недавно использовавшихся данных. Размер регистров обычно фиксирован и совпадает с размером машинного слова. К любому регистру можно обратиться, указав его номер. Количество РОН в архитектурах типа CISC обычно невелико (от 8 до 32), и для представления номера конкретного регистра необходимо не более пяти разрядов, благодаря чему в адресной части команд обработки допустимо одновременно указать номера двух, а зачастую и трех регистров (двух регистров операндов и регистра результата). RISC-архитектура предполагает использование существенно большего числа РОН (до нескольких сотен), однако типичная для таких ВМ длина команды (обычно 32 разряда) позволяет определить в команде до трех регистров. Регистровая архитектура допускает расположение операндов в одной из двух запоминающих сред: основной памяти или регистрах. С учетом возможного размещения операндов в рамках регистровых АСК выделяют три подвида команд обработки: регистр-регистр; регистр-память; память-память.

В варианте «регистр-регистр» операнды могут находиться только в регистрах. В них же засылается и результат. Подтип «регистр-память» предполагает, что од и и из операндов размещается в регистре, а второй в основной памяти. Результат обычно замещает один из операндов. В командах типа «память-память» оба операнда хранятся в основной памяти. Результат заносится в память. Каждому из вариантов свойственны свои достоинства и недостатки (табл. 2.4).

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

Вариант «регистр-регистр» является основным в вычислительных машинах типа RISC. Команды типа «регистр-память» характерны для CISC-машин.

Вариант

Достоинства

Недостатки

Регистр-регистр (0,3)

Простота реализации, фиксированная длина команд, простая модель формирования объектного кода при компиляции программ, возможность выполнения всех команд за одинаковое количество тактов

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

Регистр-память (1.2)

Данные могут быть доступны без загрузки в регистры процессора, простота кодирования команд, объектный код получается достаточно компактным

Потеря одного из операндов при записи результата, длинное поле адреса памяти в коде команды сокращает место под помер регистра, что ограничивает общее число РОН. СР1 зависит от места размещения операнда

Память-память (3,3)

Компактность объектного кода, малая потребность в регистрах для хранения промежуточных данных

Разнообразие форматов команд и времени их исполнения, низкое быстродействие из-за обращения к памяти

17. Типы и формат команд цифровых ВМ. Алгоритм, написанный пользователем программы, в конечном счете реализуется в виде машинных команд. Под командой понимают совокупность сведений, представленных в виде двоичных кодов, необходимых процессору для выполнения очередного шага. В ходе команды для сведений о типе операции, адресной информации о нахождении обрабатываемых данных, а также для информации о месте хранения результатов выделяются определенные разряды (поля).

КОП

А3

7

0

КОП

А1

А3

15

6

5

0

КОП

А1

А2

А3

23

17

16

12

11

6

5

0

Форматом команды называется заранее обговоренная структура полей в её кодах, позволяющая ЭВМ распознавать составные части кода.

Главным элементом кода команды является код операции (КОП), что определяет, какие действия будут выполнены по данной команде. Под него выделяется N старших разрядов формата. В остальных разрядах размещаются А1 и А2 v адреса операндов. А3 - адрес результата.

По функциональному назначению в системе команд ЭВМ различают следующие группы:

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

Команды обработки данных (команды сложения, умножения, сдвига, сравнения-).

Команды передачи управления (команды безусловного и условного перехода, обеспечивает принудительное изменение порядка выполнения команд в программе.).

Команды дополнительные (типа RESET, TEST,-).