Шпаргалки (двухсторонние) по курсу «Архитектура эвм»





НазваниеШпаргалки (двухсторонние) по курсу «Архитектура эвм»
страница9/11
Дата публикации21.08.2013
Размер1.25 Mb.
ТипДокументы
100-bal.ru > Информатика > Документы
1   2   3   4   5   6   7   8   9   10   11

39. Ввод-вывод на уровне команд
В современных персональных компьютерах используются три различные схемы ввода-вывода:

  • программируемый ввод-вывод с активным ожиданием;

  • ввод-вывод с управлением по прерываниям;

  • ввод-вывод с прямым доступом к памяти.

Наиболее простым является программируемый ввод-вывод, который часто применяется в дешевых микропроцессорах Между фиксированным регистром в процессоре и выбранным устройством ввода-вывода передается один символ. Процессор должен выполнять определенную последовательность команд при каждом считывании или записи символа. Для каждого устройства (ввода и вывода) используется пара регистров: регистр состояния (РС) и регистр данных (РД). процессор анализирует готовность устройства (проверяя некоторые разряды РС) и при готовности считывает (при вводе) или записывает (при выводе) очередной байт или слово регистра данных. Основной недостаток программируемого ввода-вывода заключается в том, что центральный процессор проводит большую часть времени в цикле ожидания готовности устройства. Такой процесс называется активным ожиданием.

Ввод-вывод с управлением по прерываниям избавляет процессор от активного ожидания. В этом режиме центральный процессор запускает устройство ввода-вывода и далее занимается своей работой. По завершении операции ввода/вывода устройство выдает запрос на прерывание. Разрешением прерываний управляет программа (т.е. фактически процессор), устанавливая, например, бит разрешения прерываний в регистре устройства. Недостатки: прерывание происходит для каждого передаваемого символа, что нерационально. Часто требуется обрабатывать результаты ввода лишь по заполнении целого буфера. Решение состоит в возвращении к программируемому вводу-выводу, но осуществляется он независимо отдельным устройством - контроллером прямого доступа к памяти (ПДП), который имеет прямой доступ к шине. Микросхема ПДП может иметь 4 регистра, которые загружают­ся выполняемой центральным процессором программой. Первый регистр хранит адрес памяти для обмена данными, второй - количество передаваемых байтов или слов. Третий регистр содержит номер или адрес соответствующего устройства ввода-вы­вода. Четвер­тый регистр сообщает, должны данные считываться с устройства или записы­ваться на него.

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

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

40. Команды процессора Pentium II
Многие команды Pentium II обращаются к одному или к двум операндам, кото­рые находятся в регистрах или в памяти. Большинство команд имеют несколько различных кодировок в зависимости от природы операндов. В таблице для операндов используются обозначения SRC - источник информации (SOURCE, не меняется данной командой), и DST - приемник (DESTINATION, изменяется командой). Существуют правила относительно того, что может быть источником, а что приемником, но мы здесь о них не говорим. Многие команды имеют три варианта: для 8-, 16- и 32-битных операндов соответственно. Они разли­чаются по коду операции и/или по одному биту в команде. Здесь приведе­ны в основном 32-битные команды.

Команды в таблице разделены на несколько групп. Первая со­держит команды, перемещения данных. Ко второй относятся арифметические операции со зна­ком и без него. Для умножения и деления 64-битное произведение или делимое хранится в двух регистрах: ЕАХ (младшие биты) и EDX (старшие биты).

Третья группа включает двоично-десятичную арифметику. Здесь каждый байт рассматривается как две 4-битные десятичные цифры. Комбинации битов от 1010 до 1111 не используются. Такая форма хранения неэффективна, но она устраняет необходимость преобразовывать десятичные входные данные в двоичные и обратно. Эти команды широко используются в про­граммах на языке COBOL.

Логические команды и команды сдвига манипулируют битами в слове или байте.

Следующие две группы связаны с проверкой, сравнением и осуществлением перехода в зависимости от полученного результата. Результаты проверки и срав­нения хранятся в различных битах регистра EFLAGS. Значок Jxx заменяет набор команд, которые совершают условный переход в зависимости от результа­тов предыдущего сравнения (то есть в зависимости от битов в регистре EFLAGS).

В Pentium II есть несколько команд для загрузки, сохранения, перемещения, сравнения и сканирования цепочек символов или слов. Перед этими командами может стоять специальный префиксный байт REP (повторение), ко­торый заставляет команду повторяться до тех пор, пока не будет выполнено опре­деленное условие (например, пока регистр ЕСХ, значение которого уменьшается на 1 после каждого повторения, не будет равен 0). Таким образом, различные дей­ствия (перемещение, сравнение и т. д.) могут производиться над произвольными блоками данных.

Последняя группа содержит команды, которые не вошли ни в одну из предыду­щих групп. Это команды перекодирования, управления, ввода-вывода и остановки процессора.

+ТАБЛ(Р2)


41. Команды процессора UltraSPARC II
Ниже приведены целочисленные команды пользовательского режима UltraSPARC II. Отсутствуют команды с плавающей точкой, управле­ния Нет также команд, манипулирующих непользовательскими адресными пространствами, а также устаревших. Набор команд достаточно мал: UltraSPARC II - это процессор типа RISC.

Команды типа LOAD и STORE имеют варианты для 1, 2, 4 и 8 байтов. Если в 64-разрядный регистр загружается меньшее число, оно может быть расширено по знаку либо дополнено ну­лями. Существуют команды для обоих вариантов.

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

Кроме этого, поддерживается специальный формат 30-битных чисел с автома­тическим опознаванием типа данных за счет поля тега. Он используется для таких языков, как Smalltalk и Prolog, в которых тип переменных может меняться во время выполнения программы. При наличии таких чисел компилятор может породить команду ADD, а во время выполнения программы машина определяет, нужна ли в данном случае целочисленная команда ADD или команда ADD с плавающей точкой.

Группа команд сдвига включает одну команду сдвига влево и две команды сдвига вправо. Каждая из них имеет два варианта: 32-битный и 64-битный.

Далее см таблицу
Обозначения:

SRC - входной регистр; DST - выходной регистр; R1 - входной регистр; S2 - регистр-источник или непосредственный операнд; ADDR - адрес памяти; R - выходной регистр;

TRAP# - номер системного прерывания; FCN - код функции; MASK - тип операции; CON - константа; V - указатель регистра;

СС - набор кодов условия;

cc - условие; r – условие.
Группа логических команд включает ко­манды AND (И), OR (ИЛИ), XOR (ИСКЛЮЧАЮЩЕЕ ИЛИ), ANDN (НЕ-И), ORN (НЕ-ИЛИ) и XNOR (ИСКЛЮЧАЮЩЕЕ НЕ-ИЛИ). Полезность последних трех команд спорна, но они могут выполняться за один цикл и не требуют дополнительного аппаратного обеспечения, поэтому часто вклю­чаются в набор команд. (на обороте…)

42. Команды компьютера picoJava II
В этом компьютере реализован полный набор команд JVM (226 команд), а также 115 дополнительных команд, предназначенных для С/C++ и операционной системы. Мы рассмотрим в основном команды JVM, компилятор Java производит только эти команды. Как уже говорилось, архитектура команд JVM не содержит регистров, доступных пользо­вателю. Большинство команд JVM помещают слова в стек, оперируют ими и вытал­кивают слова из стека.

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

Команды JVM типизированы. Одну и ту же операцию с разными типами дан­ных выполняют разные команды. Например, ILOAD помещает в стек целое 32-битное число, а ALOAD помещает в стек 32-битный указатель. Такое стро­гое разделение кажется избыточным, посколь­ку в обоих случаях в стек передаются 32 бита памяти. Оно требуется для того, чтобы во время выполнения программы можно было проверить, не нарушены ли какие-либо ограничения

Перейдем к конкретным командам JVM. Первая из них - typeLOAD IND8.

Фактически это не одна команда, а шаблон для записи 4-х команд. Коман­ды JVM регулярны, поэтому вместо перечисления всех команд в ряде случаев можно сообщать правило для порождения команд. Существуют еще четыре команды загрузки typeALOAD, которые помещают в стек элемент массива. Во всех случаях в стек загружаются указатель на массив и индекс его элемента. Затем эти команды выталкивают индекс и указатель, производят вычисление и помещают в стек сам элемент. Размер элементов определяется по типу. Эти команды по­лучают индекс массива из стека, поэтому сама команда не содержит операнда.

Далее см таблицу

Обозначения:
IND8/16 – индекс локальной переменной;

CON8/16, D, ATYPE = константа;

type, х, у - I, L, F, D;

OFFSET16 – смещение для команд перехода.
Последние четыре команды этой группы также предназначены для работы с эле­ментами массива, но только специализированных типов. Они поддерживают byte, short (16 битов), char (символ - 16 битов) и pointer (указатель - 32 бита). (на обороте…)

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

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

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

Сопрограммы: существует различие между вызы­вающей и вызываемой процедурами. Пусть есть процедура A, кото­рая вызывает процедуру В. После полного выполнения В управление возвращается в А к точке вызова. Если процедура A вызы­вает процедуру В много раз, то процедура В каждый раз начинается с начала, а про­цедура А уже никогда больше с начала не начинается. Режим работы сопрограмм состоит в том, что A и B более или менее равноправны. Они попеременно вызывают друг друга. Управление каждый раз возвращается к точке последнего вызова. Когда процедура А передает управление процедуре В, оно переходит не к началу В (за исключением первого раза), а к тому месту, на котором произошел предыдущий вызов А.

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

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

Ловушки экономят время и память по сравнению с регулярной проверкой кода условия под контролем программы. (на обороте…)

44. Обзор архитектуры Intel IA-64
новая 64-разрядная компьютерная архитектура, которая создавалась совместно компаниями Intel и Hewlett Packard. Первым процессором этого типа является Merced, имеющий высокую производитель­ность. архитектура IA-32 имеет много серьезных проблем, главной предпосылкой которых является длительность периода разработок с поддержкой обратной совместимости. Огромное количество транзисторов в процессорах Pentium предназначено для преобразова­ния CISC-команд в современные RISC-команды, разрешения конфликтов, прогнозирования переходов, исправления неправильных предсказаний и решения многих других задач подобного рода, при этом остается лишь незначительное число транзисторов на долю реальной работы, нужной пользователю. Поэтому компания Intel пришла к следующему выводу: нужно выбросить IA-32 и начать все заново.

Явный параллелизм

Merced - это двухрежимный процессор, который может выполнять как программы IA-32, так и программы IA-64 Это архитектура типа загрузка/сохранение с 64-битными адресами и регистрами. В ней имеется 64 регистра общего назначе­ния, доступных для программ IA-64 (и дополнительные регистры для программ IA-32). Все отдельные команды имеют фиксированный формат: код операции, два 6-битных поля для задания входных регистров, одно 6-битное поле для указания выходно­го регистра и еще одно дополнительное 6-битное поле. Большинство команд оперируют двумя регистровыми операндами-источниками и помещают результат в третий регистр-приемник. Имеется много функциональных блоков для параллельного выполне­ния операций. Новой здесь является концепция пучка связанных команд. Команды посту­пают на выполнение пучками - обычно группами по три штуки. Каждый 128-битный пучок содержит три 40-битные команды фиксированного формата и 8-битный шаблон. Пучки могут быть связаны вместе (при этом ис­пользуется бит конца пучка), поэтому в одном пучке может присутствовать и более трех команд. Формат содержит информацию о том, какие команды могут выпол­няться параллельно. При такой системе и при наличии большого числа регистров компилятор может выделять блоки команд и сообщать процессору о том, какие из них можно выполнять параллельно. Таким образом, компилятор должен переупо­рядочивать команды, проверять, нет ли взаимозависимостей, проверять доступ­ность функциональных блоков и т. д. вместо аппаратного обеспечения. Идея состоит в том, что работа упорядочивания и распределения RISC-команд пере­дается от аппаратного обеспечения компилятору. Эта технология названа EPIC

Есть несколько причин, по которым упорядочивание команд во время компиляции более эффективно, чем при выполнении. Во-первых, поскольку теперь основную работу выполняет ком­пилятор, аппаратное обеспечение можно упростить, используя миллионы транзисторов для других полезных функций Во-вторых, для любой программы распределение должно производиться только один раз (во время компиляции). В-третьих, можно использовать различное ПО (компиляторы) для разноплановой оптимизации программ. (на обороте…)
1   2   3   4   5   6   7   8   9   10   11

Похожие:

Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconУчебной дисциплины «Архитектура ЭВМ и вычислительных систем» предназначена...
Учебная дисциплина «Архитектура ЭВМ и вычислительных систем» является общепрофессиональной дисциплиной, формирующей базовый уровень...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconПеречень тем для реферата
Архитектура ЭВМ. Принцип Неймана. Основные устройства эвм, их назначение и характеристики
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» icon«архитектура ЭВМ и систем» Новосибирск сгга содержание
Эвм различных классов; параллельные системы понятие о многомашинных и многопроцессорных вычислительных системах; матричные и ассоциативные...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconУчебно-методический комплекс дисциплины архитектура компьютера (Архитектура...
Рындина Татьяна Николаевна, ст преподаватель кафедры Физики, информатики и информационных технологий
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconТемы рефератов по дисциплине: “Архитектура эвм”

Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconРеферат по курсу: Архитектура вс на тему: Архитектура квантовых компьютеров
Квантовые компьютеры на основе молекул органических жидкостей с косвенным скалярным взаимодействием между ними и методов ядерного...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconРеферат по курсу: Архитектура вс на тему: Архитектура квантовых компьютеров
Квантовые компьютеры на основе молекул органических жидкостей с косвенным скалярным взаимодействием между ними и методов ядерного...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconАрхитектура эвм, ос, вирусы
В программа, выполняющая тестирование компьютерной системы после включения компьютера
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconКонспект лекций по курсу "Микропроцессоры и микро-эвм в Персональной...
Целью настоящего курса является дать понятие о микропроцессорах и однокристальных микро-эвм, области их применения, дать основы функционирования...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» icon«Архитектура эвм»
Цель дисциплины: формирование систематизированных знаний в области архитектуры компьютера, организации компьютерных систем, программирования...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconТехническое обеспечение кит реферат
Сша и предназначалась для баллистических расчётов при стрельбе. Первая отечественная цифровая ЭВМ «мэсм» создана в 1950 г. Ход развития...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconАрхитектура ЭВМ и систем конспект лекций
Обучающие: Учить детей понимать эмоциональное состояние героев постановки, придавать физическим действиям куклы максимум выразительности...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconРеферата. Список элементов библиографической записи
Максимов, Н. В. Архитектура ЭВМ и вычислительных систем [Текст]: учеб для вузов / Н. В. Максимов, Т. Л. Партыка, И. И. Попов. — М.:...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconРабочая программа дисциплины «архитектура ЭВМ и вычислительных систем» (наименование дисциплины)
Составлена в соответствии с государственными требованиями к минимуму содержания и уровню подготовки выпускников по специальности...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconПрограмма по формированию навыков безопасного поведения на дорогах...
При этом на первый план выдвинулась концепция их взаимодействия. Так возникло принципиально новое понятие архитектура ЭВМ
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» icon“Внешние устройства персонального компьютера.”
Пу обеспечить поступление в ЭВМ из окружающей среды программ и данных для обработки, а также выдачу результатов работы ЭВМ в виде,...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск