|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Регистровые окна
В RISC-архитектурах, как правило, существенно больше регистров общего назначения, чем в CISC-архитектурах. Следовательно, имеется возможность меньше обращаться в оперативную память и RISC-архитектуры имеют преимущество. В любой программе можно встретить немало вызовов функций - фактически требований к ядру процессора перейти в заданное место программы, продолжить выполнение программы до специальной команды возврата, после чего - вернуться к тому месту, где произошел вызов, почти полностью восстановив свое состояние до вызова функции. Чтобы это можно было сделать, при вызове функции ядро процессора должно "запомнить" свое текущее состояние - в частности, содержимое некоторых регистров общего назначения и значительной части специальных регистров. Традиционное решение - "записать" все необходимые данные в специальную конструкцию – стек. Любой вызов функции в традиционной схеме неявным образом приводит к записи в оперативную память десятков, а то и сотен байт информации. В некоторых RISC- архитектурах (SPARC, EPIC) используются регистровые файлы из 128 регистров; причем пользователю из них одномоментно доступны только расположенные подряд 24 регистра, образующие в этом файле окно, плюс еще восемь стоящих особняком глобальных регистров. Глобальные регистры используются для глобальных переменных, регистровое окно - для локальных. Когда нужно вызвать какую-нибудь функцию, записываются необходимые для ее работы исходные данные в конец окна, а ядро процессора при вызове функции попросту смещает окно по регистровому файлу таким образом, чтобы записанные данные оказались в начале нового, пока пустого окна. Требовавшие сохранения временные данные вызывавшей функцию программы оказываются за пределами окна, так что испортить их нечаянными действиями невозможно. А когда функция заканчивает работу, то полученные результаты записываются в те же самые регистры в начале окна, после чего ядро процессора смещает его обратно. И никаких расходов на сохранение-восстановление стека. Расположение окон можно программировать, добиваясь максимально эффективного использования схемы (либо много окон, но маленьких, либо мало - но больших; в зависимости от того, какие функции встречаются в программе. Если в ядрах процессора реализуется технология регистровых окон, то, естественно, такой процессор имеет преимущество по сравнению с CISC-процессором. Так как в ядрах процессоров с RISC-архитектурой значительно проще декодировать команды, то при этом тратится меньше аппаратуры и расходуется меньше энергии. В процессорах для мобильных и встраиваемых систем эти характеристики очень важны.
Выводы
До середины 90-х годов 20-го века RISC-процессоры имели неоспоримое преимущество по производительности по сравнению с CISC-процессорами. Практически все сервера в то время выпускались с использованием RISC-процессоров. Однако, к 2000-му году и в последующем, когда в одной микросхеме располагались десятки и сотни миллионов транзисторов затраты аппаратуры перестали играть решающую роль, и CISC-процессоры смогли догнать по производительности лучшие RISC-процессоры. CISC-процессоры выпускались значительно большим тиражом, чем высокопроизводительные RISC-процессоры, не уступали им по производительности и цена их была меньшей. Соответственно, CISC-процессоры смогли значительно потеснить RISC-процессоры из сегмента серверов и рабочих станций, сохранив за собой лидерство в сегменте персональных компьютеров. В настоящее время системы команд высокопроизводительных как RISC-процессоров, так и CISC-процессоров состоят из сотен команд, и аббревиатура RISC (уменьшенная система команд) не соответствует действительности. Можно считать, что количество команд теперь не является преимуществом RISC-архитектуры. В сегменте процессоров для мобильных и встраиваемых систем, где потребляемая мощность критически важна, RISC-архитектуры главенствуют. Фирма Intel прилагает огромные усилия, чтобы вклиниться своми процессорами и системами на кристалле в этот сегмент рынка.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |