Процессоры: "2048"

16 мая 2004, воскресенье 01:22
для раздела Лаборатория

Эта работа была прислана на наш "бессрочный" конкурс статей и автор получил приз – рубашку-поло от MSI.


Каково будущее процессоров? Как они будут эволюционировать? Читая заметки и новости сегодняшнего дня, можно ответить: будущее за многоядерностью, вылизыванием архитектуры. Ну и сопутствующим увеличением частоты, но не в ущерб архитектуре (как это было сделано в Willamette и Prescott). Но довольно странно, что никто не вспоминает про аналоговые компьютеры. Я даже не имею в виду рядовых пользователей, никто – ни Intel, ни AMD, и иже с ними, не вспоминают про чудесные возможности аналоговых компьютеров: ответ мы получаем со скоростью света (понимать буквально), практически независимо от сложности формулы.

Что представляет собой аналоговый процессор? Он состоит из транзисторов, как и цифровой, но транзисторы работают не в режиме 0, 1, а в режиме усиления. Простейшие функции +, –, *, / будут представлены, как усилители (ослабители). Более сложные, типа sin, cos, log – составлены из более простых. Если короче – это будет сделано приблизительно так же, как и сейчас: много где можно услышать или прочитать о том, что современные процессоры умеют только складывать числа – а все остальное построено на базе этого.

Итак, представили, что у нас есть блоки +, –, *, /, корень, степень, cos, sin, tg, и т.д, которые выдают ответ моментально, как только мы подали входные данные. Управляющий блок соединяет в нужной последовательности вычислительные блоки, например, для выражения sin(log(cos(x+y)+z^2)–3*x), подает в начало входные данные – у нас есть сразу ответ. Тут же вопрос – как мы сможем сразу вычислить длинную формулу, ведь у нас только один блок +, а для приведенной формулы нужно два. Есть два выхода:

  1. Сделать больше блоков простых функций. Для начала можно попробовать 10, а, например, в серверных процессорах – 25.
  2. Управляющий блок должен успевать переключать связи со скоростью света – чтобы фронт сигнала проходил в нужный момент в нужный блок. Практически, я себе не представляю, как это возможно реализовать при современных достижениях технологии создания полупроводниковых процессоров – вдобавок нужно будет посылать очень короткий импульс, который потом нужно будет правильно и точно опознать.

Почему же никто не пытался такое сделать? Можно сразу найти оправдание – ведь обычные (цифровые) компьютеры уже очень долго развиваются, как взять все и поменять? Это практически невозможно – огромная инерционность рынка, колоссальные затраты на разработку обвязки просто не позволят одной компании, даже и консорциуму реализовать такое. Я думал над этим вопросом и нашел ответ, гениальный по своей простоте – а зачем все менять? Встроить аналоговый блок в обычный процессор, по типу того, как встраивают различные MMX, 3DNow!, SSE, сделать отдельный управляющий блок, который сможет осуществлять преобразования аналоговый сигнал <–> цифровой, главное условие – высокая точность и достаточная его скорость. И будет все отлично.

Какие могут возникнуть претензии и вопросы к такому решению?

  1. Процессор работает на частотах порядка 2-3 гигагерц, а ответы мы получаем мгновенно.
  2. А если формула все-таки не влезет в доступное число блоков функций?

Ответы можно найти моментально:

  1. Ну и что? Будем снимать данные с частотой 100 МГц (допустим, новое дело для производителей и они не смогут достичь более высокой частоты). А сто миллионов сложных формул в секунду вытянет разве что один из лучших суперкомпьютеров сегодняшнего дня, или огромные сети распределённых вычислений.
  2. Управляющий блок разобьет ее (формулу) на две, три, пять частей, промежуточные результаты будет сохранять в кэше первого уровня. Предположим, что эффективность упадет из-за недостатка блоков в десять раз, получим 10 МГц идеальной (эффективной) частоты. На самом деле нереальный вариант – такая формула будет встречаться довольно редко, и эффективная частота составит порядка 95-99 МГц. Но для чистоты предположений пусть будет 10 МГц. Теперь поднимите руку, кто хочет себе домой компьютер с производительностью, равной 1/10 от Deep Blue? А ведь это будет не специальное предложение, а рядовой компьютер.

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





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

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

Прочитав сие собственное творение, подумываю насчет патента :).


Ждём Ваших комментариев в специально созданной ветке конференции.

Страницы материала
Страница 1 из 0
Оценитe материал

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают