Jump to content

История процессоров общего назначения

(Перенаправлено с Ременной машины )

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

1950-е: Ранние разработки

[ редактировать ]
Модуль электронной лампы от компьютеров IBM ранней серии 700.

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

Свобода дизайна в то время была очень важна, поскольку дизайнеры были очень ограничены стоимостью электроники и только начинали изучать, как лучше всего организовать компьютер. Некоторые из основных функций, представленных в этот период, включали индексные регистры (на Ferranti Mark 1 ), обратного адреса инструкцию сохранения ( UNIVAC I ), немедленные операнды ( IBM 704 ) и обнаружение недопустимых операций ( IBM 650 ).

К концу 1950-х годов коммерческие строители разработали компьютеры заводской сборки, которые можно доставлять на грузовиках. Наиболее широко распространенным компьютером был IBM 650 , в котором использовалась барабанная память , на которую программы загружались с помощью бумажной перфоленты или перфокарт . Некоторые машины очень высокого класса также включали базовую память , которая обеспечивала более высокую скорость. Жесткие диски также начали становиться популярными.

Компьютер — это автоматические счеты . Тип системы счисления влияет на ее работу. В начале 1950-х годов большинство компьютеров были созданы для конкретных задач числовой обработки, и многие машины использовали десятичные числа в качестве основной системы счисления; то есть математические функции машин работали в системе счисления по основанию 10, а не по основанию 2, как это принято сегодня. Это были не просто двоично-десятичные числа (BCD). Большинство машин имели по десять электронных ламп на разряд в каждом регистре процессора . Некоторые первые советские разработчики компьютеров реализовали системы, основанные на троичной логике ; то есть бит может иметь три состояния: +1, 0 или -1, что соответствует положительному, нулевому или отрицательному напряжению.

, ранний проект ВВС США , BINAC пытался создать легкий и простой компьютер, используя двоичную арифметику. Это глубоко впечатлило индустрию.

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

Даже когда дизайнеры использовали двоичную систему, у них все равно возникало много странных идей. Некоторые использовали арифметику знака и величины (-1 = 10001) или дополнение до единиц (-1 = 11110), а не современную арифметику с дополнением до двух (-1 = 11111). Большинство компьютеров использовали шестибитные наборы символов, поскольку они адекватно кодировали перфокарты Холлерита . Для дизайнеров того периода стало большим открытием осознание того, что слово данных должно быть кратно размеру символа. Они начали проектировать компьютеры с 12-, 24- и 36-битными словами данных (см., например, TX-2 ).

В ту эпоху в компьютерном проектировании доминировал закон Гроша : стоимость компьютера увеличивалась пропорционально квадрату его скорости.

1960-е: Компьютерная революция и CISC

[ редактировать ]

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

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

Для этого они разработали один эталонный компьютер под названием System/360 (S/360). Это был виртуальный компьютер, эталонный набор команд и возможности, которые поддерживали все машины семейства. Чтобы обеспечить разные классы машин, каждый компьютер в семействе будет использовать более или менее эмуляцию аппаратного обеспечения и более или менее эмуляцию микропрограмм , чтобы создать машину, способную выполнять полный набор команд S/360 .

Например, машина низкого уровня может включать в себя очень простой процессор по низкой цене. Однако для обеспечения остального набора инструкций потребуется использование более крупного эмулятора микрокода, что замедлит его работу. Высокопроизводительная машина будет использовать гораздо более сложный процессор, который сможет напрямую обрабатывать большую часть конструкции S/360, таким образом запуская гораздо более простой и быстрый эмулятор.

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

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

Почти все последующие компьютеры в той или иной форме включали эти нововведения. Этот базовый набор функций теперь называется вычислением сложного набора команд. [ нужна ссылка ] (CISC, произносится как «сиск»), этот термин был изобретен много лет спустя, когда вычисления с сокращенным набором команд (RISC) начали завоевывать долю рынка.

Во многих CISC инструкция может обращаться либо к регистрам, либо к памяти, обычно несколькими разными способами. Это облегчило программирование CISC, поскольку программист мог запомнить только от тридцати до ста инструкций и набор от трех до десяти режимов адресации, а не тысячи отдельных инструкций. Это называлось ортогональным набором команд . Архитектура PDP-11 и Motorola 68000 являются примерами почти ортогональных наборов команд.

Существовала также группа BUNCH ( Burroughs , UNIVAC , NCR , Control Data Corporation и Honeywell ), которая в то время конкурировала с IBM; однако IBM доминировала в ту эпоху с S/360.

Корпорация Burroughs (которая позже объединилась со Sperry/Univac и образовала Unisys ) предложила альтернативу S/360 своими большими системами Burroughs серии B5000. В 1961 году B5000 имел виртуальную память, симметричную многопроцессорную обработку, мультипрограммную операционную систему (Master Control Program (MCP)), написанную на ALGOL 60 , и первые в отрасли компиляторы рекурсивного спуска еще в 1964 году.

1970-е: Микропроцессорная революция

[ редактировать ]
Intel 4004 Микропроцессор

Первый коммерческий микропроцессор на базе двоично -десятичного кода (BCD) Intel 4004 был выпущен компанией Intel в 1971 году. [1] [2] В марте 1972 года Intel представила микропроцессор с 8-битной архитектурой 8008 , интегрированную логику pMOS, повторную реализацию на базе транзисторно-транзисторной логики (TTL) процессора Datapoint 2200 .

Дизайнеры 4004 Федерико Фаггин и Масатоши Шима продолжили разработку преемника 8008, Intel 8080 , микропроцессора, немного более похожего на миникомпьютер , во многом основываясь на отзывах клиентов об ограниченном 8008. Как и 8008, он использовался для таких приложений, как терминалы. , принтеры, кассовые аппараты и промышленные роботы. Однако более мощный 8080 также стал исходным целевым процессором для ранней де-факто стандартной персонального компьютера операционной системы под названием CP/M и использовался для таких сложных задач управления, как крылатые ракеты и многих других целей. Выпущенный в 1974 году процессор 8080 стал одним из первых по-настоящему распространенных микропроцессоров.

К середине 1970-х годов использование интегральных схем в компьютерах стало обычным явлением. Десятилетие было отмечено рыночными потрясениями, вызванными снижением цен на транзисторы.

Стало возможным разместить целый процессор на одной печатной плате. В результате стали обычным явлением миникомпьютеры, обычно с 16-битными словами и памятью от 4 до 64 КБ.

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

Пользовательские CISC обычно создавались с использованием битовой компьютерной логики, такой как чипы AMD 2900, со специальным микрокодом. Компонент битового среза — это часть арифметико-логического устройства (АЛУ), регистрового файла или микросеквенсора. Большинство побитовых интегральных схем имели ширину 4 бита.

К началу 1970-х годов был разработан 16-битный PDP-11 миникомпьютер , возможно, самый совершенный небольшой компьютер своего времени. В конце 1970-х годов были представлены более широкие суперминикомпьютеры , такие как 32-битный VAX .

IBM продолжала производить большие и быстрые компьютеры. Однако определение «большой и быстрый» теперь означало более мегабайта оперативной памяти, тактовую частоту около одного мегагерца, [3] [4] и десятки мегабайт дисковых накопителей.

IBM System 370 представляла собой версию 360, адаптированную для работы в виртуальных вычислительных средах. Виртуальный компьютер был разработан, чтобы снизить вероятность неисправимого сбоя программного обеспечения.

Серия больших систем Burroughs (B5000, B6000, B7000) достигла наибольшей доли рынка. Это был стековый компьютер, операционная система которого была запрограммирована на диалекте Алгола.

Все эти различные разработки боролись за долю рынка.

Первый однокристальный 16-битный микропроцессор был представлен в 1975 году. Panafacom , конгломерат, образованный японскими компаниями Fujitsu , Fuji Electric и Matsushita , представил MN1610, коммерческий 16-битный микропроцессор. [5] [6] [7] По словам Fujitsu, это был «первый в мире 16-битный микрокомпьютер на одном кристалле». [6]

Intel 8080 стал основой для 16-битного процессора Intel 8086 , который является прямым предком сегодняшнего повсеместного семейства x86 (включая Pentium и Intel Core ). Каждая инструкция 8080 имеет прямой эквивалент в большом наборе инструкций x86, хотя значения кода операции в последнем различны.

Начало 1980–1990-х годов: уроки RISC

[ редактировать ]

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

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

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

Распространенный вариант конструкции RISC использует гарвардскую архитектуру , а не архитектуру фон Неймана или архитектуру хранимых программ, общую для большинства других конструкций. В машине Гарвардской архитектуры программа и данные занимают отдельные устройства памяти и доступны одновременно. В машинах фон Неймана данные и программы смешаны в одном устройстве памяти, что требует последовательного доступа, что создает так называемое узкое место фон Неймана .

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

В начале 1990-х годов инженеры японской компании Hitachi нашли способы сжать сокращенные наборы команд, чтобы они помещались в системы памяти даже меньшего размера, чем CISC. Такие схемы сжатия использовались для набора команд SuperH , представленных в 1992 году. микропроцессоров серии [8] Набор инструкций SuperH позже был адаптирован для ARM . архитектуры Thumb набора команд [9] В приложениях, которым не требуется использовать старое двоичное программное обеспечение, сжатые RISC-файлы все чаще доминируют в продажах.

Другим подходом к RISC был компьютер с минимальным набором команд (MISC), niladic или набор команд с нулевым операндом . Этот подход позволил понять, что большая часть пространства в инструкции используется для идентификации операндов инструкции. Эти машины помещали операнды в стек с выталкиванием вниз (последним вошел — первым вышел) . Набор инструкций был дополнен несколькими инструкциями по выборке и сохранению памяти. Большинство из них использовали простое кэширование для обеспечения чрезвычайно быстрых RISC-машин с очень компактным кодом. Еще одним преимуществом было то, что задержки прерываний были очень малы, меньше, чем у большинства машин CISC (редкая черта для машин RISC). . больших систем Берроуза Этот подход использовался в архитектуре термина RISC B5000 был разработан в 1961 году, задолго до изобретения . Эта архитектура помещает шесть 8-битных инструкций в 48-битное слово и является предшественником конструкции очень длинного командного слова (VLIW) (см. ниже: с 1990 года по настоящее время ).

Архитектура Берроуза послужила одним из источников вдохновения для Чарльза Х. Мура языка программирования Forth , который, в свою очередь, вдохновил его более поздние разработки микросхем MISC. Например, его ядра f20 имели 31 5-битную инструкцию, что соответствует четырем 20-битному слову.

Чипы RISC сейчас доминируют на рынке 32-битных встраиваемых систем. Меньшие по размеру RISC-чипы становятся все более распространенными на чувствительном к цене рынке 8-битных встраиваемых систем. Основным рынком для RISC-процессоров были системы, которым требуется малое энергопотребление или небольшой размер.

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

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

Середина-конец 1980-х: использование параллелизма на уровне инструкций.

[ редактировать ]

В середине-конце 1980-х годов дизайнеры начали использовать метод, называемый конвейерной обработкой инструкций , при котором процессор обрабатывает несколько инструкций на разных стадиях выполнения. Например, процессор может получить операнды для следующей инструкции, одновременно вычисляя результат текущей. Современные процессоры могут использовать более дюжины таких этапов. (Конвейерная обработка была первоначально разработана в конце 1950-х годов компанией International Business Machines (IBM) на их 7030 мейнфрейме (Stretch). Компьютеры с минимальным набором команд (MISC) могут выполнять инструкции за один цикл без необходимости конвейерной обработки.

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

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

Ветвление является одним из главных виновников. Например, программа может добавить два числа и перейти к другому сегменту кода, если число больше третьего числа. В этом случае, даже если операция ветвления будет отправлена ​​на обработку второму АЛУ, оно все равно должно дождаться результатов от сложения. Таким образом, он работает не быстрее, чем если бы был только один ALU. Наиболее распространенным решением проблемы такого типа является использование прогнозирования ветвей .

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

Аналогичная концепция — спекулятивное выполнение , когда инструкции одного направления ветвления (прогнозируемого направления) выполняются до того, как направление ветвления станет известно. Когда направление ветвления известно, прогнозируемое направление и фактическое направление сравниваются. Если предсказанное направление было правильным, спекулятивно выполненные инструкции и их результаты сохраняются; если оно было неправильным, эти инструкции и их результаты удаляются. Спекулятивное выполнение в сочетании с точным предсказателем ветвей дает большой прирост производительности.

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

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

С 1990 года по сегодняшний день: в предвкушении

[ редактировать ]

ВЛИВ и ЭПИК

[ редактировать ]

Логика планирования инструкций, которая создает суперскалярный процессор, представляет собой булевую логику. В начале 1990-х годов важным нововведением стало осознание того, что координацию работы компьютера с несколькими АЛУ можно перенести в компилятор — программное обеспечение, которое преобразует инструкции программиста в инструкции машинного уровня.

Этот тип компьютера называется компьютером со сверхдлинным командным словом (VLIW).

Статическое планирование инструкций в компиляторе (в отличие от динамического планирования в процессоре) может снизить сложность ЦП. Это может улучшить производительность, а также снизить тепловыделение и затраты.

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

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

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

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

В январе 2000 года корпорация Transmeta предприняла новый шаг, разместив компилятор в центральном процессоре и заставив компилятор транслировать эталонный байт-код (в их случае инструкции x86 ) во внутренний набор инструкций VLIW. Этот метод сочетает в себе простоту аппаратного обеспечения, низкое энергопотребление и скорость VLIW RISC с компактной системой основной памяти и обратной совместимостью программного обеспечения, обеспечиваемой популярным CISC.

Чип Intel Itanium схемой основан на том, что они называют вычислений с явными параллельными командами (EPIC). Эта конструкция предположительно обеспечивает преимущество VLIW в увеличении пропускной способности команд. Однако он позволяет избежать некоторых проблем масштабирования и сложности, явно предоставляя в каждом пакете инструкций информацию, касающуюся их зависимостей. Эта информация рассчитывается компилятором, как и в проекте VLIW. Ранние версии также обратно совместимы с новым программным обеспечением x86 посредством режима встроенного эмулятора . Показатели Integer разочаровали, и, несмотря на улучшения, продажи на оптовых рынках продолжают оставаться низкими.

Многопоточность

[ редактировать ]

Текущий [ когда? ] проекты работают лучше всего, когда на компьютере запущена только одна программа. Однако почти все современные операционные системы позволяют запускать несколько программ вместе. Чтобы процессор мог переключиться и выполнить работу над другой программой, необходимо дорогостоящее переключение контекста . Напротив, многопоточные процессоры могут обрабатывать инструкции из нескольких программ одновременно.

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

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

Intel называет эту технологию «гиперпоточностью» и предлагает два потока на ядро ​​в своих нынешних линейках Core i3, Core i5, Core i7 и Core i9 для настольных ПК (а также в линейках Core i3, Core i5 и Core i7 Mobile), а также предлагая до четырех потоков на ядро ​​в высокопроизводительных процессорах Xeon Phi.

Многоядерный

[ редактировать ]

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

Интеллектуальная оперативная память

[ редактировать ]

Один из способов обойти узкое место фон Неймана — объединить процессор и DRAM на одном кристалле.

Реконфигурируемая логика

[ редактировать ]

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

Процессоры с открытым исходным кодом

[ редактировать ]

Поскольку границы между аппаратным и программным обеспечением все больше размываются из-за прогресса в методологии проектирования и доступности микросхем, таких как программируемые вентильные матрицы (FPGA), и удешевления производственных процессов, даже оборудование с открытым исходным кодом начало появляться . Свободно сплоченные сообщества, такие как OpenCores и RISC-V, недавно объявили о полностью открытых архитектурах ЦП, таких как OpenRISC , которые могут быть легко реализованы на FPGA или в микросхемах, производимых по индивидуальному заказу, кем угодно, без каких-либо лицензионных сборов, и даже признанные производители процессоров, такие как Sun Microsystems, сделали это. выпустила процессоры (например, OpenSPARC ) по лицензиям с открытым исходным кодом.

Асинхронные процессоры

[ редактировать ]

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

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

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

Сторонники асинхронной логики полагают, что эти способности будут иметь следующие преимущества:

  • более низкая рассеиваемая мощность для заданной производительности
  • максимально возможная скорость выполнения

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

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

  • ORDVAC ) и идентичный ILLIAC I (1951
  • ILLIAC II (1962), тогда самый быстрый компьютер на Земле
  • Асинхронный микропроцессор Калифорнийского технологического института, первый в мире асинхронный микропроцессор (1988 г.)
  • АМУЛЕТ ARM реализующий , (1993 и 2000 годы)
  • асинхронная реализация MIPS Technologies R3000 , названная MiniMIPS (1998 г.) [10]
  • процессор SEAforth многоядерный от Чарльза Х. Мура [11]

Оптическая связь

[ редактировать ]

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

Кроме того, по состоянию на 2010 год современные процессоры используют 64- или 128-битную логику. Оптическая суперпозиция длин волн может позволить использовать каналы передачи данных и логику на много порядков выше, чем в электронике, без дополнительного пространства и медных проводов.

Оптические процессоры

[ редактировать ]

Другой долгосрочный вариант — использовать свет вместо электричества для цифровой логики. Теоретически это может работать примерно на 30% быстрее, потреблять меньше энергии и обеспечивать прямой интерфейс с устройствами квантовых вычислений. [ нужна ссылка ]

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

Ионные процессоры

[ редактировать ]

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

Архитектура ленточной машины

[ редактировать ]

Относительно архитектуры обычной регистровой машины или стековой машины , но аналогичен архитектуре Intel Itanium . [12] Схема адресации временных регистров была предложена Иваном Годаром и компанией, которая призвана значительно снизить сложность аппаратного обеспечения ЦП (в частности, количества внутренних регистров и получаемых в результате огромных деревьев мультиплексора ). [13] Хотя чтение и отладку несколько сложнее, чем имена регистров общего назначения, представление о ленте как о движущемся конвейере , на котором самые старые значения сбрасываются с ленты и исчезают, помогает понять. Он реализован в архитектуре Mill.

Хронология событий

[ редактировать ]

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б Найджел Таут. «Калькулятор Busicom 141-PF и микропроцессор Intel 4004» . Проверено 15 ноября 2009 г.
  2. ^ Эспрей, Уильям (25 мая 1994 г.). «Устная история: Тадаси Сасаки» . Wiki по истории техники и технологий . Институт инженеров по электротехнике и электронике, Inc. Проверено 14 сентября 2022 г.
  3. ^ Касвелл, Уэйн (18 февраля 2008 г.). «Двадцать технологических тенденций, влияющих на домашние сети» . Домашние игрушки . Архивировано из оригинала 27 марта 2016 года.
  4. ^ «Структура СИСТЕМЫ/360» . Компьютерные структуры: принципы и примеры .
  5. ^ «16-битные микропроцессоры» . Музей процессора . Проверено 5 октября 2010 г.
  6. ^ Перейти обратно: а б «История» . ПФУ . Проверено 5 октября 2010 г.
  7. ^ PANAFACOM Lkit-16 , Японское общество обработки информации
  8. ^ Перейти обратно: а б «Hitachi выпускает серию SH-4 SH7750, предлагающую самую высокую в отрасли производительность — 360 MIPS для встроенного RISC-процессора, как топовую серию в семействе SuperH» .
  9. ^ Перейти обратно: а б с Натан Уиллис (10 июня 2015 г.). «Воскресение архитектуры SuperH» . LWN.net .
  10. ^ МиниМИПС
  11. ^ «Обзор SEAforth» . Архивировано из оригинала 2 февраля 2008 г. ... асинхронная схема по всему чипу. Не существует центральных часов с миллиардами тупых узлов, рассеивающих бесполезную энергию. ... ядра процессора сами по себе асинхронны.
  12. ^ «Процессоры RISC COMP375. Архитектура и организация компьютера» (PDF) . Архивировано из оригинала (PDF) 26 октября 2017 г.
  13. ^ «Пояс» .
  14. ^ Перейти обратно: а б Федерико Фаггин , Создание первого микропроцессора , журнал IEEE Solid-State Circuits , зима 2009 г., IEEE Xplore
  15. ^ Перейти обратно: а б «НЭК 751 (уКОМ-4)» . Страница коллекционера антикварных фишек. Архивировано из оригинала 25 мая 2011 г. Проверено 11 июня 2010 г.
  16. ^ Перейти обратно: а б 1970-е годы Разработка и развитие микроконтроллеров — интегральных схем , Музей истории полупроводников Японии.
  17. ^ Джеффри А. Харт и Сангбэ Ким (2001), Защита прав интеллектуальной собственности в глобальном информационном порядке , Ассоциация международных исследований, Чикаго
  18. ^ Техническое справочное руководство ARM7TDMI, стр. ii
  19. ^ Сегарс, Саймон (27 февраля 2017 г.). «Возможность массового подключения к Интернету вещей, поскольку партнеры ARM поставляют 100 миллиардов чипов» . Проверено 06 сентября 2021 г.
  20. ^ Клевер Джули (13 октября 2022 г.). «Чип Apple M1: все, что вам нужно знать» . МакСлухи . Проверено 21 июля 2024 г.
  21. ^ Такахаши, Дин (30 марта 2021 г.). «Armv9 — первое крупное архитектурное обновление Arm за десятилетие» . ВенчурБит . Проверено 06 сентября 2021 г.
  22. ^ Шилов, Антон (20 октября 2021 г.). «Отгружено более 200 миллиардов чипов для рук» . Проверено 16 сентября 2022 г.
  23. ^ «Список ТОП500 – июнь 2022» . Июнь 2022 года . Проверено 30 мая 2022 г.
  24. ^ Ларабель Майкл (15 июня 2024 г.). «В компилятор LLVM добавлена ​​поддержка Apple M4, что подтверждает его возможности ISA» . Фороникс . Проверено 21 июля 2024 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3dad4c8826496cccec7cd9a818c09b2f__1722386820
URL1:https://arc.ask3.ru/arc/aa/3d/2f/3dad4c8826496cccec7cd9a818c09b2f.html
Заголовок, (Title) документа по адресу, URL1:
History of general-purpose CPUs - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)