Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Эта статья была случайно обнаружена в пыльном и поросшем паутиной чулане редакции «Хакера» во время очередной генеральной уборки. Крис Касперски написал ее еще в 2003 году, но по определенным причинам материал не был опубликован. Сейчас мы решили исправить это. В своем эссе Крис пытался угадать следующий шаг развития вычислительной техники и обратил свой взгляд на троичную логику, которая, по его мнению, могла бы стать основой очередного этапа эволюции высоких технологий. Технические подробности, касающиеся принципов такой архитектуры, не утратили актуальности и сегодня.
Недалекое будущее… Гиганты микропроцессорной индустрии, как никогда, озабочены близостью физических ограничений тактовой частоты и степени интеграции, за которыми устойчивую работу чипов гарантировать станет просто невозможно. Производительности же имеющихся процессоров, даже таких спринтеров, как Pentium-XXX, хватит от силы года эдак на три, после чего потребитель начнет шибко нервничать и пинать конкурентов, которые, воспользовавшись всеобщим замешательством, получат шанс вырваться вперед. В ход идут всевозможные обходные приемы увеличения производительности — распараллеливание вычислений, упреждающие исполнение и загрузка команд.
Примечательно, что вышеперечисленные «новейшие» достижения не являются новейшими в буквальном понимании этого слова — в той или иной форме они были реализованы еще на ламповых машинах, нехило работающих в куда более тесных рамках физических ограничений. Быстродействие и количество электронных ламп в первых ЭВМ, конечно, не идет ни в какое сравнение с числом и резвостью транзисторов в современных компьютерах, но тем не менее факт остается фактом.
Постепенно все эти технологии мигрировали на платформу бытовых микропроцессоров, многократно увеличивая производительность, когда, казалось бы, все ресурсы уже на исходе. Так произошло и на этот раз… Едва начали раздаваться голоса, что конец золотого века микропроцессоров совсем близок и пора начинать перебираться на кластерные суперкомпьютеры, Intel «неожиданно» вспомнила о трехзначной логике.
Но что же это такое — трехзначная логика? И почему она сулит рекордное увеличение производительности при незначительном увеличении аппаратной сложности микропроцессора?
В сознании обывателя компьютеры настолько тесно связаны с логикой двоичной, битами и байтами, что представить что‑то другое большинство из нас просто не в состоянии. На самом деле трехзначная логика не нова, и впервые она была построена Лукасевичем в 1920 году! (Редактор заметил мимоходом, что трилогика в какой‑то мере использовалась в машине Бэббиджа, разработанной в XIX веке. Аристотель же обратил на нее внимание еще раньше. Однако математически осмыслена трилогика была лишь в середине XX века.) Как можно заключить из названия, в ней фигурирует уже не два терма: истина и ложь, а три — истина, ложь и фиг его знает. Покажем преимущества такого нововведения на простом примере.
Спроси первого встречного «В Багдаде сегодня был дождь?». С точки зрения двоичной логики прохожий должен ответить либо «да», либо «нет». Но ни тот ни другой ответ вопрошаемый дать не может, поскольку он вам не метеобюро. Ну не знает он! Да невозможно это сказать языком двоичной логики. Придется нам изменить вопрос. Для начала поинтересуемся — «знаете ли вы сегодня погоду в Багдаде?», и только в случае утвердительного ответа зададим следующий вопрос.
В троичной логике ответ на наш вопрос может быть получен сразу, то есть, говоря языком кибернетики, за один такт работы процессора вместо двух: прохожий ответит «А фиг его знает!». Раз уж мы заговорили о процессорах, рассмотрим простейшую программную задачу: сравним два числа — А и В. Очевидно, что возможны три варианта: A > B, A = B и A < B. В двоичном процессоре эту операцию приходится осуществлять за два прохода. Сначала выясняем, равны ли А и В. Если они окажутся неравны, то вторым заходом уточняем, А больше B или нет. Наглядно это показано на следующем рисунке.
Почему же компьютеры до сих пор строятся на двоичной основе? Причина заключается в аппаратной простоте двоичных вентилей. На определенном этапе развития вычислительной техники бинарная логика оказывалась намного выгоднее и экономичнее! Сегодня же все изменилось. Сложность вентилей стала менее критична их числа и количества соединений между ними. А производительность и вовсе важнее всего! Таким образом, троичные вентили выглядят весьма заманчивым фундаментом для современных компьютеров.
|
|