Устройство центрального процессора

Внутреннее устройство тракта данных типичного фон-неймановского процессо­ра иллюстрирует рисунок. Тракт данныхсостоит из регистров (обычно от 1 до 32), арифметико-логического устройства(АЛУ) и нескольких соединительных шин. Содержимое регистров поступает во входные регистры АЛУ, которые на рисунке обозначены буквами А и В. В них находятся входные данные АЛУ, пока АЛУ производит вычисления. Тракт данных – важная составная часть всех ком­пьютеров.

АЛУ выполняет сложение, вычитание и другие простые операции над вход­ными данными и помещает результат в выходной регистр. Содержимое этого выходного регистра может записываться обратно в один из регистров или сохра­нятся в памяти, если это необходимо. Рисунок иллюстрирует операцию сло­жения. Отметим, что входные и выходные регистры есть не у всех компьютеров.

Этот процесс называется циклом тракта данных.В какой-то степени он опреде­ляет, что может делать машина. Чем быстрее происходит цикл тракта данных, тем быстрее компьютер работает.

Устройство центрального процессора - student2.ru

Рисунок – Тракт данных обычной фон-неймановской машины

Выполнение команд.Центральный процессор выполняет каждую команду за несколько шагов:

1. Вызывает следующую команду из памяти и переносит ее в регистр команд.

2. Меняет положение счетчика команд, который после этого указывает на следующую команду.

3. Определяет тип вызванной команды.

4. Если команда использует слово из памяти, определяет, где находится это
слово.

5. Переносит слово, если это необходимо, в регистр центрального процессора.

6. Выполняет команду.

7. Переходит к шагу 1, чтобы начать выполнение следующей команды.

Такая последовательность шагов (выборка – декодирование – выполнение)является основой работы всех компьютеров.

4.2 Основная память. Память –это тот компонент компьютера, в котором хранятся программы и дан­ные. Можно также употреблять термин запоминающее устройство. Без памяти, откуда процессоры считывают и куда записывают информацию, не было бы цифровых компьютеров со встроенными программами.

Бит.Основной единицей хранения данных в памяти является двоичный разряд, кото­рый называется битом.Бит может содержать 0 или 1. Эта самая маленькая еди­ница памяти. (Устройство, в котором хранятся только нули, вряд ли могло быть основой памяти. Необходимы по крайней мере два значения.)

Адреса памяти.Память состоит из ячеек,каждая из которых может хранить некоторую порцию информации. Каждая ячейка имеет номер, который называется адресом.По ад­ресу программы могут ссылаться на определенную ячейку. Если память содер­жит п ячеек, они будут иметь адреса от 0 до п - 1. Все ячейки памяти содержат одинаковое число бит.

Ячейка – минимальная единица памяти, к которой можно обращаться. В по­следние годы практически все производители выпускают компьютеры с 8-раз­рядными ячейками, которые называются байтами.Байты группируются в сло­ва.В компьютере с 32-разрядными словами на каждое слово приходится 4 байт, а в компьютере с 64-разрядными словами – 8 байт. Такая единица как слово, не­обходима, поскольку большинство команд производят операции над целыми словами (например, складывают два слова).

4.3 Кэш-память.Процессоры всегда работали быстрее, чем память. Разработчики памяти обычно используют новые технологии для увеличения емкости, а не быстродействия, что делает разрыв еще большим. На практике такое несоответствие в скорости работы приводит к тому, что, когда процессор обращается к памяти, проходит несколько машинных циклов, прежде чем он получит запрошенное слово. Чем медленнее работает память, тем дольше процессору приходится ждать, тем боль­ше циклов проходит.

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

На самом деле эта проблема не технологическая, а экономическая. Инженеры знают, как создать память, которая работает так же быстро, как процессор. Одна­ко ее приходится помещать прямо на микросхему процессора (поскольку инфор­мация через шину поступает очень медленно). Размещение памяти большого объема на микросхеме процессора делает его больше и, следовательно, дороже, и даже если бы стоимость не имела значения, все равно существуют ограничения на размеры создаваемых процессоров. Таким образом, приходится выбирать между быстрой памятью небольшого объема и медленной памятью большого объема.

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

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

Устройство центрального процессора - student2.ru

Рисунок – Кэш-память по логике вещей должна находиться между процессором и основной памятью

Кэш-память очень важна для высокопроизводительных процессоров. Однако здесь возникает ряд вопросов. Первый вопрос – объем кэш-памяти. Чем больше объем, тем лучше работает память, но тем дороже она стоит.

Сборка модулей памяти и их типы.Со времен появления полупроводниковой памяти и до начала 90-х годов все микросхемы памяти производились, продавались и устанавливались в виде от­дельных микросхем. Эти микросхемы вмещали от 1 Кбит до 1 Мбит информа­ции и выше. В первых персональных компьютерах часто оставлялись пустые разъемы, чтобы покупатель в случае необходимости мог вставить дополнитель­ные микросхемы памяти.

В настоящее время распространен другой подход. Группа микросхем (обычно 8 или 16) монтируется на одну крошечную печатную плату и продается как один блок. Он называется SIMM(Single Inline Memory Module – модуль памяти с односторонним расположением выводов) или DIMM(Dual Inline Memory Module – модуль памяти с двухсторонним расположением выводов).На пла­тах SIMM устанавливается один краевой разъем с 72 контактами; при этом ско­рость передачи данных за один тактовый цикл составляет 32 бит. Модули DIMM, как правило, снабжаются двумя краевыми разъемами (по одному на ка­ждой стороне платы) с 84 контактами; таким образом, общее количество контак­тов достигает 168, а скорость передачи данных возрастает до 64 бит за цикл. Схе­ма модуля SIMM изображена на рисунке.

Устройство центрального процессора - student2.ru

Рисунок – Модуль SIMM объемом 256 Мбайт. Модулем управляют две микросхемы

Обычно модули SIMM и DIMM содержат 8 микросхем по 256 Мбит (32 Мбайт) каждая и более. Таким образом, весь модуль вмещает 256 Мбайт информа­ции. Во многих компьютерах предусматривается возможность установки четы­рех модулей; следовательно, при использовании модулей по 256 Мбайт общий объем памяти достигает 1 Гбайт.

В портативных компьютерах обычно используется модуль DIMM меньшего размера, который называется SO-DIMM(Small Outline DIMM). Модули SIMM и DIMM могут содержать бит четности или код исправления ошибок, однако, поскольку вероятность возникновения ошибок в модуле составляет примерно одну ошибку за 10 лет, в большинстве обычных компьютеров схемы обнаруже­ния и исправления ошибок не применяются.

Иерархическая структура памяти.Иерархическая структура памяти является традиционным решением проблемы хранения больших объемов данных. На самом верху иерархии нахо­дятся регистры процессора. Доступ к регистрам осуществляется быстрее всего. Дальше идет кэш-память, объем которой сейчас составляет от 32 Кбайт до не­скольких мегабайтов. Затем следует основная память, которая в настоящее вре­мя может вмещать от 16 Мбайт до десятков гигабайтов. Затем идут магнитные диски и, наконец, накопители на магнитной ленте и оптические диски, которые используются для хранения архивов.

Устройство центрального процессора - student2.ru

Рисунок – Пятиуровневая организация памяти

По мере продвижения сверху вниз по иерархии меняются три параметра. Во-первых, увеличивается время доступа. Доступ к регистрам занимает несколь­ко наносекунд, доступ к кэш-памяти – немного больше, доступ к основной памя­ти – несколько десятков наносекунд. Дальше идет большой разрыв: доступ к дискам занимает по крайней мере 10 мкс, а время доступа к магнитным лентам и оптическим дискам вообще может измеряться в секундах (поскольку эти нако­пители информации еще нужно поместить в соответствующее устройство).

Во-вторых, растет объем памяти. Регистры могут содержать в лучшем случае 128 байт, кэш-память – несколько мегабайтов, основная память – десятки тысяч мегабайтов, магнитные диски – от нескольких единиц до нескольких десятков гигабайтов. Магнитные ленты и оптические диски хранятся автономно от ком­пьютера, поэтому их совокупный объем ограничивается только финансовыми возможностями владельца.

В третьих, увеличивается количество битов, которое вы получаете за 1 доллар. Стоимость объема основной памяти составляет несколько долларов за мегабайт,магнитных дисков – несколько центов за мегабайт, а магнитной ленты – не­сколько долларов за гигабайт или еще дешевле.

Магнитные диски

Магнитный диск состоит из одной или нескольких алюминиевых поверхностей, покрытых магнитным слоем. Изначально их диаметр составлял 50 см, сейчас – от 3 до 12 см, у портативных компьютеров – меньше 3 см, причем это значение продолжает уменьшаться. Головка диска, содержащая индукционную катушку, двигается над поверхностью диска, опираясь на воздушную подушку. Отметим, что у дискет головка касается поверхности. Когда через головку проходит поло­жительный или отрицательный ток, он намагничивает поверхность под голов­кой. При этом магнитные частицы намагничиваются направо или налево в зави­симости от полярности тока. Когда головка проходит над намагниченной областью, в ней (в головке) возникает положительный или отрицательный ток, что дает возможность считывать записанные ранее биты. Поскольку диск враща­ется под головкой, поток битов может записываться, а потом считываться. Кон­фигурация дорожки диска показана на рисунке.

Устройство центрального процессора - student2.ru

Рисунок – Фрагмент дорожки диска (два сектора)

Дорожкойназывается круговая последовательность битов, записанных на диск за его полный оборот. Каждая дорожка делится на секторыфиксированной длины. Каждый сектор обычно содержит 512 байт данных. Перед данными рас­полагается преамбула(preamble), которая позволяет головке синхронизировать­ся перед чтением или записью. После данных идет код исправления ошибок (Error-Correcting Code, ECC), в качестве которого используется код Хэмминга или чаще код Рида-Соломона,позволяющий исправлять множественные ошибки, а не только одиночные. Между соседними секторами находится межсекторный интервал.Многие производители указывают размер неформатированного диска (как будто каждая дорожка содержит только данные), хотя честнее было бы ука­зывать вместимость форматированного диска, на котором не учитываются пре­амбулы, ЕСС-коды и межсекторные интервалы. Емкость форматированного дис­ка обычно на 15% меньше емкости неформатированного.

У всех дисков есть кронштейны, они могут перемещаться туда и обратно по радиусу на разные расстояния от шпинделя, вокруг которого вращается диск. На разных расстояниях от оси записываются разные дорожки. Таким образом, до­рожки представляют собой ряд концентрических кругов, расположенных вокруг шпинделя. Ширина дорожки зависит от величины головки и от точности ее пе­ремещения. На сегодняшний момент диски имеют от 5000 до 10 000 дорожек на см, то есть ширина каждой дорожки составляет от 1 до 2 микрон (1 микрон = = 1/1000 мм). Следует отметить, что дорожка – это не углубление на поверхно­сти диска, а просто кольцо намагниченного материала, которое отделяется от других дорожек небольшими пограничными областями.

Плотность записи битов на концентрических дорожках различается в зависи­мости от расстояния от центра диска и зависит главным образом от качества по­верхности диска и чистоты воздуха. Плотность записи современных дисков раз­нится от 50 000 до 100 000 бит/см. Таким образом, при записи в радиальном направлении на единицу площади приходится примерно в 50 раз больше дан­ных, чем в направлении по окружности.

Для повышения плотности производители разрабатывают технологии, в ко­торых «длинное» измерение битов проходит не вдоль окружности диска, а вер­тикально – оно как бы уходит в глубь материала. Эти технологии обобщенно на­зываются перпендикулярной записью,и уже очень скоро появятся первые коммерческие модели дисков на основе этих технологий.

Чтобы достичь высокого качества поверхности и достаточной чистоты воз­духа, диски герметично закрываются. Такие диски называются винчестерами.Впервые они были выпущены фирмой IBM. У них было 30 Мбайт фиксирован­ной памяти и 30 Мбайт сменной памяти.

Большинство магнитных дисков состоит из нескольких пластин, расположен­ных друг под другом, как показано на рисунке. Каждая поверхность снабжена кронштейном и головкой. Кронштейны скреплены таким образом, что одновре­менно могут перемещаться на разные расстояния от оси. Совокупность дорожек, расположенных на одном расстоянии от центра, называется цилиндром.В современных моделях дисков для ПК устанавливается от 6 до 12 пластин, содержа­щих от 12 до 24 рабочих поверхностей

Устройство центрального процессора - student2.ru

Рисунок – Винчестер с четырьмя дисками

Производительность диска зависит от многих факторов. Чтобы считать или записать сектор, головка должна переместиться на нужное расстояние от оси. Этот процесс называется поиском.Среднее время поиска между дорожками, взятыми наугад, составляет от 5 до 10 мс, а поиск между смежными дорожка­ми – менее 1 мс. Когда головка помещается на нужное расстояние от центра, вы­жидается некоторое время (оно называется временем ожидания сектора),пока нужный сектор не окажется под головкой. Большинство дисков вращаются со скоростью 5400, 7200 или 10 800 оборотов в минуту. Таким образом, среднее время ожидания сектора (половина оборота) составляет от 3 до 6 мс. Время пе­редачи информации зависит от плотности записи и скорости вращения. При скорости передачи от 20 до 40 Мбайт в секунду время передачи одного сектора (512 байт) составляет от 13 до 26 мкс. Следовательно, время поиска и время ожидания сектора определяет время передачи информации. Ясно, что считы­вание секторов из разных частей диска неэффективно.

Следует упомянуть, что из-за наличия преамбул, ЕСС-кодов, промежутков между секторами, а также из-за того, что определенное время затрачивается на поиск дорожки и ожидание сектора, существует огромная разница между скоро­стью передачи данных для случаев, когда необходимые данные разбросаны в разных частях диска и когда они находятся в одном месте и считываются после­довательно. Максимальная скорость передачи данных в первом случае достига­ется в тот момент, когда головка располагается над первым битом данных. Одна­ко такая скорость работы может сохраняться только на одном секторе. Для некоторых приложений, например мультимедиа, имеет значение именно средняя скорость передачи за некоторый период с учетом необходимого времени поиска и времени ожидания сектора.

Суммарная длина внешних дорожек боль­ше, чем длина внутренних. Поскольку все магнитные диски вращаются с посто­янной угловой скоростью независимо от того, где находятся головки, возникает очевидная проблема. Раньше при производстве дисков изготовители создавали максимально возможную плотность записи на внутренней дорожке, и при про­движении от центра диска плотность записи постепенно снижалась. Если дорож­ка содержит, например, 18 секторов, то каждый из них занимает дугу в 20°, и не важно, на каком цилиндре находится эта дорожка.

В настоящее время используется другая стратегия. Цилиндры делятся на зо­ны (на диске их обычно от 10 до 30). При продвижении от центра диска число секторов на дорожке в каждой зоне возрастает. Это усложняет процедуру хране­ния информации на дорожке, но зато повышает емкость диска, что считается бо­лее важным. Все секторы имеют одинаковый размер. Схема диска с пятью зона­ми изображена на рисунке.

Устройство центрального процессора - student2.ru

Рисунок – Диск с пятью зонами, каждая зона содержит несколько дорожек

С диском связан так называемый контроллер – микросхема, которая управ­ляет диском. Некоторые контроллеры содержат целый процессор. В задачи кон­троллера управление перемещением кронштейна, обнаружение и исправление ошибок, преобразование байтов, счи­тываемых из памяти, в непрерывный поток битов и наоборот. Некоторые кон­троллеры производят буферизацию и кэширование нескольких секторов на случай их дальнейшего использования, а также пропускают поврежденные секторы. Не­обходимость последней функции вызвана наличием секторов с поврежденным, то есть постоянно намагниченным, участком. Когда контроллер обнаруживает поврежденный сектор, он заменяет его одним из свободных секторов, которые выделяются специально для этой цели в каждом цилиндре или зоне.

Наши рекомендации