№ 7 Задача о нанокомпьютере

Автор: Рамиль Валитов

Японским ученым из Национального Института Материаловедения в Цукубе удалось сделать шаг вперед в нанороботехнике. Они смоделировали молекулярную систему (рис. 1), состоящую из 16 молекул дурохинона (2,3,5,6-тетраметил - 1-4-бензохинон (C10H12O2), рис. 2), формирующих кольцевую структуру, и одной молекулы дурохинона в центре. Центральная молекула играет роль «командного центра», т. к. именно через нее происходит распространение сигнала на все окружающие молекулы. Молекула дурохинона имеет 4 боковые цепи, которые можно независимо вращать, получая таким образом 4 независимых положения или «состояния» молекулы.

Рис. 1 Рис. 2

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

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

НЕ нашли? Не то? Что вы ищете?

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

Вопросы:

1.  Будем полагать, что прохождение сигнала через кольцевую молекулу нанотранзистора приводит к выполнению одной элементарной операции. На рис. 3 представлен набор нанотранзисторов. Первоначальный импульс подается на центральную молекулу нанотранзистора А. Линиями на рисунке указан способ соединения нанотранзисторов, т. е. каким образом сигнал будет распространяться между нанотранзисторами. Считается, что нет обратной связи – сигнал между транзисторами может передаваться только в одном направлении – от периферийной молекулы одного транзистора к центральной молекуле другого. Сколько операций выполнит данный чип за один импульс?

Рис. 3

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

A=B+C

D=A*B+C

E=A*B*C*D

F=(E+D)/(B+C)+3

G=F^18

Знак ^ - обозначает возведение в степень.

3.  Сколько бит информации содержит один кластер (наша молекулярная система)?

4.  Предложите оптимальную систему кодирования текста (набора символов, состоящего из букв русского языка без учета регистра, символа пробела, точки и запятой), используя рассмотренную молекулярную систему. Под оптимальностью подразумевается «плотное» кодирование, полностью полезно использующее доступное информационное пространство, без дублирования информации и оставления «пустых» участков. Закодируйте с помощью Вашей системы слово «НАНО». Сколько места (в битах и молекулах дурохинона) занимает это слово? Сколько символов можно закодировать в одном кластере, используя Вашу систему?

5.  За счет каких сил происходит взаимодействие центральной молекулы кластера с периферийными?

6.  Какие другие «молекулярные» методы для хранения информации Вы знаете или можете предложить?

Ответ:

1.  512 операций. (7 баллов)

2.  9 тактов. (7 баллов)

3.  17.179.869.184 бит или 2 Гб (!) данных. (5 баллов)

4.  Слово «НАНО» занимает 24 бит или 6 молекул. В одном кластере можно закодировать 2.863.311.530 символов. (10 баллов)

5.  Слабые водородные связи. (3 баллов)

6.  Известно, что для хранения информации рассматривается возможность использования молекул ДНК. (5 баллов)

Решение:

1.  Для ответа на первый вопрос следует помнить, что сигнал от центральной молекулы передается на все кольцевые. Таким образом, один нанотранзистор выполняет 16 операций. Т. к. все транзисторы соединены, то задействованы будут все транзисторы. Исходя из рисунка, за счет приведенной схемы некоторые транзисторы будут работать один раз, а другие – несколько. Далее нужно аккуратно проследить весь маршрут «путешествия» сигнала и суммировать активированные транзисторы. На рис. 4 красным цветом выделены линии, из-за которых сигнал будет проходить несколько раз через транзисторы. Транзисторы, через которые сигнал проходит два раза, обведены в красный круг, через которые проходит три раза – в фиолетовый круг. Через остальные транзисторы сигнал пройдет один раз.

Рис. 4

В итоге произошло 14+2*6+2*3=32 активации транзисторов, тогда за один импульс было выполнено 32*16=512 операций.

2.  Задача связана с параллельностью вычислений, которую предоставляет наш нанотранзистор. Считается, что процессор не обладает специфическими технологиями оптимизации (иначе это было бы отражено в условиях задачи), например «предсказыванием» (прогнозом) событий, т. е. кэширования кода с целью поиска последующих независимых действий для оптимизации вычислений. Каждый транзистор может выполнить одновременно 16 однотипных операций, поэтому:

A=B+C 1 такт

D=A*B+C 2 такта

E=A*B*C*D 1 такт

F=(E+D)/(B+C)+3 3 такта

G=F^18 2 такта

Итого 9 тактов.

3.  Кластер, представляющий собой нашу молекулярную систему, характеризуется положениями молекул. Т. к. у каждой молекулы 4 независимых положения, то у кластера (17 молекул) будет 4^17=17.179.869.184 положений, т. е. можно закодировать 17.179.869.184 бит или 2 Гб (!) данных.

4.  Наиболее простой, очевидный и правильный вариант – когда каждый символ текста имеет свой код, все коды имеют целые порядковые номера. В целях простоты и удобства дадим буквам алфавита порядковые номера, начиная с единицы, в том порядке, как они идут в алфавите: А=1, Б=2, В=3, Г=4, Д=5, Е=6, Ё=7, Ж=8, З=9, И=10, Й=11, К=12, Л=13, М=14, Н=15, О=16, П=17, Р=18, С=19, Т=20, У=21, Ф=22, Х=23, Ц=24, Ч=25, Ш=26, Щ=27, Ъ=28, Ы=29, Ь=30, Э=31, Ю=32, Я=33. Осталось закодировать символы пунктуации и пробела: « »=34, «,»=35, «.»=36. Правильным будет также любое другое кодирование, когда символы имеют разные номера, потому что фактически «цифровая привязка» не имеет никакого смысла – это всего лишь обозначения. В любом случае, один символ текста должен занимать 6 бит. Это максимальное количество бит, необходимых для обозначения последнего элемента. Элементов всего 36, для этого нужно минимум 6 бит (2^6=64 возможных значений, хотя фактически мы используем 36). Главное – как кодировка будет связана с молекулами. Единственный правильный (соответствующий условию задачи) вариант – молекула имеет 4 состояния, т. е. может содержать 4 бита данных. Кодируем слово «НАНО»:

Н 15

А 1

Н 15

О 16

4 символа – 4*6=24 бит, или 24/4=6 молекул. В одном кластере можно закодировать 17.179.869.184/6=2.863.311.530 символов.