RISC-процессор, его возможности и организация
Архитектура системы команд. Классификация процессоров (CISC и RISC), характеристика их типов и функциональные особенности. Методы адресации и типы данных. Типы и формат команд. Организация данных и виртуальная память. Регистровая модель процессора.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 07.08.2013 |
Размер файла | 26,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
1. Архитектура системы команд
Классификация процессоров (CISC и RISC )
Как уже было отмечено, архитектура набора команд служит границей между аппаратурой и программным обеспечением и представляет ту часть системы, которая видна программисту или разработчику компиляторов.
Двумя основными архитектурами набора команд, используемыми компьютерной промышленностью на современном этапе развития вычислительной техники являются архитектуры 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 в современном его понимании сформировалось на базе трех исследовательских проектов компьютеров: процессора 801 компании IBM, процессора RISC университета Беркли и процессора MIPS Стенфордского университета.
Разработка экспериментального проекта компании IBM началась еще в конце 70-х годов, но его результаты никогда не публиковались и компьютер на его основе в промышленных масштабах не изготавливался. В 1980 году Д.Паттерсон со своими коллегами из Беркли начали свой проект и изготовили две машины, которые получили названия RISC -I и RISC -II. Главными идеями этих машин было отделение медленной памяти от высокоскоростных регистров и использование регистровых окон.
Развитие архитектуры RISC в значительной степени определялось прогрессом в области создания оптимизирующих компиляторов. Именно современная техника компиляции позволяет эффективно использовать преимущества большего регистрового файла, конвейерной организации и большей скорости выполнения команд. Современные компиляторы используют также преимущества другой оптимизационной техники для повышения производительности, обычно применяемой в процессорах RISC: реализацию задержанных переходов и суперскалярной обработки, позволяющей в один и тот же момент времени выдавать на выполнение несколько команд.
Следует отметить, что в последних разработках компании Intel (имеется в виду Pentium P54C и процессор следующего поколения P6), а также ее последователей-конкурентов (AMD R5, Cyrix M1, NexGen Nx586 и др.) широко используются идеи, реализованные в RISC -микропроцессорах, так что многие различия между CISC и RISC стираются. Однако сложность архитектуры и системы команд x86 остается и является главным фактором, ограничивающим производительность процессоров на ее основе.
2. Методы адресации и типы данных
В машинах к регистрами общего назначения метод (или режим) адресации объектов, с которыми манипулирует команда, может задавать константу, регистр или ячейку памяти. Для обращения к ячейке памяти процессор прежде всего должен вычислить действительный или эффективный адрес памяти, который определяется заданным в команде методом адресации.
Адресация непосредственных данных и литеральных констант обычно рассматривается как один из методов адресации памяти (хотя значения данных, к которым в этом случае производятся обращения, являются частью самой команды и обрабатываются в общем потоке команд). Адресация регистров, как правило, рассматривается отдельно. В данном разделе методы адресации, связанные со счетчиком команд (адресация относительно счетчика команд) рассматриваются отдельно. Этот вид адресации используется главным образом для определения программных адресов в командах передачи управления.
Ниже на примере команды сложения (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, то выбирается значение по этому указателю |
|
Автоинкрементная |
Add R1,(R2)+ |
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 |
Для индексации массивов |
3. Типы команд
Команды традиционного машинного уровня можно разделить на несколько типов:
Тип операции |
Примеры |
|
Арифметические и логические |
Целочисленные арифметические и логические операции: сложение, вычитание, логическое сложение, логическое умножение и т.д. |
|
Пересылки данных |
Операции загрузки/записи |
|
Управление потоком команд |
Безусловные и условные переходы, вызовы процедур и возвраты |
|
Системные операции |
Системные вызовы, команды управления виртуальной памятью и т.д. |
|
Операции с плавающей точкой |
Операции сложения, вычитания, умножения и деления над вещественными числами |
|
Десятичные операции |
Десятичное сложение, умножение, преобразование форматов и т.д. |
|
Операции над строками |
Пересылки, сравнения и поиск строк |
4.Формат команд
процессор память виртуальный регистровый
Существует несколько видов форматов команд, а точнее 3
одноадресная
двухадресная
трехадресная
Желательно чтобы команда имела 32-х разрядный формат. В задании на проектирование было указанно использование 3-х адресной команды.
5.Форматы данных
В процессоре могут использоваться числа с фиксированной точкой и плавающей точкой.
Числа с ФТ представляют собой целые со знаком или без знака. Старший бит числа является знаковым. Нулевое значение этого бита указывает на то, что число положительное, единичное на то, что число отрицательное.
Целые со знаком представляются в дополнительном коде. Положительные числа в дополнительном коде записываются просто как двоичные числа без знака, а отрицательные выражаются числом которое будучи добавлено к положительному числу той же величины даст в результате ноль. Для получения отрицательного числа нужно для каждого бита положительного числа сформировать дополнение до 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).
6. Виртуальная память
Виртуальная память и организация защиты памяти
Концепция виртуальной памяти
Общепринятая в настоящее время концепция виртуальной памяти появилась достаточно давно. Она позволила решить целый ряд актуальных вопросов организации вычислений.
Прежде всего к числу таких вопросов относится обеспечение надежного функционирования мультипрограммных систем. В любой момент времени компьютер выполняет множество процессов или задач, каждая из которых располагает своим адресным пространством. Было бы слишком накладно отдавать всю физическую память какой-то одной задаче тем более, что многие задачи реально используют только небольшую часть своего адресного пространства.
Поэтому необходим механизм разделения небольшой физической памяти между различными задачами. Виртуальная память является одним из способов реализации такой возможности.
Она делит физическую память на блоки и распределяет их между
различными задачами. При этом она предусматривает также некоторую схему защиты, которая ограничивает задачу теми блоками, которые ей принадлежат.
Большинство типов виртуальной памяти сокращают также время начального запуска программы на процессоре, поскольку не весь программный код и данные требуются ей в физической памяти, чтобы начать выполнение.
Другой вопрос, тесно связанный с реализацией концепции виртуальной памяти, касается организации вычислений на компьютере задач очень большого объема. Если программа становилась слишком большой для физической памяти, часть ее необходимо было хранить во внешней памяти (на диске) и задача приспособить ее для решения на компьютере ложилась на программиста. Программисты делили программы на части и затем определяли те из них, которые можно было бы выполнять независимо, организуя оверлейные структуры, которые загружались в основную память и выгружались из нее под управлением программы пользователя. Программист должен был следить за тем, чтобы программа не обращалась вне отведенного ей пространства физической памяти. Виртуальная память освободила программистов от
этого бремени. Она автоматически управляет двумя уровнями иерархии памяти: основной памятью и внешней (дисковой) памятью.
Страничная организация памяти
В системах со страничной организацией основная и внешняя память (главным образом дисковое пространство) делятся на блоки или страницы фиксированной длины.
Каждому пользователю предоставляется некоторая часть адресного пространства, которая может превышать основную память компьютера и которая ограничена только возможностями адресации, заложенными в системе команд. Эта часть адресного пространства называется виртуальной памятью пользователя. Каждое слово в виртуальной памяти пользователя определяется виртуальным адресом, состоящим из двух частей: старшие разряды адреса рассматриваются как номер страницы, а младшие - как номер слова (или байта) внутри страницы.
Управление различными уровнями памяти осуществляется программами ядра операционной системы, которые следят за распределением страниц и оптимизируют обмены между этими уровнями. При страничной организации памяти смежные виртуальные страницы не обязательно должны размещаться на смежных страницах
основной физической памяти. Для указания соответствия между виртуальными страницами и страницами основной памяти операционная система должна сформировать таблицу страниц для каждой программы и разместить ее в основной памяти машины. При этом каждой странице программы, независимо от того находится ли она в основной памяти или нет, ставится в соответствие некоторый элемент таблицы страниц. Каждый элемент таблицы страниц содержит номер физической страницы основной памяти и специальный индикатор. Единичное состояние этого индикатора свидетельствует о наличии этой страницы в основной памяти. Нулевое состояние индикатора означает отсутствие страницы в оперативной памяти.
Для увеличения эффективности такого типа схем в процессорах используется специальная полностью ассоциативная кэш-память, которая также называется буфером преобразования адресов ( TLB traнсlation-lookaside buffer). Хотя наличие TLB не меняет принципа построения схемы страничной организации, с точки зрения защиты памяти, необходимо предусмотреть возможность очистки его при переключении с одной программы на другую.
Поиск в таблицах страниц, расположенных в основной памяти, и загрузка TLB может осуществляться либо программным способом, либо специальными аппаратными средствами. В последнем случае для того, чтобы предотвратить возможность обращения пользовательской программы к таблицам страниц, с которыми она не связана, предусмотрены специальные меры. С этой целью в процессоре предусматривается дополнительный регистр защиты, содержащий описатель (дескриптор) таблицы страниц или базово-граничную пару.
База определяет адрес начала таблицы страниц в основной памяти, а граница - длину таблицы страниц соответствующей программы. Загрузка этого регистра защиты разрешена только в привилегированном режиме. Для каждой программы операционная система хранит дескриптор таблицы страниц и устанавливает его в регистр защиты процессора перед запуском соответствующей программы.
7. Регистровая модель процессора
Регистровая модель процессора состоит из
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-разрядных регистров общего назначения
8. Сопроцессор
Вариант организации работы:
Оба процессора просматривают поток команд и каждый выбирает свою
Все операции с адресами делает ЦП
С точки зрения ЦП набор команд с ПТ это одна команда
Сигнал wait необходим для проверки того занят ли сопроцессор вычислениями или нет. Он проверяет вход busy.
Форматы данных
Как было сказанно выше сопроцессор нужен для работы с числами пре дставленными в формате с плавающей точкой.
Существует три вида чисел с плавающей точкой
32- разрядное
64- разрядное
80 - разрядное (для внутренних вычислений)
Вид чисел с ПТ См выше (глава типы данных).
9. Регистровая модель сопроцессора
Регистровая модель сопроцессора состоит из
1 8 32- разрядных РОН
2 SR- регистр статуса. В нем отражаются все процессы и события происходящие в сопроцессоре.
B- бизи-бит показывает свободен или занят сопроцессор
Z- флаг нуля
S- флаг знака
O-переполнени
I-разрешение прерывания
IR-запрет прерывания
PE-потеря точности
UE-денормализация
OE-переполние
ZE-деление на ноль
IE-недействительный операнд.
3 CR- регистр управления. С его помощью происходит управление арифметическими операциями происходящими в сопроцессоре
IC - тип арифметики: 0- афинная
проекционная
Афинная - обычная арифметика и ±
Прекционная только ±
RC-режим округления
00- к ближнему целому
01- к -
10- к +
11- к 0
PC-способ выдачи информации
00-80-разрядов
01- 32 - разряда
10- 64-разряда
Masks- позволяет маскировать прерывания.
4 ER- регистр ошибок в него записывается КОП, адрес команды и операции, которые вызвали ошибки.
10. Структура внешних выводов процессора
Процессор имеет совмещенную шину адреса и данных (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 выводном корпусе. Оставшиеся ножки подаются на «Земля» или «Питание»
11. Структура внешних выводов сопроцессора
В сопроцессоре на вывод FPBUSY подается единичный сигнал указывающий на то, что сопроцессор занят. По линии FPINT выдается сигнал прирывания в случае ошибки. Назначение остальных выводов такое же как и у ЦП.
Измеряемое напряжение (В) |
Код результата |
|
+Umax |
0111111111111111 |
|
+Umax-1квант |
0111111111111110 |
|
+Umax-2кванта |
0111111111111101 |
|
... |
... |
|
+1квант |
0000000000000001 |
|
0В |
0000000000000000 |
|
-1квант |
1111111111111111 |
|
... |
... |
|
-Umax+2кванта |
1000000000000010 |
|
-Umax+1кванта |
1000000000000001 |
|
-Umax |
1000000000000000 |
12. Структурная схема процессора
1 Устройство предвыборки команд осуществляет опережающую выборку. Это позволяет избежать простоя процессора в циклах выборки команд. Устройство считывает из памяти слова начиная с адреса на 1 большего значения записанного в PC. Очередное слово из очереди подается на дешифратор. Освободившаяся позиция в конце очереди заполняется следующей командой.
2 Дешифратор команд получает слово от устройства предвыборки и дешифрует его. Преобразованный код записывается в регистр команд.
3 Регистр команд хранит команду полученную от дешифратора.
4 Счетчик команд содержит адрес выполняемой в данный момент команды.
5 Устройство управления осуществляет координацию работы отдельных блоков процессора и осуществляет его взаимодействие с внешней шиной.
6 Контроллер равноприоритетных прерываний осуществляет выборку приходящих программных прерываний.
7 Буфер A/D служит для взаимодействия процессора с системной шиной и может переводить процессор в Z состояние, отключая его тем самым от шины.
8 АЛУ- выполняет операции над данными из РОНов. Используется для операций над числами с ФТ.
10 Регистр флагов включает в себя 8 флагов 4 из которых соответствуют различным признакам результата.
Размещено на Allbest.ru
...Подобные документы
Поток данных при прерывании командного цикла. Способы синхронизации ступеней конвейера. Техническая основа реализации RISC. Преимущества RISC-архитектуры процессоров по сравнению с CISC. Основные методы минимизации приостановок работы конвейера.
шпаргалка [24,1 K], добавлен 24.04.2011Типы системной памяти. ОЗУ (оперативное запоминающее устройство), ПЗУ (постоянное запоминающее устройство), "энергонезависимая память" (CMOS). Процессор. Основные шины. Адресные данные. Совокупность всех возможных команд - система команд процессора.
контрольная работа [24,3 K], добавлен 30.03.2009Архитектура микроконтроллеров семейства Mega. Организация памяти. Способы адресации памяти данных. Энергонезависимая память данных. Таблица векторов прерываний. Счетчик команд и выполнение программы. Абсолютный вызов подпрограммы. Сторожевой таймер.
дипломная работа [213,9 K], добавлен 02.04.2009Архитектура ЭВМ - совокупность принципов организации аппаратно-программных средств, их основные характеристики, определяющие функциональные возможности ЭВМ при решении заданных задач. Формат команд обработки данных, методы прямой и косвенной адресации.
контрольная работа [772,4 K], добавлен 06.06.2012Разработка структурной схемы процессора; синтез микропрограммного и управляющего автомата с жесткой логикой. Функциональная организация процессора: программные модели, форматы данных и команд. Организация оперативной памяти. Проектирование блока операций.
учебное пособие [1,1 M], добавлен 09.04.2013Структура процессора Pentium, суперскалярность, основные особенности архитектуры. Организация конвейера команд, правила объединения. Дополнительные режимы работы процессора. Источники аппаратных прерываний. Формат ММХ команды. Процессор Pentium 4, схемы.
лекция [4,0 M], добавлен 14.12.2013Процесорне ядро сучасних 8-розрядних мікроконтролерів може бути побудовано на основі CISC- архітектури (повна система команд - Complicated Instruction Set Computer), або RISC-архітектури (скорочена система команд - Reduced Instruction Set Computer).
лекция [354,2 K], добавлен 13.04.2008Построение современных центральных процессоров на основе циклического процесса последовательной обработки информации. Архитектура двойного конвейера с общим вызовом команд. Основная идея создания кэш-памяти. Характеристика процессоров Core и Phenom.
реферат [1,6 M], добавлен 30.12.2010Процесор з RISC-архітектурою мають скорочений до мінімуму набір команд. Для реалізації більш складних операцій доводиться комбінувати команди. МК AT90S 2313 – малопотужний 8-розрядний КМОП мікроконтролер, заснований на розширеній AVR RISC-архітектурі.
лекция [126,1 K], добавлен 13.04.2008Изучение базовых команд ПК на базе МП i286 и их форматов. Изучение прямых способов адресации данных. Наработка практических навыков работы с командами. Разработка регистровой модели выполнения операций передачи данных. Программа реализации команд.
контрольная работа [42,2 K], добавлен 12.03.2011Принцип работы ядра процессора, типы архитектур ядер операционных систем. Сокет(Socket), кэш-память, контроллер ОЗУ, северный мост. Внутренняя архитектура процессоров Intel и AMD: расшифровка названий, технологии процессоров, сравнение производительности.
реферат [214,9 K], добавлен 05.05.2014Организация центрального процессора. Подключение интерфейсных программируемых БИС. Методы адресации и примеры команд. Программирование таймера и контроллера прерываний. Программная модель микропроцессорной системы. Программирование на языке ассемблера.
реферат [82,6 K], добавлен 05.12.2010Изучение архитектуры персонального компьютера на примере микропроцессора фирмы Intel. Регистры общего назначения. Оперативная память; форматы данных и команд. Команд пересылки с различными способами адресации операндов. Структура программы на Ассемблере.
курс лекций [506,4 K], добавлен 03.05.2014Внутренняя архитектура микропроцессора Intel 486. Формат данных и команд. Регистры общего назначения. Программная модель устройства FPU, регистр флагов. Разработка структуры и микропрограммы микропроцессора, управляющего автомата с жесткой логикой.
курсовая работа [1,6 M], добавлен 27.05.2013Использование пользовательских регистров. Регистры общего назначения. Элементарные и базовые типы данных. Язык микроопераций, ассемблер. Директивы резервирования памяти. Система команд, организация вычислений. Сложные структуры данных. Схемы ввода-вывода.
курс лекций [280,7 K], добавлен 02.12.2009Краткий обзор процессоров фирмы intel. Основные характеристики i80286: режим реальной адресации, режим защиты, сопроцессор i80287, условия программирования i80287. Основные характеристики i80386: 32-битная архитектура, способы адресации.
курсовая работа [29,9 K], добавлен 23.06.2007Общий вид вычислительной системы. Начальная последовательность действий. Элементы организации основных блоков ЭВМ. Архитектурная организация процессора ЭВМ. Организация систем адресации и команд ЭВМ. Система внешних устройств. Средства вывода информации.
курсовая работа [39,5 K], добавлен 28.01.2012Принцип работы процессора, способы его охлаждения, кодовые названия. Шины процессора, разрядность и кэш–память. Технологии расширения и поток команд процессора. Процессорные вентиляторы и их характеристика. Алгоритм и способы разгона процессора.
реферат [38,0 K], добавлен 21.02.2009Виды информации и формы ее представления. Системы счисления, используемые в ЭВМ. Типы операционных элементов. Понятие архитектуры ЭВМ. Организация системы памяти. Принцип программного управления. Синхронный конвейер команд, оценка его производительности.
шпаргалка [1,7 M], добавлен 04.06.2013Структура и основные элементы микроконтроллера. Разрядность и система команд процессора. Методы представления информации. Память и её типы. Режимы работы портов электронного устройства. Многофункциональность выводов микро-ЭВМ. Семейства микроконтроллеров.
презентация [1,2 M], добавлен 16.12.2011