1 Информатика 12 Лекция 12. Архитектура компьютера - 1 Ключевые слова настоящей лекции архитектура компьютера, гарвардская и фоннейманская архитектуры, материнская плата, процессор, шины данных, адреса, управления, АЛУ, УУ, регистры, кэш-память, RAM,ОЗУ, ROM, ПЗУ, BIOS, CMOS Архитектура вычислительной машины (Computer architecture) – это концептуальная структура вычислительной машины. Структура компьютера — это совокупность его функциональных элементов и связей между ними. Архитектура определяет взаимное соединение основных логических узлов компьютера и принципы их действия. Любой компьютер состоит из: блока управления; арифметико-логического устройства (процессор); памяти; устройств ввода-вывода. Гарвардская архитектура Исторически первой появилась гарвардская структура, разработанная Говардом Эйкеном в конце 1930-х годов в Гарвардском университете и реализованныя в компьютере Марк-1. В первом компьютере Эйкена «Марк I» для хранения инструкций использовалась перфорированная лента, а для работы с данными — электромеханические регистры. Это главный отличительный признак – раздельное хранение и обработка команд и данных (использование раздельных адресных пространств). Это позволяло одновременно пересылать и обрабатывать команды и данные, благодаря чему значительно повышалось общее быстродействие. Принципиально невозможно производить операцию записи в память программ, что исключает возможность случайного разрушения управляющей программы в случае неправильных действий над данными. Она почти не использовалась до конца 70х годов. Однако оказалось, что в микрокомпьютерах объем данных очень невелик по сравнению с управляющей программой. Применение отдельной небольшой по объему памяти данных способствует сокращению длины команд и ускорению поиска информации в памяти данных. Гарвардская архитектура применяется в микроконтролерах, где требуется обеспечить высокую надёжность работы аппаратуры. Однако такая схема имеет очевидный недостаток — высокую стоимость. При разделении каналов передачи команд и данных процессор должен иметь почти в два раза больше выводов (раздельно для шины адреса и шины данных). Принципы фон Неймана; фоннеймановская архитектура В большинстве современных IBM-совместимых компьютерах реализована архитектура фон Неймана, основанная на «принципах фон Неймана». Перечислим некоторые принципы, важные в рамках данного курса. 1. Для представления данных и команд используется двоичная система (логика. алгебра и арифметика); 2 2. команды и данные хранятся в одной и той же памяти, над командами можно выполнять такие же (двоичные) действия, как и над данными; 3. Все команды располагаются в памяти и обычно выполняются последовательно. хотя возможен и условный переход – «перескакивание» через серию команд. Такая организация позволяет производит загрузку и выгрузку управляющих программ в произвольное место памяти, которая в этой структуре не разделяется на память программ и память данных. Любой участок памяти может служить как памятью программ, так и памятью данных. Причём в разные моменты времени одна и та же область памяти может использоваться и как память программ и как память данных. Для того, чтобы программа могла работать в произвольной области памяти, её необходимо модернизировать перед загрузкой, то есть работать с нею как с обычными данными. Эта особенность архитектуры позволяет наиболее гибко управлять работой микропроцессорной системы. С другой стороны, это создаёт принципиальную возможность искажения управляющей программы, что понижает надёжность работы аппаратуры. Подавляющее большинство современных компьютеров основаны именно на указанных принципах, включая и сложные многопроцессорные комплексы, которые можно рассматривать как объединение фон-неймановских машин. Архитектура компьютера IBM Работа над первым персональным компьютером IBM PC была закончена в 1981 году компанией IBM. Разработчикам была предоставлена полная сводоба действий и очень ограниченный бюджет. Свобода состояла в том, чтобы не заниматься разработкой персонального компьютера (ПК) «с нуля», а воспользоваться готовыми блоками других фирм. Сотрудники подразделения стали выбирать лучшие предложения, имеющиеся на тот момент. В качестве основного микропроцессора компьютера был выбран новенький тогда микропроцессор Intel-8088 (известнейшей на сегодняшний день фирмы Intel). Японский зеленый экран монитора (нет пореключаталя «вкл/выкл - ») (24 строки, 80 позиций), «кликающая» клавиатура с небольшими клавишами Shift и Return и дисковая операционная система DOS малоизвестной фирмы Microsoft. Фирма IBM сделала компьютер не единым неразъемным устройством, а обеспечила возможность его сборки из независимо изготовленных частей аналогично детскому конструктору. Существовал некий базовый состав блоков, необходимый для работы ПК (осуществляет обработку информации). Он смонтирован на основной электронной плате компьютера IBM PC (системной, или материнской, плате). Узлы, управляющие всеми остальными устройствами компьютера – монитором, дисками, принтером – реализованы на отдельных платах (контроллерах), которые вставляются в стандартные разъемы на системной плате – слоты. К этим электронным схемам подводится электропитание из единого блока питания, а для удобства и надежности все это заключается в общий металлический или пластмассовый корпус – системный блок. Ни эти компоненты, ни система вводавывода не были лицензированы. Более того, методы сопряжения устройств с компьютером IBM PC не только не держались в секрете, но и были доступны всем желающим, принцип соединения частей в целое был подробно описан. В этом состоит принципиальное отличие IBM-совместимых компьютеров с открытой архитектурой и Macintosh, которые построены на закрытой архитектуре. Основополагающие принципы открытой архитектуры следующие: конструкция предусматривает возможность расширения системы; использование технических решений и технологий не требует лицензионных затрат; возможно изменение базового состава системы самим пользователем. 3 Компьютер получается модульным. Он легко расширяется и модернизируется с использованием этих гнезд, к которым пользователь может подключать разнообразные устройства, удовлетворяющие заданному стандарту, и тем самым конфигурировать свою машину в соответствии с личными предпочтениями. Это возможно потому, что каждый из функциональных элементов (память, монитор или другое устройство) подсоединяется к единой общей для всего компьютера магистрали – системной шине. Можно сказать, что это провод с ответвлениями, идущими к слотам. Для согласования работы (интерфейсов) периферийные устройства подключаются к шине не напрямую, а через свои контроллеры или адаптеры (наборы электронных цепей, узлы), которые и соединяются со слотами. Открытая архитектура позволяет другим производителям разрабатывать дополнительные устройства к системам с такой архитектурой. Детали компьютера совместимы и взаимозаменяемы, компьютер легко модернизировать, приобретая и устанавливая новые устройства, заменять вышедшие из строя и устаревшие детали новыми. Наибольшую выгоду от открытости архитектуры IBM PC получили пользователи, поскольку открытость архитектуры IBM PC привела к появлению множества производителей «IBM PCсовместимых компьютеров» и росту конкуренции между производителями комплектующих, что привело к удешевлению деталей компьютеров и их широкому распространению. Базовые компоненты компьютера Существует некий базовый состав блоков, необходимый для работы ПК, а открытая система позволяет пользователю самостоятельно дополнять и изменять блочный состав компьютера, при этом, конечно же, функциональная завершенность системы не должна быть нарушена. Один центральный процессор (серии x86 фирмы Intel или их аналоги). Система имеет BIOS - средство поддержки этого набора компонентов. Задействован механизм конфигурирования. ПК имеет системный реестр и память для хранения сведений о конфигурации системы. Реализована система прерываний и прямого доступа к памяти. Всем устройствам компьютера выделены "свои" адреса. Процессор и основная память находятся на большой плате, которая называется материнской. Для подключения к ней периферийных устройств (дисководов, манипуляторов типа мыши, принтеров и т.д.) служат специальные платы - контроллеры. Они вставляются в разъемы (слоты) на материнской плате, а к их концу(порту), выходящему наружу компьютера, подключается дополнительное устройство. Таким образом, периферийные устройства подключаются к системной магистрали не непосредственно, а через специальные устройства - контроллеры. К магистрали подключены блоки компьютера. Все устройства пронумерованы. Для обращения процессора к внешнему устройству в магистраль посылается его адрес. Устройство может быть свободно или занято. Приняв сигнал "свободно", процессор посылает ему информацию. Контроллер внешнего устройства можно сравнить с телефонным аппаратом, который принимает сигнал от процессора и дешифрует его. Например, контроллер экрана, приняв от процессора сигнал 01000001 (код буквы "А"), преобразует его в указание электронно-лучевой трубке изобразить на экране букву "А". 4 Процесс взаимодействия компонентов компьютера можно рассмотреть на примере процессора и памяти. Их взаимодействие сводится в основном к двум операциям: запись информации в память и чтение информации из памяти. Шина имен не один, а три канала связи, три отдельных кабеля, причем некоторые из них – многожильные. При записи процессор по специальным проводникам (они называются шиной адреса) передает биты, кодирующие адрес; по другим проводникам (они называются шиной управления) передает управляющий сигнал - "запись" и по еще одной группе проводников (она называется шиной данных) передает записываемую информацию. (Внимание, ребята! Вот Вы, девушка в синем свитере, да, да! Поднимите руку!). При чтении также по шине адреса передается соответствующий адрес оперативной памяти и с шины данных считывается требуемая информация. Число одновременно передаваемых по шине адреса и шине данных разрядов (битов) называется разрядностью соответствующей шины; разрядность шины данных - максимальную порцию информации, которую можно получить из памяти за один раз. Обычно объем оперативной памяти компьютера меньше, чем максимально возможный для процессора. Более полный список компонентов компьютера: кроме материнской платы включает центральный процессор, генератор тактовой частоты, пульт управления, память-ОЗУ, ПЗУ, CMOS, чипсет, контроллеры, порты, устройства В/В. Системная шина Основной обязанностью системной шины является передача информации между процессором и остальными компонентами компьютера. По этой шине осуществляется не только передача информации, но и адресация устройств, а также обмен специальными служебными сигналами. Таким образом, упрощенно системную шину (магистраль) можно представить как совокупность сигнальных линий, объединенных по их назначению (данные, адреса, управление). Основной характеристикой этих линий является их разрядность - разрядность адресной шины, шины данных. Шина адреса предназначена для передачи по ней адреса того устройства или той ячейки памяти, к которым обращается процессор. Адрес на нее выдает всегда только процессор. По шине данных передается вся информация. При операции записи информацию на нее выставляет процессор, а считывает то устройство (например, память или принтер), адрес которого выставлен на шине адреса. При операции чтения информацию выставляет устройство, адрес которого выставлен на шине адреса, а считывает процессор. На шине управления устанавливаются управляющие сигналы, такие, например, как сигналы чтения, записи, готовности. Кроме того, каждое внешнее устройство, которому нужно обратиться к процессору, имеет на этой шине собственную линию. Когда переферийное устрой- 5 ство «хочет обратиться» к процессору, оно устанавливает на этой линии специальный сигнал (сигнал прерывания), заметив который, процессор прерывает выполняемые в этот момент действия и обращается (командой чтения или записи) к устройству. 1. процессор устанавливает на шине адреса адрес ячейки памяти, которую хочет прочитать 2. на шине управления процессор выставляет сигнал чтения и сигнал готовности 3. заметив сигнал готовности, все устройства проверяют, не стоит ли на шине адреса их адрес 4. память «замечает», что выставлен ее адрес 5. память читает адрес 6. память выставляет на шине данных требуемую информацию 7. память выставляет на шине управления сигнал готовности 8. процессор читает данные с шины данных 1. 2. 3. 4. Этапы цикла выполнения: Процессор выставляет число, хранящееся в регистре счётчика команд, на шину адреса и отдаёт памяти команду чтения. Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных и сообщает о готовности. Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её. Если последняя команда не является командой перехода, процессор увеличивает на единицу число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды. Процессор Основа вычислительной машины – процессор; он состоит из компонентов: арифметико-логическое устройство - АЛУ, устройство управления – УУ, регистры для временного хранения информации. АЛУ осуществляет непосредственную обработку данных: сложение двух чисел, умножение одного числа на другое, перенос информации из одного места в другое и т.д. Данные процессор считывает из ОЗУ (оперативной памяти) компьютера, туда же он пересылает результат действия над этими данными. УУ координирует взаимодействие различных частей ЭВМ. Регистром называется функциональный узел, осуществляющий приём, хранение и передачу информации. Регистры состоят из группы триггеров, и служат для временного хранения двоичных чисел. При выборке из памяти очередной команды она помещается в регистр команд. В процессоре имеется значительное количество регистров, большая часть которых используется самим процессором и недоступна программисту. Регистровая КЭШ-память (Cache – тайник) – высокоскоростная память сравнительно большой емкости, являющаяся буфером между ОП и МП и позволяющая увеличить скорость выполнения операций. Регистры КЭШ-памяти недоступны для пользователя. В КЭШ-памяти хранятся данные, которые МП получил и будет использовать в ближайшие такты своей работы. Быстрый доступ к этим данным и позволяет сократить время выпол- 6 нения очередных команд программы. При выполнении программы данные, считанные из ОП с небольшим опережением, записываются в КЭШ-память. Важнейшими характеристиками процессора являются: Разрядность Тактовая частота Адресное пространство Разрядность процессора. Обычно команда выполняется не по одному биту, а одновременно группами по 8, 16, 32, 64 бита. Число одновременно обрабатываемых битов и называется разрядностью процессора. Чем больше разрядность процессора, тем больше информации он может обработать в единицу времени, тем выше его эффективность. Тактовая частота процессора характеризует быстродействие компьютера. Режим работы процессора задается микросхемой, которая называется генератором тактовой частоты. Это своеобразный метроном внутри компьютера. На выполнение процессором каждой операции отводится определенное количество тактов. Ясно, что если метроном "стучит быстрее", то и процессор работает быстрее. Микропоцессор фирмы Intel, разработанный для первого персонального компьютера корпорации IBM (1981 год) - i8088 - имел тактовую частоту всего 4,77 МГц и выполнял 0,33 миллионов инструкций в секунду. Современные процессоры Pentium имеют тактовую частоту более 1 ГГц. Каждый конкретный процессор может работать не более чем с определенным количеством оперативной памяти. Максимальное количество памяти, которое процессор может обслужить, называется адресным пространством процессора и является важной характеристикой компьютера. Определяется адресное пространство разрядностью адресной шины. Память Память - это устройство для хранения информации. Она состоит из оперативного и постоянного запоминающего устройств. Оперативное запоминающее устройство называется ОЗУ, постоянное запоминающее устройство — ПЗУ. ОЗУ— энергозависимая память ОЗУ предназначена для записи, считывания и хранения программ (системных и прикладных), исходных данных, промежуточных и окончательных результатов. Доступ к элементам памяти прямой. Другое название – RAM (Random Access Memory) память с произвольным доступом. Все ячейки памяти объединены в группы по 8 бит (1 байт) и каждая такая группа имеет адрес, по которому к ней можно обратиться. ОЗУ используется для временного хранения данных и программ. При выключении компьютера, информация в ОЗУ стирается. ОЗУ — энергозависимая память. В современных компьютерах объем памяти обычно составляет от 512 Мбайт до 4 Гигабайт. Современные прикладные программы часто требуют для своего выполнения 128–256, а то и 512 Мбайта памяти, в противном случае программа просто не сможет работать. Оперативная память может строиться на микросхемах динамического (Dinamic Random Access Memory – DRAM) или статического (Static Random Access Memory – SRAM) типа. Статический тип памяти обладает существенно более высоким быстродействием, но значительно дороже динамического. Для регистровой памяти (МПП и КЭШпамять) используются SRAM, а ОЗУ основной памяти строится на базе DRAMмикросхем. ПЗУ — энергонезависимая память. В англоязычной литературе ПЗУ называется Read Only Memory, ROM (память только для чтения). Информация в ПЗУ записывается на заводе-изготовителе микросхем памяти, и в дальнейшем изменить ее значение нельзя. В ПЗУ хранится информация, которая не зависит от операционной системы. 7 В ПЗУ находятся: Программа управления работой самого процессора Программы управления дисплеем, клавиатурой, принтером, внешней памятью Программы запуска и остановки ЭВМ (BIOS – Base Input / Outout Sysytem) Программы тестирования устройств, проверяющие при каждом включении компьютера правильность работы его блоков (POST —Power On SelfTest) Информация о том, где на диске находится операционная система. Из ПЗУ можно только читать. CMOS — энергонезависимая память CMOS RAM - энергонезависимая память компьютера. Эта микросхема многократной записи имеет высокую плотность размещения элементов (каждая ячейка имеет размер в 1 байт) и малое потребление энергии – для нее вполне достаточно мощности батареи компьютера. Получила название от технологии создания на основе комплементарных металло-оксидных полупроводников (complementary metal-oxide semiconductor — CMOS). CMOS RAM является собой базу данных для хранения информации о конфигурации ПК. Программа запуска компьютера Setup BIOS используется для установки и хранения параметров конфигурации в CMOS RAM. При каждой загрузке системы для определения ее конфигурации проводится считывание параметров, хранящихся в микросхеме CMOS RAM. Более того, поскольку некоторые параметры запуска компьютера можно менять, то все эти вариации хранятся в CMOS. Программа установки BIOS SETUP при записи сохраняет в ней свою системную информацию, которую впоследствии сама же и считывает (при загрузке ПК). Несмотря на явную связь между BIOS и CMOS RAM, это абсолютно разные компоненты.