История создания и совершенствования процессоров Intel




Командный цикл процессора

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

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

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

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

2) Увеличение содержимого программного счетчика на единицу.

3) Формирование адреса операндов.

4) Извлечение операндов из памяти.

5) Выполнение заданной в команде операции.

6) Размещение результата операции в памяти.

7) Переход к п. 1.

Пункты 1,2 и 7 обязательно выполняются в каждом командном цикле, остальные могут не выполняться в некоторых командах. Если длина кода команды составляет несколько машинных слов, то пп. 1 и 2 повторяются.

Фактически вся работа процессора заключается в циклическом выполнении пунктов 1 – 7 командного цикла. При запуске машины в счётчик команд аппаратно помещается фиксированное значение – начальный адрес программы (часто 0 или последний адрес памяти; встречаются и более экзотические способы загрузки начального адреса). В дальнейшем содержимое программного счетчика модифицируется в командном цикле. Прекращение выполнения командных циклов может произойти только при выполнении специальной команды «СТОП».

Система команд процессора

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

Функциональная полнота – это достаточность системы команд для описания любого алгоритма. Требование функциональной полноты не является слишком жестким. Доказано, что свойством функциональной полноты обладает система, включающая всего три команды (система Поста): присвоение 0, присвоение 1, проверка на 0. Однако составление программ в такой системе команд крайне не эффективно.

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

Система команд процессора характеризуется тремя аспектами: форматами, способами адресации и системой операций.

 

 

Форматы команд

Под форматом команды следует понимать длину команды, количество, размер, положение, назначение и способ кодировки ее полей.

Машинная команда представляет собой закодированное по определенным правилам указание микропроцессору на выполнение некоторой операции или действия. Каждая команда содержит элементы, определяющие:

что делать? (ответ на этот вопрос дает элемент команды, называемый кодом операции (КОП));

объекты, над которыми нужно что-то делать (эти элементы называются операндами);

как делать? (эти элементы называются типами операндов – обычно задаются неявно).

Команды, как и любая информация в ЭВМ, кодируются двоичными словами, которые должны содержать в себе следующие виды информации:

а) тип операции, которую следует реализовать в данной команде (КОП);

б) место в памяти, откуда следует взять первый операнд (А1);

в) место в памяти, откуда следует взять второй операнд (А2);

г) место в памяти, куда следует поместить результат (А3).

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

 

 

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

Для реализации одноадресных форматов в процессоре предусматривают специальную ячейку – аккумулятор. Первый операнд и результат всегда размещаются в аккумуляторе, а второй операнд адресуется полем А.

Реальная система команд обычно имеет команды нескольких форматов, причем тип формата определяется в поле КОП.

Самый общий формат машинной команды приведен на рисунке 2.2. Максимальная длина машинной команды – 15 байт. Реальная команда может содержать гораздо меньшее количество полей, вплоть до одного только КОП.

 

 

Рисунок 2.2 – Общий формат машинной команды

 

Опишем назначения полей машинной команды.

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

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

– 2eh – замена сегмента cs;

– 36h – замена сегмента ss;

– 3eh – замена сегмента ds;

– 26h – замена сегмента es;

– 64h – замена сегмента fs;

– 65h – замена сегмента gs.

2) Префикс разрядности адреса уточняет разрядность адреса (32 или 16-разрядный).

Каждой команде, в которой используется адресный операнд, ставится в соответствие разрядность адреса этого операнда. Этот адрес может иметь разрядность 16 или 32 бит. Если разрядность адреса для данной команды 16 бит, это означает, что команда содержит 16-разрядное смещение (см.рисунок 2.2), оно соответствует 16-разрядному смещению адресного операнда относительно начала некоторого сегмента. В контексте рисунка 2.3 это смещение называется эффективный адрес. Если разрядность адреса 32 бит, это означает, что команда содержит 32-разрядное смещение (см. рисунок 2.2), оно соответствует 32-разрядному смещению адресного операнда относительно начала сегмента и по его значению формируется 32-битное смещение в сегменте. С помощью префикса разрядности адреса можно изменить действующее по умолчанию значение разрядности адреса. Это изменение будет касаться только той команды, которой предшествует префикс.

 

 

Рисунок 2.3 – Механизм формирования физического адреса в реальном режиме

 

3) Префикс разрядности операнда аналогичен префиксу разрядности адреса, но указывает на разрядность операндов (32 или 16-разрядные), с которыми работает команда. В реальном режиме и режиме виртуального i8086 значения этих атрибутов – 16 бит. В защищенном режиме значения атрибутов зависят от состояния бита D в дескрипторах исполняемых сегментов. Если D = 0, то значения атрибутов, действующие по умолчанию, равны 16 бит; если D = 1, то 32 бит. Значения префиксов разрядности операнда 66h и разрядности адреса 67h. Вы можете с помощью префикса разрядности адреса в реальном режиме использовать 32-разрядную адресацию, но при этом необходимо помнить об ограниченности размера сегмента величиной 64 Кбайт. Аналогично префиксу разрядности адреса вы можете использовать префикс разрядности операнда в реальном режиме для работы с 32-разрядными операндами (к примеру, в арифметических командах).

4) Префикс повторения используется с цепочечными командами (командами обработки строк). Этот префикс “зацикливает” команду для обработки всех элементов цепочки. Система команд поддерживает два типа префиксов:

– безусловные (rep – 0f3h), заставляющие повторяться цепочечную команду некоторое количество раз;

– условные (repe/repz – 0f3h, repne/repnz – 0f2h), которые при зацикливании проверяют некоторые флаги, и в результате проверки возможен досрочный выход из цикла.

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

в) Байт режима адресации modr/m. Значения этого байта определяет используемую форму адреса операндов. Операнды могут находиться в памяти в одном или двух регистрах. Если операнд находится в памяти, то байт modr/m определяет компоненты (смещение, базовый и индексный регистры), используемые для вычисления его эффективного адреса (см. рисунок 2.3). В защищенном режиме для определения местоположения операнда в памяти может дополнительно использоваться байт sib (Scale-Index-Base – масштаб-индекс-база). Байт modr/m состоит из трех полей (см. рисунок 2.2):

1) поле mod определяет количество байт, занимаемых в команде адресом операнда (см.рисунок 2.2, поле смещение в команде). Поле mod используется совместно с полем r/m, которое указывает способ модификации адреса операнда смещение в команде. К примеру, если mod = 00, это означает, что поле смещение в команде отсутствует, и адрес операнда определяется содержимым базового и (или) индексного регистра. Какие именно регистры будут использоваться для вычисления эффективного адреса, определяется значением этого байта. Если mod = 01, это означает, что поле смещение в команде присутствует, занимает один байт и модифицируется содержимым базового и (или) индексного регистра. Если mod = 10, это означает, что поле смещение в команде присутствует, занимает два или четыре байта (в зависимости от действующего по умолчанию или определяемого префиксом размера адреса) и модифицируется содержимым базового и (или) индексного регистра. Если mod = 11, это означает, что операндов в памяти нет: они находятся в регистрах. Это же значение байта mod используется в случае, когда в команде применяется непосредственный операнд;

2) поле reg/коп определяет либо регистр, находящийся в команде на месте первого операнда, либо возможное расширение кода операции;

3) поле r/m используется совместно с полем mod и определяет либо регистр, находящийся в команде на месте первого операнда (если mod = 11), либо используемые для вычисления эффективного адреса (совместно с полем смещение в команде) базовые и индексные регистры.

г) Байт масштаб-индекс-база (байт sib) используется для расширения возможностей адресации операндов. На наличие байта sib в машинной команде указывает сочетание одного из значений 01 или 10 поля mod и значения поля r/m= 100. Байт sib состоит из трех полей:

1) поля масштаба ss. В этом поле размещается масштабный множитель для индексного компонента index, занимающего следующие три бита байта sib. В поле ss может содержаться одно из следующих значений: 1, 2, 4, 8. При вычислении эффективного адреса на это значение будет умножаться содержимое индексного регистра.;

2) поля index – используется для хранения номера индексного регистра, который применяется для вычисления эффективного адреса операнда;

3) поля base – используется для хранения номера базового регистра, который также применяется для вычисления эффективного адреса операнда. Напомню, что в качестве базового и индексного регистров могут использоваться практически все регистры общего назначения.

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

е) Поле непосредственного операнда. Необязательное поле, представляющее собой 8, 16 или 32-разрядный непосредственный операнд. Наличие этого поля, конечно, отражается на значении байта modr/m.

Способы адресации

Операнд задается неявно на микропрограммном уровне. В этом случае команда явно не содержит операндов. Алгоритм выполнения команды использует некоторые объекты по умолчанию (регистры, флаги в eflags и т. д.).

Например, команды cli и sti неявно работают с флагом прерывания if в регистре eflags, а команда xlat неявно обращается к регистру al и строке в памяти по адресу, определяемому парой регистров ds:bx.

Операнд задается в самой команде (непосредственный операнд). Операнд находится в коде команды, то есть является ее частью. Для хранения такого операнда в команде выделяется поле длиной до 32 бит (см. рисунок 2.2). Непосредственный операнд может быть только вторым операндом (источником). Операнд получатель может находиться либо в памяти, либо в регистре.

Например: mov ax,0ffffh пересылает в регистр ax шестнадцатеричную константу ffff. Команда add sum,2 складывает содержимое поля по адресу sum с целым числом 2 и записывает результат по месту первого операнда, то есть в память.

Операнд находится в одном из регистров. Регистровые операнды указываются именами регистров. В качестве регистров могут использоваться:

– 32-разрядные регистры EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP;

– 16-разрядные регистры AX, BX, CX, DX, SI, DI, SP, BP;

– 8-разрядные регистры AH, AL, BH, BL, CH, CL, DH, DL;

– сегментные регистры CS, DS, SS, ES, FS, GS.

Например, команда add ax,bx складывает содержимое регистров ax и bx и записывает результат в bx. Команда dec si уменьшает содержимое si на 1.

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

В свою очередь, косвенная адресация имеет следующие разновидности:

– косвенная базовая адресация; другое ее название – регистровая косвенная адресация;

– косвенная базовая адресация со смещением;

– косвенная индексная адресация со смещением;

– косвенная базовая индексная адресация;

– косвенная базовая индексная адресация со смещением.

Операндом является порт ввода/вывода. Как мы уже отмечали, помимо адресного пространства оперативной памяти микропроцессор поддерживает адресное пространство ввода-вывода, которое используется для доступа к устройствам ввода-вывода. Объем адресного пространства ввода-вывода составляет 64 Кбайт. Для любого устройства компьютера в этом пространстве выделяются адреса. Конкретное значение адреса в пределах этого пространства называется портом ввода-вывода. Физически порту ввода-вывода соответствует аппаратный регистр (не путать с регистром микропроцессора), доступ к которому осуществляется с помощью специальных команд ассемблера in и out.

Например,

in al,60h;ввести байт из порта 60h

Регистры, адресуемые с помощью порта ввода-вывода, могут иметь разрядность 8, 16 или 32 бит, но для конкретного порта разрядность регистра фиксирована.

Команды in и out работают с фиксированной номенклатурой объектов. В качестве источника информации или получателя применяются так называемые регистры-аккумуляторы eax, ax, al. Выбор регистра определяется разрядностью порта. Номер порта может задаваться непосредственным операндом в командах in и out или значением в регистре dx. Последний способ позволяет динамически определить номер порта в программе.

Например:

mov dx,20h;записать номер порта 20h в регистр dx mov al,20h;записать значение 20h в регистр al out dx,al;вывести значение 20h в порт 20H

Операнд находится в стеке.

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

– регистр–регистр;

– регистр–память;

– память–регистр;

– непосредственный операнд–регистр;

– непосредственный операнд–память.

У данного правила есть исключения, которые касаются:

– команд работы с цепочками, которые могут перемещать данные из памяти в память;

– команд работы со стеком, которые могут переносить данные из памяти в стек, также находящийся в памяти;

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

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

 

 

Способ адресации определяет, каким образом следует использовать информацию, размещенную в поле адреса команды.

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

а) Прямая – в этом случае в адресном поле располагается адрес операнда. Разновидность – прямая регистровая адресация, адресующая не ячейку памяти, а РОН (регистр общего назначения). Поле адреса регистра имеет в команде значительно меньшую длину, чем поле адреса памяти.

б) Непосредственная – в поле адреса команды располагается не адрес операнда, а сам операнд. Такой способ удобно использовать в командах с константами.

в) Косвенная – в поле адреса команды располагается адрес ячейки памяти, в которой хранится адрес операнда («адрес адреса»). Такой способ позволяет оперировать адресами как данными, что облегчает организацию циклов, обработку массивов данных и др. Его основной недостаток – потеря времени на двойное обращение к памяти – сначала за адресом, потом – за операндом. Разновидность – косвенно-регистровая адресация, при которой в поле команды размещается адрес РОН, хранящего адрес операнда. Этот способ, помимо преимущества обычной косвенной адресации, позволяет обращаться к большой памяти с помощью коротких команд и не требует двойного обращения к памяти (обращение к регистру занимает гораздо меньше времени, чем к памяти).

г) Относительная – адрес формируется как сумма двух слагаемых: базы, хранящейся в специальном регистре или в одном из РОН, и смещения, извлекаемого из поля адреса команды. Этот способ позволяет сократить длину команды (смещение может быть укороченным, правда в этом случае не вся память доступна в команде) и/или перемещать адресуемые массивы информации по памяти (изменяя базу). Разновидности – индексная и базово-индексная адресации. Индексная адресация предполагает наличие индексного регистра вместо базового. При каждом обращении содержимое индексного регистра автоматически модифицируется (обычно увеличивается или уменьшается на 1). Базово-индексная адресация формирует адрес операнда как сумму трех слагаемых: базы, индекса и смещения.

д) Безадресная – поле адреса в команде отсутствует, а адрес операнда или не имеет смысла для данной команды, или подразумевается по умолчанию. Часто безадресные команды подразумевают действия над содержимым аккумулятора. Характерно, что безадресные команды нельзя применить к другим регистрам или ячейкам памяти. Одной из разновидностей безадресного обращения является использование т.н. магазинной памяти или стека. Обращение к такой памяти напоминает обращение с магазином стрелкового оружия. Имеется фиксированная ячейка, называемая верхушкой стека. При чтении слово извлекается из верхушки, а все остальное содержимое «поднимается вверх» подобно патронам в магазине, так что в верхушке оказывается следующее по порядку слово. Одно слово нельзя прочитать из стека дважды. При записи новое слово помещается в верхушку стека, а все остальное содержимое «опускается вниз» на одну позицию. Таким образом, слово помещенное в стек первым, будет прочитано последним. Говорят, что стек поддерживает дисциплину LIFO – Last In First Out (последний пришел – первый ушел). Реже используется безадресная память типа очередь с дисциплиной FIFO – First In First Out (первый пришел – первый ушел).

Обработка прерываний

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

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

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

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

программные, которые вызываются искусственно с помощью соответствующей команды из программы (команда int). Они предназначены для выполнения некоторых действий операционной системы. Эти прерывания являются синхронными;

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

 

 

Система операций

Все операции, выполняемые в командах ЭВМ, принято делить на пять классов.

1) Арифметико-логические и специальные – команды, в которых выполняется собственно преобразование информации.

2) Пересылки и загрузки – обеспечивают передачу информации между процессором и памятью или между различными уровнями памяти (СОЗУ <–>ОЗУ). Разновидность – загрузка регистров и ячеек константами.

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

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

– переходы;

– вызовы подпрограмм;

– возвраты из подпрограмм.

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

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

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

 

История создания и совершенствования процессоров Intel

 

1971 год. Первый микропроцессор 4004 корпорации Intel, разработанный для калькуляторов Busicom, стал революционным изобретением, открывшем путь к созданию персонального компьютера.

1972 год. Мощность процессора 8008, по сравнению с его предшественником, возросла вдвое. Один известный энтузиаст вычислительных технологий Дон Ланкастер (Don Lancaster) применил процессор 8008 в разработке прототипа персонального компьютера. Использовалось оно в качестве терминала ввода–вывода.

1974 год. Микропроцессор 8080 стал "мозгом" первого персонального компьютера "Альтаир". Десятки тысяч экземпляров комплекта для самостоятельной сборки Альтаира, по цене $395, разошлись за несколько месяцев.

1978 год. Крупная партия микропроцессоров 8086–8088, приобретенная подразделением корпорации IBM по разработке и производству персональных компьютеров, сделала процессор 8088 "мозгом" нового хита сезона — IBM PC. Успех новинки возвел Intel в число 500 крупнейших американских промышленных компаний.

1982 год. Микропроцессор 80286 стал первым процессором Intel, способным выполнять любые программы, написанные для его предшественников. С тех пор такая программная совместимость остается отличительным признаком семейства микропроцессоров Intel. Спустя 6 лет с момента выпуска 286–го, количество персональных компьютеров на базе этого процессора оценивалось в 15 миллионов по всему миру.

1985 год. Микропроцессор Intel 386 насчитывал уже 275.000 транзисторов, число которых, по сравнению с первым процессором 4004, увеличилось более чем в 100 раз. Это был 32–разрядный "многозадачный" процессор с возможностью одновременного выполнения нескольких программ.

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

1993 год. Процессор Pentium позволил компьютерам работать с атрибутами "реального мира" — такими, как звук, голосовая и письменная речь, фотоизображения.

1995 год. Процессор Pentium Pro разрабатывался как мощное средство наращивания быстродействия 32–разрядных приложений для серверов и рабочих станций, систем автоматизированного проектирования, программных пакетов, используемых в машиностроении и научной работе. Все процессоры Pentium Pro оснащаются второй микросхемой кэш–памяти, еще больше увеличивающей быстродействие. Мощнейший процессор Pentium Pro насчитывает 5,5 миллионов транзисторов.

1997 год. Насчитывающий 7,5 миллионов транзисторов, процессор Pentium II использует технологию Intel MMX (MultiMedia eXtensions), обеспечивающую эффективную обработку аудио, визуальных и графических данных. Кристалл и микросхема высокоскоростной кэш–памяти помещены в корпус с односторонним контактом (Single Edge Contact — S.E.C.), который устанавливается на системной плате с помощью одностороннего разъема — в отличие от прежних процессоров, имевших множество контактов.

1999 год. Процессор Pentium III с тактовыми частотами 550, 500 и 450 МГц – это дальнейшее расширение вычислительной мощности, обеспечивающее необходимую степень свободы для работы с бизнес– и коммуникационными приложениями и использования возможностей Internet. Программное обеспечение, разработанное для процессора Pentium III, позволяет полностью реализовать мультимедийные возможности процессора: полноэкранное, "живое" видео, реалистичная графика, новые возможности работы в Internet.

1999 год. Процессор Pentium III Xeon. Количество транзисторов: 9.5 млн (0.25-мкм процесс) Кэш L2: 512 KB Тип корпуса: Картридж с односторонним контактом (S.E.C.C. 2) Частота системной шины: 100 MГц Разрядность шины: 64 bit Адресуемая память: 64 Гигабайт Применение: ПК для бизнеса, двух-, четырех-, восьми- и более процессорные серверы и рабочие станции.

2000 год. Процессор Pentium 4. Количество транзисторов: 42 млн Частота системной шины: 400 MГц Пользователи ПК на базе процессора Pentium 4 могут создавать профессионально оформленные видеофильмы; смотреть видео телевизионного качества через Интернет; общаться друг с другом «вживую» с передачей речи и изображения; воспроизводить трехмерную графику в режиме реального времени; быстро оцифровывать музыку для MP3-плееров; одновременно запускать несколько мультимедийных приложений при активном соединении с Интернетом. Процессоры этого поколения содержат 42 млн. транзисторов, а ширина проводников составляет всего 0,18 микрон. Первый процессор Intel, 4004, работал со скоростью 108 КГц (108 000 герц) – сравните это с 1,5 гигагерцами (1,5 млрд герц), тактовой частотой первых Pentium 4. Если бы скорость автомобилей возросла бы на столько же порядков, то от Сан-Франциско до Нью-Йорка можно было сейчас доехать примерно за 13 секунд.

2001 год. Процессор Intel Xeon. Процессор Intel Xeon для рабочих станций, разработанный на основе микроархитектуры Intel NetBurst, обеспечивает высочайшую производительность при работе многопоточных приложений в многозадачной среде. Процессор Intel Xeon идеален для приложений, требующих большого объема вычислений с плавающей запятой и интенсивно использующих графические системы.

2001 год. Процессор Intel Itanium. Процессор Intel Itanium - это новый 64-разрядный процессор Intel, который позволяет предприятиям вывести свои компьютеры на новый уровень производительности, функциональности и надежности. В его основе лежит новая архитектура EPIC (Explicitly Parallel Instruction Computing – параллельная обработка команд с явным параллелизмом). Благодаря усилиям сотен компаний, разрабатывающих системы и приложения для этого процессора, Intel Itanium обеспечит значительный прогресс в наиболее требовательных к вычислительным ресурсам областях применения компьютеров.

В 1965 году Гордон Мур (Gordon Moore) сделал весьма знаменательное наблюдение. Представив в виде графика рост производительности запоминающих микросхем, он обнаружил любопытную закономерность: новые модели микросхем разрабатывались спустя более–менее одинаковые периоды — 18–24 месяца — после появления их предшественников, а емкость их при этом возрастала каждый раз примерно вдвое.

Наблюдение Мура, еще не возведенное в то время в ранг закона, впоследствии подтвердилось, а обнаруженная им закономерность наблюдается и в наши дни, причем с поразительной точностью, являясь основой для многочисленных прогнозов роста производительности. За 26 лет, истекшие с момента появления микропроцессора 4004 в 1971 году и вплоть до выпуска процессора Pentium II, количество транзисторов выросло более чем в 3 200 раз: с 2 300 до 7,5 миллионов.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-11-19 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: