Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save anonymous/44ba8fe59e611f13a0343a3fd68a6842 to your computer and use it in GitHub Desktop.
Save anonymous/44ba8fe59e611f13a0343a3fd68a6842 to your computer and use it in GitHub Desktop.
Разработка программируемого процессорас 3 инструкциями

Разработка программируемого процессорас 3 инструкциями



Ссылка на файл: >>>>>> http://file-portal.ru/Разработка программируемого процессорас 3 инструкциями/


Основы программирования процессора
Вступление.
Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ (fb2)
























Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны. В общем случае система команд процессора включает в себя следующие четыре основные группы команд:. Команды пересылки данных не требуют выполнения никаких операций над операндами. Операнды просто пересылаются точнее, копируются из источника Source в приемник Destination. АЛУ в данном случае не используется. Арифметические команды выполняют операции сложения, вычитания, умножения, деления, увеличения на единицу инкрементирования , уменьшения на единицу декрементирования и т. Этим командам требуется один или два входных операнда. Формируют команды один выходной операнд. Логические команды производят над операндами логические операции, например, логическое И, логическое ИЛИ, исключающее ИЛИ, очистку, инверсию, разнообразные сдвиги вправо, влево, арифметический сдвиг, циклический сдвиг. Этим командам, как и арифметическим, требуется один или два входных операнда, и формируют они один выходной операнд. Наконец, команды переходов предназначены для изменения обычного порядка последовательного выполнения команд. С их помощью организуются переходы на подпрограммы и возвраты из них, всевозможные циклы, ветвления программ, пропуски фрагментов программ и т. Команды переходов всегда меняют содержимое счетчика команд. Переходы могут быть условными и безусловными. Именно эти команды позволяют строить сложные алгоритмы обработки информации. В соответствии с результатом каждой выполненной команды устанавливаются или очищаются биты регистра состояния процессора PSW. Но надо помнить, что не все команды изменяют все имеющиеся в PSW флаги. Это определяется особенностями каждого конкретного процессора. Команды пересылки данных занимают очень важное место в системе команд любого процессора. Они выполняют следующие важнейшие функции:. В некоторых процессорах например, Т все эти функции выполняются одной единственной командой MOV для байтовых пересылок -- MOVB но с различными методами адресации операндов. В других процессорах помимо команды MOV имеется еще несколько команд для выполнения перечисленных функций. Например, для загрузки регистров могут использоваться команды загрузки, причем для разных регистров -- разные команды их обозначения обычно строятся с использованием слова LOAD -- загрузка. Часто выделяются специальные команды для сохранения в стеке и для извлечения из стека PUSH -- сохранить в стеке, POP -- извлечь из стека. Эти команды выполняют пересылку с автоинкрементной и с автодекрементной адресацией даже если эти режимы адресации не предусмотрены в процессоре в явном виде. Иногда в систему команд вводится специальная команда MOVS для строчной или цепочечной пересылки данных например, в процессоре Эта команда пересылает не одно слово или байт, а заданное количество слов или байтов MOVSB , то есть инициирует не один цикл обмена по магистрали, а несколько. При этом адрес памяти, с которым происходит взаимодействие, увеличивается на 1 или на 2 после каждого обращения или же уменьшается на 1 или на 2 после каждого обращения. То есть в неявном виде применяется автоинкрементная или автодекрементная адресация. В более продвинутых процессорах этого же семейства начиная с процессора добавлены команды строчного цепочечного ввода команда INS и строчного вывода команда OUTS. Адрес памяти после каждого обращения увеличивается или уменьшается как и в случае с командой MOVS. Также к командам пересылки данных относятся команды обмена информацией их обозначение строится на основе слова Exchange. Может быть предусмотрен обмен информацией между внутренними регистрами, между двумя половинами одного регистра SWAP или между регистром и ячейкой памяти. Арифметические команды рассматривают коды операндов как числовые двоичные или двоично-десятичные коды. Эти команды могут быть разделены на пять основных групп:. Команды операций с фиксированной запятой работают с кодами в регистрах процессора или в памяти как с обычными двоичными кодами. Команда сложения ADD вычисляет сумму двух кодов. Команда вычитания SUB вычисляет разность двух кодов. Команда умножения MUL вычисляет произведение двух кодов разрядность результата вдвое больше разрядности сомножителей. Команда деления DIV вычисляет частное от деления одного кода на другой. Причем все эти команды могут работать как с числами со знаком, так и с числами без знака. Команды операций с плавающей запятой точкой используют формат представления чисел с порядком и мантиссой обычно эти числа занимают две последовательные ячейки памяти. В современных мощных процессорах набор команд с плавающей запятой не ограничивается только четырьмя арифметическими действиями, а содержит и множество других более сложных команд, например, вычисление тригонометрических функций, логарифмических функций, а также сложных функций, необходимых при обработке звука и изображения. Команды очистки CLR предназначены для записи нулевого кода в регистр или ячейку памяти. Эти команды могут быть заменены командами пересылки нулевого кода, но специальные команды очистки обычно выполняются быстрее, чем команды пересылки. Команды очистки иногда относят к группе логических команд, но суть их от этого не меняется. Команды инкремента увеличения на единицу, INC и декремента уменьшения на единицу, DEC также бывают очень удобны. Их можно в принципе заменить командами суммирования с единицей или вычитания единицы, но инкремент и декремент выполняются быстрее, чем суммирование и вычитание. Эти команды требуют одного входного операнда, который одновременно является и выходным операндом. Наконец, команда сравнения обозначается CMP предназначена для сравнения двух входных операндов. По сути, она вычисляет разность этих двух операндов, но выходного операнда не формирует, а всего лишь изменяет биты в регистре состояния процессора PSW по результату этого вычитания. Следующая за командой сравнения команда обычно это команда перехода будет анализировать биты в регистре состояния процессора и выполнять действия в зависимости от их значений о командах перехода речь идет в разделе 3. В некоторых процессорах предусмотрены команды цепочечного сравнения двух последовательностей операндов, находящихся в памяти например, в процессоре и совместимых с ним. Логические команды выполняют над операндами логические побитовые операции, то есть они рассматривают коды операндов не как единое число, а как набор отдельных битов. Этим они отличаются от арифметических команд. Логические команды выполняют следующие основные операции:. Команды логических операций позволяют побитно вычислять основные логические функции от двух входных операндов. Кроме того, операция И AND используется для принудительной очистки заданных битов в качестве одного из операндов при этом используется код маски, в котором разряды, требующие очистки, установлены в нуль. Операция ИЛИ OR применяется для принудительной установки заданных битов в качестве одного из операндов при этом используется код маски, в котором разряды, требующие установки в единицу, равны единице. Операция "Исключающее ИЛИ" XOR используется для инверсии заданных битов в качестве одного из операндов при этом применяется код маски, в котором биты, подлежащие инверсии, установлены в единицу. Команды требуют двух входных операндов и формируют один выходной операнд. Команды сдвигов позволяют побитно сдвигать код операнда вправо в сторону младших разрядов или влево в сторону старших разрядов. Тип сдвига логический, арифметический или циклический определяет, каково будет новое значение старшего бита при сдвиге вправо или младшего бита при сдвиге влево , а также определяет, будет ли где-то сохранено прежнее значение старшего бита при сдвиге влево или младшего бита при сдвиге вправо. Например, при логическом сдвиге вправо в старшем разряде кода операнда устанавливается нуль, а младший разряд записывается в качестве флага переноса в регистр состояния процессора. А при арифметическом сдвиге вправо значение старшего разряда сохраняется прежним нулем или единицей , младший разряд также записывается в качестве флага переноса. Циклические сдвиги позволяют сдвигать биты кода операнда по кругу по часовой стрелке при сдвиге вправо или против часовой стрелки при сдвиге влево. При этом в кольцо сдвига может входить или не входить флаг переноса. В бит флага переноса если он используется записывается значение старшего бита при циклическом сдвиге влево и младшего бита при циклическом сдвиге вправо. Соответственно, значение бита флага переноса будет переписываться в младший разряд при циклическом сдвиге влево и в старший разряд при циклическом сдвиге вправо. Команды проверки битов и операндов предназначены для установки или очистки битов регистра состояния процессора в зависимости от значения выбранных битов или всего операнда в целом. Выходного операнда команды не формируют. Команда проверки операнда TST проверяет весь код операнда в целом на равенство нулю и на знак на значение старшего бита , она требует только одного входного операнда. Команда проверки бита BIT проверяет только отдельные биты, для выбора которых в качестве второго операнда используется код маски. В коде маски проверяемым битам основного операнда должны соответствовать единичные разряды. Наконец, команды установки и очистки битов регистра состояния процессора то есть флагов позволяют установить или очистить любой флаг, что бывает очень удобно. Каждому флагу обычно соответствуют две команды, одна из которых устанавливает его в единицу, а другая сбрасывает в нуль. Например, флагу переноса C от Carry будут соответствовать команды CLC очистка и SEC или STC установка. Команды переходов предназначены для организации всевозможных циклов, ветвлений, вызовов подпрограмм и т. Эти команды записывают в регистр-счетчик команд новое значение и тем самым вызывают переход процессора не к следующей по порядку команде, а к любой другой команде в памяти программ. Некоторые команды переходов предусматривают в дальнейшем возврат назад, в точку, из которой был сделан переход, другие не предусматривают этого. Если возврат предусмотрен, то текущие параметры процессора сохраняются в стеке. Если возврат не предусмотрен, то текущие параметры процессора не сохраняются. Команды безусловных переходов вызывают переход в новый адрес независимо ни от чего. Они могут вызывать переход на указанную величину смещения вперед или назад или же на указанный адрес памяти. Величина смещения или новое значение адреса указываются в качестве входного операнда. Команды условных переходов вызывают переход не всегда, а только при выполнении заданных условий. В качестве таких условий обычно выступают значения флагов в регистре состояния процессора PSW. То есть условием перехода является результат предыдущей операции, меняющей значения флагов. Всего таких условий перехода может быть от 4 до Несколько примеров команд условных переходов:. Если условие перехода выполняется, то производится загрузка в регистр-счетчик команд нового значения. Если же условие перехода не выполняется, счетчик команд просто наращивается, и процессор выбирает и выполняет следующую по порядку команду. Специально для проверки условий перехода применяется команда сравнения CMP , предшествующая команде условного перехода или даже нескольким командам условных переходов. Но флаги могут устанавливаться и любой другой командой, например командой пересылки данных, любой арифметической или логической командой. Отметим, что сами команды переходов флаги не меняют, что как раз и позволяет ставить несколько команд переходов одну за другой. Совместное использование нескольких команд условных и безусловных переходов позволяет процессору выполнять разветвленные алгоритмы любой сложности. Для примера на рис. Команды переходов с дальнейшим возвратом в точку, из которой был произведен переход, применяются для выполнения подпрограмм, то есть вспомогательных программ. Эти команды называются также командами вызова. Разработка структурной схемы процессора; синтез микропрограммного и управляющего автомата с жесткой логикой. Типы команд, синтаксис ассемблера и код операции, по которому транслируется команда. Команды вычисления и непосредственной пересылки данных между регистрами. Поле для определения операции вычисления. Управление последовательностью выполнения программы. Синтез структуры простого магистрального процессора с одним АЛУ, выполняющего 8 заданных команд. Разработка формата и кодировки команд, структурной схемы процессора, функциональные схемы всех его блоков в целом с указанием шин и управляющих сигналов. Принцип работы процессора, способы его охлаждения, кодовые названия. Шины процессора, разрядность и кэш—память. Технологии расширения и поток команд процессора. Процессорные вентиляторы и их характеристика. Алгоритм и способы разгона процессора. Сложение с нормализацией, синтез операций, выборка команды. Описание структурной схемы процессора. Синтез управляющего автомата, разметка граф схемы. Разбиение микроопераций по полям и кодирование логических условий. Функциональная и структурная организация ЭВМ. Разработка функциональных микропрограмм заданных команд. Их объединение и привязка к структуре операционного автомата процессора. Разработка управляющего автомата процессора с программируемой логикой. Строка Меню текстового процессора и панель инструментов Форматирование текстового процессора MS Word, назначение основных команд и кнопок. Технология формирования расчета ведомости выдачи заработной платы средствами табличного процессора MS Excel. Функциональный состав микро-ЭВМ, разработка системы команд. Описание взаимодействия всех блоков электронно-вычислительной машины при выполнении команд программы. Арифметико-логическое устройство, кэш-память процессора, функциональное моделирование. ОЗУ оперативное запоминающее устройство , ПЗУ постоянное запоминающее устройство , "энергонезависимая память" CMOS. Совокупность всех возможных команд - система команд процессора. Принцип работы процессора одномагистральная структура. Временные диаграммы, описывающие выполнение микроопераций для каждой команды. Структурная схема управляющего автомата на основе памяти с одним полем адреса. Описание процессора на языке Active VHDL. Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т. PPT, PPTX и PDF-файлы представлены только в архивах. Главная Библиотека "Revolution" Программирование, компьютеры и кибернетика Основы программирования процессора. Описание и специфика основных групп команд процессора. Характеристика и применение команд пересылки данных, сущность и отличительные черты логических и арифметических команд процессора. Группы команд переходов, их использование и предназначение. Команды пересылки данных Команды пересылки данных занимают очень важное место в системе команд любого процессора. Они выполняют следующие важнейшие функции: Эти команды могут быть разделены на пять основных групп: Логические команды Логические команды выполняют над операндами логические побитовые операции, то есть они рассматривают коды операндов не как единое число, а как набор отдельных битов. Логические команды выполняют следующие основные операции: Команды переходов Команды переходов предназначены для организации всевозможных циклов, ветвлений, вызовов подпрограмм и т. Команды переходов без возврата делятся на две группы: В обозначениях этих команд используются слова Branch ветвление и Jump прыжок. Несколько примеров команд условных переходов: Проектирование процессора IBM совместимых команд. Линейное программирование симплекс-методом Данцига. Функциональная организация и система команд процессора. Разработка структуры и основных устройств микро-ЭВМ. Организация систем адресации и команд. Моделирование процессора операционного и управляющего автоматов для выполнения набора машинных команд. Другие документы, подобные "Основы программирования процессора".


Дать характеристику автору
Тахикардия от нервов как лечить
Жарочный шкаф новосибирск 2 инструкция
MMX расширение инструкций процессора P3.
Израиль куда лучше поехать
Краткая характеристика товара
Увеличен желчный пузырь у ребенка причины
Понимание технической документации процессора Intel®
Enter your receipt no перевод
Рапидо как играть правила
Программирование цифровых сигнальных процессоров семейства SHARC с использованием среды разработки «Analog Devices Visual DSP 3.5»
Дальнозоркость после лазерной коррекции
Сколько стоит оформить долевую
Детские болезни психосоматика
Инструментарий разработки ПО для ускоренных многоядерных вычислений. Версия 3.0: Глава 1. Обзор процессора Cell Broadband Engine
Сколько стоит сваи под дом
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment