Структура памяти центрального процессора: Программная модель центрального процессора

Центральный процессор — назначение и характеристики

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

Содержание

Виды процессоров

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

Мощности:

  • Бывают слабые, одноядерные модели, производство которых остановлено и приобрести их можно только после долгих поисков;
  • Средние и мощные модели, имеющие от 2 до 16 ядер;

По способу применения:

  1. Игровые;
  2. Серверные;
  3. Бюджетные;

По фирме производителю:

  • Центральный процессор от компании Intel;
  • ЦП от компании AMD;

Обратите внимание! Помимо Интеловских и Амдэшных ЦП существуют продукты, выпускаемые под брендами других компаний, но они мало востребованы, составляя малую часть об общего объема товаров на рынке компьютерного железа.

Многие пользователи ошибочно полагают, что продукция компании Intel отличается от AMD только названием, но это далеко не так. Структура каждого центрального процессора, произведенного под торговой маркой данных компаний, существенно отличается от конкурентов. Благодаря этому, они обладают своими достоинствами и недостатками. Например, продукция компании Intel наделена следующими положительными характеристиками, выгодно отличающими их центральные процессоры от AMD:

  1. Большинство производителей комплектующих изделий для ПК подгоняют свою продукцию под стандарты CPU от Intel;
  2. Во время работы потребляют меньшее количество энергии, снижая нагрузку на систему;
  3. Показывают большее быстродействие при работе с одной программой;
  4. Лучший выбор для игровых сборок системных блоков;

Товары от AMD также имеют ряд характеристик, позволяющих им активно конкурировать на рынке компьютерного железа:

  • В отличии от ЦП производства Интел, центральные процессоры от АМД имеют функцию разгона, увеличивающую исходную мощность до 20%;
  • Лучшее соотношение цены и качества товаров;
  • Графические ядра, встроенные в ЦП, обладают большими возможностями чем Интеловские, позволяя быстрее работать с видео;

Виды

Описание центрального процессора

Итак, с видами ЦП и их отличительными особенностями мы разобрались, пора переходить к описанию самого изделия и разобраться в том, что это такое. Для простоты понимания разобьём его на несколько пунктов, выделяя в них ключевые особенности изделия:

  1. Назначение ЦП;
  2. Его строение;
  3. Базовые характеристики;

С их помощью мы разберемся как работает процессор и как он устроен.

Назначение

Главная задача любого центрального процессора – выполнение вычислительных процессов, с помощью которых устройствам передается набор команд, необходимых для выполнения. Команды находятся в ОЗУ ПК и считываются CPU оттуда напрямую. Соответственно, чем выше вычислительные мощности процессора, тем большим быстродействием обладает вся система.

Структура

Общая структура любого центрального процессора состоит из следующих блоков:

  1. Блока интерфейса;
  2. Операционного блока;

Блок интерфейса содержит следующие компоненты:

  • Адресные регистры;
  • Регистры памяти, в которых осуществляется хранение кодов передаваемых команд, выполнение которых планируется в ближайшее время;
  • Устройства управления – с его помощью формируются управляющие команды, которые в дальнейшем выполняются ЦП;
  • Схемы управления, отвечающие за работу портов и системных шин;

В операционный блок входят:

  1. Микропроцессорная память. Состоит из: сегментных регистров, регистров признаков, регистров общего назначения и регистров подсчитывающих количество команд;
  2. Арифметико-логическое устройство. С его помощью информация интерпретируется в набор логических, или арифметических операций;

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

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

Характеристики

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

  • Тактовая частота; Для обработки одного фрагмента данных, передаваемых внутри ПК, требуется один такт времени. Отсюда следует, что чем выше тактовая частота приобретаемого ЦП, тем быстрее работает устройство обрабатывая за раз большие массивы информации. Измеряется тактовая частота в мегагерцах. Один мегагерц эквивалентен 1 миллиону тактов в секунду. Старые модели имели маленькую частоту, из-за чего скорость работы оставляла желать лучшего. Современные модели имеют большие показатели тактовой частоты, позволяя быстро обрабатывать и выполнять самые сложные наборы команд.
  • Разрядность; Информация, предназначенная для обработки ЦП, попадает в него через внешние шины. От разрядности зависит какой объем данных передается за один раз. Это влияет на быстродействие. Старые модели были 16 разрядными, а современные имеют 32 или 64 разряда. 64 разрядная система на сегодняшний день считается самой продвинутой и под нее разрабатываются современные программные продукты и устройства.
  • Кеш – память; Используется для увеличения работы устройства в компьютере, создавая буферную зону, хранящую копию последнего массива данных, обработанного процессором. Это дает возможность быстро выполнить схожую операцию в случае необходимости, без траты времени на обращение к общей памяти персонального компьютера.
  • Сокет; Вариант крепления устройства к материнской плате. Разные поколения процессоров, как и материнских плат имеют собственный поддерживаемых сокетов. Это стоит учитывать при покупке. У разных производителей сокеты также отличаются друг от друга.
  • Внутренний множитель частоты; Процессор и материнская плата работают на разных частотах и для их синхронизации друг с другом существует множитель частоты. Базовой или опорной считается рабочая частота материнской платы, которая умножается на персональный коэффициент ЦП.

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

Так же вы можете прочитать статьи на темы: На что влияет частота процессора и Основные характеристики процессора

Устройство и основные характеристики процессора

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

Что такое процессор и как он устроен


Центральный процессор (микропроцессор, центральное процессорное устройство, CPU, разг. – «проц», «камень») – сложная микросхема, являющаяся главной составной частью любого компьютера. Именно это устройство осуществляет обработку информации, выполняет команды пользователя и руководит другими частями компьютера. Уже много лет основными производителями процессоров являются американские компании Intel и AMD (Advanced Micro Devices). Есть, конечно, и другие достойные производители, но до уровня указанных лидеров им далеко. Intel и AMD постоянно борются за первенство в изготовлении все более производительных и доступных процессоров, вкладывая в разработки огромные средства и много сил. Их конкуренция — важный фактор, содействующий быстрому развитию этой отрасли. Как выглядит процессор компьютера
Внешне центральный процессор не представляет собой ничего выдающегося – небольшая плата (где-то 7 х 7 см.) с множеством контактов с одной стороны и плоской металлической коробочкой с другой. Но на самом деле внутри этой коробочки хранится сложнейшая микроструктура из миллионов транзисторов.

Как изготавливают процессоры. Что такое техпроцесс

Основным материалом при производстве процессоров является самый обычный песок, а точнее сказать кремний, коего в составе земной коры около 30%. Из очищенного кремния сначала изготавливают большой монокристалл цилиндрической формы, который разрезают на «блины» толщиной около 1 мм. Затем с использованием технологии фотолитографии в них создаются полупроводниковые структуры будущих процессоров. Фотолитография чем-то напоминает процесс печати фотографий с пленки, когда свет, проходя через негатив, действует на поверхность фотобумаги и проецирует на ней изображение. При изготовлении процессоров своеобразной фотобумагой выступают упомянутые выше кремниевые «блины». Роль света играют ионы бора, разогнанные до огромной скорости высоковольтным ускорителем. Они пропускаются через специальные «трафареты» — системы высокоточных линз и зеркал, вкрапливаются в кремний и создают в нем микроскопическую структуру из множества транзисторов. Сегодняшние технологии позволяют создавать транзисторы размером всего 22 нанометра (толщина человеческого волоса — около 50000 нм). Со временем техпроцесс изготовления процессоров станет еще совершеннее. По прогнозам, их транзисторы уменьшатся как минимум до 14 нм. Чем тоньше
техпроцесс
– тем больше транзисторов можно поместить в один процессор, тем он будет производительнее и энергоэффективнее. Созданная таким образом полупроводниковая структура вырезается из кварцевого «блина» и помещается на текстолит. На обратную его сторону выводятся контакты для обеспечения подсоединения к материнской плате. Сверху кристал защищается от повреждения металлической крышкой (см. рис. выше).

Понятие архитектуры, ядра, ревизии процессора

Процессоры прошли сложную эволюцию и сейчас продолжают развиваться. Производители совершенствуют не только технологию изготовления, но и внутреннюю структуру процессоров. Каждое новое их поколение отличается от предыдущего строением, количеством и характеристиками входящих в их состав элементов. Процессоры, в которых используются те же базовые принципы строения, называют процессорами одной архитектуры, а эти принципы —
архитектурой
(микроархитектурой) процессора. В пределах одной архитектуры процессоры могут существенно отличаться — частотами системной шины, техпроцессом изготовления, размером и структурой внутренней памяти и некоторыми другими особенностями. О таких процессорах говорят, что они имеют разные ядра. В рамках доработки одного ядра производители могут делать небольшие изменения с целью устранения мелких недочетов. Такие усовершенствования, которые «не тянут» на звание самостоятельных ядер, называют ревизиями. Архитектурам и ядрам присваиваются определенные имена, а их ревизиям – цифробуквенные обозначения. Например, все модели Intel Core 2 Duo являются процессорами микроархитектуры Intel Core и производились с ядрами Allendale, Conroe, Merom, Kentsfield, Wolfdale, Yorkfield. У каждого из этих ядер были еще и разные ревизии.

Основные характеристики процессора

Количество вычислительных ядер. Многоядерные процессоры – это процессоры, содержащие на одном процессорном кристалле или в одном корпусе два и более вычислительных ядра. Многоядерность, как способ повышения производительности процессоров, используется с относительно недавнего времени, но признана самым перспективным направлением их развития. Для домашних компьютеров уже существуют процессоры с 8 ядрами. Для серверов на рынке есть 12-ядерные предложения (Opteron 6100). Разработаны прототипы процессоров, содержащие около 100 ядер. Эффективность вычислительных ядер разных моделей процессоров отличается. Но в любом случае, чем их (ядер) больше, тем процессор производительнее. • Количество потоков. Чем больше потоков – тем лучше. Количество потоков не всегда совпадает с количеством ядер процессора. Так, благодаря технологии Hyper-Threading, 4-ядерный процессор Intel Core i7-3820 работает в 8 потоков и во многом опережает 6-тиядерных конкурентов. • Размер кеша 2 и 3 уровней. Кеш — это очень быстрая внутренняя память процессора, которая используется им как буфер для временного хранения информации, обрабатываемой в конкретный момент времени. Чем кеш больше – тем лучше. Структура не всех современных процессоров предусматривает наличие кеша 3 уровня, хотя критичным моментом это не является. Так, по результатам многих тестов производительность процессоров Intel Core 2 Quadro, выпускавшихся с 2007 г. по 2011 г. и не имеющих кеша 3 уровня, даже сейчас выглядит достойно. Правда, кеш 2 уровня у них достаточно большой. • Частота процессора. Здесь все просто – чем выше частота процессора, тем он производительнее. • Скорость шины процессора (FSB, HyperTransport или QPI). Через эту шину центральный процессор взаимодействует с материнской платой. Ее скорость (частота) измеряется в мегагерцах и чем она выше — тем лучше. • Техпроцесс. Понятие техпроцесса рассматривалось в предыдущем пункте этой статьи. Чем тоньше используемый техпроцесс, тем больше процессор содержит транзисторов, меньше потребляет электроэнергии и меньше греется. От техпроцесса во многом зависит еще одна важная характеристика процессора — TDP. • TDP. Termal Design Point — показатель, отображающий энергопотребление процессора, а также количество тепла, выделяемого им в процессе работы. Единицы измерения — Ватты (Вт). TDP зависит от многих факторов, среди которых главными являются количество ядер, техпроцесс изготовления и частота работы процессора. Кроме прочих преимуществ, «холодные» процессоры (с TDP до 100 Вт) лучше поддаются разгону, когда пользователь изменяет некоторые настройки системы, вследствие чего увеличивается частота процессора. Разгон позволяет без дополнительных финансовых вложений увеличить производительность процессора на 15 – 25 %, но это уже отдельная тема. В то же время, проблему с высоким TDP всегда можно решить приобретением эффективной системы охлаждения (см. последний пункт этой статьи). • Наличие и производительность видеоядра. Последние технические достижения позволили производителям, помимо вычислительных ядер, включать в состав процессоров еще и ядра графические. Такие процессоры, кроме решения своих основных задач, могут выполнять роль видеокарты. Возможностей некоторых из них вполне достаточно для игры в компьютерные игры, не говоря уже о просмотре фильмов, работе с текстом и решении остальных задач. Если видеоигры — не главное предназначение компьютера, процессор со встроенным графическим ядром позволит сэкономить на приобретении отдельного графического адаптера. • Тип и максимальная скорость поддерживаемой оперативной памяти. Эти характеристики процессора необходимо учитывать при выборе оперативной памяти, с которой он будет использоваться. Нет смысла переплачивать за быстрые модули ОЗУ, если процессор не сможет реализовать все их преимущества.

Что такое сокет


Важным моментом, который нужно учитывать при выборе процессора, является то, для установки в сокет какого типа он предназначен. Сокет (socket, разъем центрального процессора) – это щелевой или гнездовой разъём на материнской плате, в который устанавливается процессор. Каждый процессор можно установить только на материнскую плату с подходящим разъемом, имеющим соответствующие размеры, необходимое количество и структуру контактных элементов. Каждый новый сокет разрабатывается производителями процессоров, когда возможности старых разъемов уже не могут обеспечить нормальную работу новых изделий. Для процессоров Intel длительное время использовался (и сейчас еще используется) сокет LGA775 (процессоры Pentium 4, Pentium D, Celeron D, Pentium EE, Core 2 Duo, Core 2 Extreme, Celeron, Xeon серии 3000, Core 2 Quad). С началом производства линейки новых процессоров были введены сокеты LGA1366, LGA1156, LGA1155 (процессоры i7, i5, i3) и др. Разъемы для процессоров от AMD за последние годы также изменились — AM2, AM2+, AM3 и т.д. О более ранних сокетах, думаю, смысла вспоминать нет, поскольку компьютеры на их основе – уже раритет. Если вы задумали модернизировать старый компьютер путем приобретения более производительного процессора, убедитесь, что по сокету он подойдет к вашей старой материнской плате. Иначе однозначно придется менять и ее. Устанавливать центральный процессор в сокет системной платы нужно аккуратно, чтобы не повредить контакты.

Система охлаждения процессора


Как выглядит куллер процессора Процессор нуждается в надлежащем охлаждении, иначе он может выйти из строя. Как известно, верхняя поверхность процессора представляет собой металлическую коробку, выполняющую, кроме защитных, еще и теплоотводные функции. Поверх процессора на материнской плате устанавливается система охлаждения. Ее теплоотводные элементы должны плотно прижиматься к поверхности процессора. Для улучшения передачи тепла с процессора на радиатор системы охлаждения, между ними прокладывается слой термопасты – специального пастообразного вещества с высокой теплопроводностью.При подборе системы охлаждения процессора нужно учитывать его TDP (рассматривалось выше в пункте о характеристиках процессора). Процессоры обычно продаются в так называемом боксовом варианте поставки, когда в комплект входит штатная система охлаждения – боксовый куллер. Но иногда эффективность такого куллера является недостаточной (например, если был произведен разгон и частота процессора, а следственно и его TDP, возросла). Нормальная температура работы процессора — до 50 градусов Цельсия (при пиковых нагрузках возможно чуть больше). Средства измерения температуры встроены в центральный процессор. При помощи специальных программ температуру можно отслеживать в режиме реального времени (например, программой SpeedFan). • CPU-Z: ⇒ Официальная страница загрузки ⇒ Скачать копию для Windows 32-bit (2,6 MB) ⇒ Скачать копию для Windows 64-bit (3 MB) Современный процессор устроен так, что при достижении им критичной температуры он отключается и не включается, пока не остынет. Это позволяет предупредить его повреждение под воздействием высокой температуры. Перегрев возможен вследствие низкой эффективности системы охлаждения, выхода ее из строя, засорения пылью, пересыхания термопасты и др.
3.1. Назначение и структура центрального процессора : Организация ЭВМ и систем

Центральный процессор — основное устройство ЭВМ, которое наряду с обработкой данных выполняет функции управления системой: иницииро­вание ввода-вывода, обработку системных событий, управление доступом к сновной памяти и т.п.

Организация центрального процессора (ЦП) определяется архитектурой и принципами работы ЭВМ (состав и форматы команд, представление чисел, способы адресации, общая организация машины и её основные элементы), а также технико-экономическими показателями.

Логическую структуру ЦП представляет ряд функциональных средств (рис. 3.1): средства обработки, средства управления системой и программой, локальная память, средства управления вводом-выводом и памятью, систем­ные средства.

Средства обработки обеспечивают выполнение операций с фиксирован­ной и плавающей точкой, операций с десятичными данными и полями пере­менной длины. Локальная память состоит из регистров общего назначения и с плавающей точкой, а также управляющих регистров. К средствам управле­ния памятью относятся средства управления доступом к ОП и предвыборкой команд, буферная память, средства защиты памяти. Средства управления вводом-выводом обеспечивают приоритетный доступ программ через кон­троллеры (каналы) к периферийному оборудованию. К системным средствам относятся средства службы времени: часы астрономического времени, тай­мер, коммутатор и т.д.

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


                Структурно все функциональные средства разбиваются на следующие устройства (рис. 3.2): центральное устройство управления (ЦУУ), арифмети­ко-логическое устройство (АЛУ), устройство управления памятью (УУП), сверхоперативное запоминающее устройство (СОЗУ), устройство предвыборки команд и данных (УП) и интерфейс магистрали (ИМ).

Центральное устройство управления включает дешифратор команд, блок управления и блок прерываний. Дешифратор команд дешифрирует команды, которые поступают из блока предварительной выборки (очереди команд). Блок управления (БУ) формирует последовательности управляющих сигна­лов, которые поступают на все блоки процессора, обеспечивающие выполне­ние очередной команды и переход к следующей. Блок прерываний проводит анализ запросов на прерывания, формирует сигнал прерывания работы про­цессора и код (вектор) запроса с наивысшим приоритетом.

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

Сверхоперативное ЗУ (регистровый файл) содержит регистры общего назначения (РОН), в которых хранятся данные и адреса.

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

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


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

В современных суперскалярных процессорах используется целый ряд параллельно функционирующих исполнительных устройств (от 2 до 6 уст­ройств). В их состав могут входить:

— несколько целочисленных устройств;

— устройство плавающей точки;

— устройство выполнения переходов;

— устройство загрузки/записи.

Устройство выполнения переходов обрабатывает команды условных пе­реходов. Если условия перехода доступны, то решение о направлений пере­хода принимается немедленно, в противном случае выполнение последую­щих команд продолжается по предположению (спекулятивно).

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

Центральный процессор — основное устройство ЭВМ, которое наряду с обработкой данных выполняет функции управления системой: иницииро­вание ввода-вывода, обработку системных событий, управление доступом к сновной памяти и т.п.

Организация центрального процессора (ЦП) определяется архитектурой и принципами работы ЭВМ (состав и форматы команд, представление чисел, способы адресации, общая организация машины и её основные элементы), а также технико-экономическими показателями.

Логическую структуру ЦП представляет ряд функциональных средств (рис. 3.1): средства обработки, средства управления системой и программой, локальная память, средства управления вводом-выводом и памятью, систем­ные средства.

Средства обработки обеспечивают выполнение операций с фиксирован­ной и плавающей точкой, операций с десятичными данными и полями пере­менной длины. Локальная память состоит из регистров общего назначения и с плавающей точкой, а также управляющих регистров. К средствам управле­ния памятью относятся средства управления доступом к ОП и предвыборкой команд, буферная память, средства защиты памяти. Средства управления вводом-выводом обеспечивают приоритетный доступ программ через кон­троллеры (каналы) к периферийному оборудованию. К системным средствам относятся средства службы времени: часы астрономического времени, тай­мер, коммутатор и т.д.

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


                Структурно все функциональные средства разбиваются на следующие устройства (рис. 3.2): центральное устройство управления (ЦУУ), арифмети­ко-логическое устройство (АЛУ), устройство управления памятью (УУП), сверхоперативное запоминающее устройство (СОЗУ), устройство предвыборки команд и данных (УП) и интерфейс магистрали (ИМ).

Центральное устройство управления включает дешифратор команд, блок управления и блок прерываний. Дешифратор команд дешифрирует команды, которые поступают из блока предварительной выборки (очереди команд). Блок управления (БУ) формирует последовательности управляющих сигна­лов, которые поступают на все блоки процессора, обеспечивающие выполне­ние очередной команды и переход к следующей. Блок прерываний проводит анализ запросов на прерывания, формирует сигнал прерывания работы про­цессора и код (вектор) запроса с наивысшим приоритетом.

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

Сверхоперативное ЗУ (регистровый файл) содержит регистры общего назначения (РОН), в которых хранятся данные и адреса.

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

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


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

В современных суперскалярных процессорах используется целый ряд параллельно функционирующих исполнительных устройств (от 2 до 6 уст­ройств). В их состав могут входить:

— несколько целочисленных устройств;

— устройство плавающей точки;

— устройство выполнения переходов;

— устройство загрузки/записи.

Устройство выполнения переходов обрабатывает команды условных пе­реходов. Если условия перехода доступны, то решение о направлений пере­хода принимается немедленно, в противном случае выполнение последую­щих команд продолжается по предположению (спекулятивно).

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

Центральный процессор и его устройство :: SYL.ru

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

Процессор: функции устройства и история появления

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

Центральный процессор

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

Микропроцессоры

По мере развития компьютерной техники в структуру ПК стали внедряться девайсы, получившие название «микропроцессор». Одним из первых устройств такого типа стало изделие Intel 4004, выпущенное американской корпорацией в 1971 году. Микропроцессоры в масштабе одной микросхемы объединили в своей структуре те функции, что мы определили выше. Современные девайсы, в принципе, работают на основе той же самой концепции. Таким образом, центральный процессор ноутбука, ПК, планшета содержит в своей структуре: логическое устройство, регистры, а также модуль управления, отвечающие за конкретные функции. Однако на практике компоненты современных микросхем чаще всего представлены в более сложной совокупности. Изучим данную особенность подробнее.

Структура современных процессоров

Центральный процессор современного ПК, ноутбука или планшета представлен ядром — теперь уже нормой считается, что их несколько, кэш-памятью на различных уровнях, а также контроллерами: ОЗУ, системной шины. Производительность микросхемы соответствующего типа определяется ее ключевыми характеристиками. В какой совокупности они могут быть представлены?

Температура центрального процессора

Наиболее значимые характеристики центрального процессора на современных ПК таковы: тип микроархитектуры (обычно указывается в нанометрах), тактовая частота (в гигагерцах), объем кэш-памяти на каждом уровне (в мегабайтах), энергопотребление (в ваттах), а также наличие или отсутствие графического модуля.

Изучим специфику работы некоторых ключевых модулей центрального процессора подробнее. Начнем с ядра.

Ядро процессора

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

— выборка и декодирование инструкций;

— выборка данных;

— выполнение инструкций;

— сохранение результатов вычислений;

— работа с прерываниями.

Характеристики центрального процессора

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

Ядро процессора: компоненты

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

В блоке декодирования обрабатываются инструкции, определяющие алгоритм работы микросхемы в ходе решения тех или иных задач. Обеспечение их функционирования — сложная задача, как считают многие IT-специалисты. Это обусловлено, в частности, тем, что длина инструкции не всегда четко определена. Современные процессоры обычно включают 2 или 4 блока, в которых осуществляется соответствующее декодирование.

Касательно компонентов, отвечающих за выборку данных — их основная задача заключается в обеспечении приема команд из кэш-памяти либо ОЗУ, которые необходимы для обеспечения выполнения инструкций. В ядрах современных процессоров обычно присутствует несколько блоков соответствующего типа.

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

Загрузка центрального процессора

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

Есть в составе ядер процессоров блоки, которые контролируют обработку расширения наборов, что установлены для инструкций. Данные алгоритмы, дополняющие основные команды, используются для повышения интенсивности обработки данных, осуществления процедур шифрования или дешифрования файлов. Решение подобных задач требует введения в структуру ядра микросхемы дополнительных регистров, а также наборов инструкций. Современные процессоры включают обычно следующие расширения: MMX (предназначены для кодирования аудио- и видеофайлов), SSE (применяются при распараллеливании вычислений), ATA (задействуется с целью ускорения работы программ и снижения уровня энергопотребления ПК), 3DNow (расширение мультимедийных возможностей компьютера), AES (шифрование данных), а также многие другие стандарты.

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

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

Работа центрального процессора также связана с задействованием регистров. Данные компоненты являются аналогом ОЗУ, однако доступ к ним осуществляется в несколько раз быстрее. Объем соответствующего ресурса небольшой — как правило, он не превышает килобайта. Регистры классифицируются на несколько разновидностей. Это могут быть компоненты общего назначения, которые задействуются при выполнении арифметических или логических вычислений. Есть регистры специального назначения, которые могут включать системные данные, используемые процессором в ходе работы.

Частота центрального процессора

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

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

Развитие компьютерной техники принято связывать с появлением по мере совершенствования вычислительных технологий новых поколений ЭВМ. При этом, не считая показателей производительности, одним из критериев отнесения компьютера к тому или иному поколению может считаться его абсолютный размер. Самые первые ЭВМ были сопоставимы по величине с многоэтажным домом. Компьютеры второго поколения были сопоставимы по величине, к примеру, с диваном или пианино. ЭВМ следующего уровня уже были вплотную приближены к тем, что привычны для нас сейчас. В свою очередь, современные ПК — это компьютеры четвертого поколения.

Плата центрального процессора

Собственно, к чему все это? Дело в том, что в ходе эволюции ЭВМ сформировалось неофициальное правило: чем более технологично устройство, тем меньшими габаритами при той же производительности, а то и при большей — оно обладает. Оно в полной мере действует и в отношении рассматриваемой характеристики центрального процессора, а именно, техпроцесса его изготовления. В данном случае имеет значение расстояние между единичными кремниевыми кристаллами, формирующими структуру микросхемы. Чем оно меньше — тем больше плотность соответствующих элементов, которые размещает на себе плата центрального процессора. Тем более производительным он, соответственно, может считаться. Современные процессоры выполняются по техпроцессу 90-14 нм. Данный показатель имеет тенденцию к постепенному уменьшению.

Тактовая частота

Тактовая частота центрального процессора — один из ключевых показателей его производительности. Она определяет то, сколько операций в секунду может совершать микросхема. Чем их больше — тем более производителен процессор и компьютер в целом. Можно отметить, что данный параметр характеризует, прежде всего, ядро как самостоятельный модуль центрального процессора. То есть, если соответствующих компонентов на микросхеме несколько, то каждое из них будет работать с отдельной частотой. Некоторые IT-специалисты считают допустимым суммировать данные характеристики по всем ядрам. Что это значит? Если, например, на процессоре установлено 4 ядра с частотой 1 ГГц, то суммарный показатель производительности ПК, если следовать этой методологии, будет составлять 4 ГГц.

Компоненты частоты

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

Работа центрального процессора

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

Объем кэш-памяти

Современные процессоры оснащены модулями кэш-памяти. Основное их предназначение — временное размещение данных, как правило, представленных совокупностью особых команд и алгоритмов — тех, что задействуются в работе микросхемы наиболее часто. Что это дает на практике? Прежде всего то, что загрузка центрального процессора может быть уменьшена за счет того, что те самые команды и алгоритмы будут находиться в оперативном доступе. Микросхема, получив из кэш-памяти готовые инструкции, не тратит время на их выработку с нуля. В итоге работа компьютера идет быстрее.

Главная характеристика кэш-памяти — объем. Чем он больше, тем, соответственно, вместительнее данный модуль с точки зрения расположения тех самых инструкций и алгоритмов, задействуемых процессором. Тем больше вероятность, что микросхема будет всякий раз находить среди них нужные для себя и работать быстрее. Кэш-память на современных процессорах делится чаще всего на три уровня. Первый работает на базе наиболее быстрых и высокотехнологичных микросхем, остальные — медленнее. Объем кэш-памяти первого уровня на современных процессорах составляет порядка 128-256 КБ, второго — 1-8 МБ, третьего — может превышать 20 МБ.

Энергопотребление

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

3. Функциональная и структурная организация центрального процессора эвм

В области вычислительной техники различают процессоры центральные, специализированные, ввода-вывода, передачи данных и коммуникационные.

3.1. Назначение и структура центрального процессора

Центральный процессор— основное устройство ЭВМ, которое наряду с обработкой данных выполняет функции управления системой: инициирование ввода-вывода, обработку системных событий, управление доступом к основной памяти и т.п.

Организация центрального процессора (ЦП) определяется архитектурой и принципами работы ЭВМ (состав и форматы команд, представление чисел, способы адресации, общая организация машины и её основные элементы), а также технико-экономическими показателями.

Логическую структуру ЦП представляет ряд функциональных средств (рис. 3.1): средства обработки, средства управления системой и программой, локальная память, средства управления вводом-выводом и памятью, системные средства.

Средства обработки обеспечивают выполнение операций с фиксированной и плавающей точкой, операций с десятичными данными и полями переменной длины. Локальная память состоит из регистров общего назначения и с плавающей точкой, а также управляющих регистров. К средствам управления памятью относятся средства управления доступом к ОП и предвыборкой команд, буферная память, средства защиты памяти. Средства управления вводом-выводом обеспечивают приоритетный доступ программ через контроллеры (каналы) к периферийному оборудованию. К системным средствам относятся средства службы времени: часы астрономического времени, таймер, коммутатор и т.д.

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

Структурно все функциональные средства разбиваются на следующие устройства (рис. 3.2): центральное устройство управления (ЦУУ), арифметико-логическое устройство (АЛУ), устройство управления памятью (УУП), сверхоперативное запоминающее устройство (СОЗУ), устройство предвыборки команд и данных (УП) и интерфейс магистрали (ИМ).

Центральное устройство управления включает дешифратор команд, блок управления и блок прерываний. Дешифратор команд дешифрирует команды, которые поступают из блока предварительной выборки (очереди команд). Блок управления (БУ) формирует последовательности управляющих сигналов, которые поступают на все блоки процессора, обеспечивающие выполнение очередной команды и переход к следующей. Блок прерываний проводит анализ запросов на прерывания, формирует сигнал прерывания работы процессора и код (вектор) запроса с наивысшим приоритетом.

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

Сверхоперативное ЗУ (регистровый файл) содержит регистры общего назначения (РОН), в которых хранятся данные и адреса.

Устройство управления памятью (диспетчер памяти) предназначено для сопряжения центрального процессора и подсистемы ввода-вывода с оперативной памятью. Оно состоит из блока сегментации и блока страничной адресации, осуществляющих двухступенчатое формирование физического адреса ячейки памяти: сначала в пределах сегмента, а затем в пределах страницы. Наличие блоков сегментации и страничной адресации, их одновременное функционирование обеспечивают максимальную гибкость проектируемой системы. Сегментация полезна для организации в памяти локальных модулей и является инструментом программиста, в то время как страницы нужны системному программисту для эффективного использования физической памяти системы.

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

Интерфейс магистрали реализует протоколы обмена центрального процессора с памятью, контроллерами (каналами) ввода-вывода, другими активными устройствами системы. Обмен осуществляется с помощью шин данных, адреса и управления. Состав линий управления, тактовая сетка, магистральные циклы обмена существенно отличаются у различных типов процессоров.

В современных суперскалярных процессорах используется целый ряд параллельно функционирующих исполнительных устройств (от 2 до 6 устройств). В их состав могут входить:

  • несколько целочисленных устройств;

  • устройство плавающей точки;

  • устройство выполнения переходов;

  • устройство загрузки/записи.

Устройство выполнения переходов обрабатывает команды условных переходов. Если условия перехода доступны, то решение о направлении перехода принимается немедленно, в противном случае выполнение последующих команд продолжается по предположению (спекулятивно).

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

Как разрабатываются и производятся процессоры: проектирование ЦП / Хабр
Теперь, когда мы знаем, как работают процессоры на высоком уровне, настало время углубиться в разбор процесса проектирования их внутренних компонентов. Это вторая статья из серии, посвящённой разработке процессоров. Рекомендую изучить для начала первую часть, чтобы вы понимать изложенные ниже концепции.

Часть 1: Основы архитектуры компьютеров (архитектуры наборов команд, кэширование, конвейеры, hyperthreading)
Часть 2: Процесс проектирования ЦП (электрические схемы, транзисторы, логические элементы, синхронизация)
Часть 3: Компонование и физическое производство чипа (VLSI и изготовление кремния)
Часть 4: Современные тенденции и важные будущие направления в архитектуре компьютеров (море ускорителей, трёхмерное интегрирование, FPGA, Near Memory Computing)

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

Существует два основных типа транзисторов, используемых в современных процессорах: pMOS (PМОП) и nMOS (NМОП). nMOS-транзистор пропускает ток, когда затвор (gate) заряжен или имеет высокое напряжение, а pMOS-транзистор пропускает ток, когда затвор разряжен или имеет низкое напряжение. Сочетая эти типы транзисторов комплементарным образом, мы можем создавать логические элементы КМОП (CMOS). В этой статье мы не будем подробно разбирать особенности работы транзисторов, но коснёмся этого в третьей части серии.

Логический элемент — это простое устройство, получающее входные сигналы, выполняющее какую-то операцию, и выводящее результат. Например, элемент И (AND) включает свой выходной сигнал тогда и только тогда, когда включены все входы затвора. Инвертор, или элемент НЕ (NOT) включает свой выход, если вход отключён. Можно скомбинировать эти два затвора и получить элемент И-НЕ (NAND), который включает выход, тогда и только тогда, когда не включён ни один из входов. Существуют другие элементы со своей логической функциональностью, например ИЛИ (OR), ИЛИ-НЕ (NOR), исключающее ИЛИ (XOR) и исключающее ИЛИ с инверсией (XNOR).

Ниже показано, как из транзисторов собраны два простых элемента: инвертор и NAND. В инверторе pMOS-транзистор (сверху) соединён с питанием, а nMOS-транзистор (снизу) соединён с заземлением. На обозначении pMOS-транзисторов есть небольшой кружок, соединённый с затвором. Мы сказали, что pMOS-устройства пропускают ток, когда вход отключен, а nMOS-устройства пропускают ток, когда вход включен, поэтому легко заметить, что сигнал на выходе (Out) будет всегда противоположным сигналу на входе (In). Взглянув на элемент NAND, мы видим, что для него требуется четыре транзистора, и что выход всегда будет отключен, если выключен хотя бы один из входов. Соединение подобным образом транзисторов для образования простых сетей — это тот же процесс, который используется для проектирования более сложных логических элементов и других схем внутри процессоров.


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

В качестве небольшого примера давайте возьмём простой сумматор — 1-битный полный сумматор. Он получает три входных сигнала — A, B, и Carry-In (входной сигнал переноса), и создаёт два выходных сигнала — Sum (сумма) и Carry-Out (выходной сигнал переноса). В простейшей схеме используется пять логических элементов, и их можно соединить вместе для создания сумматора любого размера. В современных схемах этот процесс усовершенствован оптимизацией части логики и сигналов переноса, но фундаментальные основы остаются теми же.

Выход Sum равен или A, или B, но никогда обоим, или есть входящий сигнал переноса, и тогда A и B или оба включены, или оба выключены. Выходной сигнал переноса немного сложнее. Он активен, когда или A и B включены одновременно, или есть Carry-in и один из A или B включен. Чтобы соединить несколько 1-битных сумматоров для создания более широкого сумматора, нам просто нужно соединить Carry-out предыдущего бита с Carry-in текущего бита. Чем сложнее становятся схемы, тем запутанней получается логика, но это самый простой способ сложения двух чисел. В современных процессорах используются более изощрённые сумматоры, но их схемы слишком сложны для подобного обзора. Кроме сумматоров процессоры также содержат устройства для деления, умножения и версий всех этих операций с плавающей точкой.


Подобное объединение последовательностей элементов для выполнения некой функции над входными сигналами называется комбинаторной логикой. Однако это не единственный тип логики, используемый в компьютерах. Не будет особой пользы, если мы не сможем хранить данные или отслеживать состояние. Для того, чтобы иметь возможность сохранять данные, нам нужна секвенциальная логика.

Секвенциальная логика строится аккуратным соединением инверторов и других логических элементов так, чтобы их выходы передавали сигналы обратной связи на вход элементов. Такие контуры обратной связи используются для хранения одного бита данных и называются статическим ОЗУ (Static RAM), или SRAM. Эта память называется статическим ОЗУ в противовес динамической (DRAM), потому что сохраняемые данные всегда напрямую соединены с положительным напряжением или заземлением.

Стандартный способ реализации одного бита SRAM — это показанная ниже схема из 6 транзисторов. Самый верхний сигнал, помеченный как WL (Word Line) — это адрес, и когда он включен, то данные, хранящиеся в этой 1-битной ячейке передаются в Bit Line, помеченную как BL. Выход BLB называется Bit Line Bar; это просто инвертированное значение Bit Line. Вы должны узнать два типа транзисторов и понять, что M3 с M1, как и M4 с M2, образуют инвертор.


SRAM используется для построения сверхбыстрых кэшей и регистров внутри процессоров. Эта память очень стабильна, но для хранения каждого бита данных требует от шести до восьми транзисторов. Поэтому по сравнению с DRAM она чрезвычайно затратна с точки зрения стоимости, сложности и площади на чипе. С другой стороны, Dynamic RAM хранит данные в крошечном конденсаторе, а не использует логические элементы. Она называется динамической, потому что напряжение на конденсаторе может значительно изменяться, так как он не подключён к питанию или заземлению. Есть только один транзистор, используемый для доступа к хранящимся в конденсаторе данным.

Поскольку DRAM требует всего по одному транзистору на бит и очень масштабируема, её можно плотно и дёшево упаковывать. Недостаток DRAM заключается в том, что заряд конденсатора так мал, что его необходимо постоянно обновлять. Именно поэтому после отключения питания компьютера все конденсаторы разряжаются и данные в ОЗУ теряются.


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

Теперь, когда мы знаем, как производятся некоторые компоненты процессора, нам нужно разобраться, как соединить всё вместе и синхронизировать. Все ключевые компоненты процессора подключены к синхронизирующему (тактовому) сигналу (clock signal). Он попеременно имеет высокое и низкое напряжение, меняя его с заданным интервалом, называемым частотой (frequency). Логика внутри процессора обычно переключает значения и выполняет вычисления, когда синхронизирующий сигнал меняет напряжение с низкого на высокое. Синхронизируя все части, мы можем гарантировать, что данные всегда поступают в правильное время, чтобы в процессоре не возникали «глюки».

Вы могли слышать, что для повышения производительности процессора можно увеличить частоту тактовых сигналов. Это повышение производительности происходит благодаря тому, что переключение транзисторов и логики внутри процессора начинает происходить чаще, чем предусмотрено. Поскольку в секунду происходит больше циклов, то можно выполнить больше работы и процессор будет иметь повышенную производительность. Однако это справедливо до определённого предела. Современные процессоры обычно работают с частотой от 3,0 ГГц до 4,5 ГГц, и эта величина почти не изменилась за последние десять лет. Точно так же, как металлическая цепь не прочнее её самого слабого звена, процессор может работать не быстрее его самой медленной части. К концу каждого тактового цикла каждый элемент процессора должен завершить свою работу. Если какие-то части ещё её не завершили, то тактовый сигнал слишком быстрый и процессор не будет работать. Проектировщики называют эту самую медленную часть критическим путём (Critical Path) и именно он определяет максимальную частоту, с которой может работать процессор. Выше определённой частоты транзисторы просто не успевают достаточно быстро переключаться и начинают глючить или выдавать неверные выходные значения.

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

Подача питания — это настолько важная часть процессора, что в некоторых случаях до половины физических контактов на чипе может использоваться только для питания или заземления. Некоторые чипы при полной нагрузке могут потреблять больше 150 амперов, и со всем этим током нужно управляться чрезвычайно аккуратно. Для сравнения: центральный процессор генерирует больше тепла на единицу площади, чем ядерный реактор.

Тактовый сигнал в современных процессорах отнимает примерно 30-40% от его общей мощности, потому что он очень сложен и должен управлять множеством различных устройств. Для сохранения энергии большинство процессоров с низким потреблением отключает части чипа, когда они не используются. Это можно реализовать отключением тактового сигнала (этот способ называется Clock Gating) или отключением питания (Power Gating).

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


Может показаться, что проектирование каждого отдельного транзистора, тактового сигнала и контакта питания в чипе — чрезвычайно монотонная и сложная задача, и это в самом деле так. Даже несмотря на то, что в таких компаниях, как Intel, Qualcomm и AMD, работают тысячи инженеров, они не смогли бы вручную спроектировать каждый аспект чипа. Для проектирования чипов такого масштаба они используют множество сложных инструментов, автоматически генерирующих конструкции и электрические схемы. Такие инструменты обычно получают высокоуровневое описание того, что должен делать компонент, и определяют наилучшую аппаратную конфигурацию, удовлетворяющую этим требованиям. Недавно возникло направление развития под названием High Level Synthesis, которое позволяет разработчикам указывать необходимую функциональность в коде, после чего компьютеры определяют, как оптимальнее достичь её в оборудовании.

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

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

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

БОльшая часть работ по проектированию автоматизирована, но изложенное выше позволяет нам осознать, насколько сложен только что купленный нами новый ЦП.

Во второй части серии я рассказал о процессе проектирования ЦП. Мы обсудили транзисторы, логические элементы, подачу питания и синхронизирующих сигналов, синтез конструкции и верификацию. В третьей части мы узнаем, что требуется для физического производства чипа. Все компании любят хвастаться тем, насколько современен их процесс изготовления (Intel — 10-нанометровый, Apple и AMD — 7-нанометровый, и т.д.), но что же на самом деле означают эти числа? Об этом мы расскажем в следующей части.

Рекомендуемое чтение

Принцип работы микропроцессора

Что такое микропроцессоры, сегодня знает каждый.

Это одно из самых интересных технологических новшеств в электронике после появления транзистора в 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. Группа передачи данных. Данные команды помогают перемещать информацию между регистрами внутри микропроцессора, между памятью и регистром или ячейками памяти.
  2. Арифметическая группа позволяет складывать, вычитать, увеличивать или уменьшать данные в памяти или регистрах (например, сложить содержимое двух регистров ЦПУ).
  3. Логическая группа используется для операций И, ИЛИ, ИСКЛЮЧАЮЩЕГО ИЛИ, сравнения, циклического сдвига, дополнения данных в памяти или регистрах (например, чтобы пропустить через схему ИЛИ содержимое двух регистров микропроцессора).
  4. Группа ветвления включает безусловные и условные переходы, вызов подпрограмм и возвращение из них. Условные инструкции служат для того, чтобы определенная операция выполнялась только в случае выполнения определенного условия (например, если требуется перейти к конкретной команде, когда результат последнего вычисления был равен нулю). Они обеспечивают возможность программе самой принимать решения.
  5. Группа стека, ввода-вывода и управления микропроцессором производит передачу данных между ЦПУ и периферией, манипулирует стеком и изменяет внутренние флаги управления. Эти команды позволяют программисту остановить устройство, перевести его в нерабочее состояние, включить и отключить систему прерываний и т. д.

Инструкции, которые хранятся вместе с данными в памяти, могут иметь длину в 1 или несколько байт. Длинные команды хранятся в последовательных ячейках памяти, причем адрес первого байта всегда используется как адрес всей команды. Кроме того, первый байт всегда является кодом операции.

 

Память микропроцессора

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

Выше мы писали о шинах (адресной и данных), а также о каналах чтения (RD) и записи (WR). Эти шины и каналы соединены с памятью: оперативной (ОЗУ, RAM) и постоянным запоминающим устройством (ПЗУ, ROM). В нашем примере рассматривается микропроцессор, ширина каждой из шин которого составляет 8 бит. Это значит, что он способен выполнять адресацию 256 байт (два в восьмой степени). В один момент времени он может считывать из памяти или записывать в нее 8 бит данных. Предположим, что этот простой микропроцессор располагает 128 байтами ПЗУ (начиная с адреса 0) или 128 байтами оперативной памяти (начиная с адреса 128).

Модуль постоянной памяти содержит определенный предварительно установленный постоянный набор байт. Адресная шина запрашивает у ПЗУ определенный байт, который следует передать шине данных. Когда канал чтения (RD) меняет свое состояние, модуль ПЗУ предоставляет запрошенный байт шине данных. То есть в данном случае возможно только чтение данных.

Из оперативной памяти процессор может не только считывать информацию, он способен также записывать в нее данные. В зависимости от того, чтение или запись осуществляется, сигнал поступает либо через канал чтения (RD), либо через канал записи (WR). К сожалению, оперативная память энергозависима. При отключении питания она теряет все размещенные в ней данные. По этой причине компьютеру необходимо энергонезависимое постоянное запоминающее устройство.

Более того, теоретически компьютер может обойтись и вовсе без оперативной памяти. Многие микроконтроллеры позволяют размещать необходимые байты данных непосредственно в чип процессора. Но без ПЗУ обойтись невозможно. В персональных компьютерах ПЗУ называется базовой системой ввода и вывода (БСВВ, BIOS, Basic Input/Output System). Свою работу при запуске микропроцессор начинает с выполнения команд, найденных им в BIOS.

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

Инструкции микропроцессора

Даже простейший микропроцессор способен обрабатывать достаточно большой набор инструкций. Набор инструкций является своего рода шаблоном. Каждая из этих загружаемых в регистр команд инструкций имеет свое значение. Людям непросто запомнить последовательность битов, поэтому каждая инструкция описывается в виде короткого слова, каждое из которых отражает определенную команду. Эти слова составляют язык ассемблера процессора. Ассемблер переводит эти слова на понятный процессору язык двоичных кодов.

Приведем список слов-команд языка ассемблера для условного простого процессора, который мы рассматриваем в качестве примера к нашему повествованию:

  • LOADA mem — Загрузить (load) регистр A из некоторого адреса памяти
  • LOADB mem — Загрузить (load) регистр B из некоторого адреса памяти
  • CONB con — Загрузить постоянное значение (constant value) в регистр B
  • SAVEB mem — Сохранить (save) значение регистра B в памяти по определенному адресу
  • SAVEC mem — Сохранить (save) значение регистра C в памяти по определенному адресу
  • ADD — Сложить (add) значения регистров A и B. Результат действия сохранить в регистре C
  • SUB — Вычесть (subtract) значение регистра B из значения регистра A. Результат действия сохранить в регистре C
  • MUL — Перемножить (multiply) значения регистров A и B. Результат действия сохранить в регистре C
  • DIV — Разделить (divide) значение регистра A на значение регистра B. Результат действия сохранить в регистре C
  • COM — Сравнить (compare) значения регистров A и B. Результат передать в тестовый регистр
  • JUMP addr — Перепрыгнуть (jump) к указанному адресу
  • JEQ addr — Если выполняется условие равенства значений двух регистров, перепрыгнуть (jump) к указанному адресу
  • JNEQ addr — Если условие равенства значений двух регистров не выполняется, перепрыгнуть (jump) к указанному адресу
  • JG addr — Если значение больше, перепрыгнуть (jump) к указанному адресу
  • JGE addr — Если значение больше или равно, перепрыгнуть (jump) к указанному адресу
  • JL addr — Если значение меньше, перепрыгнуть (jump) к указанному адресу
  • JLE addr — Если значение меньше или равно, перепрыгнуть (jump) к указанному адресу
  • STOP — Остановить (stop) выполнение

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

Работа микропроцессора на примере вычисления факториала

Рассмотрим работу микропроцессора на конкретном примере выполнения им простой программы, которая вычисляет факториал от числа «5». Сначала решим эту задачку «в тетради»:

факториал от 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120

На языке программирования C этот фрагмент кода, выполняющего данное вычисление, будет выглядеть следующим образом:

a=1;f=1;while (a < = 5){ f = f * a; a = a + 1;}

Когда эта программа завершит свою работу, переменная f будет содержать значение факториала от пяти.

Компилятор C транслирует (то есть переводит) этот код в набор инструкций языка ассемблера. В рассматриваемом нами процессоре оперативная память начинается с адреса 128, а постоянная память (которая содержит язык ассемблера) начинается с адреса 0. Следовательно, на языке данного процессора эта программа будет выглядеть так:

// Предположим, что a по адресу 128// Предположим, что F по адресу 1290 CONB 1 // a=1;1 SAVEB 1282 CONB 1 // f=1;3 SAVEB 1294 LOADA 128 // if 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

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

  • LOADA — 1
  • LOADB — 2
  • CONB — 3
  • SAVEB — 4
  • SAVEC mem — 5
  • ADD — 6
  • SUB — 7
  • MUL — 8
  • DIV — 9
  • COM — 10
  • JUMP addr — 11
  • JEQ addr — 12
  • JNEQ addr — 13
  • JG addr — 14
  • JGE addr — 15
  • JL addr — 16
  • JLE addr — 17
  • STOP — 18

Будем считать эти порядковые номера кодами машинных команд (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 байта.

Декодирование

Понравилась статья? Расскажите друзьям: Оцените статью, для нас это очень важно:

Проголосовавших: 1 чел.
Средний рейтинг: 5 из 5.

Организация памяти | Учебник по компьютерной архитектуре

Блок памяти — это совокупность блоков памяти или устройств вместе. Блок памяти хранит двоичную информацию в виде битов. Как правило, память / хранение классифицируется на 2 категории:

  • Volatile Memory : Это теряет свои данные, когда питание отключено.
  • Энергонезависимая память : Это постоянное хранилище, которое не теряет никаких данных при отключении питания.

Иерархия Памяти

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

Вспомогательная память время доступа, как правило, в раз в 1000 раз больше, чем у основной памяти, следовательно, оно находится в нижней части иерархии.

Основная память занимает центральное положение, поскольку она оборудована для связи напрямую с ЦП и со вспомогательными запоминающими устройствами через процессор ввода-вывода (I / O).

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

Кэш-память используется для хранения данных программы, которые в данный момент выполняются в ЦПУ. Приблизительное соотношение времени доступа между кэш-памятью и основной памятью составляет около 1–7 ~ 10


Методы доступа к памяти

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

  1. Произвольный доступ : Основными запоминающими устройствами являются запоминающие устройства с произвольным доступом, в которых каждая ячейка памяти имеет уникальный адрес. Используя этот уникальный адрес, любая ячейка памяти может быть достигнута за одно и то же время в любом порядке.
  2. последовательный доступ : этот метод обеспечивает доступ к памяти в последовательности или в порядке.
  3. Прямой доступ : в этом режиме информация хранится в дорожках, причем каждая дорожка имеет отдельную головку для чтения / записи.

Основная память

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

  • RAM: оперативная память
    • DRAM : динамическое ОЗУ, состоит из конденсаторов и транзисторов и должно обновляться каждые 10 ~ 100 мс. Это медленнее и дешевле, чем SRAM.
    • SRAM : статическая RAM, имеет шесть транзисторов ci
.

Глава 7 — Процессор и память

это глава охватывает следующие основные темы:

o Компоненты процессора

o Концепция регистров

o Блок памяти и его операции

o Цикл инструкций выборки-выполнения

o Формат инструкции

o Классификация инструкций


Введение

это глава и следующие несколько глав расширяет модель компьютерного человечка обсудить реальную аппаратную архитектуру компьютера

это Глава посвящена, в частности, центральному процессору (ЦП) . и память

процессоры различается по своим возможностям, сложности и даже приложениям

Модель процессора, описанная в этой главе, не основана на какой-либо конкретной модели

объем памяти отделен как физически, так и функционально от процессора

Процессор и память очень тесно связаны

o каждый инструкция, которую выполняет процессор, требует как минимум одну, а возможно и больше, память доступ


Компоненты ЦП

фигура 7.1 страница 166 показывает упрощенную системную блок-схему типичного структуры ЦП и памяти общего назначения

Упрощенная внутренняя структура типичного процессора может рассматриваться как состоящая из 3 Основные компоненты

o Арифметико-логическое устройство (АЛУ)

ответственность для логических и арифметических расчетов

o Блок управления (БУ)

ответственность для управление и контроль выполнения команд

o Интерфейс ввода / вывода

ответственность для управления операциями ввода / вывода

Определяет интерфейс между процессором и различными устройствами ввода / вывода

фигура 7.2 на странице 167 показывает связь между моделью LMC и реальной компьютерная модель

это Диаграмма показывает, что 2 модели концептуально очень похожи

o Little Man соответствуют к функции CU в реальном компьютере

o Калькулятор соответствуют к функции ALU в реальном компьютере

o Почтовый ящик соответствует памяти функции в реальном компьютере

o Счетчик программ соответствует на ПК зарегистрировать функцию в реальном компьютере

o корзин ввода / вывода соответствуют к интерфейсу I / O в реальном компьютере

Концепция регистров

Регистр — это аппаратный компонент, который обеспечивает временное хранение данных. возможность внутри процессора

Регистры хранение требуется во время выполнения инструкции

Регистры обеспечивают очень ограниченные возможности хранения (типичный размер регистра: 16, 32, 64, 128 биты)

Следовательно, регистр обычно используется для хранения одного блока данных (например,грамм. адрес памяти, целое число)

регистр доступ очень быстрый (самое быстрое устройство хранения), так как он устанавливается в верхней части хранилища иерархия

Регистры Доступ к нему напрямую осуществляется блоком управления (т.е. не рассматривается как память местоположение)

Современный Процессоры обычно имеют несколько сотен регистров

Регистры называются их имена, где каждый имеет уникальное имя

Разные Процессоры обычно различаются по своим

o Количество регистров

o Размер каждого регистра

o Цель каждого регистра

o Соглашение об именах регистров

каждый У регистра есть определенная и предопределенная цель, такая как:

o Держать обработка данных

o Держать инструкция к исполнению

o Держать адрес памяти или ввода / вывода для доступа

o Держать данные о состоянии для отслеживания компьютера и выполнения статусов

o Держать числа в разных числовых форматах (целое число без знака, целое число со знаком, с плавающей точкой)

Ниже приведены типичные операции, которые могут выполняться над регистрами

.

o нагрузка это с данными из другого места (в основном из других регистров или памяти)

o Добавить или вычесть данные из другого места и сохранить результат в регистре

o сдвиг или повернуть содержимое влево или вправо на один или несколько битов

o Очистить зарегистрироваться, установив его содержимое на ноль

o инкремент или декремент содержания

o Немного инверсия

Регистры можно классифицировать на 3 основные категории:

o Аккумулятор общего назначения или или видимых пользователем регистров

Являются используется для хранения данных общего назначения (например,грамм. целое число)

Жестяная банка быть непосредственно связанным прикладными программами

o Привилегированные регистров

Жестяная банка Доступ только к операционной системе

Используемый в реализации служб операционной системы (например, управление памятью)

o Внутреннее использование процессора регистров

Жестяная банка доступ только к процессору

Используемый во время выполнения инструкции (например,грамм. удерживать выполняемую инструкцию)

Блок управления использует несколько регистров для внутреннего использования:

o Регистр счетчика программ (ПК) содержит адрес памяти инструкция к исполнению

o Регистр команд (IR) содержит действительную инструкцию исполнено

o Регистр адреса памяти (MAR) содержит адрес памяти, к которому осуществляется доступ

o Регистр данных памяти (MDR) содержит данные, которые были получены из памяти (в случае чтения) или для сохранения в памяти (в случае записи)

o Регистр состояния (SR) содержит 1-битные флаги для отслеживания особых условий во время выполнения инструкции (например,грамм. нести, переполнение, сбой питания, внутренний ошибка и т. д.)

Видеть Рисунок 7.3 на стр. 153 для регистров, доступных на компьютерах IBM zSeries


Блок памяти

объем памяти отвечает за временное хранение инструкций и данных во время программы исполнение

Данные и инструкции в памяти сразу доступны для CPU

объем памяти подключен к процессору через специальную системную шину

объем памяти состоит из линейных ячеек памяти

каждый ячейка способна хранить один блок данных

В В большинстве современных компьютеров размер ячейки составляет 1 байт (т.е.е. наименьшие адресуемые данные единица)

объем памяти ячейки обычно группируются для хранения большого блока данных (например, целое число)

на ячейку памяти ссылается ее адрес

каждый адрес — это уникальное целое число без знака, начиная с адреса 0

Все ячейки памяти идентичны по своему назначению (например, хранить данные общего назначения)

Операция памяти

Регистры MAR и MDR действуют как интерфейс между процессором и память

MAR

o Вмещает адрес в памяти, который будет открыт для доступа к данным

o Связано на адрес декодера, который разрешает адрес памяти, к которому осуществляется доступ

Адресный декодер

o истолковывать адрес, переданный из MAR для определения адреса, к которому необходимо получить доступ

o Активировать соответствующая адресная строка в памяти для доступа

MDR

o MDR регистр хранения данных при доступе к памяти

o хранить содержимое памяти, к которой в данный момент обращается MAR в случае чтения

o хранить данные для хранения в памяти при записи

o Размер слова, который можно извлечь или сохранить в памяти за одну операцию определяется размером MDR

Там 3 контрольные линии, которые контролируют доступ к памяти, см. рисунки 7.4 — 7,7 на страницах 154 — 157

o Адресная строка

Там 1 строка адреса для каждой ячейки памяти

адресная строка для конкретной ячейки поворачивается только при адресации данных внутри эта ячейка

o Строка чтения / записи

Определяет является ли доступ к памяти операцией чтения или записи

Оказалось на в случае чтения и на в случае записи

o Линия активации

Используемый управлять операцией доступа к памяти

Оказалось на , чтобы начать операцию доступа к памяти (т.е.е. читать или писать)

Видеть На рис. 7.6 на стр. 172 показано, как осуществляется доступ к памяти

Ниже приведены шаги, предпринятые для загрузки данных из определенной области памяти (чтение операция )

1. ЦПУ копирует адрес памяти для доступа в MAR

2. ЦПУ устанавливает переключатель чтения / записи на для указания операции чтения

3. ЦПУ устанавливает строку активации на для запуска передачи данных

4. Данные передача происходит при получении данных из указанной ячейки памяти и сохранить его в регистр MDR

5. Данные копируется из MDR в другой регистр в зависимости от типа прочитанных данных

Ниже приведены шаги, предпринятые для хранения данных в определенном месте памяти (запись операция )

1. ЦПУ копирует адрес памяти для доступа в MAR

2. ЦПУ копирует данные в MDR

3. ЦПУ устанавливает переключатель чтения / записи в положение , чтобы указать операцию записи

4. ЦПУ устанавливает строку активации для начала передачи данных

5. Данные происходит передача для хранения данных в указанной ячейке памяти

Только одна ячейка памяти адресована в любой момент времени для предотвращения конфликта

Объем памяти

Размер регистра MAR является основным определяющим фактором адресуемой физическая память

o объем памяти Емкость = 2 n , где n — размер MAR в битах

В Сегодняшний компьютер типичный MAR, по крайней мере, 32-битный, что позволяет 4 ГБ памяти адресация

Много современные процессоры поддерживают 64-разрядные, что позволяет 2 64 = 16 х 10 18 Байт памяти, адресованный

В На этих компьютерах фактический ограничивающий фактор для объема памяти будет

o физический место для установки большого количества микросхем памяти

o Время Требование для декодирования и доступа к такой огромной памяти

Реализация памяти

Наиболее популярные типы памяти, используемые компьютерами —

o магнитные память ядра

o статический RAM

o динамический RAM

o Читать Только память (ROM)

Магнитный сердечник Память

магнитные память ядра — это старая технология, поддерживающая энергонезависимой памяти (т.е.е. данные сохраняются после выключения питания)

магнитные оперативная память является дорогой и медленной и в основном была заменена на RAM

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

RAM

Наиболее текущие компьютеры используют статическую или динамическую оперативную память

Обе статическое и динамическое ОЗУ имеют энергозависимых и записываемых (т.е.е. данные потерял при отключении питания)

динамический Преимущества ОЗУ перед статической ОЗУ:

o Меньше Дорого

o требует меньше энергии

o Жестяная банка быть уменьшенным (то есть может быть сделан так, чтобы вместить больше памяти в один чип)

статический Преимущества оперативной памяти перед динамической оперативной памятью

o Имеет ли не нуждается в периодическом обновлении

o Быстрее время доступа (статическая память — это то, из чего состоит кэш-памяти, из которой )

динамический Оперативная память более популярна, чем статическая RAM

объем памяти в одном динамическом чипе оперативной памяти значительно увеличился в последние несколько лет (от менее 64 КБ до более 64 МБ)

ROM

опоры энергонезависимое хранилище

Читать только я.е. данные никогда не меняются)

В основном используется для хранения системных программ и данных, используемых при запуске компьютера (т.е. загрузка время)

Современный ПЗУ сделано таким образом, чтобы его можно было стереть и перепрограммировать на заводе

тем не мение внутри компьютера ПЗУ до сих пор только для чтения

EEPROM и флэш-ПЗУ

последний инновации памяти, поддерживающие энергонезависимую и записываемую память

типично медленнее, чем ROM


Цикл инструкций по выполнению выборки

цикл выборки-выполнения в реальном компьютере работает очень похоже на LMC

Цикл инструкций fetch-execute является двухфазным процессом

1. Фаза выборки Фикс инструкция из памяти для исполнения

2. Выполнить этап Выполнить инструкция

Фаза выборки является последовательной и выполняется одинаковые шаги для всех типов инструкция

Фаза выборки состоит из следующих этапов:

1. копия содержимое ПК в MAR — это результат передачи инструкции, расположенной по адресу указанный адрес в регистр MDR

2. копия содержание МДР в ИК

3. раскодировать инструкция

Этап выполнения варьируется между различными инструкциями

Шаги выполнения инструкции LOAD

  1. Копировать указанный адрес в инструкции к МАР
  2. Копировать содержимое MDR зарегистрироваться в регистре общего назначения
  3. Инкремент ПК зарегистрировать

специальная запись используется для описания этапов выборки и выполнения для выполнение инструкции

REGa → REGb перевод данные из одного регистра в другой

REG [адрес] → REGb перевод адресная часть регистра содержимого в другой регистр

REGa + REGb → REGc добавить содержимое двух регистров и сохранение результата в третий регистр

REGa + const → REGb добавить содержимое регистра в константу и сохранение результата в третьем регистре

Примеры

Инструкция LMC STORE получить-выполнить шаги

1. ПК → МАР

2. MDR → IR

3. ИК [адрес] → МАР

4. → MDR

5. ПК + 1 → ПК

LMC ADD инструкция извлечения-выполнения шагов

1. ПК → МАР

2. MDR → IR

3. ИК [адрес] → МАР

4. + MDR → A

5. ПК + 1 → ПК

Команда LMC BR извлекает-выполняет шаги

1. ПК → МАР

2. MDR → IR

3. ИК [адрес] → ПК


Автобусы

шина — это физический интерфейс для соединения различных компонентов внутри компьютерная система

это тема будет более подробно рассмотрена в главе 8


форматов инструкций

Формат набора команд в типичном реальном процессоре похож на тот, который поддерживается LMC

Формат командного слова делится на 2 части

o ОП код

o Адресные поля

Видеть Рисунок 714 на странице 184 для примера 32-битного формата инструкции

Поле адреса может относиться к адресам регистра, , адресам памяти, или константам. данные

Два типы адресов определены

o Адрес источника

o Адрес назначения

адреса источника и назначения также называются операндами

адрес может быть выражен

o Явно как поле адреса в командном слове

o Неявно как часть определения инструкции (т.е.е. поле адреса отсутствует необходимо)

На на некоторых компьютерах один или несколько адресов могут быть неявными

В современные компьютеры большинство адресных ссылок являются явными

инструкции с 1 адресным полем называются , унарная инструкция

инструкции с 2 адресными полями называются , двоичная инструкция ,

инструкции с 3 адресными полями называются троичной инструкции

адреса источника и получателя могут быть одинаковыми или разными

пример инструкции с тем же источником и назначением является дополнением зарегистрировать контент

Инструкция ADD в LMC использует регистр аккумулятора в качестве источника для одного из цифры и как место назначения для результата

Инструкция MOVE, очевидно, использует разные адреса источника и назначения


Инструкция Слово Требования и ограничения

Размер слова инструкции зависит от

o Конструкция процессора набора инструкций

o использование адресных полей

2 методы широко используются для разработки размера слова инструкции

o Фиксированная длина размер инструкции одинаков для всех инструкций в наборе инструкций

o Переменная длина Размер инструкции может варьироваться между инструкциями в наборе команд

В В системах IBM S / 390 большинство инструкций имеют длину 32 бита, но немногие — 16-битные или 48 бит длиной

x86 использует 8-битные и 16-битные инструкции, и некоторые инструкции Pentium могут быть целых 88 бит

фигура 7.15 на стр. 172 показаны мэйнфреймы IBM и форматы инструкций SPARC RISC

o Набор команд IBM определяет переменный размер слова (от 16 до 48 бит)

o SPARC RISC определяет фиксированный размер слова 32-битного

Преимущества конструкции с фиксированной длиной

просто разработать

упрощает операция выборки

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

настройка счетчика программ проста (т.е.е. увеличивается на размер командного слова — исправлено)

Инструкции Skip и Jump (включают в себя настройку счетчика программы) также простой

Преимущества конструкции переменной длины

эффективное использование памяти, поскольку каждая инструкция длится столько времени, сколько необходимо. Как правило, разработаны так, чтобы наиболее часто используемые инструкции имели самые короткие размер слова

использование различной длины в наборе команд используется для обеспечения гибкость

o возможность адресации большого адресного пространства

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

Много новые конструкции ЦП используют инструкции фиксированной длины исключительно из-за его простота


Классификация инструкций

Наиболее инструкции манипулировать данными

Очень немногие не оперируют такими данными, как

o поток инструкции по контролюграмм. прыгать)

o контроль и инструкции по администрированию (например, остановка)

o нет инструкция по эксплуатации (позволяет программам создавать задержки)

Наиболее современные компьютеры также предоставляет инструкции для операционной системы

Эти инструкции известны как привилегированных инструкций

компьютер производители обычно группируют инструкции по категориям

В пределах категория инструкции обычно имеет

o Аналогичный формат инструкции

o Служба поддержки аналогичные режимы адресации

фигура 7.16 на стр. 174 показывает набор команд для Motorola 68000 CPU

Процессор Motorola 68000 делит набор команд на 8 категорий:

1. Данные Инструкция по движению

2. целое число Арифметические инструкции

3. логический Логическая инструкция

4. сдвиг и поверните инструкцию

5. Немного Инструкция по манипулированию

6. Немного Полевые инструкции

7. двоичный Кодированная десятичная инструкция

8. программа Инструкция потока

9. привилегированный инструкция

10. исключение инструкция по эксплуатации

11. плавучий точечная арифметическая инструкция

Примечание: Привилегированный, обработка исключений и арифметические инструкции с плавающей запятой не указаны

Инструкции по перемещению данных

К категории перемещения данных обычно относятся инструкции к

o Шаг данные из памяти в общие регистры

o Шаг данные из общих регистров в память

o Шаг данные между общими регистрами

o В некоторые компьютеры перемещают данные непосредственно между ячейками памяти

вариации из этих инструкций используются для обработки различных размеров данных (например,грамм. Байт нагрузки, ЗАГРУЗИТЬ половину слова, ЗАГРУЗИТЬ слово и ЗАГРУЗИТЬ двойное слово)

Арифметические инструкции

каждый Набор команд процессора включает в себя инструкции для выполнения целочисленного сложения и арифметика вычитания

С участием исключение очень немногих специализированных ЦП, целочисленного умножения и Арифметика деления также поддерживаются

Много наборы инструкций обеспечивают целочисленную арифметику для разных размеров данных (например,грамм. байт, полуслово, слово, двойное слово)

Много наборы инструкций обеспечивают целочисленную арифметику в разных режимах адресации (то есть комбинации памяти и регистра)

Наиболее современные процессоры также предоставляют арифметические возможности с плавающей запятой

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

это возможность значительно повышает производительность программ, которые используют расширенные операции с плавающей запятой (например,грамм. CAD / CAM программы)

плавучий точечные инструкции обычно работают на отдельном наборе регистров с 64-битными или 128-битное слово размером

Современный наборы команд также включают инструкции для преобразования между целым числом и с плавающей точкой

Наиболее современные наборы инструкций также предоставляют инструкции для выполнения арифметики BCD

Инструкции логической логики

Наиболее современные наборы инструкций содержат инструкции для выполнения булевой алгебры логические операции

обычно не включать, и, XOR, ИЛИ инструкции

Инструкции по манипулированию одним операндом

Наиболее наборы команд также предоставляют удобные инструкции с одним операндом (например,грамм. отрицание, увеличение, уменьшение значения, установка регистра в ноль и т. д.)

Наиболее из этой инструкции работают с регистрами, но некоторые могут также работать с памятью

Инструкции по управлению битами

Наиболее наборы инструкций содержат инструкции для настройки, сброса и тестирования отдельных биты в слове данных

Некоторые наборы команд также предоставляют инструкции для работы с несколькими битами одновременно

Инструкция по перемещению и повороту

Наиболее наборы команд предоставляют инструкции для сдвига и поворота слов данных

перевод это процесс перемещения данных влево или вправо на один или несколько битов

2 обычно предоставляются различные виды смещения, см. рисунок 7.17 на странице 177

o Логический сдвиг

o Арифметический сдвиг

вращающийся берет биты, как они существуют, и вращает их в другой конец

Некоторые наборы команд включают бит переноса и переполнения как часть поворота и сдвига инструкция

Инструкции по управлению программой

программа инструкции по управлению потоком выполнения программы

программа инструкции по управлению включают

o Прыгать условнограмм. переход на ноль, ненулевой, отрицательный, положительный, перенос, переполнение и т. д.)

o Прыгать безусловно

o подпрограмма вызов иногда называют подпрограммой перехода и возврата, см. рисунок 7.18 в страница 179

Используемый реализовать подпрограммы, процедуры и вызовы функций

адрес возврата (следующая инструкция после звонка) должен быть сохранен (как правило, сохранить в стеке)

переход на адрес подпрограммы выполняется после сохранения

инструкция возврата перезагрузить сохраненный адрес возврата и вернуться назад

Инструкция по стеку

Стек составляют одну из самых важных структур хранения данных в программировании

стек реализован как структура LIFO «последний пришел-первый вышел»

регистр указателя стека используется для отслеживания вершины стека

Два Операции типичны для стека, см. рисунок 7.19 на странице 194

o Push добавить элемент данных в верх стека

o Pop удалять элемент данных с вершины стека

подпрограмма Вызов обычно использует стек, чтобы сохранить адрес возврата

стек допускает вложенные вызовы подпрограмм (возврат осуществляется в обратном порядке порядок), см. рисунок 7.21 на стр. 181

Несколько инструкций данных

специализированный инструкции по ускорению и упрощению обработки мультимедиа

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

Несколько команд данных выполняют одну операцию над несколькими частями данные одновременно

Также , одна инструкция, несколько данных (SIMD)

Intel Pentium MMX поддержка SIMD инструкции

фигура 7.23 на стр. 182, показывает инструкцию добавления SIMD по 4 в ширину

Прочие инструкции

это категория команд включает в себя команды ввода-вывода и управления машиной

Эти инструкции, в большинстве систем, являются привилегированными инструкциями

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

,

malloc — Что такое куча памяти?

Переполнение стека
  1. Товары
  2. Клиенты
  3. Случаи использования
  1. Переполнение стека Публичные вопросы и ответы
  2. Команды Частные вопросы и ответы для вашей команды
  3. предприятие Частные вопросы и ответы для вашего предприятия
  4. работы Программирование и связанные с ним технические возможности карьерного роста
  5. Талант Нанимать технический талант
  6. реклама
.

с — связь между процессором и памятью

Переполнение стека
  1. Товары
  2. Клиенты
  3. Случаи использования
  1. Переполнение стека Публичные вопросы и ответы
  2. Команды Частные вопросы и ответы для вашей команды
  3. предприятие Частные вопросы и ответы для вашего предприятия
  4. работы Программирование и связанные с ним технические возможности карьерного роста
  5. Талант Нанимать технический талант
  6. реклама Связаться с разработчиками по всему миру

Загрузка…

  1. Авторизоваться зарегистрироваться
.
Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *