Тенденции развития однокристальных микропроцессоров и систем на их основе

Со времени появления первых микропроцессоров прошло более 40 лет. За это время произошел гигантский скачок в технологии и производительности микропроцессоров.

Уже в самом начале истории развития однокристальных микропроцессоров наметились основные тенденции их развития и повышения производительности микропроцессорных систем.

  • 1. Повышение степени интеграции. Степень интеграции непосредственно определяет, сколько транзисторов может поместиться на кристалле. Она характеризуется технологической нормой – минимально возможными размерами напыляемого элемента, т.е. области полупроводника с заданным типом проводимости (не путать с транзистором, который состоит из нескольких таких элементов). Самый первый МП Intel 4004, появившийся в 1971 г., был выполнен по 10 мкм технологии и содержал только 2300 транзисторов. МП Pentium выполнялся уже по 0,8 мкм технологии и содержал уже 3,1 млн транзисторов. В 2012 г. появилсь первые процессоры, выполненные по технологии 22 нм, которые содержали более миллиарда транзисторов. Специалисты считают, что если развитие техники будет продолжаться такими темпами, то к 2022 г. процессоры будут содержать в одном кристалле десятки и сотни сложнейших устройств с числом транзисторов до ста миллиардов.
  • 2. Повышение тактовой частоты микропроцессора. Это самый простой и наиболее понятный способ повышения производительности микропроцессора. Если в первых МП тактовая частота составляла сотни килогерц, то в современных МП это уже сотни мегагерц – несколько гигагерц.
  • 3. Увеличение разрядности микропроцессоров. У первых МП разрядность обрабатываемых слов составляла 8 бит. Затем вместе с развитием интегральной технологии повысилась степень интеграции БИС, что позволило создавать 16-разрядные МП. Начиная с появления МП Intel 80386, разрядность обрабатываемых слов составила 32 бита. Для большинства сфер применения МП, в том числе в персональных компьютерах, этой разрядности и на сегодняшний день вполне достаточно. Разработанные в последнее время 64-разрядные однокристальные микропроцессоры обеспечивают еще более высокую производительность.

Кроме разрядности обрабатываемых слов, для микропроцессорной системы очень важна разрядность адресов, с которыми может работать МП. Это определяет объем адресуемой памяти системы, а значит, и возможность работы с бо́льшим объемом программ и обрабатываемых данных, более совершенным программным обеспечением, более производительными и удобными для пользователя операционными системами.

4. Распараллеливание процесса обработки данных. В самых первых микропроцессорах, использованных в качестве процессоров персональных компьютеров – Intel 8080, – процесс выполнения команды растягивался во времени на большое число тактов. Каждая команда сначала считывалась из программной памяти, причем сам микропроцессор в это время простаивал, и только после этого команда исполнялась. Уже в следующем МП Intel 8086 процессы считывания команды и ее исполнения возлагались на разные устройства МП – ШИ и ОУ. Это позволило распараллелить процессы выполнения команды и ее выборки. В дальнейшем архитектура микропроцессоров еще более совершенствовалась, и принцип повышения производительности за счет распараллеливания процесса выполнения команд отобразился в конвейерной структуре МП. Процесс исполнения команды при этом разбивается на несколько ступеней, а каждой ступени соответствует свой модуль в структуре МП. С очередным тактовым импульсом команды продвигаются на следующую ступень. Выполненная команда покидает конвейер, а новая поступает в него. Таким образом, процессор одновременно осуществляет обработку нескольких команд, хотя каждая команда, взятая в отдельности, проходит несколько ступеней обработки.

Процессоры, имеющие несколько ступеней, получили название суперскалярные, а имеющие несколько конвейеров – суперконвейерные.

5. Использование сопроцессоров для выполнения математических и других операций. МП может выполнять множество различных команд, которые являются достаточно элементарными действиями. Более сложные действия, например операции умножения и деления, выполняются программно. Но, как известно, любое сложное вычисление может быть выполнено чисто аппаратным путем за гораздо меньшее время. Поэтому можно добиться существенного повышения производительности микропроцессорной системы, если параллельно с основным процессором будет работать математический сопроцессор. Такие сопроцессоры имеют специальную систему команд, ориентированную на выполнение математических операций – умножение, деление, вычисление трансцендентных функций, операции с вещественными числами (числами с плавающей точкой) и т.д. Сопроцессоры не осуществляют выборку команд – эту функцию выполняет основной процессор. Но при появлении специальных команд, предназначенных для сопроцессора, он активизируется и выполняет требуемую операцию. Команды и данные он получает по системной ШД, а результат операции может быть передан в основной процессор либо в память. В процессе работы основной процессор и сопроцессор обмениваются управляющими сигналами, в соответствии с которыми сопроцессор принимает требуемые команды, а также оповещает основной процессор о своем состоянии.

Первоначально сопроцессоры выполнялись как отдельные БИС, но в дальнейшем основной процессор и сопроцессор стали совмещать в одном кристалле БИС.

Это направление развития процессорной техники привело к появлению многоядерных процессоров, у которых в одном корпусе и на одном кристалле размещается несколько процессорных ядер, каждое из которых является самостоятельным полноценным процессором, выполняющим полный набор процессорных задач.

6. Использование быстродействующей кэш-памяти. Основной причиной снижения производительности микропроцессорной системы являются затраты времени, связанные с обращением к памяти. Динамические ЗУ, на основе которых осуществляется построение оперативной памяти в большинстве микропроцессорных систем, имеют существенно меньшее быстродействие, чем процессоры. Поэтому для сокращения временны́х затрат, связанных с обращениями к оперативной памяти, используют более быстродействующую кэш-память. Кэш-память реализуется на быстродействующих триггерных элементах (статические ЗУ). Кэш-память содержит копии данных, хранящихся в ОЗУ, которые были считаны процессором ранее и параллельно занесены в кэш. Поэтому если к данным уже было обращение, то их копия, отмеченная соответствующим адресом, будет храниться в кэш-памяти.

При чтении данных МП выдает адрес, который поступает в ОЗУ и кэш-память (рис. 4.17). Если эти данные имеются в кэше, формируется сигнал Hit – попадание, и данные из кэша выдаются на шину данных, выдача данных из ОЗУ при этом блокируется сигналом Hit. Если же копии данных в кэше нет, то осуществляется обычный цикл чтения из ОЗУ, данные поступают на шину данных и параллельно заносятся в кэш-память.

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

Структура микропроцессорной системы с кэшпамятью (а), структура адреса (б) и организация кэшпамяти (в)

Рис. 4.17. Структура микропроцессорной системы с кэшпамятью (а), структура адреса (б) и организация кэшпамяти (в)

Кэш-память имеет небольшой объем, и любое слово, заносимое в кэш, должно сопровождаться дополнительными данными, определяющими, копией какой ячейки памяти оно является. Структура кэш-памяти показана на рис. 4.17, в. Запоминающие ячейки кэша разбиты на строки, причем одна строка соответствует нескольким страницам ОЗУ. Адрес ячейки памяти, поступающий от процессора, разбивается на два поля. Старшие разряды адреса образуют тег – цифровую метку, которая идентифицирует одну строку кэша. Эта строка имеет поле адреса, куда и заносится тег. Младшие разряды адреса соответствуют индексу, который определяет местоположение конкретной ячейки строки кэша (на рисунке эта ячейка заштрихована). Информация из ОЗУ в кэш заносится не отдельными байтами, а целыми страницами, т.е. построчно. Здесь необходимо отметить, что блочные пересылки данных в современных системах выполняются достаточно быстро под управлением контроллера кэш-памяти.

При поступлении в кэш адреса требуемой ячейки ОЗУ осуществляется сравнение старших разрядов (тега) с теговыми адресами всех строк. Если имеется совпадение, то вырабатывается сигнал Hit и считывается целая строка, из которой по значениям младших разрядов (индексу) осуществляется выборка нужной ячейки. В противном случае из ОЗУ в строку кэша заносится несколько страниц, старшие разряды адресов которых совпадают с тегом. Эта строка записывается на место строки, к которой "давно" не было обращений.

Рассмотренная структура характерна для внешней кэшпамяти, подключаемой к внешним шинам адреса и данных. В современных микропроцессорах имеется также внутренняя кэш-память, расположенная внутри кристалла процессора. Внутренняя кэш-память разделена на кэш данных и кэш команд. В процессе работы такого процессора сначала осуществляется обращение к внутренней кэш-памяти, если требуемой информации нет (сигнал Hit не установился), выполняется обращение к внешней кэш-памяти, и только если в этом случае требуемая информация в кэше отсутствует, выполняется обращение к ОЗУ. Производительность современных микропроцессоров во многом определяется объемами кэш-памяти.

 
< Пред   СОДЕРЖАНИЕ     След >