Основой построения большинства компьютеров являются сформулированные принципы
Обновлено: 21.11.2024
В конце этого месяца (28 декабря) исполняется 100 лет со дня рождения Джона фон Неймана, американского математика венгерского происхождения, который, среди своих многочисленных достижений, был автором основного принципа проектирования компьютеров, известного как "фон Нейманн". архитектура." Компьютеры фон Неймана — предки современных настольных ПК и ноутбуков.
Основная особенность компьютера фон Неймана заключается в том, что программа и любые данные хранятся вместе, обычно на медленно доступном носителе данных, таком как жесткий диск, и передаются по мере необходимости на более быстрый и более изменчивый носитель. носитель данных (ОЗУ) для выполнения или обработки центральным процессором (ЦП). Поскольку так работают практически все современные компьютеры, термин «архитектура фон Неймана» сейчас редко используется, но он был в обиходе в компьютерной профессии до начала 1970-х годов. Когда фон Нейман предложил эту архитектуру в 1945 году, это была радикальная идея. До этого программы рассматривались как часть машины и, следовательно, отличались от данных, с которыми машина работала. Обычный подход заключался в том, чтобы ввести программу с помощью каких-либо физических средств, таких как подключение коммутационной панели, а затем ввести данные для обработки программой.
В 1945 году в первом наброске отчета о EDVAC [планируемом преемнике ENIAC, одном из первых американских компьютеров] фон Нейман предложил концепцию хранимой программы. Идея выросла из обсуждений, которые он провел с несколькими другими пионерами компьютерных технологий, среди которых Дж. Преспер Эккерт, Джон Мочли, Артур Беркс и Герман Голдстайн, которые работали над планами EDVAC. То, что должно было стать известно как архитектура фон Неймана, впоследствии было более полно изложено в статье 1946 года, написанной фон Нейманом, Берксом и Голдстайном, под названием «Предварительное обсуждение логической конструкции электронного вычислительного инструмента».
[Справедливости ради следует отметить, что другие упомянутые выше компьютерные пионеры — и еще несколько, которых я не перечислил, — принимали активное участие в разработке архитектуры, которая должна была носить имя фон Неймана. Фон Нейман в какой-то степени получил главную заслугу, потому что он был тем, кто документировал идеи, разрабатывал концепции и взял на себя ответственность рассказать остальному миру о своей работе. Но в основном он получил славу, потому что уже был известен и по своей природе притягивал внимание публики, о чем я еще расскажу чуть позже.]
Строго говоря, в компьютере фон Неймана есть нечто большее, чем просто тот факт, что инструкции и данные хранятся на одном носителе. Согласно оригинальным документам, предлагающим новую архитектуру, компьютер фон Неймана состоит из пяти частей: арифметико-логического блока, блока управления, памяти, некоторой формы ввода-вывода и шины, обеспечивающей путь данных между этими частями. Такой компьютер работает, выполняя следующую последовательность шагов:
<Цитата>1. Выбрать следующую инструкцию из памяти по адресу счетчика программ. <р>2. Добавьте длину инструкции к программному счетчику. <р>3. Расшифруйте инструкцию с помощью блока управления. Блок управления дает команду остальной части компьютера выполнить некоторую операцию. Инструкция может изменить адрес в программном счетчике, разрешая повторяющиеся операции. Команда также может изменить программный счетчик только в том случае, если какое-либо арифметическое условие истинно, дающее эффект решения, которое может быть вычислено с любой степенью сложности с помощью предшествующей арифметики и логики. <р>4. Вернитесь к шагу 1.Даже на заре вычислительной техники очень немногие компьютеры имели чистую фон-неймановскую архитектуру, а сегодня, насколько мне известно, таких нет. Например, инженеры обычно добавляют еще один шаг для проверки прерываний, что позволяет компьютеру заниматься другими делами, пока он ожидает завершения событий.
У компьютеров фон Неймана есть некоторые недостатки. В частности, они выполняют инструкции одну за другой, в единой линейной последовательности, и тратят много времени на перемещение данных в память и из памяти. Это замедляет работу компьютера — проблема, называемая узким местом фон Неймана. Один из способов обойти узкое место фон Неймана — построить компьютер таким образом, чтобы он выполнял операции параллельно (так называемая параллельная обработка). Другой распространенный прием состоит в том, чтобы разделить шину на две или более шин, одну для инструкций, другую для данных. Но такие модификации на самом деле представляют собой не более чем вариации исходной архитектуры. Во всех отношениях компьютер на вашем столе сегодня — это машина фон Неймана.
Компьютер EDVAC, когда он был окончательно построен в 1952 году, следовал проекту фон Неймана, но первым компьютером фон Неймана, который был сконструирован и работал, был Manchester Mark I, разработанный и построенный в Манчестерском университете в Англии, на котором работал его первый компьютер. программа в 1948 году. Она имела память на 96 слов и выполняла инструкцию за 1.2 миллисекунды. Хотя в то время такая производительность считалась феноменальной, в сегодняшней терминологии «MIPS» — миллионы операций в секунду — Mark I оценивался бы как мучительно медленный 0,00083 MIPS. Напротив, чип IBM G5, на котором работают новейшие компьютеры Macintosh, работает со скоростью 1000 MIPS, что более чем в миллион раз быстрее.
****************************** Джон фон Нейман, урожденный Янош Ньюманн, родился в Будапеште, Венгрия, 28 декабря 1903 г., был старшим из три брата. Его отец, Макс Нойманн, был банкиром, мать, Маргит, происходила из богатой еврейской семьи Канн. В детстве в Венгрии Яноша звали уменьшительной формой его имени Янчи. Позже, когда он стал взрослым, живущим в США, друзья стали называть его Джонни.
Семья не была особо религиозной, и когда во втором десятилетии двадцатого века по всей Европе начал расти антисемитизм, они стали номинально католиками. В 1913 году его отец также приобрел титул, дав семье имя «Нойман фон Маргитта», которое взрослый Джон позже сократил до «фон Нейман».
Джон был не по годам развит интеллектуально и обладал фотографической памятью. В детстве он научился говорить на немецком, французском и классическом греческом языках и накопил энциклопедические знания об исторических событиях. Его любимым трюком на вечеринках было запоминание страницы телефонной книги. Он просил посетителя дома Нойманов выбрать страницу книги, которую затем прочитывал несколько раз. Затем он возвращал книгу посетителю и просил его опросить его на странице, скажем, дав ему имя и попросив номер телефона или заставив его назвать последовательность имен, адресов и номеров по порядку. Он редко ошибался.
Когда Джон в возрасте 8 лет поступил в местную школу в 1911 году, учитель математики сразу признал его гениальность и договорился о специальном обучении у Габора Сего, известного математика из Будапештского университета. Этому, несомненно, облегчал тот факт, что в той же школе, всего на год раньше Джона, учился еще один будущий математический гигант, Юджин Вигнер. К тому времени, когда Джон закончил среднюю школу в 1921 году, его способности в математике были очевидны всем, и он был принят изучать математику в Будапештский университет.
К сожалению, любовь Джона к математике не встретила одобрения его отца, когда он решил, что изучать в университете. Макс Нойманн хотел, чтобы его сын подготовился к карьере в бизнесе. Когда Джон ясно дал понять, что изучение бизнеса ему не по душе, отец и сын остановились на химии как на компромиссном предмете. Итак, Джон поступил в Берлинский университет, чтобы специализироваться на химии, чтобы угодить своему отцу, и в то же время поступил в Будапештский университет, чтобы изучать математику, договорившись о дистанционном обучении у молодого ассистента. Отсутствие возможности посещать лекции по математике в Будапеште явно не мешало прогрессу Джона; в следующем году он вместе со своим наставником написал свою первую работу по математике. В 1926 году он получил диплом инженера-химика Цюрихского университета, куда он перевелся из Берлина в 1923 году, и степень доктора математики в Будапеште. Темой его дипломной работы по математике была теория множеств, фундаментальный предмет которой в то время все еще находился в зачаточном состоянии.
К двадцати пяти годам фон Нейман (теперь явно математик, а не химик) стал знаменитостью в области математики, известной всему международному математическому сообществу. После получения докторской степени. он провел год с великим Давидом Гильбертом в Геттингене и читал лекции в Берлине и Гамбурге. В дополнение к своей работе по теории множеств он проделал новаторскую работу по теории меры, теории действительных переменных и теории игр. Не удовлетворившись этим, он также обратил свое внимание на квантовую теорию, где за два года, с 1927 по 1929 год, более или менее в одиночку разработал всю математическую основу предмета, новаторскую работу, которая привела к приглашению в Принстон. . Его исследовательская работа в начале европейской части его профессиональной карьеры составляла около одной статьи в месяц. (Комитеты по постоянству в современных университетах обычно рассматривают одну или две статьи в год как показатель хорошего математического исследователя!)
Фон Нейман отправился в Принстон в 1930 году, через год после того, как женился на своей невесте Мариетте Ковеси, блестящем студенте-экономисте Будапештского университета и ведущей фигуре в общественной ночной жизни венгерской столицы. В Принстоне он стал одним из шести профессоров-основателей математики (вместе с Альбертом Эйнштейном) недавно созданного Института перспективных исследований. Хотя возвышение Адольфа Гитлера в Германии в конечном итоге сделало невозможным его возвращение в Европу, даже для коротких визитов, как он делал каждое лето в начале 1930-х годов, причина, по которой он сделал Принстон своим постоянным домом, что он и сделал, была полностью академической; он не был беженцем.
У фон Неймана и Мариэтты в 1936 году родилась дочь Марина, но в следующем году их брак распался. Через год он женился на Кларе Дан, дважды разведенной венгерке, с которой познакомился во время одного из своих летних визитов в Европу. Позже в Соединенных Штатах Клара стала одним из первых в мире программистов, написав код для решения математических задач на компьютерах.
Всегда гурман и жизнерадостный человек, фон Нейман был стильным, хотя и консервативным дизайнером, которого легко можно было принять за богатого управляющего банком. Он проявлял большой интерес к людям, был неизлечимым сплетником и прекрасным рассказчиком. Он также имел репутацию человека с явно приземленным чувством юмора. Фон Нейманы привнесли в Принстон немного колорита ночной жизни в стиле Карбаре, которую Джон нашел такой соблазнительной в Берлине в 1920-х годах. Долгие шумные вечеринки, которые он и Клара регулярно устраивали в их доме в Принстоне, вскоре стали известными.
С ростом вероятности войны в конце 1930-х годов фон Нейман начал больше концентрироваться на прикладных областях математики, будучи уверенным, что математика сыграет важную роль в, казалось бы, неизбежном грядущем конфликте, что на самом деле и произошло. Он проводил исследования нелинейных дифференциальных уравнений в частных производных, которые возникают в гидродинамике и теории ударных волн, работа, которая привела к его участию в Манхэттенском проекте по разработке первой атомной бомбы. Его исследования в этой области привели к убеждению, что ключ лежит в разработке численных методов решения уравнений (в отличие от использования классических методов исчисления, которые обычно не подходят для задач, возникающих в реальной жизни). Использование методов численного решения потребовало создания вычислительных устройств для выполнения численных расчетов, что привело к еще одному интересу, который он начал преследовать с удвоенной силой. Вскоре он стал делить большую часть своего времени между двумя областями: проектированием компьютеров и теорией игр. Этот последний предмет, по сути созданный публикацией в 1944 году классической книги фон Неймана с Оскаром Могернштерном «Теория игр и экономическое поведение», должен был стать основой как экономики, так и политического/военного планирования.
В результате его работы в военное время, в начале периода холодной войны, фон Нейман пользовался большим спросом в качестве консультанта вооруженных сил, и ему явно нравилось ходить по коридорам или власти - и общественной жизни, которая может пойти с такими мероприятиями для тех, у кого есть вкус к светской жизни. Среди многих должностей, которые он занимал в 1040-х и 50-х годах, он был членом Научного консультативного комитета в Лабораториях баллистических исследований на Абердинском испытательном полигоне в Мэриленде, членом Управления артиллерийского вооружения ВМФ, консультантом Лос-Аламосской научной лаборатории. Лаборатория, участник Проекта специального оружия Вооруженных сил и член Комиссии по атомной энергии. В то же время он получил множество наград от математического сообщества, включая избрание в Национальную академию наук и должность президента Американского математического общества с 1951 по 1953 год. Он был награжден медалью США за заслуги в 1947 году и медалью США. за свободу в 1956 году.
Джон фон Нейман умер от рака 8 февраля 1957 года в возрасте всего 54 лет. Это трагически ранний возраст для того, чтобы мир потерял одного из настоящих гигантов науки ХХ века.
Угол Девлина обновляется в начале каждого месяца. Математик Кейт Девлин ( [email protected] ) является исполнительным директором Центра изучения языка и информации в Стэнфордском университете и «Парнем-математиком» в выпуске выходного дня NPR. Его последняя книга — «Проблемы тысячелетия: семь величайших нерешенных математических головоломок нашего времени» — только что опубликована в мягкой обложке издательством Basic Books, а прошлой осенью впервые вышла в твердом переплете.
Этот номер штрих-кода позволяет убедиться, что вы получаете именно ту версию или издание книги. Работают как 13-значный, так и 10-значный форматы.
Добавьте свой клуб в книжные клубы Amazon, создайте новый книжный клуб и пригласите своих друзей присоединиться к нему или найдите подходящий вам клуб бесплатно.
Есть более новая версия этого элемента:
Учебник с практическим подходом, который помогает учащимся постепенно построить полную и работающую компьютерную систему, включая аппаратную платформу и иерархию программного обеспечения.
На заре информатики взаимодействие аппаратного обеспечения, программного обеспечения, компиляторов и операционной системы было достаточно простым, чтобы учащиеся могли увидеть общую картину работы компьютеров. С усложнением компьютерных технологий и вытекающей из этого специализацией знаний такая ясность часто теряется. В отличие от других учебников, которые охватывают только один аспект области, "Элементы вычислительных систем" дают учащимся целостную и точную картину прикладной информатики, поскольку она играет роль в построении простой, но мощной компьютерной системы.
Действительно, лучший способ понять, как работают компьютеры, — создать его с нуля, и этот учебник ведет учащихся через двенадцать глав и проектов, которые постепенно создают базовую аппаратную платформу и современную программную иерархию с нуля. В процессе студенты получают практические знания об архитектуре оборудования, операционных системах, языках программирования, компиляторах, структурах данных, алгоритмах и разработке программного обеспечения. Используя этот конструктивный подход, книга раскрывает значительный объем знаний в области компьютерных наук и демонстрирует, как теоретические и прикладные методы, изучаемые в других курсах, вписываются в общую картину.
Книга, предназначенная для одно- или двухсеместрового курса, основана на парадигме абстракции-реализации; каждая глава представляет ключевую аппаратную или программную абстракцию, предлагаемую реализацию, которая конкретизирует ее, и фактический проект. Появляющуюся компьютерную систему можно построить, следуя главам, хотя это только один из вариантов, поскольку проекты самодостаточны и могут быть выполнены или пропущены в любом порядке. Все знания в области компьютерных наук, необходимые для выполнения проектов, включены в книгу, и единственным обязательным условием является наличие опыта программирования.
Веб-сайт книги предоставляет все инструменты и материалы, необходимые для создания всех аппаратных и программных систем, описанных в тексте, включая двести тестовых программ для двенадцати проектов. Проекты и системы могут быть изменены в соответствии с различными потребностями обучения, а все поставляемое программное обеспечение является открытым.
Шимон Шокен и еще 1 преподаватель
Доступна финансовая помощь
Создание современного компьютера с нуля: от Nand до Tetris (проектный курс)
Об этом известно
Чего вы добьетесь:
В этом проектно-ориентированном курсе* вы создадите современную компьютерную систему с нуля. Мы разделим это увлекательное путешествие на шесть практических проектов, которые проведут вас от создания элементарных логических вентилей до создания полностью функционирующего компьютера общего назначения. В процессе вы самым прямым и конструктивным образом узнаете, как работают компьютеры и как они устроены. Что вам понадобится: Это автономный курс: все знания, необходимые для успешного прохождения курса и создания компьютерной системы, будут даны как часть учебного процесса. Поэтому мы не предполагаем никаких предыдущих знаний в области информатики или инженерии, и все учащиеся приветствуются на борту. Вам не понадобятся физические материалы, так как вы будете собирать компьютер на своем собственном ПК, используя программный аппаратный симулятор, точно так же, как настоящие компьютеры разрабатываются компьютерными инженерами в полевых условиях. Аппаратный симулятор, а также другие программные инструменты будут предоставлены бесплатно после того, как вы зарегистрируетесь на курс. Формат курса: Курс состоит из шести модулей, каждый из которых состоит из серии видеолекций и проекта. Вам понадобится около 2-3 часов, чтобы посмотреть лекции каждого модуля, и около 5-10 часов, чтобы выполнить каждый из шести проектов. Курс можно пройти за шесть недель, но вы можете проходить его в своем собственном темпе. Вы можете посмотреть доклад TED об этом курсе, набрав в Google «nand2tetris TED talk». *О курсах, ориентированных на проекты: Курсы, ориентированные на проекты, предназначены для того, чтобы помочь вам выполнить личный значимый проект из реальной жизни, а ваш инструктор и сообщество учащихся со схожими целями будут давать советы и предложения на этом пути. Активно применяя новые концепции по мере обучения, вы более эффективно освоите содержание курса; вы также получите преимущество в использовании полученных навыков, чтобы внести позитивные изменения в свою жизнь и карьеру. Когда вы закончите курс, у вас будет законченный проект, который вы будете гордиться тем, что будете использовать его и делиться им.
Субтитры: Арабский, Французский, Португальский (Европа), Итальянский, Вьетнамский, Немецкий, Русский, Английский, Иврит, Испанский
Чарльз Бэббидж (1791–1871), пионер компьютерной техники, разработал два класса машин: разностные машины и аналитические машины. Разностные машины названы так из-за математического принципа, на котором они основаны, а именно метода конечных разностей. Прелесть этого метода в том, что он использует только арифметическое сложение и устраняет необходимость в умножении и делении, которые сложнее реализовать механически.
Разностные машины — это строго калькуляторы. Они перемалывают числа единственным известным им способом — многократным сложением по методу конечных разностей. Их нельзя использовать для общих арифметических вычислений. Аналитическая машина — это гораздо больше, чем калькулятор, и она знаменует собой переход от механизированной арифметики вычислений к полноценным вычислениям общего назначения. На разных этапах развития его идей было как минимум три проекта. Так что совершенно правильно говорить об аналитических машинах во множественном числе.
Двоичный, десятичный формат и обнаружение ошибок
Вычислительные машины Бэббиджа представляют собой десятичные цифровые машины. Они десятичные в том смысле, что в них используются знакомые десять цифр от «0» до «9», и цифровые в том смысле, что только целые числа распознаются как действительные. Числовые значения представлены шестеренками, и каждой цифре числа соответствует свое колесо. Если колесо останавливается в положении, промежуточном между целыми числовыми значениями, значение считается неопределенным, и двигатель заклинивает, чтобы указать, что целостность расчета была нарушена. Глушение — это форма обнаружения ошибок.
Бэббидж рассматривал возможность использования систем счисления, отличных от десятичной, включая двоичную систему счисления, а также системы счисления 3, 4, 5, 12, 16 и 100. Он остановился на десятичной системе из соображений инженерной эффективности — чтобы уменьшить количество движущихся частей — а также за их повседневное знакомство.
Разностная машина №1
Бэббидж начал в 1821 году с Разностной машины № 1, предназначенной для вычисления и табулирования полиномиальных функций. Проект описывает машину для расчета ряда значений и автоматической печати результатов в таблице. Неотъемлемой частью концепции дизайна является печатающее устройство, механически связанное с вычислительной секцией и являющееся неотъемлемой частью ее. Разностная машина № 1 — это первый законченный проект автоматической вычислительной машины.
Время от времени Бэббидж менял мощность Двигателя. На чертеже 1830 года показана машина, выполняющая вычисления с шестнадцатью цифрами и шестью порядками разности. Для двигателя потребовалось около 25 000 деталей, поровну распределенных между вычислительной секцией и принтером. Если бы он был построен, то весил бы примерно четыре тонны и имел бы высоту около восьми футов. Работы по строительству двигателя были остановлены в 1832 году из-за спора с инженером Джозефом Клементом. Государственное финансирование было окончательно прекращено в 1842 году.
Аналитическая машина
Поскольку строительный проект застопорился и освободился от деталей детальной конструкции, Бэббидж в 1834 году задумал более амбициозную машину, позже названную Аналитической машиной, программируемой вычислительной машиной общего назначения.
Аналитическая машина обладает многими важными функциями, присущими современному цифровому компьютеру. Его можно было запрограммировать с помощью перфокарт - идея, заимствованная у жаккардового станка, используемого для ткачества сложных узоров на текстиле. В движке было «Хранилище», где могли храниться числа и промежуточные результаты, и отдельная «Мельница», где выполнялась арифметическая обработка. Он имел внутренний репертуар из четырех арифметических функций и мог выполнять прямое умножение и деление. Он также мог выполнять функции, для которых у нас есть современные названия: условное ветвление, зацикливание (итерация), микропрограммирование, параллельная обработка, итерация, фиксация, опрос и формирование импульса, среди прочего, хотя Бэббидж нигде не использовал эти термины. У него было множество выходных данных, включая распечатку на бумаге, перфокарты, построение графиков и автоматическое производство стереотипов - лотков из мягкого материала, в которые впечатывались результаты, которые можно было использовать в качестве форм для изготовления печатных форм.
Логическая структура аналитической машины была по существу такой же, как и та, которая доминировала в компьютерном дизайне в эпоху электроники — отделение памяти («Хранилище») от центрального процессора («Мельница»), последовательная работа с использованием «цикла выборки-выполнения» и средств для ввода и вывода данных и инструкций. Называть Бэббиджа «первым пионером компьютерных технологий» не просто так.
Новая разностная машина
После того как к 1840 году новаторская работа над аналитической машиной была практически завершена, Бэббидж задумался о новой разностной машине. Между 1847 и 1849 годами он завершил разработку разностной машины № 2, улучшенной версии оригинала. Этот движок вычисляет числа длиной в тридцать одну цифру и может табулировать любой многочлен до седьмого порядка.Конструкция была элегантно простой и требовала лишь примерно одной трети частей, требуемых в разностной машине № 1, обеспечивая при этом аналогичную вычислительную мощность.
Дифференциальная машина № 2 и аналитическая машина имеют одинаковую конструкцию принтера — устройства вывода с замечательными функциями. Он не только производит распечатку на бумажном носителе в качестве контрольной копии, но также автоматически стереотипирует результаты, то есть отпечатывает результаты на мягком материале, например, на гипсе, который можно использовать в качестве формы, из которой может сделанный. Устройство печатает результаты автоматически и допускает программируемое форматирование, т. е. позволяет оператору предварительно задать расположение результатов на странице. Изменяемые пользователем функции включают переменную высоту строки, переменное количество столбцов, переменные поля столбцов, автоматический перенос строк или перенос столбцов, а также оставление пустых строк через каждые несколько строк для удобства чтения.
Физическое наследие
За исключением нескольких частично законченных механических узлов и тестовых моделей небольших рабочих секций, ни один из проектов Бэббиджа не был полностью физически реализован при его жизни. Основная сборка, которую он выполнил, была одной седьмой части Разностной машины № 1, демонстрационного образца, состоящего примерно из 2000 деталей, собранных в 1832 году. Она безупречно работает по сей день и является первым успешным автоматическим вычислительным устройством, воплощающим математическое правило в механизме. Небольшая экспериментальная часть аналитической машины строилась на момент смерти Бэббиджа в 1871 году. Многие из небольших экспериментальных сборок сохранились, как и обширный архив его рисунков и записных книжек.
Конструкции огромных механических вычислительных машин Бэббиджа считаются одним из поразительных интеллектуальных достижений 19 века. Только в последние десятилетия его работа была подробно изучена, и масштабы его достижений становятся все более очевидными.
Читайте также: