Учебная работа. Реферат: Архитектура системы команд 2

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

Учебная работа. Реферат: Архитектура системы команд 2

1.

2.
Задание на проектирование

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

Общие требования

1. Операции воззвания к памяти разделены от операций, связанных с обработкой данных.

2. Операции преобразования данных производятся по принципу регистр-регистр

3. Поддерживаются операции над данными представленными в формате с фиксированной точкой и плавающей точкой.

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


Начальные данные

Формат данных – 8 разрядов с ФТ

16 разрядов с ФТ

32 разряда с ФТ

64 разряда с ФТ

Система установок – трехадресная

методы адресации – конкретная

относительная

ровная

Регистровая память кол-во –8

Тип – всепригодные

Разрядность – 32

шина адресок — данные — совмещенная

Наличие сопроцессора – Да

Основная память Размер –32

Разрядность – 32

Ввод – вывод — изолированный

Прерывания – равный Ценность

2. Введение

термин «архитектура системы» нередко употребляется как в узеньком, так и в широком смысле этого слова. В узеньком смысле под архитектурой понимается архитектура набора установок. Архитектура набора установок служит границей меж аппаратурой и программным обеспечением и представляет ту часть системы, которая видна программеру либо разрабу компиляторов. Необходимо подчеркнуть, что это более нередкое употребление этого термина.

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

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

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

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

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

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

Архитектура таковых уровней нередко именуется архитектурой физического

ввода/вывода.

Архитектура системы установок.

Систематизация микропроцессоров (CISC и RISC )

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

2-мя главными архитектурами набора установок, применяемыми компьютерной индустрией на современном шаге развития вычислительной техники являются архитектуры CISC и RISC . Основателем CISC-архитектуры можно считать компанию IBM с ее базисной архитектурой /360, ядро которой употребляется с1964 года и дошло до наших дней, к примеру, в таковых современных мейнфреймах как IBM ES/9000.

Фаворитом в разработке процессоров c полным набором установок (CISC — Complete Instruction Set Computer) считается компания Intel со собственной серией x86 и Pentium. Эта архитектура является практическим эталоном для рынка микрокомпьютеров. Для CISC-процессоров типично: сравнимо маленькое число регистров общего предназначения; огромное количество машинных установок, некие из которых нагружены семантически аналогично операторам высокоуровневых языков программирования и производятся за много тактов; огромное количество способов адресации; огромное количество форматов установок различной разрядности; доминирование двухадресного формата установок; наличие установок обработки типа регистр-память.

Основой архитектуры современных рабочих станций и серверов является архитектура компа с сокращенным набором установок ( RISC — Reduced Instruction Set Computer). Зачатки данной для нас архитектуры уходят своими корнями к компам CDC6600, создатели которых (Торнтон, Крэй и др.) поняли значимость упрощения набора установок для построения стремительных вычислительных машин. Эту традицию упрощения архитектуры С. Крэй с фуррором применил при разработке обширно известной серии суперкомпьютеров компании Cray Research. Но совсем понятие RISC в современном его осознании сформировалось на базе 3-х исследовательских проектов компов: микропроцессора 801 компании IBM, микропроцессора RISC института Беркли и микропроцессора MIPS Стенфордского института.

Разработка экспериментального проекта компании IBM началась еще в конце 70-х годов, но его результаты никогда не публиковались и комп на его базе в промышленных масштабах не изготавливался. В 1980 году Д.Паттерсон со своими сотрудниками из Беркли начали собственный проект и сделали две машинки, которые получили наименования RISC -I и RISC -II. Главными мыслями этих машин было отделение неспешной памяти от скоростных регистров и внедрение регистровых окон.

В 1981году Дж.Хеннесси со своими сотрудниками опубликовал описание стенфордской машинки MIPS, главным нюансом разработки которой была действенная реализация конвейерной обработки средством кропотливого планирования компилятором его загрузки.

Эти три машинки имели много общего. Они все придерживались архитектуры, отделяющей команды обработки от установок работы с памятью, и делали упор на эффективную конвейерную обработку. Система установок разрабатывалась таковым образом, чтоб выполнение хоть какой команды занимало маленькое количество машинных тактов (желательно один машинный такт). Сама наличие довольно огромного регистрового файла (в типовых RISC -процессорах реализуются 32 либо большее число регистров по сопоставлению с 8 — 16 регистрами в CISC-архитектурах), что дозволяет большему размеру данных храниться в регистрах на процессорном кристалле большее время и упрощает работу компилятора по распределению регистров под переменные. Для обработки, как правило, употребляются трехадресные команды, что кроме упрощения дешифрации дает возможность сохранять большее число переменных в регистрах без их следующей перезагрузки.

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

Необходимо подчеркнуть, что в крайних разработках компании Intel (имеется в виду Pentium P54C и микропроцессор последующего поколения P6), также ее последователей-конкурентов (AMD R5, Cyrix M1, NexGen Nx586 и др.) обширно употребляются идеи, реализованные в RISC -микропроцессорах, так что почти все различия меж CISC и RISC стираются. Но сложность архитектуры и системы установок x86 остается и является основным фактором, ограничивающим производительность микропроцессоров на ее базе.

3. способы адресации и типы данных

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

команде способом адресации.

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

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

способ адресации



Пример
команды

Смысл команды
способа


Внедрение


Регистровая
Add R4,R3
R4=R4+R5
Требуемое Конкретная либо литеральная

Add R4,#3
R4=R4+3
Для задания констант

Базисная со смещением
Add R4,100(R1)
R4=R4+M[100+R1]

Для воззвания клокальным переменным




Косвенная регистровая
Add R4,(R1)
R4=R4+M[R1]

Для воззвания по указателю либо вычисленному адресу




Индексная
Add R3,(R1+R2)
R3=R3+M[R1+R2]

время от времени полезна при работе с

Массивами: R1 — база, R3 — индекс




Ровная либо абсолютная
Add R1,(1000)
R1=R1+M[1000]
время от времени полезна для воззвания к статическим данным

Косвенная
Add R1,@(R3)
R1=R1+M[M[R3]]
Если R3-адресок указателя p, то выбирается R2=R2+d

R1=R1+M[R2]


Полезна для прохода в цикле по массиву с шагом: R2 – началомассива

В любом цикле R2 получает приращение d




Автодекрементная
Add R1,(R2)-

R1=R1+M[R2]

R2=R2-d



Подобна предшествующей

Базисная индексная со смещением имасштабированием
Add R1,100(R2)[R3]
R1=R1+M[100]+R2+R3*d

Для индексации массивов




4. Типы установок

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


Тип операции

Примеры




Арифметические и логические
Целочисленные арифметические и логические операции: сложение, вычитание, логическое сложение, логическое умножение и т.д.

Пересылки данных
Операции загрузки/записи

Управление потоком установок
Бесспорные и условные переходы, вызовы процедур и возвраты

Системные операции
Системные вызовы, команды управления виртуальной памятью и т.д.

Операции с плавающей точкой
Операции сложения, вычитания, умножения и деления над вещественными числами

Десятичные операции
Десятичное сложение, умножение, преобразование форматов и т.д.

Операции над строчками
Пересылки, сопоставления и поиск строк

5.формат установок

Существует некоторое количество видов форматов установок, а поточнее 3

— одноадресная

— двухадресная

— трехадресная

лучше чтоб команда имела 32-х разрядный формат. В задании на проектирование было указанно внедрение 3-х адресной команды.

Она имеет последующий вид:


31 0

КОП- 7- разрядное поле кода операции. Дозволяет найти что за операция обязана производиться.

R0, R1, R2 – регистр-приемник и регистры-источники данных.

R0 и R1 – 3-разряда

R2- 19-разрядов.

содержимое поля R2 интерпретируется не только лишь как номер регистра, да и как смещение при операциях воззвания к памяти. И адресок памяти определяется как A=<R1>+R2.


6.Форматы данных

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

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

Целые со знаком представляются в доп коде. Положительные числа в доп коде записываются просто как двоичные числа без знака, а отрицательные выражаются числом которое будучи добавлено к положительному числу той же величины даст в итоге ноль. Для получения отрицательного числа необходимо для всякого бита положительного числа сформировать дополнение до 1 либо оборотный код, т.е. заместо 0 записать 1 и напротив, а потом к приобретенному результату прибавить 1(это даст доп код).

Целые без знака употребляют так же для представления адресов.

Числа с ПТ имеют один знаковый бит, 8 битов порядка и 23 бита мантиссы. При работе с ними нужно предугадать несколько исключительных ситуаций

+0: s=0; p=0..0; M=0..0;

-0: s=1; p=0..0; M=0..0;

-¥: s=0; p=1..1; M=0..0;

+¥: s=1; p=1..1; M=0..0;

NAN: s=X; p=1..1; M=X..X( не считая 0,,0).


S





1 б — знаковый

7 6 0

-беззнаковый

7 0

состоит из 8 разрядов и меняется от –127 до +127


S





2 полуслово — знаковое

15 14 0





-беззнаковое

15 0

состоит из 16 разрядов и меняется от -32768 до +32768





3 слово -знаковое

31 30 0





-беззнаковое

31 0 состоит из 32 разрядов


S P M




4 число с ПТ

31 30 23 22 0

7. Виртуальная память

Виртуальная память и организация защиты памяти

Теория виртуальной памяти

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

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

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

Она разделяет физическую память на блоки и распределяет их меж

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

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

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

этого бремени. Она автоматом управляет 2-мя уровнями иерархии памяти: главный памятью и наружной (дисковой) памятью.

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

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

Ниже рассмотрен 1-ый тип организации виртуальной памяти.

Страничная организация памяти

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

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

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

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

Для роста эффективности такового типа схем в микропроцессорах употребляется особая на сто процентов ассоциативная кэш-память, которая также именуется буфером преобразования адресов ( TLB traнсlation-lookaside buffer). Хотя наличие TLB не меняет принципа построения схемы страничной организации, исходя из убеждений защиты памяти, нужно предугадать возможность чистки его при переключении с одной программки на другую.

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

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

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

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

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

8. Регистровая модель микропроцессора




PC




BVA





Flags






TLBP





TINT





Регистровая модель микропроцессора состоит из

1 PC- 32-x разрядный счетчик установок; C его помощью устройство подборки установок считывает слова, начиная с адреса на 1 большего значения записанного в PC

2 BVA- 32-разрядныйрегистр в него записывается адресок нехороший странички. Т.е. когда идет воззвание к какой то страничке памяти не находящейся в оперативки происходит запись адреса данной для нас странички в BFA, а потом при помощи этого адреса происходит загрузка страници в ОП.

3 Flags – 8-разрядный регистр регистр флагов. Если происходит одно из событий, которые могут отражаться в этом регистре, то происходит установка того либо другого флага.

Z- признак нулевого результата

C- признак переноса из старшего разряда

S- символ результата

O- признак переполнения

I- флаг прерывания

T- флаг ловушки

U- флаг юзер/супервизор

PL- флаг уровня привелегий

4 TLBP- 32-разрядный регистр указатель на таблицу переадресации

5 TINT – 32-разрядный регистр указатель на таблицу векторов прерываний

6 8 — 32-разрядных регистров общего предназначения

9. Сопроцессор

Сопроцессор нужен для выполнения операций над числами с плавающей точкой.

Схема совместной работы ЦП и сопроцессора смотрится последующим образом.


ЦП







wait










ОЗУ








СоП





Вариант организации работы:

1. Оба микропроцессора просматривают поток установок и любой выбирает свою

2. Все операции с адресами делает ЦП

3. Исходя из убеждений ЦП набор установок с ПТ это одна команда

4. Сигнал wait нужен для проверки того занят ли сопроцессор вычислениями либо нет.Он инспектирует вход busy.

Форматы данных

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

Существует три вида чисел с плавающей точкой

1. 32- разрядное

2. 64- разрядное

3. 80 – разрядное (для внутренних вычислений)

Вид чисел с ПТ См выше (глава типы данных).


SR





10. Регистровая модель сопроцессора

FR0

FR1

FR2

.

.

.

.

.

.

.

FR6

FR7









B Z S O I IR PE UE OE ZE IE







CR






IC RC PC IEM Masks






ER










Регистровая модель сопроцессора состоит из

1 8 32- разрядных РОН

2 SR- регистр статуса. В нем отражаются все процессы и действия происходящие в сопроцессоре.

B- бизи-бит указывает волен либо занят сопроцессор

Z- флаг нуля

S- флаг знака

O-переполнени

I-разрешение прерывания

IR-запрет прерывания

PE-потеря точности

UE-денормализация

OE-переполние

ZE-деление на ноль

IE-недействительный операнд.

3 CR- регистр управления. С его помощью происходит управление арифметическими операциями происходящими в сопроцессоре

IC – тип математики: 0- афинная

1- проекционная

Афинная – рядовая математика и ±¥

Прекционная лишь ±¥

RC-режим округления

00- к ближнему целому

01- к -¥

10- к +¥

11- к 0

PC-способ выдачи инфы

00-80-разрядов

01- 32 — разряда

10- 64-разряда

Masks- дозволяет маскировать прерывания.

4 ER- регистр ошибок в него записывается КОП, адресок команды и операции, которые вызвали ошибки.

11. Система установок микропроцессора и сопроцессора



Name
Содержание
Функция
Флаги
Код

Z
C
S
O
I
T
U

Воззвание к памяти по чтению и записи

1. 1
RDB
Чтение б
R0<= <R1>+R2
-
-
-
-
-
-
-
000000

2.
RDHW
Чтение полуслова
R0<= <R1>+R2
-
-
-
-
-
-
-
000001

3.
RDW
Чтение слова
R0<= <R1>+R2
-
-
-
-
-
-
-
000010

4.
WRB
Запись б
<R0>=> <R1>+R2
-
-
-
-
-
-
-
000011

5.
WRHW
Запись полуслова
<R0>= ><R1>+R2
-
-
-
-
-
-
-
000100

6.
WRW
Запись слова
<R0>=> <R1>+R2
-
-
-
-
-
-
-
000101

7.
IN
Чтение из порта
R0<=порт<R1>
-
-
-
-
-
-
-
000110

8.
OUT
Запись в порт
R0=>порт<R1>
-
-
-
-
-
-
-
000111

9.
MOV
Обмен RG<>RG
<R0><=<R1>
-
-
-
-
-
-
-
001000

10.
MOVI
Занос в регистр значения
<R0><= R2
-
-
-
-
-
-
-
001001

Арифметические операции с ФТ

11.
ADD
Сложение
<R0><= <R1>+<R2>
+
+
+
+
-
-
-
001100

12.
SUB
Вычитание
<R0><= <R1>-<R2>
+
+
+
+
-
-
-
001101

13.
MUL
Умножение
<R0><= <R1>*<R2>
+
+
+
+
-
-
-
001110

14.
DIV
Деление
<R0><= <R1>/<R2>
+
+
+
+
-
-
-
001111

15.
ADDI
Сложение с неп оп.
<R0><= <R1>+R2
+
+
+
+
-
-
-
010000

16.
SUBI
Выч. с неп оп.
<R0><= <R1>-R2
+
+
+
+
-
-
-
010001

17.
MULI
Умн/ с неп оп.
<R0><= <R1>*R2
+
+
+
+
-
-
-
010010

18.
DIVI
Деление с неп оп.
<R0><= <R1>/R2
+
+
+
+
-
-
-
010011

Логические оперции с ФТ

19.
AND
«И»
<R0><= <R1>&<R2>
+
-
+
-
-
-
-
010100

20.
OR
«ИЛИ»
<R0><= <R1>v<R2>
+
-
+
-
-
-
-
010101

21.
XOR
Искл «ИЛИ»
<R0><= <R1>+<R2>
+
-
+
-
-
-
-
010110

22.
NOT
«НЕ»
<R0><= ~<R1>
+
-
+
-
-
-
-
010111

23.
RCL
Повторяющийся сдвиг на лево
-
+
-
+
-
-
-
011000

24.
RCR
Повторяющийся сдвиг на Право
-
+
-
+
-
-
-
011001

Команды переходов и прерываний

25.
CLI
Очистить флаг разрешения прерываний
0
011010

26.
INT
Вызов прерывания

<R7><=PC

<R6><=flags



+
+
+
+
+
+
+
011100

27.
IRET
Возврат из прерывания

<PC><=R7

flags<=R6



-
-
-
-
-
-
-
011101

28.
CALL
Вызов подпрограммы

<R7><=PC

PC<=<R1>+R2



-
-
-
-
-
-
-
011110

29.
RET
Возврат из подпрограммы

<PC><=R7



-
-
-
-
-
-
-
011111

30.
JMP
Бесспорный переход
PC<=<R1>+R2
-
-
-
-
-
-
-
100000

31.
JZ
Переход по нулю
PC<=<R1>+R2
+
-
-
-
-
-
-
100001

32.
JNZ
Переход не по нулю
PC<=<R1>+R2
+
-
-
-
-
-
-
100010

33.
JO
Переход по переполнению
PC<=<R1>+R2
-
-
-
+
-
-
-
100011

34.
JNO
Переход по не переполнению
PC<=<R1>+R2
-
-
-
+
-
-
-
100100

35.
JC
Переход по переносу
PC<=<R1>+R2
-
+
-
-
-
-
-
100101

36.
JNC
Переход не по переносу
PC<=<R1>+R2
-
+
-
-
-
-
-
100110

37.
JS
Переход переход по меньше нуля
PC<=<R1>+R2
-
-
+
-
-
-
-
100111

38.
JNS
Переход переход по не меньше нуля
PC<=<R1>+R2
-
-
+
-
-
-
-
101000

Особые операции

39.
RFL
Чтение флагов
R1<=Flags
-
-
-
-
-
-
-
101001

40.
WFL
Запись флагов
<R1>=>Flags
+
+
+
+
+
+
+
101010

41.
RTLBR
Чтение TLBP
R1<=TLB
-
-
-
-
-
-
-
101011

42.
WTLBR
Запись TLBP
<R1>=>TLB
-
-
-
-
-
-
-
101100

43.
RISR
Чтение TINT
R1<=TINT
-
-
-
-
-
-
-
101101

44.
WISR
Запись TINT
<R1>=>TINT
-
-
-
-
-
-
-
101110

45.
RBVA
Чтение BVA
<R0><=BVA
-
-
-
-
-
-
-
110011

46.
RFE
Возврат в юзера
-
-
-
-
-
-
0
101111

47.
SCALL
Переход в супервизора
-
-
-
-
-
-
1
110000

48.
HALT
Ожидание прерывания
-
-
-
-
1
-
-
110001

49.
NOP
Нет операции
PC<=<PC>+1
-
-
-
-
-
-
-
110010

Арифметические операции с ПТ

50.
FADD
Сложение
<F0><= <F1>+<F2>
+
+
+
+
-
-
-
111000

51.
FSUB
Вычитание
<F0><= <F1>-<F2>
+
+
+
+
-
-
-
111001

52.
FMUL
Умножение
<F0><= <F1>*<F2>
+
+
+
+
-
-
-
111010

53.
FDIV
Деление
<F0><= <F1>/<F2>
+
+
+
+
-
-
-
111011

54.
FMOV
Обмен RG<>RG
F0<=<F1>
-
-
-
-
-
-
-
111100

55.
FRDW
Чтение
<F0><= <R1>+R2
-
-
-
-
-
-
-
111101

56.
FWRW
Запись
<F0><= <R1>+R2
-
-
-
-
-
-
-
111110

57.
MFC
Преобр ПТ-ФТ
<R0><= <F1>
+
+
+
+
-
-
-
111111

58.
MCF
Преобр ФТ-ПТ
<R0>=> <F1>
+
-
+
+
-
-
-
111111

1 Воззвание к памяти по чтению и записи.

При помощи этих установок можно вносить данные и регистров в память и читать их оттуда.

2 Арифметические и логические операции с ФТ

Разрешают создавать известные операции с числами с ФТ, которые хранятся в регистрах либо с конкретными операндами

3 Особые операции.

Разрешают работать с системными регистрами, вносить туда информацию и считывать ее от туда. Команды с 40 по 46 вероятны лишь в режиме супервизора. В пользовательском режиме они недосягаемы.

4 Арифметические операции с ПТ

Известные операции подобные с ФТ, плюс операции сдвигов на лево и на Право.

1
2
.
структура наружных выводов микропроцессора





Микропроцессор имеет совмещенную шину адреса и данных (AD). Сигнал ALE употребляется для фиксации адреса на наружном регистре-защелке. Пара сигналов HLD и HLDA употребляется для реализации механизма захвата шины. Сигнал INT является сигналом запроса прерывания. Сигнал NMI – запрос немаскируемого прерывания.

Полосы RD(чтение), WR(запись), IN(ввод), OUT(вывод), задают выполняемую на шине операцию.

Сигналы CC0, CC1, Wait употребляются для взаимодействия с сопроцессором. Полосы CC0, CC1 служат для синхронизации работы с мат сопроцессором.


СС0
СС1

0
0
Нет операции

0
1
Чистка очереди

1
0
Запись команды в буфер

1
1
Подборка команды

На контакт WAIT поступает сигнал о окончании вычислений

По шине FFLAGS в ЦП передаются флаги от сопроцессора

Контакт READY служит для приема сигналов готовности от неспешных наружных устройств

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

13.
структура наружных выводов сопроцессора





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

INT








УУ





PC





FLAGS





Буфер шины

адресок/данные








8 РОН





КОП R0 R1 R2





Уст-во

предвыборки установок







DC

установок








14. Структурная схема микропроцессора





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

2 Дешифратор установок получает слово от устройства предвыборки и дешифрирует его. Перевоплощенный код записывается в регистр установок.

3 Регистр установок хранит команду полученную от дешифратора.

4 Счетчик установок содержит адресок выполняемой на этот момент команды.

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

6 Контроллер равноприоритетных прерываний производит подборку приходящих программных прерываний.

7 Буфер A/D служит для взаимодействия микропроцессора с системной шиной и может переводить машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач) (либо вычислительной системы) которое делает арифметические и логические операции данные программкой преобразования инфы управляет вычислительным действием и коор в Z состояние, отключая его тем от шины.

8 АЛУ- делает операции над данными изРОНов. Употребляется для операций над числами с ФТ.

10 Регистр флагов содержит в себе 8 флагов 4 из которых соответствуют разным признакам результата.

15. метод функционирования микропроцессора






Обработка





Изм РС.





Фор. адреса





Измен. РС





Вып. операции





Зап рез-та





Зап рез-та





Вып операции





Вып операции




Буфер флагов








УУ





PC





FLAGS





Буфер шины

адресок/данные








8 РОН





КОП R0 R1 R2





Уст-во

предвыборки установок







DC

установок








16. Структурная схема сопроцессора

Структурная схема работы сопроцессора состоит из тех же блоков, что и ЦП. Основное отличие: отсутствует блок запросов прерываний и АЛУ создано для операций над числами с ПТ

17. метод функционирования сопроцессора



Вып. опер





Чтение и запись





Подборка команды





Запись команды





Чистка очереди





18. Выводы

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

Для него была разработанна

1 Регистровая модель микропроцессора

2 Регистровая модель сопроцессора

3 Система установок

В процессе разработки мы ознакомились с таковыми понятиямикак :

Виртуальная память

Форматы данных

Форматы установок

Сопроцессор (предназначение и организация функционирования)

Так же была разработана программка моделирующая работу микропроцессора и показывающая индивидуальности доступа и обработки данных во обоих вероятных режимах (юзер/ супервизор).

]]>