Э. Таненбаум - Архитектура компьютера (1127755), страница 57
Текст из файла (страница 57)
Кроме того, предусмотрены кэш предвыборки емкостью 2 Кбайт и кэш записи аналогичной емкости; последний аккумулирует операции записи и передает их кашу второго уровня крупными блоками, тем самым оптимизируя потребление пропускной способности. Как и у Репсшш 4, здесь кэш-память второго уровня находится вне кристалла процессора, но, в отличие от Репг1нш 4, процессор (ЛггаЯРАКС П1 не объединен в один корпус с кэш-памятью второго уровня (она отделена от контроллера каша и логики обнаружения блоков кэша), поэтому разработчики вправе выбирать для реализации последней любые микросхемы. Решение объединить кэш-память второго уровня с процессором (как в Репьшш 4) или разделить ее с процессором (как в Б1сгаЯРАКС П1) обусловлено выбором между различными техническими преимуществами, а также особенностями компаний 1пге! и оп. Внешняя кэш-память более емкая и гибкая (объем кэш-памяти процессора ШггаЯРАКС П1 варьирует от 1 до 8 Мбайт; кэш-память процессора Репсшш 4 имеет фиксированный объем 512 Кбайт), но при этом она работает медленнее из-за того, что расположена дальше от процессора.
Для обрашения к внешней кэш-памяти требуется больше сигналов. В частности, для соединения между (Лсга5РАКС 1П и кашами второго уровня выделяется 256 бит, а значит, это соединение позволяет за один цикл передать блок данных каша объемом 32 байта. примеры центральных процессоров 227 Что касается производственных особенностей, компания 1псе1 является производителем полупроводниковых приборов, поэтому у нее есть возможность разрабатывать и выпускать собственные микросхемы для кэш-памяти второго уровня и связывать их с центральным процессором через собственный интерфейс с высокими техническими характеристиками. Компания опп, напротив, является производителем компьютеров, а не микросхем.
Она иногда разрабатывает собственные микросхемы (например, ПсгаЗРАКС П1), но поручает их производство предприятиям, выпускающим полупроводниковые приборы. В принципе, компания Япп использует готовые микросхемы, имеющиеся в продаже. Статические ОЗУ для кэш-памяти второго уровня можно приобрести у различных производителей, поэтому у компании Внп не было особой необходимости разрабатывать собственные ОЗУ. А если ОЗУ не разрабатывается специально, то нужно устанавливать кэш-память второго уровня отдельно от центрального процессора.
Для соединения процессоров ЛггаЯРАВС 1П с модулями памяти компания Бпп разработала высокоскоростной интерфейс ПРА (П!сга Рогг АгсЫесгпге). БРА может воплощаться в виде шины, переключателя или сочетания того и другого. В различных рабочих станциях и серверах используются различные реализации УРА. Реализация ПРА никак не зависит от процессора, поскольку интерфейс ПРА точно определен и процессор должен поддерживать (и поддерживает) именно этот интерфейс.
На рис. 3.45 мы видим ядро системы П)сгаЯРАВС П1: центральный процессор, интерфейс 1)РА и кэш-память второго уровня (2 статических ОЗУ). На рисунке также изображена микросхема 1Л)В П (ЛсгаЯРАКС Васа Вп((ег П), функции которой мы обсудим ниже. Когда процессору нужно слово из памяти, сначала он обращается к кэш-памяти первого уровня. Если он находит слово, он продолжает выполнять операции с полной скоростью. Если он не находит слово в кэш-памяти первого уровня, он обращается к кэш-памяти второго уровня. Хотя мы в главе 4 будем подробно обсуждать работу кэш-памяти, все-таки стоит сказать здесь о ней несколько слов.
Вся основная память подразделяется на строки каша (блоки) по 64 байта. В кэш-памяти первого уровня находятся 256 наиболее часто используемых строк команд и 256 наиболее часто используемых строк данных. В кэш-памяти второго уровня содержатся строки, которые не поместились в кэш-память первого уровня. Кэш-память второго уровня содержит линии данных и команд вперемешку. Они хранятся в статическом ОЗУ, которое на рис.
3.45 обозначено блоком с надписью «Данные кэш-памяти второго уровня». Система должна следить за тем, какие строки находятся в кэш-памяти второго уровня. Эта информация хранится во втором статическом ОЗУ, обозначенном на рис. 3.45 как «Теги кэш-памяти второго уровня». В случае отсутствия нужной строки в кэш-памяти первого уровня центральный процессор посылает идентификатор строки, которую он ищет (адрес тега), в кэш-память второго уровня. Ответ (данные тега) предоставляет центральному процессору информацию о том, есть ли нужная строка в кэш-памяти второго уровня. Если строка есть, центральный процессор получает ее. Передача данных осуществляется по 16 байт, поэтому для пересылки целой строки в кэш-память первого уровня требуется 4 цикла.
228 Глава 3. Цифровой логический уровень Арбитраж шины 5 18 Адрес тета '':ккзяжтт:ткЬ дяа 'стхгЬГ!'К ' -Тенг - 'квш-'памяти-' ействительность ес памяти тета Четность еса Действительность 25 Данные тета 4 Четность тета адреса данных Процессор О!!гаВРАПС !й Ожидание веденных ействительность , Данйгые, ',, ;; уровнй',,- Интерфейс 0РА для основной памяти Ответ 4 Кэш-память первою уровня адреса данных 128 Данные Четность Управление 16 Буфер памяти Данные памяти 128 0ОВ !! ЕСС-код для памяти Рис. 3.45.
Базовая структура системы О!тгаВРАПС Ш Если требуемой строки в кэш-памяти второго уровня нет, ее нужно вызвать из основной памяти через интерфейс 1)РА. (1РА в системе (1!ггаЯРАВС 111 реализуется централизованным контроллером. Туда поступают адресные сигналы и сигналы управления от центрального процессора (или процессоров, если их больше одного). Чтобы получить доступ к памяти, центральный процессор должен сначала получить разрешение воспользоваться шиной.
Когда шина предоставляется процессору, он получает сигнал с адресных выводов, определяет тип запроса и передает сигнал по нужному адресному выводу (эти выводы двунаправленные, поскольку другим процессорам в системе 11!сга8РАВС П1 нужен доступ к отдаленным блокам кэш-памяти). Адрес и тип цикла шины передаются на адресные выводы за два цикла, причем в первом цикле выдается строка, а во втором — столбец, как мы говорили при обсуждении рис. 3.30. В ожидании результатов центральный процессор вполне может заниматься другой работой. Например, отсутствие нужной команды в кэш-памяти вовсе не мешает выполнению одной или нескольких команд, которые уже вызваны и каждая из которых может обращаться к данным, которых нет в кэш-памяти. Таким образом, сразу несколько транзакций с ()РА могут ожидать выполнения.
11РА может справляться с двумя независимыми потоками транзакций (обычно это чтение и запись), каждый поток проходит с несколькими задержками. Задача централизованного контроллера — следить за всем этим и производить обращения к памяти в наиболее рациональном порядке. Данные из памяти поступают блоками по 8 байт. Для большей надежности они содержат 16-разрядный код исправления ошибок. Можно запрашивать весь блок кэш-памяти (8 байт) или даже меньше. Все входные данные поступают в буфер 1ЛЭВ и хранятся там.
Буфер 1ЛЭВ нужен для того, чтобы дать возможность центральному процессору и памяти работать асинхронно. Например, если центральному процессору необходимо записать слово или строку кэш-памяти в основную память, он может не ждать доступа к ПРА, а сразу записать данные в буфер 1Л)В, который доставит их в память позднее. НОВ также генерирует код исправления ошибок. Отметим, что описание процессоров Исга5РАРсС П1 и Репсшш 4 в этой книге очень упрощено. Тем не менее суть их работы изложить удалось. ВО51 Репгпип 4 и 1/!сгаБРАРкС П1 — высокопроизводительные процессоры, разработанные для создания быстродействующих персональных компьютеров и рабочих станций. Однако существуют и другие компьютеры — так называемые встроенные системы.
Именно их мы здесь рассмотрим на примере процессора 8051. Не будет преувеличением сказать, что практически любое электронное устройство стоимостью более 100 долларов содержит встроенный компьютер. Телевизоры, сотовые телефоны, электронные секретари, микроволновые печи, видеокамеры, видеомагнитофоны, лазерные принтеры, системы охранной сигнализации, слуховые аппараты, электронные игры и многие другие устройства (их можно перечислять до бесконечности) управляются компьютером.
При этом упор делается не на высокую производительность, а на низкую стоимость встроенного компьютера, что приводит к несколько другому соотношению достоинств и недостатков по сравнению с процессорами, которые мы обсуждали до сих пор. В главе 1 мы уже упоминали о том, что в настоящее время наиболее распространенным микроконтроллером является 8051. Такая популярность, в первую очередь, обусловлена его низкой стоимостью. Как мы сможем убедиться в дальнейшем, 8051 — это небольшая микросхема, к которой очень легко подключать другие устройства.
Ее физическая компоновка показана на рис. 3.46. Рис. 3.46. Физическая компоновка микросхемы 8051 Р!.О Р1.1 Р!.г РИЗ Р1.4 Р1.5 Р1.6 Р1.7 ЦЗТ йХ0/ РЗ.О ТХ0/ РЗ.! !МТО/ Р3.2 !ЙТ) / Рз.з ТО / Р3.4 Т1 / Р3.5 !Фй/ Р3.6 НЬ/ Р3.7 ХТА!.2 ХТА1.1 Ч88 Примеры центральных процессоров 229 ЧСС РО.О /А00 РО.1 /А01 РО.2 /А02 РО.З /А03 РО.4 /А04 РО.5 /А05 РО.6 /А06 РО.7 /А07 ЕА/ЧРР АсЕ РЗЕМ Р2.7 /А15 Р2.6 /А14 Р2.5 /А13 Р2.4 /А!2 Р2.3 /А11 Р2.2 /А10 Р2,1 /Аэ Р2.0 /А8 230 Глава 3. Цифровой логический уровень 0 В0 М/В А1 Е в -к к- Порт О в -и — +-к- Порт 1 РЗЕИ ЕА в -к а- Порт 2 Таймеры Прерывания ТХ0 ВХ0 в -ы — х — и- Порт 3 ВЗТ Питание Рис. 3.47. Цоколевка микросхемы 5051 Как видно на этой схеме, 8051 обычно поставляется в стандартном корпусе с 40 выводами (хотя для отдельных вариантов применения предусмотрены и другие корпуса).
В этой микросхеме 16 адресных линий, лимит адресации памяти составляет 64 Кбайт. Ширина шины данных — 8 бит, а это означает, что обмен данными между ЦП и памятью осуществляется блоками по одному байту (в РепЦшп 4 этот показатель составляет 8 байт, в Ц)гга5РАКС Ш вЂ” 16 байт). Предусмотрено несколько вариантов управляюгпих линий (их описание приводится далее), но самым очевидным отличием от Репгшш 4 и П11га5РАКС, которые представляют собой специализированные ЦП, является присутствие 32 линий ввода-вывода в четырех группах (по 8 бит в каждой). Каждую из линий ввода-вывода можно соединить с кнопкой, переключателем, светодиодом или любым другим элементом управления, применяемым в электронных устройствах, за счет чего организуются входные и выходные потоки данных.