Прежде чем рассматривать архитектуру компьютера, надо заметить, что к Электронным Вычислительным Машинам - ЭВМ - можно отнести не только персональный компьютер, но и множество устройств бытового назначения. Общие признаки, выдающие спрятанную в устройство микро-ЭВМ выдают наличие процессорного блока, блока памяти и устройств ввода и вывода информации.
В основу архитектуры современных ПК положены принципы модульности и принцип магистрального обмена информации. Модульность позволяет пользователю комплектовать нужную ему конфигурацию самостоятельно, и производить при необходимости ее модернизацию. Модульная организация компьютера опирается на магистральный (шинный) принцип обмена информацией между устройствами.
Магистраль - вообще говоря, это та куча проводов и дорожек на плате, по которой передаются сигналы между устройствами - включает в себя три многоразрядные
шины: шину данных, шину адреса и шину управления. Шины - это многопроводные линии. То есть, куча проводов разбита на кучки поменьше. Смысл в том, что к каждой шине подключены все устройства одновременно. Как они не мешают друг другу? Они "договариваются" между собой, какие из них могут пользоваться шиной для передачи данных в каждый момент времени.
Каждое из устройств одномоментно может либо получать данные, либо передавать их, либо заниматься своими собственными делами - то есть (кроме процессора) находиться в состоянии ожидания.
Шина данных. По этой шине идут данные между различными устройствами. Например, считанные из оперативной памяти данные могут быть переданы процессору для обработки. Новые данные после этого могут быть пересланы обратно в оперативную память для хранения.
Разрядность шины данных определяется разрядностью процессора. Разрядность - это количество двоичных разрядов, которые процессор обрабатывает за один такт. По мере развития компьютерной техники разрядность процессоров непрерывно увеличивается. В общем случае, разрядность процессора требует такой же разрядности от устройств хранения данных.
Процессор, с самого включения работает непрерывно. Он устроен так, что должен либо считывать данные, либо выдавать их либо производить действия с полученными. Если вдруг вам покажется, что компьютер в какой-то момент ничего не делает, то знайте, что это не так - процессор в этот момент "крутит бесконечный цикл", непрерывно опрашивая устройства ввода, не появилось ли там чего.
Шина адреса.Все устройства, в том числе и все ячейки памяти, которых в современном компьютере уже даже не миллионы, а больше, подключены к шине данных. Как разобраться, в какую ячейку, например, в данный момент должны быть записаны значения, передаваемые по шине? Выбор устройства или ячейки памяти, куда пересылаются или откуда считываются данные по шине данных, производит процессор. Каждое устройство или ячейка оперативной памяти имеет свой уникальный адрес. Адрес передается по адресной шине, причем сигналы по ней передаются исключительно в одном направлении от процессора к оперативной памяти и устройствам. Такая организация шины называется однонаправленной.
Очевидно, что разрядность шины адреса определяет адресное пространство процессора, т.е. количество ячеек оперативной памяти, которые могут иметь уникальные адреса. Количество адресуемых ячеек памяти можно рассчитать по формуле: N =2n, где n — разрядность шины адреса.
Разрядность шины адреса постоянно увеличивалась и в современных персональных компьютерах составляет 32 бит. Таким образом, максимально возможное количество адресуемых ячеек памяти равно: N = 232 = 4 294 967 296, т.е. 4 Гигабайта!
Шина управления. По шине управления передаются сигналы, определяющие характер обмена информацией по магистрали. Сигналы управления определяют какую операцию считывание или запись информации из памяти нужно производить, синхронизируют обмен информацией между устройствами и т.д.
В основе архитектуры большинства современных моделей компьютеров положены общие принципы, сформулированные в 1945 г. американским ученым Джоном фон Нейманом.
Принцип программного управления. Программа состоит из набора команд, выполняющихся процессором автоматически в определенной последовательности.
Выборка программы из памяти осуществляется с помощью счетчика команд. Этот регистр процессора последовательно увеличивает хранимый в нем адрес очередной команды на длину команды. А так как команды программы расположены в памяти друг за другом, то тем самым организуется выборка цепочки команд из последовательно расположенных ячеек памяти. Если же нужно после выполнения команды перейти не к следующей, а к какой-то другой, используются команды условного или безусловного перехода, которые заносят в счетчик команд номер ячейки памяти, содержащей следующую команду. Выборка команд из памяти прекращается после достижения и выполнения команды «стоп».
Таким образом, процессор исполняет программу автоматически, без вмешательства человека.
Принцип однородности памяти. Программы и данные хранятся в одних и тех же ячейках памяти, поэтому компьютер не различает, что хранится в данной ячейке — число, текст или команда. Над кодами команд можно выполнять такие же действия, как и над данными. Поэтому, программы могут храниться на жестком диске в виде файлов, быть считаны в оперативную память и исполнены в любой момент.
Принцип однородности памяти открывает еще целый ряд возможностей. Например, программа в процессе своего выполнения также может подвергаться переработке, что позволяет задавать в самой программе правила получения некоторых ее частей (так в программе организуется выполнение циклов и подпрограмм).
Более того, команды одной программы могут быть получены как результаты
исполнения другой программы. На этом принципе основаны методы трансляции — перевода текста программы с языка программирования высокого уровня на язык конкретной машины.
Очень изощрены в использовании однородности памяти вирусописатели. Некоторые вирусы, дабы не быть обнаружеными антивирусом по участку своего кода, расшифровывают его по мере исполнения. Такие вирусы зовутся полиморфными, и заслуживают написания отдельной статьи.
Принцип адресности. Структурно основная память состоит из перенумерованных ячеек. Процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти так, чтобы к запомненным в них значениям можно было впоследствии обращаться или менять их в процессе выполнения программ с использованием присвоенных имен.
|