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