Микропроцессор что это такое
Микропроцессор: что нужно знать начинающим электронщикам
Микропроцессор (CPU или Центральный процессор*) – устройство обработки цифровой и аналоговой информации, основная часть аппаратного контроля системы, а заодно и главный инструмент, способный проводить арифметические и логические операции, записанные с использованием машинного кода.
Основных функций у ЦП* несколько – передача данных между оперативной памятью и остальными компонентами ПК, синхронизация информации на внешних и внутренних накопителях, организация многопотоковой и многопрограммной работы в бесперебойном режиме, дешифрация машинного кода, синхронизация чисел разного регистра. И хотя перечисленные функции сложно переводимы на «обывательский язык», запомнить стоит следующее – «Центральный процессор» – важнейший элемент любого персонального компьютера.
И еще на заметку удивительный факт – за все те годы развития микропроцессоров им так и не нашлось никакой альтернативы. Даже современные новинки от Intel, справляющиеся с нагрузкой в тысячу раз быстрее, чем все конкуренты из далекого прошлого, и домашние чипы, обгоняющие по скорости все компьютеры, находившиеся на базе космического корабля «Аполлон», покорившего Луну, так и остаются процессорами с одинаковыми задачами и целями…
Назначение и область применения микропроцессоров
Функционально микропроцессор предназначен для решения следующих задач:
Кроме того, важно понимать, из каких именно частей состоит любой процессор:
История развития: первый микропроцессор
Транзисторы, электромеханические реле, сердечники, вакуумные лампы – первые процессоры, старательно выполнявшие несложные арифметические и логические операции, появились еще в далеком 1940 году, но оставались ненадежными, громоздкими, да и неприменимыми в бытовых условиях (основное назначение – государственные разработки, крупные и набирающие обороты перерабатывающие фирмы) – слишком большое выделение энергии, неконтролируемая теплоотдача, низкая скорость обработки данных. Мечтать о домашнем применении подобных чипов и не приходилось, хотя бы из-за нехватки свободного места. Поставить в какой-нибудь из комнат ЭВМ с микропроцессором получилось бы лишь во дворце.
Со временем все изменилось. В 1970 году Эдвард Хофф, представлявший крупнейший отдел разработки компонентов для электронно-вычислительных машин, представил руководителям компании Intel интегральную схему, выполнявшую те же функции, что и чипы ЭВМ, но с маленьким нюансом – плата Эдварда помещалась в руке, обрабатывала 4 бита информации в секунду (конкуренты выдавали мощности в разы серьезнее – до 32 бит одновременно), и стоила в тысячу раз дешевле.
Первые калькуляторы снабжали именно процессором 4004 Эдварда Хоффа, которые появились в продаже в начале 1971 года. С этого момента, как принято считать, и началась эра новых процессоров, изменивших мир.
Дальше история развития микропроцессоров двинулась следующим путем:
Далее появились поставки многоядерных процессоров, затем появился Xeon и Intel Core, а после на мировом рынке загорелась новая звезда – модульные процессоры AMD. С тех пор (а именно с 2007 года) между двумя компаниями и ведется беспрерывная война за внимание пользователей.
На текущий момент хотя бы примерно описать состояние рынка МП невозможно – Intel Core представляет новые архитектуры микропроцессора (Coffee Lake, Skylake, Haswell, Kaby Lake) чуть ли не каждый год, а заодно меняет наименования семейства процессоров (Intel Core i3, i5, i7, i9). AMD старается удивлять низкими ценами и внушительными возможностями разгона. И кто в таком хаосе лидер – до сих пор не разобрать.
Разновидности микропроцессоров
И современные, и давно известные миру МП легко разделить на четыре части:
Основные характеристики
К основным характеристикам микропроцессора относятся:
Особенности российских микропроцессоров
С 1998 года и по сей день в отечественном сегменте разработкой микропроцессоров занимается компания «МЦСТ». Результаты впечатляющие – стабильное производство RISC систем, внедрение серии Эльбрус в применение на военно-оборонительных комплексах, космических станциях и засекреченных базах для передачи данных с максимальным уровнем шифрования. Заслуги компании «МЦСТ» серьезные, хотя многими обывателями подобные «успехи» кажутся смешными, на фоне мировых гигантов вроде Intel и AMD.
Да, достижения еще не те, но и цели совсем разные, верно? Едва ли «Эльбрус» стоит расценивать, как игровой чип, способный запустить все современные развлечения в максимальном качестве – это, в первую очередь, система для сверхбыстрой обработки данных (прежде всего, военного назначения) в полевых и даже экстремальных условиях.
История развития процессоров из России:
МИКРОПРОЦЕССОР
Спектр применений МП в физике определяется наряду с этим ещё двумя обстоятельствами. Во-первых, МП, работающий от внеш. источника энергии и управляющий состоянием замкнутой системы, способен управлять изменением её энтропии заданным образом [1]. Эта способность широко используется в автомати-зиров. устройствах управления системами для оптимизации либо повышения эффективности происходящих в них процессов (напр., удержание на заданном уровне темп-ры печи, в контур управления нагревателем к-рой включён МП). Во-вторых, любой алгоритм обработки информации можно реализовать программно (с помощью выполнения соответствующей программы универсальным МП) либо аппаратурно (с помощью епециализиров. МП, при разработке к-рого искомый алгоритм был реализован непосредственно в его электронной схеме). Последний способ обеспечивает макс, быстродействие алгоритма и представляет интерес в том случае, когда требуется обрабатывать информацию с частотой, превышающей частоту её обработки программным путём. Напр., для обработки изображений, следующих с частотой телевизионной развёртки, широко используется фурье-МП, аппаратурно реализующий алгоритмы быстрого преобразования Фурье.
МП характеризуются: полупроводниковой технологией изготовления интегральных схем, составляющих МП, их кол-вом; архитектурой (логич. организацией МП, определяющей процесс обработки информации в конкретном МП и включающей методы кодирования информации, состав, назначение и принципы взаимодействия аппаратурных средств МП); набором инструкций; ёмкостью адресуемой памяти; производительностью; стоимостью и др. [1, 2, 4, 5].
По числу БИС, составляющих МП, их можно условно разделить на два существенно различных класса: однокристальные и многокристальные.
ОМП различаются также по способу синхронизации при выдаче адреса и обмена данными. В синхронных системах все сигналы строго определены во времени и обмен ведётся без подтверждения факта получения или выдачи информации абонентом.
В синхронно-асинхронных системах передача адреса осуществляется синхронно, а обмен происходит при взаимном обмене источника информации и её получателя сигналами подтверждения приёма (передачи) информации по след, схеме:
— источник начинает цикл обмена, выставляя данные на шины, и с временной задержкой, необходимой для надёжной установки данных на линиях связи, выставляет сигнал данные на шине;
— получатель по сигналу данные на шине производит их запись и только после этого выставляет сигнал данные получены на соответствующую линию связи;
— источник, получив сигнал данные получены, снимает сигнал данные на шине и сами данные;
— получатель после снятия сигнала данные на шине снимает сигнал данные получены;
— источник после снятия сигнала данные получены завершает текущий цикл обмена.
Этот способ обеспечивает высокую надёжность обмена, т. к. менее чувствителен к помехам, сбоям и временным характеристикам как узлов, участвующих в обмене, так и линий связи.
Наряду с удобствами применение СМП связано с определ. трудностями: требуется микропрограммирование инструкций процессора. Поэтому наиб, распространёнными являются ОМП. В то же время, благодаря микропрограммированию инструкций процессора, состоящего из СМП, можно достичь его макс, производительности. В этом направлении наиб, перспективна разработка процессоров с сокращённым набором инструкций RISC (от англ. Reduce Instruction Set).
Архитектура МП. Для программиста понятие архитектуры МП включает в себя совокупность аппаратурных, программных и микропрограммных возможностей МП, важных при его программировании (внеш. архитектура). Для разработчика микропроцессорной аппаратуры важными особенностями, с точки зрения архитектуры МП, являются его аппаратурная организация и логич. структура электронных схем, отд. блоков и связывающих их информац. шин (внутр. архитектура). Эти особенности могут быть отличными от внеш. архитектуры МП.
Существует два типа внутр. архитектуры процессора, построенного из СМП: вертикальная и горизонтальная. В случае вертикальной архитектуры секция является функционально законченным и-разрядным процессором (2, 4, 8 или 16 бит), допускающим наращивание разрядности слова объединением секций. При горизонтальной архитектуре построения процессора секция является одним из его узлов, объединяемых для получения re-разрядного процессора.
В ОМП обычно используется одна и та же шина для обращения к памяти и УВВ (рис. 1, а), причём в один и тот же момент времени может читаться или записываться только одна инструкция или слово данных, т. е. инструкции и данные обрабатываются последовательно (рис. 1, б).
Рис. 1. Архитектура (а) и временная диаграмма цикла инструкции (б) однокристального микропроцессора.
В СМП шины данных (адреса) памяти, в к-рых хранятся микроинструкции, как правило, разделены (рис. 2, а) и процесс выборки след, инструкции может быть совмещён во времени с исполнением текущей инструкции (рис. 2, б).
Рис. 2. Архитектура (а) и временная диаграмма цикла инструкции (б) секционного микропроцессора.
Универсальные и специализированные МП. Универсальный МП представляет собой многофункциональную БИС или их набор с программируемой логикой работы. Из-за своей универсальности он зачастую имеет низкую эффективность использования в разл. областях применений из-за несоответствия архитектуры МП характеру задач.
Альтернативой ему в этом отношении является специализиров. МП, архитектура к-рого полностью ориентирована на решение конкретной задачи. Появление таких МП стало возможным благодаря технологии произ-ва БИС на базе вентильных матриц или базовых матричных кристаллов, когда один или неск. нижних слоев БИС являются неизменными, а меняется лишь верх, слой (слои) [5].
Специализиров. МП развиваются по пути создания МП, реализующих спец. алгоритмы обработки данных (алгоритмич. МП). Для традиц. архитектуры первыми шагами в этом направлении стала разработка МП с сокращённым набором инструкций (RISC) и МП с набором инструкций языков программирования высокого уровня.
Прогресс в развитии МП будет определяться как новыми микроэлектронными технологиями их изготовления, так и новой архитектурой МП, реализующей разл. способы обработки информации: параллельную, ассоциативную и др. Причём поскольку технология в ближайшие годы позволит достигнуть предела по параметру плотности логич. вентилей на кристалл (определяется межатомными размерами кристалла), на первое место выйдет разработка новых принципов обработки информации и архитектур МП.
Лит.:1) Клингман Э., Проектирование микропроцессорных систем, пер. с англ., M., 1980; 2) Соучек Б., Микропроцессоры и микро-ЭВМ, пер. с англ., M., 1979; 3) Fаулджер Р., Программирование встроенных микропроцессоров, пер. с англ., M., 1985; 4) Микропроцессоры, под ред. Л. H. Преснухина, т. 1-3, M., 1986; 5) X в о щ С. Т., Варлинский H. H., Попов E. А., Микропроцессоры и микро-ЭВМ в системах автоматического управления. Справочник, Л., 1987; 6) Коул В., Активное развитие секторов нестандартных микропроцессов, «Электроника», 1987, т. 60, № 21, с5.
В. H. Задков, С. А. Филиппычев.
Принцип работы микропроцессора
Что такое микропроцессоры, сегодня знает каждый.
Это одно из самых интересных технологических новшеств в электронике после появления транзистора в 1948 году.
Чудо-устройства не только начали революцию в области цифровой электроники, но и проникли почти во все сферы жизни человека. Они применяются в сложнейших управляющих контроллерах, оборудовании диспетчерского управления, в простых игровых автоматах и даже игрушках.
Что такое микропроцессоры?
Компьютер, большой и не очень, функционально (в упрощенной форме) может быть представлен в виде блок-схемы, состоящей из трех основных частей:
Микропроцессор является интегральной схемой, предназначенной для работы в качестве ЦПУ микрокомпьютера.
Принцип действия
Назначение микропроцессора заключается в считывании каждой команды из памяти, ее декодировании и выполнении.
ЦПУ обрабатывает данные согласно инструкциям программы в форме логических и арифметических операций. Информация извлекается из памяти или поступает из устройства ввода, и результат обработки сохраняется в памяти или доставляется на соответствующее устройство вывода так, как это указано в командах. Вот что такое микропроцессоры. Для выполнения всех указанных функций у них имеются различные функциональные блоки.
Такая внутренняя или организационная структура ЦПУ, определяющая его работу, называется его архитектурой.
Типичная схема устройства микропроцессора представлена ниже.
Микрокомпьютер оперирует двоичным кодом. Бинарная информация представлена двоичными цифрами, называемыми битами. Группа битов образует машинное слово (их количество зависит от конкретной реализации). Обычные размеры слова равны 4, 8, 12, 16, 32 и 64 бит. Байт и полубайт представляют собой набор из 8 и 4 бит соответственно.
Шины соединяют различные блоки устройства и позволяют им обмениваться машинными словами. Они выполнены в виде отдельного провода для каждого бита, что позволяет обмениваться всеми разрядами машинного слова одновременно. Обработка информации в ЦПУ также происходит параллельно. Таким образом, шины могут рассматриваться как магистрали передачи данных. Их ширина определяется количеством составляющих их сигнальных линий. По адресной шине ЦПУ передает адрес устройства ввода-вывода или ячейки памяти, к которой он хочет получить доступ. Этот адрес принимается всеми устройствами, подключенными к процессору. Но реагирует на него только то, которому был адресован запрос. Шина данных служит для отправки и приема информации из устройств ввода-вывода и памяти, в т. ч. команд. Очевидно, что она является двунаправленной, а адресная – однонаправленной. Шина управления используется для передачи и приема сигналов управления между микропроцессором и различными элементами системы.
Арифметико-логическое устройство и внутренние регистры
Представляет собой комбинационную сеть, которая выполняет логические и арифметические операции над данными.
В состав микропроцессора обычно входит и ряд регистров. Они используются для временного хранения команд, данных и адресов во время выполнения программы. Например, у микропроцессора Intel 8085 имеется 8-битный аккумулятор (Acc), 6 8-битных регистров общего назначения (B, C, D, E, H и L), 8-разрядный регистр команд (IR), в котором хранится следующая исполняемая инструкция, 16-битный программный счетчик с адресом следующей команды, которую необходимо выбрать из памяти в IR, 16-битный указатель стека, регистр флагов, который сигнализирует о выполнении определенных условий, возникающих во время выполнения логических и арифметических операций, и некоторые другие специальные регистры для внутренних процессов, доступа к которым у программиста нет.
Декодер, блок управления и память
Расшифровывает каждую команду и управляет внешними и внутренними блоками, обеспечивая правильную логическую работу системы.
Для сохранения команд, данных и результатов вычислений требуется наличие полупроводниковых запоминающих устройств. Программа записывается в память, подключенную к микропроцессору через адресную шину и шины данных и управления (подобно устройствам ввода-вывода).
Интерфейс
Если к ЦПУ необходимо подключить одно или несколько устройств ввода-вывода, то возникает необходимость в соответствующем интерфейсе. Он выполняет следующие 4 функции:
Передача информации
Обмен данными, который происходит между периферийным устройством и микрокомпьютером, относятся либо к их программной передаче, либо к прямому доступу к памяти.
В первом случае загруженная программа запрашивает систему ввода-вывода на передачу данных микропроцессору или из него. Как правило, информация поступает в аккумулятор, хотя другие внутренние регистры могут также участвовать. Программная передача обычно используется при пересылке небольшого объема данных относительно медленными устройствами ввода-вывода, например, периферийным умножителем, периферийным АЛУ и т. д. В таких случаях трансфер обычно производится пословно.
Прямой доступ к памяти или захват циклов контролируется периферийным устройством. При этом системой ввода-вывода принудительно задерживает работа микропроцессора, пока пересылка не будет завершена. Поскольку процесс контролируется аппаратно, интерфейс сложнее, чем требуется для программной передачи данных. Используется при необходимости переслать большой блок информации, например, из таких периферийных хранилищ, как гибкие диски и высокоскоростной картридер.
Интерфейсные устройства
Для разработки пользовательских интерфейсов доступно обширное аппаратное обеспечение. К нему относятся мультиплексоры и демультиплексоры, линейные драйверы и приемники, буферы, стабильные и моностабильные мультивибраторы, триггер-защелки, вентильные схемы, сдвиговые регистры и т. д. Есть и более сложные программируемые интерфейсы, функции которых можно изменить командой микропроцессора. Эти интерфейсы могут быть общего или специального назначения.
Языки программирования
Поскольку компьютер может хранить и обрабатывать информацию в двоичной форме, команды для подачи на машину должны быть представлены в двоичном формате. В таком виде программа является машинным языком.
На языке ассемблера команды, включая места хранения, представлены буквенно-цифровыми символами, называемыми мнемоническими. По сравнению с машинным языком их использование значительно облегчает написание программ. Однако если программа написана на таком мнемоническом языке, она должна быть переведена в инструкции, понятные машине, чтобы их можно было хранить и выполнять в микрокомпьютере. В основном одна команда ассемблера транслируется в одну команду машинного языка.
Писать программы на ассемблере очень утомительно и требует много времени. Поэтому широкое распространение получили языки высокого уровня, такие как Fortran, Cobol, Algol, Pascal, которые можно затем перевести на язык машины. В этом случае одному оператору обычно соответствует несколько инструкций машинного языка.
Набор команд микрокомпьютера
Основные характеристики микропроцессора также определяются набором инструкций.
Обычно он состоит из 5 групп:
Инструкции, которые хранятся вместе с данными в памяти, могут иметь длину в 1 или несколько байт. Длинные команды хранятся в последовательных ячейках памяти, причем адрес первого байта всегда используется как адрес всей команды. Кроме того, первый байт всегда является кодом операции.
Память микропроцессора
Знакомство с подробностями, касающимися компьютерной памяти и ее иерархии помогут лучше понять содержание этого раздела.
Выше мы писали о шинах (адресной и данных), а также о каналах чтения (RD) и записи (WR). Эти шины и каналы соединены с памятью: оперативной (ОЗУ, RAM) и постоянным запоминающим устройством (ПЗУ, ROM). В нашем примере рассматривается микропроцессор, ширина каждой из шин которого составляет 8 бит. Это значит, что он способен выполнять адресацию 256 байт (два в восьмой степени). В один момент времени он может считывать из памяти или записывать в нее 8 бит данных. Предположим, что этот простой микропроцессор располагает 128 байтами ПЗУ (начиная с адреса 0) или 128 байтами оперативной памяти (начиная с адреса 128).
Модуль постоянной памяти содержит определенный предварительно установленный постоянный набор байт. Адресная шина запрашивает у ПЗУ определенный байт, который следует передать шине данных. Когда канал чтения (RD) меняет свое состояние, модуль ПЗУ предоставляет запрошенный байт шине данных. То есть в данном случае возможно только чтение данных.
Из оперативной памяти процессор может не только считывать информацию, он способен также записывать в нее данные. В зависимости от того, чтение или запись осуществляется, сигнал поступает либо через канал чтения (RD), либо через канал записи (WR). К сожалению, оперативная память энергозависима. При отключении питания она теряет все размещенные в ней данные. По этой причине компьютеру необходимо энергонезависимое постоянное запоминающее устройство.
Более того, теоретически компьютер может обойтись и вовсе без оперативной памяти. Многие микроконтроллеры позволяют размещать необходимые байты данных непосредственно в чип процессора. Но без ПЗУ обойтись невозможно. В персональных компьютерах ПЗУ называется базовой системой ввода и вывода (БСВВ, BIOS, Basic Input/Output System). Свою работу при запуске микропроцессор начинает с выполнения команд, найденных им в BIOS.
Команды BIOS выполняют тестирование аппаратного обеспечения компьютера, а затем они обращаются к жесткому диску и выбирают загрузочный сектор. Этот загрузочный сектор является отдельной небольшой программой, которую BIOS сначала считывает с диска, а затем размещает в оперативной памяти. После этого микропроцессор начинает выполнять команды расположенного в ОЗУ загрузочного сектора. Программа загрузочного сектора сообщает микропроцессору о том, какие данные (предназначенные для последующего выполнения процессором) следует дополнительно переместить с жесткого диска в оперативную память. Именно так происходит процесс загрузки процессором операционной системы.
Инструкции микропроцессора
Даже простейший микропроцессор способен обрабатывать достаточно большой набор инструкций. Набор инструкций является своего рода шаблоном. Каждая из этих загружаемых в регистр команд инструкций имеет свое значение. Людям непросто запомнить последовательность битов, поэтому каждая инструкция описывается в виде короткого слова, каждое из которых отражает определенную команду. Эти слова составляют язык ассемблера процессора. Ассемблер переводит эти слова на понятный процессору язык двоичных кодов.
Приведем список слов-команд языка ассемблера для условного простого процессора, который мы рассматриваем в качестве примера к нашему повествованию:
Английские слова, обозначающие выполняемые действия, в скобках приведены неспроста. Так мы можем видеть, что язык ассемблера (как и многие другие языки программирования) основан на английском языке, то есть на привычном средстве общения тех людей, которые создавали цифровые технологии.
Работа микропроцессора на примере вычисления факториала
Рассмотрим работу микропроцессора на конкретном примере выполнения им простой программы, которая вычисляет факториал от числа «5». Сначала решим эту задачку «в тетради»:
факториал от 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120
На языке программирования C этот фрагмент кода, выполняющего данное вычисление, будет выглядеть следующим образом:
a=1;f=1;while (a 5 the jump to 175 CONB 56 COM7 JG 178 LOADA 129 // f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // loop back to if17 STOP
Теперь возникает следующий вопрос: а как же все эти команды выглядят в постоянной памяти? Каждая из этих инструкций должна быть представлена в виде двоичного числа. Чтобы упростить понимание материала, предположим, что каждая из команд языка ассемблера рассматриваемого нами процессора имеет уникальный номер:
Будем считать эти порядковые номера кодами машинных команд (opcodes). Их еще называют кодами операций. При таком допущении, наша небольшая программа в постоянной памяти будет представлена в таком виде:
// Предположим, что a по адресу 128// Предположим, что F по адресу 129Addr машинная команда/значение0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP
Как вы заметили, семь строчек кода на языке C были преобразованы в 18 строчек на языке ассемблера. Они заняли в ПЗУ 32 байта.