По шине из оперативной памяти поступают команды предназначенные для выполнения процессором
Персональный компьютер – универсальная техническая система. Его конфигурацию (состав оборудования) можно гибко изменять по мере необходимости. Тем не менее, существует понятие базовой конфигурации, которую считают типовой. В таком комплекте компьютер обычно поставляется. Понятие базовой конфигурации может меняться. В настоящее время в базовой конфигурации рассматривают четыре устройства :
- системный блок;
- монитор;
- клавиатуру;
- мышь.
Помимо компьютеров с базовой конфигурации всё большее распространение получают мультимедийные компьютеры, оснащенные устройством чтения компакт-дисков, колонками и микрофоном.
Компьютеры выпускаются и в портативном варианте (laptop или notebook выполнение). В этом случае, системный блок, монитор и клавиатура размещены в одном корпусе: системный блок находится под клавиатурой, а монитор встроен в крышку.
Системный блок - основная составляющая ПК, в середине которой находятся важнейшие компоненты. Устройства, находящиеся в середине системного блока называют внутренними, а устройства, подсоединенные извне называют внешними. Внешние дополнительные устройства, предназначенные для ввода и вывода информации называются также периферийными.
По внешнему виду, системные блоки отличаются формой корпуса, который может быть горизонтального (desktop) или вертикального (tower) выполнениеКорпусы поставляются вместе с блоком питания, мощность которого является одним из параметров корпуса. Для массовых моделей достаточной является мощность 200-250 Вт.
Основные узлы системного блока:
- электрические платы, руководящие работой компьютера (микропроцессор, оперативная память, контроллеры устройств и т.п.);
- накопитель на жестком диске (винчестер), предназначенный для чтения или записи информации;
- накопители (дисководы) для гибких магнитных дисков (дискет).
Основной платой ПК является материнская плата (MotherBoard). На ней расположенны:
- процессор - основная микросхема, выполняющая математические и логические операции;
- чипсет (микропроцессорный комплект) - набор микросхем, которые руководят работой внутренних устройств ПК и определяют основные функциональные возможности материнской платы;
- шины - набор проводников, по которым происходит обмен сигналами между внутренними устройствами компьютера;
- оперативное запоминающее устройство (ОЗУ) - набор микросхем, предназначенных для временного сохранения данных, пока включен компьютер;
- постоянное запоминающее устройство (ПЗУ) - микросхема, предназначенная для долговременного хранения данных, даже при отключенном компьютере;
- разъемы для подсоединения дополнительных устройств (слоты).
Процессор
Процессор - это главная микросхема компьютера, его "мозг". Он разрешает выполнять программный код, находящийся в памяти и руководит работой всех устройств компьютера. Скорость его работы определяет быстродействие компьютера. Конструктивно, процессор - это кристалл кремния очень маленьких размеров. Процессор имеет специальные ячейки, которые называются регистрами. Именно в регистрах помещаются команды, которые выполняются процессором, а также данные, которыми оперируют команды. Работа процессора состоит в выборе из памяти в определенной последовательности команд и данных и их выполнении. На этом и базируется выполнение программ.
В ПК обязательно должен присутствовать центральный процессор (Central Rpocessing Unit - CPU), который выполняет все основные операции. Часто ПК оснащен дополнительными сопроцесорами, ориентированными на эффективное выполнение специфических функций, такие как, математический сопроцесор для обработки числовых данных в формате с плавающей точкой, графический сопроцесор для обработки графических изображений, сопроцесор ввода/вывода для выполнения операции взаимодействия с периферийными устройствами.
Основными параметрами процессоров являются:
- тактовая частота,
- разрядность,
- рабочее напряжение,
- коэффициент внутреннего умножения тактовой частоты,
- размер кеш памяти.
Тактовая частота определяет количество элементарных операций (тактов), выполняемые процессором за единицу времени. Тактовая частота современных процессоров измеряется в МГц (1 Гц соответствует выполнению одной операции за одну секунду, 1 МГц=106 Гц). Чем больше тактовая частота, тем больше команд может выполнить процессор, и тем больше его производительность. Первые процессоры, которые использовались в ПК работали на частоте 4,77 МГц, сегодня рабочие частоты современных процессоров достигают отметки в 2 ГГц (1 ГГц = 103 МГц).
Разрядность процессора показывает, сколько бит данных он может принять и обработать в своих регистрах за один такт. Разрядность процессора определяется разрядностью командной шины, то есть количеством проводников в шине, по которой передаются команды. Современные процессоры семейства Intel являются 32-разрядными.
Рабочее напряжение процессора обеспечивается материнской платой, поэтому разным маркам процессоров отвечают разные материнские платы. Рабочее напряжение процессоров не превышает 3 В. Снижение рабочего напряжения разрешает уменьшить размеры процессоров, а также уменьшить тепловыделение в процессоре, что разрешает увеличить его производительность без угрозы перегрева.
Коэффициент внутреннего умножения тактовой частоты - это коэффициент, на который следует умножить тактовую частоту материнской платы, для достижения частоты процессора. Тактовые сигналы процессор получает от материнской платы, которая из чисто физических причин не может работать на таких высоких частотах, как процессор. На сегодня тактовая частота материнских плат составляет 100-133 Мгц. Для получения более высоких частот в процессоре происходит внутреннее умножение на коэффициент 4, 4.5, 5 и больше.
Кэш-память. Обмен данными внутри процессора происходит намного быстрее, чем обмен данными между процессором и оперативной памятью. Поэтому, для того чтобы уменьшить количество обращений к оперативной памяти, внутри процессора создают так называемую сверхоперативную или кэш-память. Когда процессору нужны данные, он сначала обращается к кэш-памяти, и только тогда, когда там отсутствуют нужные данные, происходит обращение к оперативной памяти. Чем больше размер кэш-памяти, тем большая вероятность, что необходимые данные находятся там. Поэтому высокопроизводительные процессоры имеют повышенные объемы кэш-памяти.
Различают кэш-память первого уровня (выполняется на одном кристалле с процессором и имеет объем порядка несколько десятков Кбайт), второго уровня (выполняется на отдельном кристалле, но в границах процессора, с объемом в сто и более Кбайт) и третьего уровня (выполняется на отдельных быстродействующих микросхемах с расположением на материнской плате и имеет объем один и больше Мбайт).
В процессе работы процессор обрабатывает данные, находящиеся в его регистрах, оперативной памяти и внешних портах процессора. Часть данных интерпретируется как собственно данные, часть данных - как адресные данные, а часть - как команды. Совокупность разнообразных команд, которые может выполнить процессор над данными, образовывает систему команд процессора. Чем больше набор команд процессора, тем сложнее его архитектура, тем длиннее запись команд в байтах и тем дольше средняя продолжительность выполнения команд.
В компьютерах IBM PC используют процессоры, разработанные фирмой Intel, или совместимые с ними процессоры других фирм, относящиеся к семейству x86. Родоначальником этого семейства был 16-разрядный процессор Intel 8086. В дальнейшем выпускались процессоры Intel 80286, Intel 80386, Intel 80486 с модификациями, разные модели Intel Pentium, Pentium MMX, Pentium Pro, Pentium II, Celeron, Pentium III. Новейшей моделью фирмы Intel является процессор Pentium IV. Среди других фирм-производителей процессоров следует отметить AMD с моделями AMD-K6, Athlon, Duron и Cyrix.
Шины
С другими устройствами, и в первую очередь с оперативной памятью, процессор связан группами проводников, которые называются шинами. Основных шин три:
- шина данных,
- адресная шина,
- командная шина.
Адресная шина. Данные, которые передаются по этой шине трактуются как адреса ячеек оперативной памяти. Именно из этой шины процессор считывает адреса команд, которые необходимо выполнить, а также данные, с которыми оперируют команды. В современных процессорах адресная шина 32-разрядная, то есть она состоит из 32 параллельных проводников.
Шина данных. По этой шине происходит копирование данных из оперативной памяти в регистры процессора и наоборот. В ПК на базе процессоров Intel Pentium шина данных 64-разрядная. Это означает, что за один такт на обработку поступает сразу 8 байт данных.
Командная шина. По этой шине из оперативной памяти поступают команды, выполняемые процессором. Команды представлены в виде байтов. Простые команды вкладываются в один байт, но есть и такие команды, для которых нужно два, три и больше байта. Большинство современных процессоров имеют 32-разрядную командную шину, хотя существуют 64-разрядные процессоры с командной шиной.
Шины на материнской плате используются не только для связи с процессором. Все другие внутренние устройства материнской платы, а также устройства, которые подключаются к ней, взаимодействуют между собой с помощью шин. От архитектуры этих элементов во многом зависит производительность ПК в целом.
По шине адреса передается адрес ячейки памяти, по шине данных – передаваемая информация. Как правило, эти процессы проходят одновременно.
Под внутренней памятью понимают все виды запоминающих устройств, расположенные на материнской плате. К ним относятся оперативная память, постоянная память и энергонезависимая память.
С другими устройствами, и в первую очередь с оперативной памятью, процессор связан группами проводников, которые называются шинами. Основных шин три:
- шина данных,
- адресная шина,
- командная шина.
Адресная шина. Данные, которые передаются по этой шине трактуются как адреса ячеек оперативной памяти. Именно из этой шины процессор считывает адреса команд, которые необходимо выполнить, а также данные, с которыми оперируют команды. В современных процессорах адресная шина 32-разрядная, то есть она состоит из 32 параллельных проводников.
Шина данных. По этой шине происходит копирование данных из оперативной памяти в регистры процессора и наоборот. В ПК на базе процессоров Intel Pentium шина данных 64-разрядная. Это означает, что за один такт на обработку поступает сразу 8 байт данных.
Командная шина. По этой шине из оперативной памяти поступают команды, выполняемые процессором. Команды представлены в виде байтов. Простые команды вкладываются в один байт, но есть и такие команды, для которых нужно два, три и больше байта. Большинство современных процессоров имеют 32-разрядную командную шину, хотя существуют 64-разрядные процессоры с командной шиной.
Шины на материнской плате используются не только для связи с процессором. Все другие внутренние устройства материнской платы, а также устройства, которые подключаются к ней, взаимодействуют между собой с помощью шин. От архитектуры этих элементов во многом зависит производительность ПК в целом.
Основные шинные интерфейсы материнских плат:
ISA (Industry Standard Architecture). Разрешает связать между собой все устройства системного блока, а также обеспечивает простое подключение новых устройств через стандартные слоты. Пропускная способность составляет до 5,5 Мбайт/с. В современных компьютерах может использоваться лишь для подсоединения внешних устройств, которые не требуют большей пропускной способности (звуковые карты, модемы и т.д.).
EISA (Extended ISA). Расширение стандарта ISA. Пропускная способность возросла до 32 Мбайт/с. Как и стандарт ISA, этот стандарт исчерпал свои возможности и в будущем выпуск плат, которые поддерживают эти интерфейсы прекратится.
VLB (VESA Local Bus). Интерфейс локальной шины стандарта VESA. Локальная шина соединяет процессор с оперативной памятью в обход основной шины. Она работает на большей частоте, чем основная шина, и позволяет увеличить скорость передачи данных. Позже, в локальную шину "врезали" интерфейс для подключения видеоадаптера, который требует повышенной пропускной способности, что и привело к появлению стандарта VLB. Пропускная способность - до 130 Мбайт/с, рабочая тактовая частота - 50 МГц, но она зависит от количества устройств, подсоединенных к шине, что является главным недостатком интерфейса VLB.
PCI (Peripherial Component Interconnect). Стандарт подключения внешних устройств, введенный в ПК на базе процессора Pentium. По своей сути, это интерфейс локальной шины с разъемами для подсоединения внешних компонентов. Данный интерфейс поддерживает частоту шины до 66 МГц и обеспечивает быстродействие до 264 Мбайт/с независимо от количества подсоединенных устройств. Важным нововведением этого стандарта является поддержка механизма plug-and-play, суть которого состоит в том, что после физического подключения внешнего устройства к разъему шины PCI происходит автоматическая конфигурация этого устройства.
FSB (Front Side Bus). Начиная с процессора Pentium Pro для связи с оперативной памятью используется специальная шина FSB. Эта шина работает на частоте 100-133 МГц и имеет пропускную способность до 800 Мбайт/с. Частота шины FSB является основным параметром, именно она указывается в спецификации материнской платы. За шиной PCI осталась лишь функция подключения новых внешних устройств.
AGP (Advanced Graphic Port). Специальный шинный интерфейс для подключения видеоадаптеров. Разработан в связи с тем, что параметры шины PCI не отвечают требованиям видеоадаптеров по быстродействию. Частота этой шины - 33 или 66 МГц, пропускная способность до 1066 Мбайт/с.
USB (Universal Serial Bus). Стандарт универсальной последовательной шины определяет новый способ взаимодействия компьютера с периферийным оборудованием. Он разрешает подключать до 256 разных устройств с последовательным интерфейсом, причем устройства могут подсоединяться цепочкой. Производительность шины USB относительно небольшая и составляет 1,55 Мбит/с. Среди преимуществ этого стандарта следует отметить возможность подключать и отключать устройства в "горячем режиме" (то есть без перезагрузки компьютера), а также возможность объединения нескольких компьютеров в простую сеть без использования специального аппаратного и программного обеспечения.
Под внутренней памятью понимают все виды запоминающих устройств, расположенные на материнской плате. К ним относятся оперативная память, постоянная память и энергонезависимая память.
Оперативная память RAM (Random Access Memory)
Память RAM - это массив кристаллических ячеек, способных сохранять данные. Она используется для оперативного обмена информацией (командами и данными) между процессором, внешней памятью и периферийными системами. Из нее процессор берет программы и данные для обработки, в нее записываются полученные результаты. Название "оперативная" происходит от того, что она работает очень быстро и процессору не нужно ждать при считывании данных из памяти или записи. Однако, данные сохраняются лишь временно при включенном компьютере, иначе они исчезают.
По физическому принципу действия различают динамическую память DRAM и статическую память SRAM.
Ячейки динамической памяти можно представить в виде микроконденсаторов, способных накапливать электрический заряд. Недостатки памяти DRAM: медленнее происходит запись и чтение данных, требует постоянной подзарядки. Преимущества: простота реализации и низкая стоимость.
Ячейки статической памяти можно представить как электронные микроэлементы - триггеры, состоящие из транзисторов. В триггере сохраняется не заряд, а состояние (включенный/выключенный). Преимущества памяти SRAM: значительно большее быстродействие. Недостатки: технологически более сложный процесс изготовления, и соответственно, большая стоимость.
Микросхемы динамической памяти используются как основная оперативная память, а микросхемы статической - для кэш-памяти.
Каждая ячейка памяти имеет свой адрес, выраженный числом. В современных ПК на базе процессоров Intel Pentuim используется 32-разрядная адресация. Это означает, что всего независимых адресов есть 232, то есть возможное адресное пространство составляет 4,3 Гбайт. Однако, это еще не означает, что именно столько оперативной памяти может быть в системе. Предельный размер объема памяти определяется чипсетом материнской платы и обычно составляет несколько сотен мегабайт.
Оперативная память в компьютере размещена на стандартных панельках, которые называются модулями. Модули оперативной памяти вставляют в соответствующие разъемы на материнской плате. Конструктивно модули памяти имеют два выполнения - однорядные (SIMM - модули) и двурядные (DIMM - модули). На компьютерах с процессорами Pentium однорядные модули можно применять лишь парами (количество разъемов для их установления на материнской плате всегда четное). DIMM - модули можно устанавливать по одному. Комбинировать на одной плате разные модули нельзя.
Основные характеристики модулей оперативной памяти:
SIMM - модули имеют объем 4, 8, 16, 32, 64 мегабайт; DIMM - модули - 16, 32, 64, 128, 256, 512 Мбайт. Время доступа показывает, сколько времени необходимо для обращения к ячейкам памяти, чем меньше, тем лучше. Измеряется в наносекундах. SIMM - модули - 50-70 нс, DIMM - модули - 7-10 нс.
Постоянная память ROM (Read Only Memory)
В момент включения компьютера в его оперативной памяти отсутствуют любые данные, поскольку оперативная память не может сохранять данные при отключенном компьютере. Но процессору необходимы команды, в том числе и сразу после включения. Поэтому процесор обращается по специальному стартовому адресу, который ему всегда известен, за своей первой командой. Этот адрес указывает на память, которую принято называть постоянной памятью ROM или постоянным запоминающим устройством (ПЗУ). Микросхема ПЗУ способна продолжительное время сохранять информацию, даже при отключенном компьютере. Говорят, что программы, которые находятся в ПЗУ, "зашиты" в ней - они записываются туда на этапе изготовления микросхемы. Комплект программ, находящийся в ПЗУ образовывает базовую систему ввода/вывода BIOS (Basic Input Output System).
Основное назначение этих программ состоит в том, чтобы проверить состав и трудоспособность системы и обеспечить взаимодействие с клавиатурой, монитором, жесткими и гибкими дисками.
В этом случае числа представляются в двоичной системе счисления, но для отображения каждой десятичной цифры используется 4 бита. Например число 53 в двоично-десятичном коде может быть представлено как 0101 0011. Сравните с двоичным представлением этого же числа 0011 0101.
Рассмотрим особенности организации процесса обработки информации в цифровых устройствах (цифровых автоматах). Задача создания цифрового автомата, выполняющего определенные действия над двоичными сигналами, заключается в выборе элементов и способе их соединения, обеспечивающих заданное функциональное преобразование. Эти задачи решают с помощью алгебры логики.
По схемному решению и характеру связи между входными и выходными переменными различают два типа цифровых устройств – комбинационные и последовательные. В комбинационных цифровых устройствах совокупность сигналов на выходах в каждый конкретный момент времени полностью определяется входными сигналами, действующими в этот момент на его входах. Алгоритм функционирования комбинационных устройств может быть представлен в виде таблицы соответствия, содержащей значения выходных сигналов для всех возможных комбинаций значений входных сигналов. Цифровые утройства последовательного типа существенно отличаются от комбинационных прежде всего наличием памяти. Их выходные сигналы являются функцией не только входных сигналов, но и внутреннего состояния, в котором устройство находилось до поступления входных сигналов.
На основе цифрового устройства последовательного типа может быть спроектировано устройство, которое в зависимости от последовательности входных сигналов будет выполнять один из многих алгоритмов. Эти входные сигналы могут размещаться и последовательно извлекаться из внешнего блока регистров, называемого управляющей памятью. Некоторые входные сигналы могут использоваться для синхронизации поступления входных сигналов из управляющей памяти и для их адресации. Такое устройство может быть названо устройством с программируемой логикой или программируемым устройством. К таким устройствам относится и микропроцессор.
Микропроцессоры обладают следующими характеристиками: разрядность адреса и данных, тип корпуса, количество и напряжение источников питания, мощность рассеяния, температурный диапазон, возможность расширения разрядности, время цикла выполнения команд, уровни сигналов, помехоустойчивость, нагрузочная способность, надежность и т.д.
По числу больших интегральных схем (БИС) в микропроцессорном комплекте различают однокристальные, многокристальные и многокристальные секционированные микропроцессоры.
Однокристальные микропроцессоры получают при реализации всех аппаратных средств процессора в виде одной БИС. По мере увеличения степени интеграции элементов в кристалле и числа выводов корпуса параметры однокрстальных микропроцессоров улучшаются.
Многокристальные микропроцессоры получают при разбиении его логической структуры на функционально законченные части, которые реализуют в виде БИС. Один из возможных вариантов разбиения структуры процессора – это создание трехкристального микропроцессора, содержащего БИС операционного процессора, управляющего процессора и интерфейсного процессора. Операционный процессор (ОП) служит для обработки данных, управляющий процессор (УП) выполнет функции выборки, декодирования и вычисления адресов команд и операндов. Автономность работы и большое быстродействие БИС УП позволяет выбирать команды из памяти с большей скоростью, чем скорость их выпонения в ОП. При этом в УП образуется очередь еще не исполненных команд, заранее подготавливаются данные, которые потребуются ОП в следующих циклах работы. Такая опережающая выборка команд экономит время ОП на ожидание операндов, необходимых для выполнения команд программы. Интерфейсный процессор (ИП) позволяет подключить память и периферийные средства к микропроцессору.
Выбираемые из памяти команды распознаются и выполняются каждой частью микропроцессора автономно, и поэтому может быть обеспечен режим одновременной работы всех БИС МП, то есть конвейерный поточный режим исполнения последовательности команд программы (минимальное время между выполнениями команд). Такой режим работы значительно повышает производительность микропроцессора.
По назначению различают универсальные и специализированные микропроцессоры. Универсальные микропроцессоры можно применять для решения разноообразных задач. Производительность универсальных микропроцессоров мало зависит от проблемной специфики решаемых задач. Специализация микропроцессора, то есть его проблемная ориентация на ускоренное выполнение определенных функций, позволяет резко увеличить эффективную производительность при решении только определенных задач. Среди специализированных микропроцессоров можно выделить: микроконтроллеры, ориентированные на выполнение сложных последовательностей логических операций; математические МП, предназначенные для повышения производительности при выполнении арифметических операций за счет, например, матричных методов их выполнения; МП для обработки данных в различных областях применения и т.д. С помощью специализированных МП можно эффективно решать сложные задачи параллельной обработки данных.
По виду обрабатываемых входных сигналов различают цифровые и аналоговые микропроцессоры. Сами микропроцессоры – это цифровые устройства, однако могут иметь встроенные аналого-цифровые и цифро-аналоговые преобразователи. Поэтому входные аналоговые сигналы передаются в МП через преобразователь в цифровой форме, обрабатываются и после обратного преобразования в аналоговую форму поступают на выход. С точки зрения архитектуры такие микропроцессоры представляют собой аналоговые функциональные преобразователи сигналов и называются аналоговыми микропроцессорами. Они могут выполнять функции любой аналоговой схемы.
По характеру временной организации работы различают синхронные и асинхронные микропроцессоры. Синхронные микропроцессоры – это микропроцессоры, в которых начало и конец выполнения операций задаются устройством управления (время выполнения операций в этом случае не зависит от вида выполняемых команд и величин операндов). Асинхронные микропроцессоры позволяют начало каждой следующей операции определить по сигналу фактического окончания выполнения предыдущей операции.
По количеству выполняемых программ различают одно- и многопрограммные микропроцессоры. В однопрограммных микропроцессорах одновременно выполняется только одна программа. Переход к выполнению другой программы происходит после завершения текущей программы. В много- или мультипрограммных микропроцессорах одновременно выполняются несколько программ.
Типовая структура микропроцессора приведена на рисунке ниже. Микропроцессор состоит из трех основных блоков: арифметическо – логического устройства (АЛУ), блока внутренних регистров и устройства управления. Для передачи данных между этими блоками используется внутренняя шина данных. АЛУ выполняет одну из главных функций микропроцессора – обработку данных. Перечень функций АЛУ зависит от типа микропроцессора. Операции, выполняемые АЛУ большинства микропроцессоров следующие: сложение, вычитание, логическое сложение, логическое умножение, исключающее ИЛИ, инверсия, сдвиг вправо, сдвиг влево, увеличение на 1, уменьшение на 1.
Каждый регистр микропроцессора можно использовать для временного хранения одного слова данных. Некоторые регистры имеют специальное назначение, другие – многоцелевое. Последние называются регистрами общего назначения (РОН) и могут использоваться программистом по его усмотрению. Количество и назначение регистров зависит от его типа. Рассмотрим назначение основных регистров, имеющихся почти во всех микропроцессорах.
Аккумулятор – это главный регистр при различных манипуляциях с данными. Большинство арифметических и логических операций осуществляется путем использования АЛУ и аккумулятора. Любая из таких операций над двумя словами данных (операндами) предполагает размещение одного из них в аккумуляторе, а другого в памяти или каком-либо регистре. Результат выполнения операции АЛУ тоже обычно размещается в аккумуляторе, соднржимое которого при этом теряется. Операцией другого типа, использующей аккумулятор, является передача данных из одной части микропроцессора в другую. Например, пересылка данных между портом ввода-вывода и памятью, между двумя областями памяти и т.д. Выполнение такой операции осуществляется в два этапа: сначала выполняется пересылка данных из источника в аккумулятор, затем – из аккумулятора в пункт назначения. Микропроцессор может выполнять некоторые действия над данными непосредственно в аккумуляторе. Например, аккумулятор можно очистить (сбросить) путем записи во все его разряды двоичных нулей, установить в единичное состояние путем записи во все его разряды двоичных единиц. Содержимое аккумулятора можно сдвигать влево или вправо (показать схему), инвертировать, то есть значения нулей заменить на значения единиц во всех разрядах и наоборот.
Счетчик команд – это один из наиболее важных регистров микропроцессора. Как известно, программа – это последовательность команд (инструкций), хранимых в памяти и предназначенных для того, чтобы инструктировать процессор, как решать поставленную задачу. Для правильного выполнения программы команды должны поступать в строго определенном порядке. Счетчик команд обеспечивает формирование адреса очередной команды, записанной в памяти. Перед выполнением программы счетчик команд необходимо загрузить адресом, указывающим на первую команду программы. Обычно, это нулевой адрес. Адрес первой команды программы посылается через регистр адреса памяти по адресной шине к схемам управления памятью, в результатее чего из памяти считывается содержимое первой команды. Далее эта команда передается в специальный регистр микропроцессора, называемый регистром команд. После извлечения команды из памяти микропроцессор автоматически дает приращение содержимому счетчика команд. Таким образом выполняется последовательность команд, расположенных в памяти одна за другой. Счетчик команд можно загрузить иным содержимым при выполнении особой группы команд. Может возникнуть необходимость выполнить часть программы, которая “выпадает” из последовательности команд основной (главной) программы. Например, такую часть программы, которая повторяется в процессе выполнения всей программы. Вместо того чтобы писать эту часть программы каждый раз, когда в ней возникает необходимость, её записывают один раз и возвращаются к ее повторному выполнению, отступая от указанной последовательности. Часть программы, выполняемая путем отступления от последовательности команд главной программы, называется подпрограммой. В данном случае в счетчик команд непосредственно записывается требуемый адрес. Схема выполнения подпрограмм.
Содержание команды | Значение СК |
Любая | |
Любая | |
Команда перехода на подпрограмму по адресу N | N |
Любая | N+1 |
Любая | … |
Команда возврата из подпрограммы | |
Любая |
Рис. Типовая структурная схема микропроцессора.
Регистр команд содержит команду в процессе ее дешифрирования и выполнения. Код команды поступает через шину данных из памяти.
Регистр адреса памяти. При каждом обращении к памяти процессор указывает адрес ячейки памяти, подлежащей использованию. В ячейке памяти может находится либо код команды, либо данные, над которыми производится действие.
Буферный регистр предназначен для временного хранения (буферирования данных).
Регистр состояния предназначен для хранения результатов некоторых проверок, осуществляемых в процессе выполнения программы. Разряды регистра состояний принимают то или иное значение при выполнении операций, использующих АЛУ и некоторые регистры. Запоминание результатов упомянутых проверок позволяет использовать программы, содержащие переходы (нарушения естественной пследовательности выполнения команд). При наличии в программе перехода по заданному признаку выполнение команды начинается с некоторой новой области памяти, то есть счетчик команд загружается новым числом. В случае условного перехода такое действие имеет место, если результаты определенных проверок совпадают с ожидаемыми значениями. Указанные результаты находятся в регистре состояния. Регистр состояния предоставляет программисту возможность организовать работу микропроцессора так, чтобы при определенных условиях менялся порядок выпонения команд. Рассмотрим наиболее часто используемые разряды регистра состояния.
1. Перенос-заем. Данный разряд указывает, что последняя выполняемая операция сопровождалась переносом или заемом (отрицательным перносом). Значение этого разряда устанавливается равным 1, если в результате сложения двух чисел имеет место перенос из старшего разряда АЛУ. Пример 10001110+11000011=01010001 и имеем перенос из старшего разряда. Заем фиксируется в регистре состояния при вычитании большего числа из меньшего. Пример.
2. Нулевой результат. Этот разряд принимает единичное значение, если после окончания операции во всех разрядах регистра результата обнаружены двоичные нули.
3. Знаковый. Принимает единичное значение, когда старший бит регистра результата становится равным 1. При выполнении арифметических операций с числами в дополнительном кодединичное значение старшего бита показывает, что в регистре находится отрицательное число.
Регистры общего назначения (РОН). Большинство МП имеют в своем составе набор регистров, используемых в качестве сверхоперативных запоминающих устройств. Так как АЛУ может совершать операции с содержимым РОН без выхода на внешнюю магистраль адресов и данных, то они происходят много быстрее, чем операции с внешней памятью. Количество РОН и возможность программного доступа к ним у разных микропроцессоров различны.
Указатель стека. Стек – набор регистров микропроцессора или ячеек опретивной памяти, откуда данные или адреса выбираются “сверху” по принципу: первым выбирается элемент, поступивший в стек последним. При записи в стек очередного слова все ранее записанные слова смещаются на один регистр вниз. При выборке слова из стека оставшиеся слова перемещаются на один регистр вверх.
Указанные процедуры иллюстрирует рисунок.
Здесь стек состоит из семи регистров. Если в стек загружается какое-либо слово, например А5, то оно записывается в верхнем регистре, а каждое из слов А1…А4 перемещается в соседние нижние регистры. Если же А5 извлекается из стека, то каждое из словА1…А4 перемещается в соседние верхние регистры. Нельзя извлечь А4 раньше А5, то есть автоматически реализуется принцип “ последний зашел – первый вышел, первый зашел – последний вышел”. Стек обычно используется в микропроцессорах для хранения адресов возврата при обращении к подпрограммам, а также для запоминания состояния внутренних регистров при обработке прерываний. Остановимся подробнее на исползовании стека при организации подпрограмм. Если в программе имеется подпрограмма, то на выполнение подпрограммы можно перейти из юбого места программы по команде CALL , где CALL – мнемоническое обозначение команды, а - любое символьное обозначение строки программы, где расположена первая команда подпрограммы. Последняя команда подпрограммы имеет обозначение RET , что означает “выход из подпрограммы”. Команда выхода из подпрограммы не имеет явного указания на адрес команды, которую нужно выполнить после этого, то есть не указан адрес возврата из подпрограммы. Так вот, при выполнении команды CALL адрес возврата из подпрограммы, а это адрес команды CALL, увеличенный на 1, сохраняется в стеке. При выполнении команды RET адрес извлекается из стека и поступает в счетчик команд, то есть далее выполняется команда, следующая в программе за командой CALL.
Таким образом процесс функционирования стека напоминает работу с пачкой документов, когда каждый новый документ кладется сверху пачки. При такой организации стека необходим специальный регистр – указатель стека (УС) для хранения адреса последнего по времени поступления элемента стека.
Здесь УС – трехразрядный регистр с двоичным представлением информации. Из рисунка видно, что УС всегда хранит адрес регистра стека, заполненного последним, или адрес “вершины стека”.
Схемы управления. Роль схем управления заключается в поддержании требуемой последовательности функционирования всех остальных его звеньев. По сигналам схем управления очередная команда извлекается из регистра команд. При этом определяется, что необходимо делать с данными, а затем обеспечивается последовательность действий для выполнения поставленной задачи.
Одна из главных функций схем управления – декодирование команды, находящейся в регистре команд, посредством дешифратора команд, который в результате выдает сигналы, необходимые для ее выполнения.
Помимо указанных выше действий схемы управления выполняют некоторые специальные функции: управление последовательностью включения питания и процессами прерываний. Прерывание – это своего рода запрос, поступающий на схемы управления от других устройств (памяти, устройств ввода-вывода). Прерывание связано с использованием внутренней шины данных микропроцессора. Схемы управления принимают решение, когда и в какой последовательности другие устройства могут пользоваться внутренней шиной данных.
Система шин. На характеристики микропроцессора большое влияние оказывает способ организации его связи с внешней средой – устройствами ввода-вывода (УВВ) и запоминающими устройствами (ЗУ). По способу организации связей с внешней средой различают микропроцессоры с мультиплексированной шиной адреса и данных и с раздельными шинами адреса и данных.
В микропроцессорах с временным мультиплексированием шины адреса-данных при обращении к внешнему устройству на общей шине какой-то промежуток времени выставляется адрес, а затем шина предоставляется данным. Такие шины требуют включения дополнительного регистра адреса (РгА), в который записывается адрес по сигналу “адрес-данные”, пока адрес находится на общей шине.
Электрически шина - это провода, обеспечивающие передачу электрического сигнала. Естественно характеризовать шину скоростью, с которой по ней могут передаваться данные.
Шина- это магистраль, связывающая некоторые компоненты компьютера между собой.
Количество битов данных, которые может обработать процессор за один прием, характеризуется разрядностью внутренних регистров.
Внутренняя шина и регистры процессора
Хоть процессор и получает данные из оперативной памяти с помощью некоторой ширины, это не значит, что внутри он может обрабатывать данные такой же разрядности.
Регистр - это по существу ячейка памяти внутри процессора. Разрядность регистров определяет характеристики программного обеспечения и команд, выполняемых процессором. Например, процессоры с 32-разрядными внутренними регистрами могут выполнять 32-разрядные команды, которые обрабатывают данные 32-разрядными порциями, а процессоры с 16-разрядными регистрами этого делать не могут.
Кроме того, в зависимости от структуры регистров различают два основных типа процессоров:
RISC — Reduced (Restricted) Instruction Set Computer — процессоры (компьютеры) с сокращенной системой команд. Эти процессоры обычно имеют набор однородных регистров универсального назначения; их система команд отличается относительной простотой.
В результате аппаратная реализация такой архитектуры позволяет с небольшими затратами выполнять эти инструкции за минимальное (в пределе 1) число тактов синхронизации.
CISC — Complete Instruction Set Computer — процессоры с полным набором инструкций, к которым относится и семейство х86. Состав и назначение их регистров существенно неоднородны, широкий набор команд усложняет декодирование инструкций, на что расходуются аппаратные ресурсы. Возрастает число тактов, необходимое для выполнения инструкций.
Практически во всех современных процессорах внутренние регистры являются 32-разрядными (исключения Itanium от Intel и Hammer от AMD).
Одной из самых общих характеристик процессора является разрядность его шины данных и шины адреса.
Когда говорят о шине процессора, обычно имеют ввиду шину данных, которая является набором соединений, для передачи и приема данных. Чем больше сигналов одновременно поступает на шину, тем больше данных по ней передается за определенный интервал времени, и тем быстрее она работает.
Разрядность шины данных подобна количеству полос автомагистрали - чем больше полос, тем больше поток машин, чем шире шина данных, тем больше данных за одинаковые промежутки времени по ней передается.
В процессоре 286 для приема и передачи двоичных данных используется 16 соединений, поэтому их шина данных считается 16-разрядной.
У 32-х разрядных процессоров (например, 486), таких соединений вдвое больше, поэтому за единицу времени они передают и получают вдвое больше данных, чем 16-и разрядные процессоры - разумеется, эффективность выше.
Современные процессоры (начиная с Pentium) имеют 64-х разрядную шину данных, поэтому они могут передавать в системную память по 64 бита за один такт. Такая реализация позволяет ускорить обмен данными между быстрым процессором и относительно медленным ОЗУ при неизменной рабочей частоте последнего за счёт повышения пропускной способности шины данных.
Разрядность шины данных процессора определяет также разрядность банка памяти. Это значит, что, например, 32-х разрядный процессор (например, 486) считывает из памяти и записывает в память 32 бита одновременно.
Процессоры класса Pentium и выше считывают и записывают при операциях с памятью 64 бита одновременно.
В современных процессорах внешняя шина данных 64-разрядная, а регистры и внутренняя шина процессора по-прежнему 32-разрядны. В современном процессоре (например, Pentium) для обработки информации, поступающей по внешней 64-разрядной шине данных, существует два обрабатывающих ее 32-разрядных блока, называемых конвейерами.
Такой процессор напоминает два объединенных в одном корпусе 32-разрядных процессора, а 64-разрядная внешняя шина данных позволяет быстрее наполнить регистры процессора.
Процессор является центральным устройством и выполняет команды программы, которые хранятся в оперативной памяти.
Команда программы поступает в процессор по шине данных и декодируется, т. е. определяется, какие действия необходимо выполнить и какие данные для этого требуются.
Данные запрашиваются из оперативной памяти, для этого по шине адреса передаются их адреса, а по шине управления — сигнал на считывание.
Декодированная команда и данные передаются в АЛУ (арифметико-логическое устройство), где отдельно обрабатываются целочисленные данные, и отдельно — данные в форме чисел с плавающей запятой.
Результаты обработки передаются по шине данных в оперативную память, одновременно по шине адреса передаются адреса ячеек памяти, куда данные необходимо записать, а по шине управления передаётся сигнал на запись.
Быстродействие процессора существенно больше быстродействия оперативной памяти, поэтому процессор часть времени простаивает в ожидании данных. Чтобы этого не происходило, в современные компьютеры встроена более быстрая, чем оперативная память, кэш-память .
2. Кэш-память первого уровня разделена на две части: в одну часть считываются наиболее нужные процессору данные, а в другую часть — наиболее нужные процессору команды.
В первых компьютерах процессоры были громоздкими агрегатами, занимавшими целые шкафы и даже комнаты, и были выполнены на большом количестве отдельных компонентов.
С начала \(70\)-х годов \(ХХ\) века все необходимые компоненты ЦП размещают в одной полупроводниковой микросхеме — БИС или СБИС (больших или сверхбольших интегральных схемах).
БИС — плоская полупроводниковая пластина размером примерно \(20\)x\(20\) мм, заключённая в плоский корпус с рядами металлических штырьков (контактов).
Например, процессор Intel Core \(2\) Duo с \(4\) МБ кэш-памяти состоит из около \(291\) миллиона функциональных элементов, размеры которых составляют всего около \(0,13\) микрон ( 1 микрон = 10 − 6 м ).
Производительность процессора является его интегральной характеристикой и определяет скорость выполнения приложений.
Производительность процессора прямо пропорциональна разрядности процессора, его частоте, а также количеству команд, выполняемых за один такт: Производительность ≈ Разрядность х Частота х Кол−во команд за такт .
Частота соответствует количеству тактов обработки данных, которые процессор производит за \(1\) секунду.
С момента появления первого процессора частота процессоров увеличилась в \(37 000\) раз (с \(0,1\) МГц до \(3700\) МГц).
Однако увеличение производительности процессоров за счёт увеличения частоты имеет свой предел из-за тепловыделения.
Читайте также: