English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

гость
1 / ?
назад к урокам

Аналоговые и цифровые предшественники

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

Непер (1550–1617)

Джон Непер изобрел логарифмы, которые позволили создать логарифмическую линейку — аналоговое устройство, где физическая длина представляет логарифмическое значение. Сложение длин = умножение чисел. Непер также разработал «кости Непера»: костяные стержни для помощи в умножении. Цифровой инструмент, не следует путать с логарифмической линейкой.

От Шикарда к Бэббиджу

Вильгельм Шикард (1623) разработал машину для четырех арифметических операций; она загорелась до завершения. Паскаль (1623–1662) построил суммирующую машину для налогового учета. Лейбниц добавил умножение и деление, но машины были ненадежны.

Чарльз Бэббидж (1791–1871) разработал разностную машину: машину для вычисления полиномов в равномерно распределенных значениях посредством последовательного сложения, производящую безошибочные печатные таблицы. Он никогда не завершил это; норвежская семейная команда (Шойц) построила рабочие версии. В 1992 году команда в Англии построила аналитическую машину Бэббиджа по его чертежам — она работала.

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

Релейные компьютеры до ENIAC

Современная эра вычислений началась с релейных компьютеров в начале 1940-х годов. Хэмминг отследил эволюцию скорости:

ЭраТехнологияСкорость
До 1940Ручной калькулятор1/20 опс/сек
~1940Реле (Bell Labs)1 опс/сек
1946ENIAC (электронная лампа)~5000 опс/сек
1952IBM 701~17000 опс/сек
~1993Современная рабочая станция10⁹ опс/сек

Джордж Стибиц в Bell Telephone Laboratories построил релейные компьютеры из запчастей осужденных пушечных наводчиков M9. Хэмминг использовал один много лет. Эти релейные машины были не быстрыми — примерно одна операция в секунду — но они были надежны и программируемы.

ENIAC (1945–1946) первоначально работал по проводке коммутационной панели, как гигантский компьютер с коммутационной панелью. Ник Метрополис и Дик Клипперджер позже преобразовали его в десятичное переключательное программирование из баллистических таблиц. ENIAC потреблял примерно 150 кВт.

Внутреннее программирование стало практичным только при наличии достаточного хранилища. Роль фон Неймана была в качестве консультанта для Мочли и Эккерта; внутреннее программирование обсуждалось среди группы до участия фон Неймана, хотя его широко распространяемые (но никогда формально не опубликованные) отчеты распространяли концепции.

Кривая скорости закона Мура

Порядки величины в скорости

Прогрессия скорости от ручного калькулятора к рабочей станции 1990-х годов охватывает более десяти порядков величины примерно за 50 лет.

Из таблицы скорости Хэмминга: ручной калькулятор на 1/20 опс/сек к современной рабочей станции на 10⁹ опс/сек. Во сколько раз увеличилась скорость вычисления? Выразите ваш ответ как степень 10 и объясните, что это изменение порядка величины означает для того, что становится вычислительно возможным.

Где оборудование не может пойти

Хэмминг представил три физических ограничения, которые ограничивают скорость, с которой компьютеры в конечном итоге могут работать. Это были не инженерные проблемы, которые изобретательность преодолеет — это были законы физики.

Ограничение 1: Размер молекулы

Компоненты не могут сжиматься ниже атомных размеров. Затвор транзистора шириной в 10 атомов: туннелирование квантов доминирует и транзистор перестает переключаться надежно. К 1993 году Хэмминг оценил, что переход ниже ~100 000 атомов расстояния между соединенными устройствами (примерно 3 пикосекунды времени распространения света) представляет реальную физическую границу.

Ограничение 2: Скорость света

Сигналы распространяются максимум со скоростью c = 3×10⁸ м/с в вакууме (меньше в проводе, примерно 2×10⁸ м/с). Цикл часов 1 ГГц составляет 1 наносекунду; за 1 нс свет проходит 30 см. Чип, который должен отправить сигнал на 15 см и получить ответ в течение одного цикла часов, работает близко к пределу скорости света.

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

Ограничение 3: Рассеивание тепла

Больше компонентов на единицу площади + более быстрое переключение = больше мощности на единицу площади = больше тепла. Тепло должно рассеиваться, иначе компоненты расплавляются. К 1993 году рабочие напряжения снижались до 2-3 В для снижения мощности переключения. Алмазные слои как проводники тепла были в стадии исследования. Обратимые вычисления (термодинамически без потерь) существовали только в теории.

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

Применение предела скорости света

Процессор работает на 3 ГГц. Один цикл часов = 1/3 нс ≈ 0,333 нс. Скорость сигнала в меди: ~2/3 c ≈ 2×10⁸ м/с.

Для трехгигагерцевого процессора, где сигналы распространяются со скоростью 2×10⁸ м/с: какое максимальное расстояние туда и обратно сигнал может пройти за один цикл часов? Если ядро процессора должно взаимодействовать с микросхемой кэша L3 на расстоянии 5 см, сколько циклов часов займет туда и обратно? Покажите свою работу.

Эксперты, которые были спектакулярно неправы

Хэмминг отметил один из самых известных случаев неудачного прогноза в истории технологии: эксперты в конце 1940-х годов оценили, что миру потребуется максимум три-пять компьютеров. Том Уотсон из IBM, как сообщается, сказал два.

К 1993 году было миллионы компьютеров в эксплуатации.

Почему эксперты ошибались

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

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

Параллельные архитектуры

Скорость однопроцессорных систем приближалась к насыщению в 1990-х годах. Ответ индустрии: несколько арифметических блоков, конвейеры, иерархии кэша и массово параллельные машины. К 1993 году не было единой доминирующей параллельной архитектуры — много конкурирующих конструкций с разными компромиссами и разными моделями программирования. Хэмминг отметил эту фрагментацию как проблему: без стандарта усилия программирования делятся между несовместимыми системами.

Почему эксперты прогнозируют неправильно

Хэмминг рассматривал прогноз 3-5 компьютеров не как любопытство, а как урок о пределах экспертных знаний. Эксперты хорошо моделируют настоящее; они ошибаются в приложениях, которые еще не существуют.

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

Данные Лос-Аламоса и уравнение роста

Хэмминг цитировал график, составленный Национальной лабораторией Лос-Аламоса (LANL), отслеживающий скорость самого быстрого компьютера на рынке в каждый момент времени. Данные соответствовали экспоненциальному уравнению: скорость примерно удваивалась каждые 18 месяцев — позже популяризованной как закон Мура для количества транзисторов.

Уравнение LANL: скорость(t) = скорость₀ × 10^(bt), где b ≈ 0,09 в год (удвоение примерно каждые 3,3 года в операциях в секунду, отличается от удвоения количества транзисторов).

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

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

Хэмминг цитировал уравнение LANL, показывающее, что скорость вычисления росла примерно на 10^(0,09t) в год (скорость в опс/сек, t в годах от какого-то базового года). Начиная со скорости IBM 701 1952 года ~17000 опс/сек, предсказать скорость в 1993 году (41 год позже). Сравните свой ответ с указанным значением Хэмминга примерно 10⁹ опс/сек. Совпадают ли цифры? Если они расходятся, что это говорит вам о модели?