Intel Intelligent Power Capability
Так как при разработке новой микроархитектуры Core инженеры стремились к оптимизации параметра «производительность на ватт», а также из-за того, что данная микроархитектура будет использоваться и в основе процессоров для ноутбуков, разработчики Intel сразу предусмотрели набор технологий, направленных на снижение энергопотребления и тепловыделения. Безусловно, будущие процессоры получат в своё распоряжение хорошо зарекомендовавшие себя технологии семейства Demand Based Switching (в первую очередь, Enhanced Intel SpeedStep и Enhanced Halt State). Но речь в данном случае идёт не о них.
Процессоры, основанные на микроархитектуре Core, получили возможность интерактивного отключения тех собственных подсистем, которые не используются в данный момент. Причём речь в данном случае идёт не о ядрах целиком. Декомпозиция процессора на отдельные функциональные узлы выполнена на гораздо более низком уровне. Каждое из процессорных ядер поделено на большое количество блоков и внутренних шин, питание
которыми |
гавляется раздельно посредством специализированных допол-
нительных логических схем. Главной особенностью этих схем, входящих в Intel Intelligent Power Capability, является то, что их работа не влечёт за собой увеличение времени отклика процессора на внешние воздействия, вызванное необходимостью приводить отключенные блоки в функциональное состояние.
2.11.ПРОЦЕССОРЫ С МИКРОПРОГРАММНЫМ УПРАВЛЕНИЕМ
настоящее время существуют два подхода к построению логики формирования функциональных импульсов.
и определяющих, какой |
/нкциональ- |
1. Каждой операции процессора соответствует набор логических схем, вы-
полненных на диодах, транзисторах и т.
ный импульс (ФИ) и в каком такте должен быть возбужден. Пусть некоторый ФИ должен появиться в такте j операции m при условии наличия переполнения сумматора или в такте i операции п. Требуемое действие будет выполнено, если подать сигналы, соответствующие указанным кодам операции, тактам и условиям на входы схем И, а выходы последних через схему ИЛИ соединить с формирователем ФИ (рис. 2.3).
Такой принцип управления операциями получил название "жесткой" или "запаянной" логики и широко применяется во многих компьютерах.
ФИ
Формирователь
Л
операция п такт i
операцияm
такт]
переполнение
Рис. 2.3. Формирование функционального импульса
2. Другой принцип организации управления: каждой микрооперации (МИР) ставится в соответствие слово (или часть слова), называемое микрокомандой и хранимое в памяти подобно тому, как хранятся в памяти команды обычного компьютера. Здесь команде соответствует микропрограмма, т. е. набор микрокоманд (МИК), указывающих, какие ФИ и в какой последовательности необходимо возбуждать для выполнения данной операции. Такой подход получил название микропрограммирования или "хранимой логики". Это подчеркивает тот факт, что в микропрограммном компьютере логика управления реализуется не в виде электронной схемы, а в виде закодированной информации, находящейся в каком-то регистре.
Идея микропрограммирования, высказанная в 1951 г. Уилксом, до недавнего времени не находила широкого применения, ибо:
• не было надежных и быстродействующих ЗУ для хранения микропрограммы;
• неправильно понимались задачи и выгоды микропрограммирования.
Поясним второй аргумент. Считалось, ценность микропрограммирования в том, что каждый потребитель может сконструировать себе из МИК нужный ему набор операций в данной конкретной задаче. Замена наборов команд достигалась бы заменой информации в ЗУ без каких-либо переделок в аппаратуре. Однако в этом случае программисту необходимо было бы знать все тонкости работы инженера-разработчика компьютера. А основная тенденция развития ЭВМ в связи с автоматизацией программирования состоит в том, чтобы освободить программиста от детального изучения устройств компьютера и в максимальной степени приблизить язык компьютера к языку человека. Поэтому микропрограммные компьютеры считали трудными для пользователя.
последнее время интерес к микропрограммному принципу возродился, так как:
Причины возрождения принципа микропрограммирования:
• созданы односторонние (читающие) быстродействующие ЗУ с малым циклом памяти;
• микропрограммирование рассматривается не как средство повышения гибкости программирования, а как метод построения системы управления процессором, удобный для инженера-разработчика компьютера.
Программист в своей работе может и не подозревать о микропро-граммной структуре компьютера и использовать все средства ПО и языки программирования самого высокого уровня. Использование микропрограммного принципа позволяет облегчить разработку и изменение логики процессора.
С появлением программного доступа к состоянию процессора после выполнения каждой МИК обеспечивается возможность создания экономичной системы автоматической диагностики неисправностей и появляется способность к эмуляции, т. е. к выполнению на данной ЭВМ программы, составленной в кодах команд другого компьютера. Это достигается введением дополнительного набора МИК, соответствующих командам эмулируемого компьютера.
Свойства микропрограммирования позволяют создать экономичную систему автоматической диагностики неисправностей ЭВМ.
Эти возможности способствуют распространению методов микропрограммирования при построении УУ в современных компьютерах.
2.11.1.ГОРИЗОНТАЛЬНОЕ МИКРОПРОГРАММИРОВАНИЕ
Существуют два вида микропрограммного управления: горизонтальное и вертикальное.
ФИ
. . . | п | ||
m
мик
Рис.2.4. Микропрограмма при горизонтальном микропрограммировании
При горизонтальном- каждому разряду МИК соответствует определенная МИР, выполняемая независимо от содержания других разрядов. Микропрограмма может быть представлена в виде матрицы nxm, где п - число ФИ, m - количество МИК, т. е. строка соответствует одной МИК, а столбец - одной МИО (рис. 2.4).
Примерные значения разрядов МИК приведены на рис. 2.5.
Наличие "1" в пересечении какой-либо строки и столбца означает посылку ФИ в данную МИК, а наличие "О" - его отсутствие.
Размещение "1" в нескольких разрядах МИК означает выполнение нескольких МИО одновременно. Конечно, возбуждаемые МИО должны быть совместимы.
... |
Рис.2.5. Значение разрядов МИК (МИО):
1 - гашение сумматора; 2 - гашение указателя переполнения; 3 - обратный код сумматора; 4 -гашение регистра множителя частного; 5 - инвертирование знака; 6 - сдвиг содержимого сумматора влево; 7 - сдвиг содержимого сумматора вправо; 8 - увеличение содержимого сумматора на
1; 9 -чтение из ЗУ в сумматор; ...
Пусть, например, разряды 9-разрядной МИК принимают следующие значения: 001001101. Тогда, если заданные разряды соответствуют семантике, указанной на рис. 2.5, то МИО, определяемые разрядами 9, 7 и 6, несовместимы.
Для расширения возможностей МИК иногда используют многотактный принцип исполнения МИК. При этом каждому разряду присваивается номер такта,
в котором выполняется соответствующая ему МИО, т. е. здесь все совместимые МИО имеют один номер такта. се остальные такты нумеруются в порядке их естественного выполнения. Однако универсальную нумерацию МИО в МИК указать затруднительно.
Достоинства горизонтального микропрограммирования:
* возможность одновременного выполнения нескольких МИО;
* простота формирования ФИ (без схем дешифрации). Недостатки:
* большая длина МИК, так как число ФИ в современных компьютерах достигает нескольких сот, и соответственно требуется большой объем ЗУ для хранения МИК;
* из-за ограничений совместимости операций, а также из-за последовательного характера выполнения алгоритмов операций лишь небольшая часть разрядов МИК будет содержать "1". основном матрица будет состоять из нулей. Неэффективное использование ЗУ привело к малому распространению горизонтального микропрограммирования.
2.11.2.ВЕРТИКАЛЬНОЕ МИКРОПРОГРАММИРОВАНИЕ
При вертикальном микропрограммировании каждая МИО определяется не состоянием одного разряда, а двоичным кодом, содержащимся в определенном поле МИК. Микрокоманда несколько напоминает формат обычных команд. Отличие микрокоманд от команд процессора:
* выполняется более элементарное действие - МИО вместо операции;
* адресная часть (в большинстве случаев) определяет не ячейку памяти, а операционный регистр процессора.
Формат МИК при вертикальном микропрограммировании приведен на рис. 2.6.
Поля Pi и Р2 в адресной части МИК указывают двоичные номера операционных регистров, содержимое которых участвует в одной операции. Одно из полей является одновременно и адресом результата. Таким образом, реализация арифметической или логической МИО, указанной в данной МИК, может быть выражена формулой
(Pi) ® (Р2) —> Pi, или (Р2) —>Рь
где ® - символ МИО.
кмо | Pi | ------------------------------- Р2 |
Код МИО Адресная часть
МИК
Рис. 2.6. Формат вертикальной МИК
Для МИК обращения к памяти поле Pi указывает регистр, куда принимается информация, а Рг - регистр, содержимое которого является адресом обращения к ЗУ. Указанный формат МИК не единственный.
Каждая МИК выполняет следующие функции:
• указывает выполняемую МИО;
• указывает следующую МИО через задание "следующего адреса";
• задает продолжительность МИК;
• указывает дополнительные действия - контроль и т. д.
Обычно в слове МИК имеются четыре зоны, соответствующие указанным функциям. ообще говоря, некоторые из зон могут указываться неявно, например выбор очередной МИК может осуществляться из следующей ячейки, продолжительность МИК может быть определена одинаковой для всех МИК и т. д.
Первыми компьютерами с микропрограммным управлением среди отечественных ЭВМ были МИР, НАИРИ, среди зарубежных - IBM/360, Spectra 70.
1. Оценка современных компьютеров
a. «Узкие места» современных ЭВМ
b. Оценка производительности
c. Оценка эффективности
2. Методы повышения производительности вычислительных систем
a. Методы повышения быстродействия компьютеров
b. Формы параллелизма
3. Классификация вычислительных систем
a. Флина
b. Хокни
c. Фенга
d. Дункана
e. Хендлера
4. Примеры реализации принципов параллелизма и конвейеризации
a. Организация мультипроцессорных и мультикомпьютерных систем
b. Основные классы современных параллельных компьютеров
c. Языки параллельного программирования
1.ОЦЕНКА СОВРЕМЕННЫХ КОМПЬЮТЕРОВ
а. «Узкие места»современных ВМ
Компьютеры постоянно совершенствуются. Главный фактор развития компьютерно техники — это повышение производительности, т. е. возможности выполнять большее число операций в единицу времени. Данный вектор очень важен. Об этом говорит хотя бы тот факт, что в последние годы производительность компьютеров увеличивается на порядок примерно каждые пять лет. За производительность в компьютере отвечает, в первую очередь, арифметико-логическое устройство. Но оно занимает лишь около 20% всего оборудования. Следовательно, решая главную задачу — обеспечение пользователя информационно-вычислительными услугами, — компьютер решает и какие-то вспомогательные задачи, видимые или невидимые для пользователя. Меняется состав этих задач, меняются методы их решения. Но иногда некоторые из задач или даже одна из них становится настолько критичной, что на определенном этапе развития компьютера оказывается самой главно, критично влияя на производительность компьютера в целом. Чтобы лучше представлять, как и почему в процессе развития компьютера возникают различные узкие места, рассмотрим следующую иллюстративную модель.
Предположим, что компьютер и его программное окружение есть некоторое предприятие широкого профиля по оказанию информационно-вычислительных услуг. Услуго является обработка како-то совокупности данных. Потребители этих услуг — пользователи. Пользователь представляет предприятию согласованное с его требованиями техническое задание на услугу. Это — программа (1), написанная на том или ином языке. Отдавая заказ на конкретную услугу, пользователь, естественно, не хотел бы ничего знать о том, как предприятие будет ее реализовывать. Требования пользователя просты. Услуга должна быть выполнена правильно, быстро и дешево. На мелких услугах обычно так и бывает. Но если услуга масштабная, могут происходить сбои. Чаще всего предприятие не может обеспечить выполнение услуг в срок. Конечно, пользователь может обратиться в другое предприятие. Иногда это помогает. Однако нередко возникают и другие ситуации. Например, выполнение заказа в срок может
потребовать от пользователя очень больших дополнительных затрат. Или может оказаться, что вообще ни одно из предприяти не берется за выполнение заказа. И тогда пользователю самому приходится разбираться, почему это происходит и что надо делать.
Любое предприятие по обеспечению информационно-вычислительными услугами организовано довольно сложно. Но всегда его ядром является производственный сектор. Это — арифметико-логическое устройство (2). В его составе имеется некоторый набор оборудования, такого как сумматоры, умножители, сопроцессоры и т. п. Все оно выполняет какие-то простейшие операции, вообще говоря, не имеющие прямого отношения к конечно услуге. Текуще организацие работы производственного отдела занимается сектор оперативного управления. Это — устройство управления (3). На предприятии существует склад для хранения исходных материалов, а также промежуточной и конечной продукции. Это — память (4). Структура склада разветвленная. Ее сложность объясняется необходимостью хранить самую разную по характеру использования продукцию. При работе производственного сектора появляются промежуточные результаты, которые будут востребованы им же или сразу, или почти сразу. Нет никакого смысла отсылать их в дальний угол склада, что неизбежно привело бы к общему замедлению процесса. Поэтому отдельные ячейки склада располагаются среди оборудования производственного сектора. Это — регистровая память (5). Другие рядом с ним. Это — кэш-память (6). Несколько дальше располагается быстрая оперативная память. И дальше всего — медленная память.
Одним из важнейших является технологический сектор. Именно он на основе технического задания разрабатывает план использования оборудования производственного сектора, склада и некоторых других подразделений предприятия для реализации каждой конкретно услуги. Это — компилятор (7). Осуществление данного плана неизбежно требует перемещения различных объектов из одного места в другое. Обеспечением всех перемещений занимается транспортный сектор. Это — различные соединения, шины, каналы (8) и т. п. И наконец, организует реальное выполнение работ в соответствии с разработанным планом организационный сектор. Это — операционная система (9).
Такова грубая модель устройства и процесса функционирования компьютера. В реальности все сложнее: отдельных подразделений в предприятии гораздо больше, функции между ними разделены не так четко и т. д. Тем не менее, даже на этой иллюстративно модели можно увидеть довольно много.
Вообще говоря, любо универсальный компьютер способен решить любую задачу, если только у него имеется достаточно памяти. Другое дело, что она может решаться настолько долго, что не хватит времени дождаться результатов. В рассмотренно модели видно, что время решения задачи определяется многими факторами. Главный из них — мощность оборудования производственного сектора. Но и от других секторов зависит немало. Если оборудование транспортного сектора несовершенно, перемещения объектов из одного места в другое будут осуществляться медленно. В этих условиях либо очень трудно, либо даже невозможно добиться высокой производительности всего предприятия. Если технологический сектор составит неэффективный план, требующий, например, больших накладных расходов, — эффект будет похожим. Очень многое зависит от того, как организационный сектор будет реализовывать план, предложенный технологическим сектором. Если из дальних углов склада необходимо часто перемещать большие количества объектов, то нерационально перемещать их малыми порциями. Гораздо эффективнее осуществлять перемещение большими группами. Как будет это
организовано, зависит от решений, принимаемых организационным сектором. А эти решения, в частности, определяются структуро склада. И т. п.
Таким образом, работа нашего модельного предприятия по обеспечению пользователе информационно-вычислительными услугами зависит от действий всех секторов. Его базовая производительность определяется мощностью оборудования производственного сектора. Суммарная производительность всего оборудования этого сектора называется пиковой производительностью.Это — теоретическое понятие. Оно не учитывает никакие временные затраты от деятельности других секторов. Реальная производительность — это производительность предприятия, которую оно реально достигает при выполнении конкретной услуги. Вообще говоря, она может зависеть от вида услуги. Реальная производительность никогда не может превышать пиковую. Степень ее близости к пиково говорит о степени согласованности работы секторов между собо и об эффективности работы предприятия в целом. Отношение реальной производительности к пиково называется эффективностью работы предприятия. Свою долю в уменьшение эффективности вносят все сектора. Одни больше, другие меньше, какие-то очень много.
Каждый из секторов решает свою маленькую задачу. И только вместе они способны сделать нечто большое. В процессе развития предприятия наступает момент, когда эволюционным путем уже нельзя поднять производительность. Тогда приходится проводить глобальную модернизацию. В первую очередь необходимо решить, как радикально увеличить пиковую производительность. Есть два пути, отработанные веками в самых разных отраслях. Грубо говоря, один из них связан с наращиванием однотипного оборудования, друго — с организацие конвейеров. На период реконструкции производственного сектора его задача становится главно. Но затем неизбежно приходится модернизировать и все другие сектора. Главными становятся задачи реконструкции склада, транспортных путей, управления и т. д. Любая малая задача становится главной тогда, когда она оказывается самым узким местом в достижении наивысшей реально производительности предприятия в целом.
Все сказанное, в том числе касающееся эффективности, имеет прямое отношение к любому компьютеру. Если на большинстве программ эффективность работы компьютера находится в пределах 0,5—1, ситуацию можно считать хороше. Если же эффективность намного меньше, а задачи требуется решать как можно быстрее, приходится разбираться, где же теряется производительность и что надо сделать для ее повышения. Другими словами, надо установить узкие места процесса функционирования компьютера и его программного окружения в целом. Согласно рассмотренно модели, в первую очередь они могут определяться:
• составом, принципом работы и временными характеристиками арифметико-логического устройства;
• составом, размером и временными характеристиками памяти;
• структурой и пропускно способностью коммуникационно среды;
• компилятором, создающим неэффективные коды;
• операционно системой, организующе неэффективную работу с памятью, особенно медленной.
Дата добавления: 2015-08-21; просмотров: 943;