Выбрать главу

Огромным преимуществом фон-неймановской архитектуры является ее простота, поэтому данная концепция легла в основу большинства компьютеров общего назначения. Однако использование общей шины означает, что в любой момент времени может выполняться только одна операция. Соответственно, пересылка данных между ЦПУ и памятью данных не может осуществляться одновременно с выборкой команды из памяти программ. Эту особенность иногда называют фон-неймановским узким местом.

Рис. 3.1. Элементарная фон-неймановская вычислительная машина (шина адреса не показана)

В первое послевоенное десятилетие в Гарвардском университете было создано несколько компьютеров семейства «Марк», от «Марк 1» до «Марк 4», в которых память программ была полностью отделена от памяти данных (в первых машинах «Марк 1» и «Марк 2» программа считывалась с бумажной перфоленты). Такая концепция была более эффективной, чем фон-неймановская (или, как ее иногда называют, принстонская[46] архитектура, поскольку код программы мог считываться из памяти программ одновременно с обменом между ЦПУ и памятью данных или с операциями ввода/вывода. Однако такие машины были намного сложнее и дороже в изготовлении. А с учетом уровня технического развития 50-х годов, да еще и после проигрыша в конкурсе на создание компьютера для контроля сети континентальных радиолокационных станций, устроенного Министерством обороны США, они и вовсе не получили широкого распространения. Однако с развитием сложных интегральных схем эта гарвардская архитектура снова оказалась в центре внимания.

На Рис. 3.2 показаны две физически разделенные шины, используемые для передачи информации между ЦПУ и этими неперекрывающимися областями памяти. Каждая память имеет собственную шину адреса, поэтому адрес ячейки памяти программ никоим образом не связан с адресом ячейки памяти данных. В таком случае говорят, что обе области памяти находятся в различных адресных пространствах. Память данных иногда называют файловой памятью, в этом случае n-я ячейка обозначается как файл n.

Рис. 3.2. Элементарная гарвардская вычислительная машина (шины адреса не показаны)

А теперь давайте познакомимся поближе с различными элементами компьютерной архитектуры.

Центральный процессор

Центральный процессор состоит из связки АЛУ/рабочий регистр и соответствующей управляющей логики. По сигналам схемы управления команды программы выбираются из памяти, дешифруются и исполняются. Данные, которые получаются или используются во время выполнения программы, также располагаются в памяти. Этот цикл «выборка — исполнение» образует рабочий ритм вычислительной машины и повторяется непрерывно в течение всего времени, когда система находится в активном состоянии.

Память

Во всех вычислительных устройствах память используется для хранения как кода программы, так и данных. Память с произвольным доступом характеризуется содержимым, хранящимся в группе ячеек, и расположением (адресом) каждой ячейки. В случае фон-неймановской архитектуры и программа, и данные располагаются в одной области памяти, тогда как при использовании гарвардской архитектуры эти объекты располагаются в совершенно разных областях. То есть адреса одной области памяти никоим образом не связаны с адресами другой области. В обоих случаях данные, хранящиеся в памяти, передаются в ЦПУ по шине данных. При этом ЦПУ выставляет на шину адреса код адреса той ячейки, к которой он собирается обратиться. В системах с гарвардской архитектурой каждая область памяти имеет собственные шины адреса и данных (Рис. 3.4). В запоминающих устройствах с произвольным доступом длительность операции чтения или записи любой из ячеек не зависит от положения этой ячейки в адресном пространстве.

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

вернуться

46

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