Мозг и чип: почему процессоры обгоняют — и проигрывают?
Центральный процессор часто называют мозгом компьютера, но справедливо ли такое сравнение? Сказать, что процессор в точности повторяет мозг, было бы неправдой, и всё же между ними и впрямь много общего.
Оба построены донельзя сложно и искусно, и искать между ними сходства и различия можно до бесконечности. Мы же попробуем уложиться в пять итераций, сравнив строение мозга и процессора, память и «мысли» обоих, дабы понять, так ли уж бесплодны попытки создания полупроводникового двойника нашего мозга. В первом материале мы поговорим об элементарной структуре и самых основных принципах работы того и другого, но начнём, как водится, издалека…
На московском фестивале «Японская осень — 2013» демонстрировалось театрализованное действо по «Трём сёстрам» Чехова, в котором роль младшей сестры играл… андроид. Столь неординарное решение стало результатом сотрудничества труппы «Сэйнэндан», которая ставила спектакль, и небезызвестного исследователя-робототехника Хироси Исигуро, создавшего робота-геминоида, который внешне в точности копирует человека. Один из театральных рецензентов, поговорив после перформанса с «младшей сестрой», дежурно испугался — и за себя, и за театр, и за цивилизацию.
Проблема сходства человека и машины появилась в культуре едва ли не вместе с самими машинами: целые литературные направления кормились и продолжают кормиться этой темой. А уж про кино и говорить нечего: фильмам, посвящённым дружбе/вражде между машиной и человеком, несть числа, и среди них встречаются даже вполне приличные — вспомним хотя бы «Терминатора» и «Искусственный разум».
Робот с человеческим лицом — Хироси Исигуро вместе со своей копией-геминоидом (фото Queensland University of Technology).
Но сходство или различия между машиной и человеком кроются не во внешних признаках, не в том, похожи ли руки умного механизма или его лицо на человеческие. Главное в другом — как этот робот оперирует информацией. Поведение и эмоции у человека зависят от работы мозга, который сравнивает, анализирует, вычисляет и т. д., то есть управляется с данными. У машины манипуляцией данными занят управляющий компьютер, точнее — центральный процессор, который заведует работой всех остальных частей компьютера. Таким образом, о сходстве или различии человека и машины, будь то чистая математика или мораль с эмоциями, следует судить по подобию или разнице между мозгом и процессором.
Воплощение принципов работы мозга — давняя мечта машинных кибернетиков. С философской точки зрения копирование мозга «в железе» может выглядеть не слишком увлекательно: помнится, Станислав Лем недоумевал, зачем создавать «железный» человеческий мозг, когда природа всё уже изобрела, и не лучше ли поискать какие-то другие способы организации информационно-машинных устройств. Но даже художники учатся, копируя работы великих предшественников, поэтому кажется вполне логичным, что разработчики микросхем и программного обеспечения сначала хотят научиться создавать аналог мозга, а потом уж, если потребуется, превзойти его.
Нынешние компьютеры, обгоняя человека в скорости математических вычислений, уступают ему в скорости распознавания каких-то объектов — например, слов или лиц. Поэтому ведущие производители процессоров (к примеру, AMD) стараются создать микросхемы, у которых были бы главные преимущества «серого вещества», — чтобы они, например, использовали параллельную схему обработки информации, свойственную мозгу, вместо обычного для большинства процессоров последовательного выполнения команд.
В основе работы современных компьютерных систем лежат логические выводы, основанные на булевой алгебре. Главным принципом в данном случае является закон исключения третьего, согласно которому логические переменные, в отличие от переменных обычной алгебры, могут принимать только два значения — «0» и «1» («ложь» или «истина»).
Булева алгебра названа по имени своего автора — Джорджа Буля, британского математика и логика, профессора Королевского колледжа Корка (город на юго-востоке Ирландии). В упрощённом представлении логика ищет ответ на вопрос, верно или нет то или иное высказывание. Причём его смысл и содержание не играют никакой роли: каждое высказывание может быть или истинным, или ложным. Другие варианты попросту исключены.
Чтобы лучше понять, как это работает, можно провести параллель между логическими операциями и физическим миром. Давайте рассмотрим модель «водопроводной системы» с вентилями на трубках, играющими роль элементов, которыми оперируют. Как и логические переменные, краны могут иметь два состояния: примем, что открытое — это «истина», а закрытое — «ложь». Результатом операции будет состояние выходной трубы: «истина» соответствует текущей воде, «ложь» — отсутствию жидкости.
Итак, в первом случае (см. изображении ниже) два вентиля на входной трубе расположены последовательно. Если закрыты оба или хотя бы один из них («ложь»), то воды на выходе нет («ложь»). То есть в данном случае система выполняет логическую операцию «И»: результат (высказывание «Вода течёт») соответствует «истине» только в том случае, если открыты первый И второй вентили.
1. Вентили на трубе расположены последовательно (иллюстрация w3resource.com).
Во втором случае (см. изображение ниже) вентили располагаются параллельно. В такой конфигурации система выполняет логическую операцию «ИЛИ»: вода на выходе есть, если открыт один ИЛИ второй вентиль (или сразу оба).
2. Вентили на трубах расположены параллельно (иллюстрация w3resource.com).
Комбинируя логические элементы, можно строить схемы с более сложными логическими функциями — скажем, «ИЛИ — НЕ» и «И — НЕ». На нашем примере с водопроводной системой это означает, что вентили могут быть расположены и последовательно и параллельно.
В процессорах в качестве бинарных элементов с двумя состояниями (ноль и единица) используются транзисторы, которые в некотором смысле можно сравнить с нервными клетками в человеческом мозге. Современные микрочипы могут насчитывать более миллиарда транзисторов — миниатюрных переключателей электросигнала. Чем больше их участвует в работе и чем они меньше, тем выше производительность системы.
В микропроцессорах за логические ноль и единицу принимают разные уровни напряжения. Есть два типа логических соглашений: положительное и отрицательное. В первом случае высокий потенциал отображает единицу, а низкий — ноль. Во втором — наоборот. При изменении входного сигнала происходит переключение транзисторов, что меняет сигнал на выходе.
На работу нейронов, составляющих наш мозг, всё это похоже чрезвычайно: в конце концов, нервные клетки тоже используют в качестве сигнала электрический импульс, и его генерация происходит по принципу «всё или ничего», что можно сравнить с переключением потенциала между «0» и «1» в процессорном транзисторе.
Нейрон, как известно, снабжён отростками — дендритами и аксонами. Дендриты передают импульс к телу клетки, «внутрь» нейрона, а аксоны, наоборот, работают на вешнюю сторону, то есть передают импульс на соседний нейрон или клетку мышцы (или иного органа). Таким образом, нейрон обладает полярностью, которую можно было бы сравнить с ±-полярностью электрического поля. Откуда же в нейроне берётся ток? В клеточную мемрану нейрона встроен белковый насос, который перекачивает ионы изнутри на наружную её сторону и обратно, таким образом и создаётся электрический разряд. Причём важно, что насосы работают так, чтобы на наружной стороне мембраны сохранялся положительный заряд, а на внутренней — отрицательный. (Подчеркнём, что такая полярность касается лишь области, непосредственно прилегающей к мембране.)
Когда нейрону приходит пора возбудиться, на мембране мгновенно меняется разность потенциалов (положительные ионы переходят внутрь, а отрицательные — изнутри наружу)— сначала на одном её участке, а потом и на соседних, то есть происходит распространение возбуждения. После изменения потенциала нужно время, чтобы исходная разность потенциалов восстановилась (внутри — «минус», снаружи — «плюс»). Чтобы распределить ионы по-старому, нужно какое-то время. Это время называют рефрактерным периодом, и именно оно обеспечивает полярность нейрона и однонаправленное проведение сигнала.
Этот рефрактерный период, когда ионные каналы молчат и клетку ничто, так сказать, не возбуждает, и есть одна из главных причин того, что нейрон работает медленнее транзисторов: за время отдыха клетки транзистор успел бы «провернуть» миллионы операций, в то время как нейронная цепь может сделать где-то сотню шагов.
Вас интересует, откуда берётся самое первое возбуждение? О, причин тому может быть множество: к примеру, механическое раздражение мембраны в случае некоторых рецепторов, которое и запускает изменение в мембранном потенциале, или световое раздражение в случае фоторецепторов, или импульс от соседнего нейрона, или тот же электрический ток — если сунуть палец в розетку…
Несколько нейронов, соединённых между собой отростками, аксонами и дендритами (фото Michael Delannoy).
Но более важно то, что на приходящий стимул (рецепторное раздражение или электрический импульс от соседнего нейрона) клетка либо отвечает, либо нет. Ответ может быть слабым или сильным, в зависимости от состояния нейрона, но альтернативой ему может быть не другой ответ, отличающийся по силе, а полное молчание. Чтобы ответ состоялся и по нейрону пошло возбуждение, раздражитель должен быть по силе выше какого-то порогового уровня. Благодаря такому порогу и реакции «всё-или-ничего» на послепороговое раздражение мы на уровне нейрона можем говорить о настоящей булевой алгебре с двумя значениями переменной: «0» или «1», «вкл.» или «выкл.».
…Однако нынешние компьютеры, однозначно опережая человека в скорости математических вычислений, в некоторых задачах ему уступают — скажем, в скорости распознавания тех или иных объектов, хотя бы слов или лиц. Почему же мозг «декодирует» лицо быстрее, чем обученная этому электронно-вычислительная машина? Потому что нейроны работают параллельно, а не последовательно. Ну а большинство современных процессоров основано на той или иной версии циклического процесса последовательной обработки данных, которую придумал ещё Джон фон Нейман. Все команды, которые хранятся в памяти, процессор по очереди обрабатывает в этом фон-неймановском цикле, и скорость, с которой он крутится, определяется тактовым генератором, выдающим электрические импульсы заданной частоты. Именно этот показатель называется тактовой частотой, и от него зависит скорость вычислений.
Если перед компьютером поставить задачу распознать какое-то изображение, то он будет прочёсывать его последовательно, пиксель за пикселем; в мозге же над этим одновременно работает множество нейронов, каждый из которых занимается своим фрагментом картинки. В случае зрительного стимула тут, понятно, нужно говорить о нейронах сетчатки, но то же самое происходит и с другими задачами — и в результате нейроны, которые по отдельности действуют медленнее процессорного транзистора, в параллельной совокупности в некоторых задачах его опережают.
Преимущества параллельной обработки данных ни для кого не секрет, и ведущие производители процессоров бьются над микросхемами, у которых среди прочего было бы и это замечательное свойство мозга — «запараллеливать» выполняемые задачи.
Итак, верным булевой алгебре является не только отдельно взятый нейрон: это сходство наблюдается и на уровне нейронных сетей. Среди нервных клеток есть так называемые нейроны возбуждения и нейроны торможения. Первые активируют соседние с ним клетки, а вторые, наоборот, заставляют своих «соседей» замолчать (то есть перестать проводить информацию через себя).
И в общем и целом импульсы нейронов возбуждения и торможения опять же напоминают значения булевой переменной, «0» и «1».
Однако всё же стоит признать, что работа нейронной сети строится не на цифровом механизме, а на аналоговом: так, выполнение какой-то операции произойдёт лишь в том случае, если по нейрону пройдёт несколько импульсов, причём важно не только их количество, но и ритм. Здесь имеет значение уровень возбуждения нейрона, то, насколько чутко он реагирует на приходящие сигналы. Уровень возбуждения зависит от предыдущих действий, которые выполнял нейрон, — от состояния синаптического контакта, от синтеза нейромедиаторов и т. п.
Синапс под микроскопом: передающий нейрон готовится высвободить нейромедиатор (зелёные пузырьки) в синаптическую щель между ним и принимающей клеткой (фото Dennis Kunkel Microscopy, Inc.).
Синаптический контакт и нейромедиаторы, о которых мы только что сказали, невозможно найти в процессоре, это ноу-хау принадлежит сугубо нервной системе. Синаптический контакт («синапс») — это когда нейроны соединяются в нервные цепочки, а также могут устанавливать контакт с другими клетками (одни из них служат «передатчиками», другие — «приёмниками»). Нейромедиаторы — молекулы, которые высвобождаются из клетки-передатчика и возбуждают потенциал действия в клетке-приёмнике.
Эффективность передачи сигнала зависит от того, как много нейромедиатора высвободилось, были ли на его пути препятствия, удачно ли с этим нейромедиатором провзаимодействовали рецепторы следующего нейрона и т. д. Не говоря уже о том, что самих нейромедиаторов существует довольно много: это и серотонин, и дофамин, и ГАМК (гамма-аминомасляная кислота), и женские половые гормоны (и это лишь небольшая доля). Синапсы с нейромедиаторами служат мощным средством регуляции информационных процессов в мозге, и в дальнейшем мы с ними ещё не раз столкнёмся. Во многом благодаря синапсам мы и говорим об аналоговости нейронных «микросхем».
До сих пор мы ни слова не сказали о том, что мозг состоит из множества разных частей, каждая из которых имеет собственные функции. Между тем тот же мозг чрезвычайно сложно структурирован. Но и процессор — это тоже далеко не просто набор чего бы то ни было; скажем, транзисторы в нём можно упорядочить так, что это будет напоминать, пусть и отдалённо, отдельные структуры мозга. В следующем материале мы как раз и попытаемся понять, насколько структурированность современного процессора сопоставима со структурированностью мозга.
Транзистор — радиоэлектронный компонент из полупроводникового материала, позволяющий управлять током в электрической цепи; элементарная структурная единица микросхем.
Архитектура фон Неймана — принцип работы вычислительной системы, когда команды и данные хранятся в одном и том же месте; и чтение данных, и чтение команд, диктующих, что делать с данными, происходит последовательно в повторяющемся цикле.
Нейрон — нервная клетка, структурно-функциональная единица нервной системы, формирующая два типа отростков: сильно разветвлённые и короткие дендриты, принимающие сигнал, и длинный неветвящийся аксон, передающий сигнал на соседние клетки.
Потенциал действия нейрона — быстрое кратковременное изменение потенциала на небольшом участке мембраны возбудимой клетки, распространяющееся по мембране клетки при передаче нервного сигнала.
Рефрактерный период нейрона — период после возникновения на мембране клетки потенциала действия, в ходе которого возбудимость мембраны снижается, а затем постепенно восстанавливается до исходного уровня.
Синапс — место контакта между двумя нейронами или между нейроном и получающей сигнал эффекторной клеткой (мышечной, секреторной и т. п.). Передача сигнала может происходить как простым переходом электрического заряда с клетки на клетку, так и с помощью молекул нейромедиаторов, высвобождающихся из клетки-передатчика и возбуждающих потенциал действия в клетке-приёмнике. В ходе синаптической передачи амплитуда и частота сигнала могут регулироваться.
Процессорная часть ЭБУ
Здесь происходит все самое главное в работе «мозгов» двигателя. Основой процессорной части является однокристальная микроЭВМ. Она называется так из-за того, что большинство компонентов микропроцессорной структуры находятся на одном кристалле микросхемы (чипе). В контроллерах СУД используются 8-, 16- или 32-разрядные микроЭВМ. Разрядность — это количество бит информации, с которыми она оперирует. Основные компоненты микроЭВМ.
Центральный процессор
Производит выборку команд и данных из памяти программ и памяти данных, производит арифметические и логические операции над данными, управляет сигналами на внутренней шине адреса и данных.
Постоянное запоминающее устройство (ПЗУ)
То место, где хранится программа и данные в виде констант. Программа — переведенная на язык машинных кодов микроЭВМ совокупность всех алгоритмов управления СУД. Данные — калибровочные таблиц константы, которые участвуют в процессе расчетов или выбираются как управляющие параметры. Для разных типов СУД, использующих одинаковые контроллеры, записывается своя программа или свой набор данных.
Информация в ПЗУ может храниться сколь угодно долго, независимо от того, работает контроллер или хранится на складе. Для записи программы и данных используются специальные устройства, которые называются программаторами.
Оперативное запоминающее устройство (ОЗУ)
Область памяти, где хранятся данные, которые в процессе работы изменяются. Это могут быть промежуточные результаты вычислений или значения, полученные от датчиков. В отличие от ПЗУ, информация в ОЗУ теряется после выключения питания контроллера.
Чтобы сохранить данные, которые накапливаются в процессе работы контроллера и участвуют в расчетах как параметры адаптации алгоритмов к конкретному двигателю, в контроллерах существует так называемое энергонезависимое ОЗУ. Оно запитывается от отдельного источника питания, подключаемого непосредственно к аккумуляторной батарее. В режиме хранения это энергонезависимое ОЗУ потребляет очень незначительное количество энергии, что не может привести к разряду батареи, так как ток потребления в этом случае сравним с током саморазряда.
Недостатком такого типа энергонезависимого ОЗУ является то, что процесс адаптации возобновляется каждый раз после отключения питания от аккумулятора. Для устранения этого недостатка в современных контроллерах СУД используют новый тип энергонезависимого ОЗУ, который для хранения информации не требует никакого дополнительного источника питания.
АЦП — аналогово-цифровой преобразователь. Однокристальная микроЭВМ не может работать с аналоговыми сигналами, поэтому в АЦП происходит дискретная выборка мгновенных значений непрерывного аналогового сигнала и преобразование их в цифровой код.
Порты ввода/вывода. Служат для организации взаимодействия микроЭВМ с другими компонентами контроллера. Через них происходит считывание входных и выдача выходных сигналов и информации.
Таймеры/счетчики — это устройства, необходимые для измерения интервалов времени или подсчета числа событий.
Генератор тактовой частоты. Вырабатывает тактовые импульсы синхронизации работы всей системы. От точности его работы зависит точность измерения всех интервалов времени.
Как выглядит ЭБУ и что собой представляет?
Блок управления изготавливают в самых разных корпусах. Зачастую это пластиковые или алюминиевые основания. К примеру, ЭБУ ВАЗ-2172 изготовлен в пластиковом корпусе. На большинстве иномарок корпус металлический. Материал по большей части зависит от места расположения блока. Так, если на моделях от АвтоВАЗ блок установлен в салоне, то он из пластика. Если бы его устанавливали под капотом, сделали бы из металла.
Но корпус – это далеко не весь ЭБУ. Внутри корпуса находится электронная плата. Это и есть ЭБУ. Что это такое, мы уже примерно знаем. Из платы наружу выведены два разъема – это так называемая CAN-шина. К данным разъемам подсоединены провода от всех датчиков и исполнительных устройств. Нужно заметить, что некоторые блоки также оснащаются разъемом для обновления встроенного ПО, а также диагностическим OBD-II выводом. Как и любой компьютер, этот тоже иногда «глючит». Также сбои случаются в датчиках. В помощью диагностического разъема можно считать коды ошибок ЭБУ ВАЗ и тогда будет легче ремонтировать автомобиль. Больше не нужно искать поломки вручную.
Микросхемы ЭБУ подвержены достаточно сильному нагреву. Поэтому корпуса их имеют ребра. Последние выполняют функцию радиаторов, отводя лишнее тепло. Если взять и посмотреть на демонтированный блок, то по внешнему виду блок – это небольшая коробка размером 15 на 10 см, толщина ее составляет не более сантиметра.