64202 (Сравнение архитектуры POWER с другими RISC архитектурами.), страница 3

2016-08-01СтудИзба

Описание файла

Документ из архива "Сравнение архитектуры POWER с другими RISC архитектурами.", который расположен в категории "". Всё это находится в предмете "компьютерные науки" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "компьютерные науки" в общих файлах.

Онлайн просмотр документа "64202"

Текст 3 страницы из документа "64202"

2.6 Устройство управления памятью (MMU).
MMU поддерживает до 4 Петабайт (252) виртуальной памяти и до 4 Гигабайт (232)  физической памяти для команд и данных со страницами по 4 Кб и сегментами по 256 Мб. MMU контролирует привилегии доступа , разбивая память на блоки и страницы. Вообще, механизм преобразования адресов состоит в преобразовании эффективного адреса в промежуточный виртуальный исходя из сегментной информации и затем в физический по таблицам страниц. Дескрипторы сегментов, используемые для генерации промежуточного внутреннего адреса, хранятся как встроенные 32-разрядные сегментные регистры.
В 750 реализовано 2 буфера TLB, так что доступ к TLB для команд и данных может производится независимо.

Механизм преобразования адресов блоков (block address translation, BAT) - программно-контролируемый массив доступных преобразований адресов блоков. Механизм BAT управляет преобразованием блоков до 256 Мб из 32-разрядного эффективного адресного пространства в физическое. Используются для преобразования адресов, не часто меняющих свое отображение. Элементами массива BAT являются пары BAT-регистров, доступных в режиме супервизора. В 750 есть отдельные механизмы BAT для команд и данных (4 IBAT и 4 DBAT).
  LSU и устройство управления потоком команд вычисляют эффективные адреса данных и команд. MMU преобразует эффективные адреса в физические для доступа к памяти.
  750 поддерживает следующие режимы преобразования адресов:
· Реальный (real addressing) - физический адрес совпадает с эффективным.
· Страничный (page address translation) - преобразует адреса страниц (4 Кб)
· Блочный (block address translation) - преобразует базовые адреса блоков (от 128 Кб до 256 Мб)
Если работает преобразование адресов, MMU преобразует старшие биты эффективного адреса в физический. Если адрес найден в массиве BAT, то физический адрес выдается сразу, иначе 32-битный эффективный адрес расширяется в 52-битный виртуальный замещением 24 старших битов на сегментный регистр, адресуемый 4 старшими битами ЕА. 52-разрядные виртуальные адреса разделены на 4 Кб страницы, отображаемые в физические.
Младшие биты адреса одинаковы и используются для вычисления индекса в массиве тэгов кэша. После преобразования адресов MMU посылает физический адрес в кэш и данные считываются. Если кэш не используется или данных в нем нет, то не преобразованные младшие биты соединяются с преобразованными старшими в 32-разрядный физический адрес, который используется для доступа к внешней памяти.

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

2.7   Встроенные кэши команд и данных.
 
В 750 реализованы отдельные 32 Кб кэши для команд и данных (Гарвардская архитектура). Оба кэша восьмиканальные частично ассоциативные. По архитектуре PowerPC кэши адресуются физически, реальный адрес хранится в директории кэша. Оба кэша организованы в блоки по 32 байта. Блок кэша - блок памяти, для которого описано состояние когерентности. Для каждого банка данных кэша используется алгоритм PLRU (pseudo least-recently-used) замены данных (алгоритм изложен в документации). Когерентность данных глобальной памяти и данных в кэше производится по протоколу MEI процедурой слежения  (snooping) по шине когерентности. Состояния когерентности для кэша данных: Modified (Exclusive) (M), Exclusive (Unmodified) (E), Invalid (I). Для кэша команд: Invalid (INV), Valid (VAL). Каждый кэш можно сделать недействительным (invalidate) установкой соответствующих битов в специальных регистрах (HID0).
При непопадании в кэш, блоки заполняются за 4 прохода по 64 бита. Двойные слова одновременно записываются в кэш и в запрашивающее устройство, минимизируя задержки.
 Оба кэша тесно связаны с устройством шины интерфейса (bus interface unit, BUI). BUI получает запросы от кэшей и выполняет эти операции в соответствии с протоколом 60х. BUI предоставляет очереди адресов, логику приоритетов и логику контроля шины.
Кэш данных предоставляет буферы для сохранения и загрузки операций шины. Все данные из соответствующих адресных очередей помещены в кэш данных. В кэше данных также производится сохранение тэгов, требуемых для когерентности с памятью и замещение блоков кэша функциями PLRU.
Кэш данных организован в 128 банков по 8 блоков. Каждый блок содержит 32 байта, 2 бита состояния и адресный тэг. Каждый блок кэша содержит 8 последовательных слов из памяти которые загружаются с границы в 8 слов (т.е. биты ЕА[27-31] равны 0): таким образом блок кэша никогда не пересекает границу страницы. Не выровненные обращения через границу страницы могут повлечь уменьшение производительности. Во время загрузки данных кэш не блокируется для внешних доступов до полной загрузки.
 
В течение такта кэш данных предоставляет для считывания в LSU двойное слово. Как и кэш команд, кэш данных может быть сделан недействительным (invalidated) весь или поблочно. Данные кэша делаются недоступными и недействительными сбросом HID0[DCE] и установкой HID0[DCFI], кэш данных может быть заблокирован установкой HID0[DLOCK].  Тэги кэша имеют один порт, поэтому одновременная загрузка/сохранение и обращения для когерентности кэша вызывают конфликт, при этом LSU внутренне блокируется на один такт для записи блока данных в 8 слов в буфер обратной записи.
Кэш команд также состоит из 128 банков по 8 блоков. Каждый блок состоит из 32 байтов, 1 бита состояния  и адресного тэга. За один цикл кэш команд предоставляет до 4 команд в очередь команд. В кэше команд поддерживаются только состояния верно/неверно (valid/invalid) для данных. Кэш команд не отслеживается, поэтому если изменяется память, данные которой содержатся в кэше, программа должна сообщать об этом устройству выборки команд. Кэш команд может быть сделан недействительным весь или поблочно. Доступ к кэшу запрещается и кэш делается недействительным сбросом HID0[ICE]  и установкой HID0[ICFI], кэш блокируется установкой HID0[ILOCK].
В 750 реализован также кэш команд переходов (branch target instruction cache, BTIC). В BTIC хранятся встретившиеся в программе команды переходов/циклов. Если команда находится в BTIC она поступает в очередь команд на такт быстрее, чем из кэша команд.

3.  Системный интерфейс. Схема выводов процессора.
 
3.1 Шины адреса и данных функционируют раздельно. Используются два вида доступов к памяти и пересылки данных:

· Однотактовая (single-beat) пересылка - пересылка 8, 16, 24, 32 или 64 битов за такт шины. Используется при некэшируемых доступах в память.
· Четырехтактовая пакетная (four-beat burst) пересылка данных - используется для чтения блоков кэша. Так как кэши первого уровня с обратной записью, то  пакетные доступы к памяти используются наиболее часто.
Доступ к системной шине дается через механизм внутреннего арбитража.
Обычно доступы к памяти слабо упорядочены - последовательности команд загрузки/записи не обязательно выполнять в порядке их следования - то есть можно максимизировать эффективность использования шины без потери когерентности. 750 позволяет выполнять операции загрузки/записи не в порядке расположения в очереди команд (если нет зависимостей между ними и нет случаев некэшируемых доступов).
 
 

3.2  Процессор 750 имеют следующие группы выводов:
· Арбитраж шины адресов
1.  BR (Bus Request) Output - запрос операций на шине адреса
2.  BG (Bus Grant) Input - разрешение операций на шине адреса
3.  ABB (Address Bus Busy) Output - указывает, что 750 является мастером шины. Input - указывает на занятость шины.
· Старт передачи адреса - показывает, что мастер шины (bus master) начал транзакцию на шине адреса.
1. TS (Transfer Start) Output - указывает, что 750 начал транзакцию и шина адреса и атрибуты верны. Input - другой мастер шины начал транзакцию и шина адреса и ат-рибуты доступны для слежения.
· Передачи адреса - включает в себя шину адреса и сигналы четности адреса для про-верки.
1.  A[0-31] (Address Bus) Output - физический адрес данных для пересылки. Input -  фи-зический адрес для операции слежения (snooping) .
2.  AP[0-3] (Address Bus Parity) Output - четность для каждых 4 байт адреса. Input - чет-ность для каждых 4 байт адреса для операции слежения .
· Атрибуты пересылки - показывают размер пересылки, является ли пакетной, прямой записью или бескэшевой.
1. TT[0-4] (Transfer Type) Output - текущий тип пересылки
2. TSIZ[0-2] (Transfer Size) Output - размер текущей пересылки данных.
3. TBST (Transfer Burst) Output - указывает на текущую пакетную пересылку.
4. CI (Cache Inhibit) Output - указывает, что однотактовые пересылки не кэшируются.
5. WT (Write Through) Output - указывает, что однотактовая транзакция записывается write-through. Сигнал чтении показывает выборку команды или загрузку данных.
6. GBL (Global) Output - указывает, что транзакция глобальная. Input - указывает, что транзакция должна быть отслежена.
· Завершения передачи адреса - подтверждают конец адресной фазы транзакции.
1.  AACK (Address Acknowledge) Input - указывает на завершение адресной фазы тран-закции.
2.  ARTRY (Address Retry) Output - указывает, что 750 обнаружил условия при которых фаза передачи адреса должна быть повторена.
· Арбитраж шины данных.
1. DBG (Data Bus Grant) Input - доступ к операциям на шине данных
2. DBWO (Data Bus Write Only) Input - указывает на возможность записи по внеоче-редному адресу, даже если адрес чтения стоит перед адресом записи.
3. DBB (Data Bus Busy) Output - указывает, что 750 является мастером шины. Input - другое устройство мастер шины.
· Пересылка данных - содержит сигналы шины данных и четности.
1.  DH[0-31], DL[0-31] (Data Bus) - шина данных раздела на две половины - верхняя шина (DH) и нижнюю шину (DL). Output - состояние данных при записи. Input - данные при чтении.
2.  DP[0-7] (Data Bus Parity) Output - четность для каждых 8 бит при транзакции запи-си/чтения.
3.  DBDIS (Data Bus Disable) - указывает, что 750 должен освободить шину данных и четности в течение текущего цикла.
· Завершения пересылки данных - сигналы завершения требуются после каждого цикла пересылки данных. В одноцикловых (single-beat) транзакциях сигналы завершения указывают на окончания владения шиной, при пакетных доступах сигналы завершения  поступают после каждого цикла и отдельно сигнал окончания владения шиной.
1. TA (Transfer Acknowledge) - указывает на удачное завершение цикла пересылки данных.
2. DRTRY (Data Retry) - указывает на недействительность данных предыдущей пере-сылки
3. TEA (Transfer Error Acknowledge) - ошибка на шине.
· Адрес/данные кэша L2 - 750 имеет отдельные шины адреса и данных для доступа к кэшу L2.
· Тактовые/контрольные сигналы кэша L2.
· Сигналы прерываний/сброса - сигналы внешних прерываний, ошибочных остановок, программных и аппаратных сбросов.
1.  INT (Interrupt) - 750 вызывает прерывание если MSR[EE] установлен, иначе преры-вание игнорируется.
2.  SMI (System Management Interrupt) - прерывание системного управления, если
 MSR [EE] установлен.
3.  MCP (Machine Check Interrupt)
4.  CKSTP_IN (Checkstop Interrupt) - 750 должен прервать операцию и сбросить все выходы
5.  CKSTP_OUT - указывает на наступление условия остановки.
6.  HRESET (Hard Reset)  - полное аппаратное прерывание.
7.  SRESET (Soft Reset) - начинает процесс исключительной ситуации сброса.
· Статус процессора и контроль - устанавливают бит когерентности станций резерва-ции, временную базу и другие функции.
· Контроля тактовой частоты.
· Тестовый интерфейс.

4.  Регистры и программная модель PowerPC.

Архитектура PowerPC включает в себя следующие уровни:
· Уровень команд пользователя (user instruction set architecture, UISA) - определяет базовые пользовательские команды, регистры, типы данных, модели память и про-граммирования для однопроцессорной среды.
· Архитектура виртуальной среды (virtual environment architecture,VEA) - определяет модель памяти для мультипроцессорной среды, команды контроля кэша и другие па-раметры виртуальной среды.
· Архитектура операционной среды (OEA) - определяет модель управления памя-тью, регистры супервизора, требования синхронизации и модель исключений.

4.1 Регистры PowerPC.
Регистры определены на всех трех уровнях архитектуры PowerPC. Архитектура PowerPC определяет операции регистр-регистр для всех команд обработки. Источником данных является встроенные регистры или непосредственные операнды. Трехрегистровый формат команд позволяет отличать регистр результата от 2 регистров-источников, по-зволяя использовать их в других командах. Данные пересылаются между памятью и ре-гистрами только специальными командами загрузки/сохранения.
Регистры процессора 750 показаны на рисунке.
· Регистры пользовательского уровня (UISA) - доступны из всех программ с уровнями привилегий    пользователя или супервизора.
  Регистры общего назначения (GPR). 32 регистра GPR (GPR0-GPR31) используются как источники или   приемники для целочисленных команд и предоставляют данные для формирования адреса.
  Регистры с ПТ (FPR). 32 регистра FPR (FPR0-FPR31) используются как источники или приемники данных в командах с ПТ. Все регистры FPR поддерживают формат ПТ с двойной точностью.
  Регистр условия (CR). 32-битный регистр, состоит из восьми 4-битных полей, CR0-CR7, отражает результаты  определенных арифметических операций и обес-печивают механизм тестирования и переходов.
  Регистр контроля и статуса операций с ПТ (FPSCR). FPSCR содержит тип резуль-тата операции с ПТ, все сигнальные биты исключительных ситуаций с ПТ, биты общих исключений, биты разрешения исключений и биты контроля для совмес-тимости со стандартом IEEE 754.
Остальные регистры уровня пользователя являются регистрами специального назна-чения (SPR). В PowerPC используется специальный механизм для явного доступа к SPR (команды mtspr и mfspr).
  Регистр целочисленных исключений (XER). XER показывает переполнение или перенос для целочисленных операций.
  Регистр связи (LR)  LR предоставляет адрес перехода для команды Branch condition to link register (bclr) и может быть использован для хранения логического адреса команды следующей за переходом и связи команд, обычно для связи с про-цедурами.
  Регистр-счетчик (CTR). Содержит счетчик цикла, который может уменьшатся на 1 при выполнении определенных команд перехода.
 
· Регистры пользовательского уровня (VEA) — PowerPC VEA определяет механизм базы времени (time base facility, TB), который состоит из двух 32-битных регистров - time base upper (TBU) и time base lower (TBL). Изменяются командами супервизора и доступны для чтения на пользовательском уровне.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
427
Средний доход
с одного платного файла
Обучение Подробнее