Увеличение быстродействия процессора
Одним из самых распространенных способов определения производительности процессора является оценка времени T решения некоторой (тестовой) задачи. Очевидно, (7.1) где N — количество выполненных при решении задачи машинных команд; S — среднее количество тактов, приходящихся на выполнение одной команды; f — тактовая частота процессора. Если длительности различных команд (в тактах) существенно отличаются друг от друга, то более точно можно оценить значение T по выражению (7.2) где Si, — число тактов i -й команды. Используются и более точные (и, соответственно, более сложные) методы оценки производительности [7, И, 12], однако и из выражений (7.1), (7.2) видны пути увеличения производительности процессора: □ увеличение тактовой частоты (решения лежат в области технологии СБИС); □ сокращение длины программы (совершенствование технологии программирования, разработка оптимизирующих компиляторов); □ сокращение числа тактов, приходящихся на выполнение одной команды. (Страница215) Последнее возможно за счет усложнения схемы процессора, при этом значительное усложнение может привести к сокращению числа тактов команды при увеличении "глубины схемы", что повлечет за собой увеличение длительности такта, так что выигрыш может обернуться проигрышем. Магистральным путем увеличения производительности ЭВМ можно считать параллелизм на различных уровнях. Существуют две основные формы параллелизма [11]: □ параллелизм на уровне процессов; □ параллелизм на уровне команд. В первом случае над одной задачей могут одновременно работать несколько процессоров или других устройств ЭВМ. Во втором случае параллелизм реализуется в пределах отдельных команд. Обычно стремятся совмещать во времени процедуры обращения к памяти и обработки информации, параллельно выполнять арифметические операции сразу над несколькими (или даже всеми) разрядами операндов, одновременно выполнять несколько последовательных команд программы (разумеется, на разных стадиях) и т. п. Уже в младшей модели семейства x86 — микропроцессоре 8086 предусматривалась одновременная работа двух основных устройств — обработки данных и связи с магистралью. Подобный механизм (с модификациями) сохранился и в старших моделях семейства. Особенно эффективным способом организации параллельных операций в компьютерной системе является конвейерная обработка команд. Далее мы кратко рассмотрим некоторые из перечисленных методов увеличения производительности процессора. Более подробную информацию по этим вопросам можно найти, например, в [11, 12].
|