Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Операции, выполняемые компьютерами



Операция – это действие, инициируемое одной командой и реализуемое аппаратурой компьютера. Разнообразие типов данных, форм их представления и действий, которые необходимы для обработки данных и управления ходом вычислений, порождает необходимость использовании различных операций F = { f1,…, fG }. С набором операций F связана система команд, инициирующих соответствующие операции и определяющих адреса операндов.

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

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

Классификация операций. Операции принято подразделять на следующие классы: 1) арифметические и логические операции; 2) посылочные операции; 3) переходы; 4) операции ввода-вывода; 5) системные операции.

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

Посылочные операции служат для передачи данных между процессором и основной памятью. Типичные посылочные операции – ЗАГРУЗИТЬ и ЗАПИСАТЬ. Операция ЗАГРУЗИТЬ обеспечивает передачу слова данных из основной памяти во внутреннюю память процессора, а операция ЗАПИСАТЬ – передачу слова из процессора в память. Для увеличения эффективного быстродействия процессора список посылочных операций расширяется операциями передачи слова с обратным знаком, модуля слова и операциями групповой передачи. Последние обеспечивают передачу заданного количества слов между группами соседних ячеек основной памяти и регистровой памяти процессора.

Переходы – это операции, используемые для выполнения команд в порядке, отличном от естественного. Операция перехода обеспечивает возможность передачи управления любой команде программы. Переход может выполняться по значению условия либо к одной, либо к другой команде. Условия, на которые реагируют операции перехода, обычно называются признаками перехода. Типичными признаками перехода являются нулевое, положительное или отрицательное значение результата операции и переполнение. Для увеличения быстродействия компьютера используются специальные операции перехода: переход по счетчику, переход по индексу, переход с возвратом. Первые две операции служат для организации циклов. Операция перехода по счетчику обеспечивает вычитание единицы из переменной и проверку результата на нуль. Если результат не нулевой, выполняется переход к команде с адресом, указанным в команде перехода по счетчику. При нулевом результате выполняется следующая по порядку команда. За счет этого обеспечивается n -кратный переход к команде, с которой начинается цикл, и выход из цикла на продолжение программы. Переход по индексу выполняется аналогично: операция перехода изменяет специальную переменную – индекс – на значение, заданное переменной, и сравнивает значение индекса с предельным значением. Если индекс меньше (больше) заданного значения, то выполняется переход по указанному адресу, в противном случае организуется выход из цикла путем перехода к команде, следующей за командой перехода по индексу. Переход с возвратом выполняется так. Формируется адрес команды, следующей за командой перехода с возвратом, – адрес возврата, который загружается в заданную ячейку памяти, после чего выполняется переход к команде с адресом, заданным в команде перехода. Поскольку адрес возврата запомнен, то имеется возможность возвратиться в основную программу и продолжить вычисления, начиная от команды, следующей за командой возврата.

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

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

Все компьютеры общего применения работают в мультипрограммном режиме, когда в памяти компьютера одновременно размещается несколько программ и программы выполняются параллельно во времени за счет чередования этапов процессорной обработки одних программ с этапами ввода-вывода для других программ. Управление всеми процессами распределения памяти между программами и всеми устройствами компьютера возлагается на операционную систему, которая должна обеспечить возможность независимого и корректного выполнения всей совокупности исполняемых совместно программ. По этой причине команды ввода-вывода и системные операции получают особый статус привилегированных операций, которые могут выполнится только в том случае, когда процессор находиться в состоянии СУПЕРВИЗОР и обеспечивает выполнение программ операционной системы. Остальные классы операций компьютера – арифметические и логические операции, посылочные операции и операции перехода, равнодоступны для прикладных программ, инструментальной системы компьютера и операционной системы. Появление команд с привилегированными операциями в прикладных программах и программах инструментальной системы недоступно, и процессор прерывает выполнение такой команды и формирует необходимые сообщения о таких событиях.

Компьютеры с полным и сокращенным набором команд. Начиная с 60-х годов XX века, проводилось большое число экспериментов по приближению системы команд компьютеров к языкам высокого уровня, используемым для программирования задач. За последние два десятилетия было создано большое число моделей компьютеров, способных обрабатывать широкую номенклатуру типов данных, имеющих обширный арсенал способов адресации и многочисленные форматы команд, что приводило к появлению обширного списка операций, реализуемых аппаратурой компьютеров. Как правило, число операций и команд в таких компьютерах достигало значений от 300 до 500 и более операций. Этот класс получил название компьютеров с полным набором команд – CISC (Complex Instruction Set Computer).

В 1980 году группа разработчиков в университете Беркли (США) во главе с Д. Паттерсоном и К. Секвином разработала компьютер с сокращенным набором команд – RISC (Reduced Instruction Set Computer). Наиболее характерная черта этих компьютеров – сокращенная система команд, насчитывающая обычно до 50 операций. В компьютерах этого класса использовались только две операции ЗАГРУЗИТЬ и ЗАПИСАТЬ для передачи данных между оперативной памятью и регистрами процессора. Все остальные операции выполнялись только с содержимым регистров процессора. Для уменьшения количества передач слов между регистрами процессора и оперативной памятью емкость регистровой памяти процессоров рассматриваемого класса составляет 32, 64 и более слов. Чем больше емкость регистровой памяти процессора, тем меньше вероятность преждевременного удаления слов из регистров в оперативную память и последующей загрузки этих слов в регистры процессора, за счет чего увеличивается производительность процессора.

С 80-х годов прошедшего века началась идеологическая борьба между сторонниками компьютеров с полным и сокращенным набором команд. Многие компании вложили миллиарды долларов в разработку программного обеспечения компьютеров на основе технологии CISC, и нужно было сохранить это программное обеспечение. Уже к 90-м годам стали понятными преимущества архитектуры RISC для компьютеров общего применения. Еще в 1951 году Уилкс предложил принцип микропрограммирования для выполнения сколь угодно сложных операций с использованием постоянных запоминающих устройств для хранения микропрограмм. При этом сложная операция описывается последовательностью микрокоманд, состоящих из совокупности кодов микроопераций, выполняемых аппаратурой процессора. Коды микроопераций декодируются дешифратором, каждый из которых формирует управляющий сигнал, воздействующий на определенную схему аппаратуры процессора, в результате чего в процессоре будет выполнен соответствующий микрокоманде набор микроопераций. Затем выполняется следующая микрокоманда и т. д. Таким образом, система операций RISC может быть сколь угодно расширена. При этом архитектура RISC позволяет наиболее часто используемые операции выполнять за минимальное время, а редко используемые операции выполнять на основе микропрограмм.





Дата публикования: 2014-11-29; Прочитано: 5019 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...