Основные архитектурные принципы эвм. интерфейсы

ОРГАНИЗАЦИЯ ЭВМ

Конспект лекций

Челябинск

ПРИНЦИПЫ ДЖОНА ФОН НЕЙМАН. ПОКОЛЕНИЯ ЭВМ

Принципы Джона фон Нейман

В основу построения подавляющего большинства ЭВМ положены следующие общие принципы, сформулированные в 1945 году американским ученым венгерского происхождения ДЖОНОМ фон НЕЙМАНОМ.

1) Принцип двоичного кодирования.

Согласно этому принципу, вся информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов.

2) Принцип программного управления .

Программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.

3) Принцип однородности памяти.

Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти – число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.

4) Принцип адресности.

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

Отсюда следует возможность давать имена областям памяти, так, чтобы к запомненным в них значениям можно было бы впоследствии обращаться или изменять их в процессе выполнения программы с использованием присвоенных имен.

Согласно фон Нейману, ЭВМ состоит из следующих основных блоков:

– устройства ввода/вывода информации;

– память компьютера;

– процессор, состоящий из устройства управления (УУ) и арифметико-логического устройства (АЛУ).

Машины, построенные на этих принципах, называются ФОН-НЕЙМАНОВСКИМИ

Таким образом, компьютер можно представить себе как процессор, многоуровневую систему памяти, систему внешних и внутренних связующих коммуникаций и периферийные устройства.

К функциям памяти относятся:

– приём информации из других устройств;

– запоминание информации;

– выдача информации по запросу в другие устройства машины.

Функции процессора:

– обработка данных по заданной программе путем выполнения арифметических и логических операций;

– программное управление работой устройств компьютера.

Та часть процессора, которая выполняет команды, называется арифметико-логическим устройством (АЛУ), а другая его часть, выполняющая функции управления устройствами, называется устройством управления (УУ). Обычно эти два устройства выделяются условно, конструктивно они не разделены.

В составе процессора имеется ряд специализированных дополнительных ячеек памяти, называемых регистрами.

Регистр выполняет функцию кратковременного хранения числа или команды. Над содержимым некоторых регистров специальные электронные схемы могут выполнять некоторые манипуляции. Например, вырезать отдельные части команды для последующего их использования или выполнять определенные арифметические операции над числами.

Основным элементом регистра является электронная схема, называемая триггером, которая способна хранить одну двоичную цифру (разряд).

Регистр представляет собой совокупность триггеров, связанных друг с другом определённым образом общей системой управления.

Существует несколько типов регистров (рис. 1.1), отличающихся видом выполняемых операций:.

– сумматор – регистр АЛУ, участвующий в выполнении каждой операции;

– счетчик команд – регистр УУ, содержимое которого соответствует адресу очередной выполняемой команды; служит для автоматической выборки программы из последовательных ячеек памяти;

– регистр команд – регистр УУ для хранения кода команды на период времени, необходимый для ее выполнения. Часть его разрядов используется для хранения кода операции, остальные – для хранения кодов адресов операндов.

Рисунок 1.1

Схема сопряжения регистров процессора

АРХИТЕКТУРА ТЕХНИЧЕСКИХ СРЕДСТВ

Рассмотрим физическую организацию персонального компьютера фирмы IBM, его периферию и принципы сопряжения отдельных компонентов.

Микропроцессор

Является центральным узлом персонального компьютера. Процессор обладает способностью выполнять команды, составляющие компьютерную программу. Персональные компьютеры строятся на базе микропроцессоров, выполняемых в настоящее время на одном кристалле или «чипе».

Микропроцессор, использованный в IBM/PC, был разработан и создан фирмой «Интел». Принципиальное отличие IBM/PC от персональных компьютеров предыдущего поколения заключается в использовании 16-разрядного микропроцессора. До появления IBM/PC наиболее популярные персональные компьютеры строились на базе 8-разрядных микропроцессоров.

Различия между 8- и 16-разрядными микропроцессорами состоит в том, что 8-разрядные процессоры могут манипулировать данными, состоящими из 8 бит, а 16-разрядные процессоры могут работать и 16-разрядными данными. Основное преимущество 16-разрядных процессоров перед 8-разрядными заключается в значительном повышении их быстродействия, мощности и удобства их набора команд. Кроме того, существенно увеличивается объем адресуемой памяти. Большинство 8-разрядных процессоров может использовать не более 64К памяти, что значительно уменьшает возможности эффективного использования персональных компьютеров. Процессоры 8088 и 8086, используемые в IBM/PC, позволяют адресовать 1024К.

Функциональное назначение

Сигналы синхронизации работы системы обеспечиваются генератором 8284А. Эти сигналы используются всеми элементами компьютера и задают длительность операций. С тактовым генератором связан таймер 8255А-5, использующийся для поддержки интерфейса накопителя на кассетной магнитной ленте и встроенного динамика.

Функционирование компьютерной системы основано на использовании прерываний. Для организации работы системы прерываний используется микросхема 8259А. Когда данные передаются внутри компьютерной системы, они проходят по общему каналу, к которому имеют доступ все компоненты системы. Этот путь получил название шины данных .

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

X-терминалы

X-терминалы представляют собой комбинацию бездисковых рабочих станций и стандартных терминалов. Бездисковые рабочие станции часто применялись в качестве дорогих дисплеев и в этом случае не полностью использовали локальную вычислительную мощь. Совсем недавно, как только стали доступными очень мощные графические рабочие станции, появилась тенденция применения «подчиненных» X-терминалов, которые используют рабочую станцию в качестве локального сервера.

Как правило, стоимость X-терминалов составляет около половины стоимости сравнимой по конфигурации бездисковой машины и примерно четверть стоимости полностью оснащенной рабочей станции.

Типовой X-терминал (рис.3.1) включает следующие элементы:

– экран высокого разрешения – обычно размером от 14 до 21 дюйма по диагонали;

– микропроцессор на базе Motorola 68xxx или RISC-процессор типа Intel i960, MIPS R3000 или AMD29000;

– отдельный графический сопроцессор в дополнение к основному процессору, поддерживающий двухпроцессорную архитектуру, которая обеспечивает более быстрое рисование на экране и прокручивание экрана;

– базовые системные программы, на которых работает система X-Windows и выполняются сетевые протоколы;

– программное обеспечение сервера X11.

– переменный объем локальной памяти (от 2 до 8 Мбайт) для дисплея, сетевого интерфейса, поддерживающего сетевые протоколы передачи данных.

– порты для подключения клавиатуры и мыши.

Рисунок 3.1

Схема работы X-терминала

X-терминалы отличаются от ПК и рабочих станций не только тем, что не выполняет функции обычной локальной обработки. Работа X-терминалов зависит от главной (хост) системы, к которой они подключены посредством сети. Для того чтобы X-терминал мог работать, пользователи должны инсталлировать программное обеспечение многооконного сервера X11 на главном процессоре, выполняющем прикладную задачу (наиболее известная версия X11 Release 5).

Минимальный объем требуемой для работы памяти X-терминала составляет 1 Мбайт. В зависимости от функциональных возможностей изделия оперативная память может расширяться до 32 Мбайт и более.

Оснащенный стандартной системой X-Windows, X-терминал может отображать на одном и том же экране множество приложений одновременно. Каждое приложение может выполняться в своем окне, а пользователь может изменять размеры окон, их месторасположение и манипулировать ими в любом месте экрана.

Серверы

Прикладные многопользовательские системы используют технологию «клиент-сервер» и распределенную обработку данных. В случае «клиент-сервер» часть работы выполняет сервер, а часть пользовательский компьютер (в общем случае клиентская и пользовательская части могут работать и на одном компьютере). Существует несколько типов серверов, ориентированных на разные применения: файл-сервер, сервер базы данных, принт-сервер, вычислительный сервер, сервер приложений. Таким образом, тип сервера определяется видом ресурса, которым он владеет (файловая система, база данных, принтеры, процессоры или прикладные пакеты программ).

С другой стороны, существует классификация серверов, определяющаяся масштабом сети, в которой они используются: сервер рабочей группы, сервер отдела или сервер масштаба предприятия (корпоративный сервер). Эта классификация весьма условна. Например, размер группы может меняться в диапазоне от нескольких человек до нескольких сотен человек, а сервер отдела обслуживать от 20 до 150 пользователей. Очевидно в зависимости от числа пользователей и характера решаемых ими задач требования к составу оборудования и программного обеспечения сервера, к его надежности и производительности сильно варьируются.

Файловые серверы небольших рабочих групп (не более 20-30 человек) проще всего реализуются на платформе персональных компьютеров и программном обеспечении Novell NetWare. Файл-сервер, в данном случае, выполняет роль центрального хранилища данных. Серверы прикладных систем и высокопроизводительные машины для среды «клиент-сервер» значительно отличаются требованиями к аппаратным и программным средствам.

Скорость процессора для серверов с интенсивным вводом/выводом некритична. Они должны быть оснащены достаточно мощными блоками питания для возможности установки дополнительных плат расширения и дисковых накопителей. Желательно применение устройства бесперебойного питания. Оперативная память обычно имеет объем не менее 128 Мбайт, что позволит операционной системе использовать большие дисковые кэши и увеличить производительность сервера. При наличии одного сегмента сети и 10-20 рабочих станций пиковая пропускная способность сервера ограничивается максимальной пропускной способностью сети. В этом случае замена процессоров или дисковых подсистем более мощными не увеличивают производительность, так как узким местом является сама сеть. Поэтому важно использовать хорошую плату сетевого интерфейса.

Современные серверы характеризуются:

– наличием двух или более центральных процессоров;

– многоуровневой шинной архитектурой, в которой высокоскоростная системная шина связывает между собой несколько процессоров и оперативную память, а также множество стандартных шин ввода/вывода, размещенных в том же корпусе;

– поддержкой технологии дисковых массивов RAID;

– поддержкой режима симметричной многопроцессорной обработки, которая позволяет распределять задания по нескольким центральным процессорам или режима асимметричной многопроцессорной обработки, которая допускает выделение процессоров для выполнения конкретных задач.

Мейнфреймы

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

Главным недостатком мейнфреймов в настоящее время остается относительно низкое соотношение производительность/стоимость.

Кластерные архитектуры

Двумя основными проблемами построения вычислительных систем для критически важных приложений, связанных с обработкой транзакций, управлением базами данных и обслуживанием телекоммуникаций, являются обеспечение высокой производительности и продолжительного функционирования систем. Наиболее эффективный способ достижения заданного уровня производительности – применение параллельных масштабируемых архитектур. Задача обеспечения продолжительного функционирования системы имеет три составляющих: надежность, готовность и удобство обслуживания. Все эти три составляющих предполагают, в первую очередь, борьбу с неисправностями системы, порождаемыми отказами и сбоями в ее работе. Эта борьба ведется по всем трем направлениям, которые взаимосвязаны и применяются совместно.

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

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

Кластеризация – это реализация объединения машин, представляющихся единым целым для операционной системы, системного программного обеспечения, прикладных программ и пользователей.

Машины, кластеризованные вместе таким способом, могут при отказе одного процессора очень быстро перераспределить работу на другие процессоры внутри кластера. Это наиболее важная задача многих поставщиков систем высокой готовности.

Компьютеры в кластере могут разделять доступ к общим ленточным и дисковым накопителям. Все компьютеры в кластере могут обращаться к отдельным файлам данных как к локальным.

Если происходит отказ одного из компьютеров, задания его пользователей автоматически могут быть перенесены на другой компьютер кластера. Если в системе имеется несколько контроллеров внешних накопителей и один из них отказывает, другие контроллеры автоматически подхватывают его работу (высокая готовность).

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

Удобство обслуживания системы . Общие базы данных могут обслуживаться с единственного места. Прикладные программы могут инсталлироваться только однажды на общих дисках кластера и разделяться между всеми компьютерами кластера.

Расширяемость. Увеличение вычислительной мощности кластера достигается подключением к нему дополнительных компьютеров. Дополнительные накопители на магнитных дисках и магнитных лентах становятся доступными для всех компьютеров, входящих в кластер.

Работа любой кластерной системы определяется двумя главными компонентами: высокоскоростным механизмом связи процессоров между собой и системным программным обеспечением, которое обеспечивает клиентам прозрачный доступ к системному сервису. В настоящее время широкое распространение получила также технология параллельных баз данных. Эта технология позволяет множеству процессоров разделять доступ к единственной базе данных. Распределение заданий по множеству процессорных ресурсов и параллельное их выполнение позволяет достичь более высокого уровня пропускной способности транзакций, поддерживать большее число одновременно работающих пользователей и ускорить выполнение сложных запросов. Существуют три различных типа архитектуры, которые поддерживают параллельные базы данных.

1) Симметричная многопроцессорная архитектура с общей памятью (Shared Memory SMP Architecture). Эта архитектура (рис. 3.3.) поддерживает единую базу данных, работающую на многопроцессорном сервере под управлением одной операционной системы. Увеличение производительности таких систем обеспечивается наращиванием числа процессоров, устройств оперативной и внешней памяти.

Рисунок 3.3.

Симметричная многопроцессорная архитектура с общей памятью

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

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

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

Параллельные базы данных находят широкое применение в системах обработки транзакций в режиме on-line, системах поддержки принятия решений и часто используются при работе с критически важными для работы предприятий и организаций приложениями, которые эксплуатируются по 24 часа в сутки.

СИСТЕМА ПРЕРЫВАНИЙ

Общие сведения

Прерывание – это инициируемый определенным образом процесс, временно переключающий микропроцессор на выполнение другой программы с последующим возобновлением выполнения прерванной программы.

Механизм прерываний позволяет обеспечить наиболее эффективное управление не только внешними устройствами, но и программами. Некоторые операционные системы используют механизм прерываний не только для обслуживания внешних устройств, но и для предоставления своих услуг. Так, хорошо известная и до сих пор достаточно широко используемая операционная система MS-DOS взаимодействует с системными и прикладными программами преимущественно через систему прерываний.

Прерывания могут быть внешними и внутренними .

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

Внутренние прерывания возникают внутри микропроцессора во время вычислительного процесса. К их возбуждению приводит одна из двух причин:

– ненормальное внутреннее состояние микропроцессора, возникшее при обработке некоторой команды программы;

– обработка машинной команды «int xx». Такой тип прерываний называется программным. Это – планируемые прерывания, так как с их помощью программист обращается в нужное для него время за обслуживанием своих запросов либо к операционной системе, либо к BIOS, либо к собственным программам обработки прерываний.

Обработка прерываний.

Микропроцессоры Intel имеют два режима работы – реальный и защищенный. В этих режимах обработка прерываний осуществляется принципиально разными методами.

Рассмотрим обработку прерываний в реальном режиме.

В общем случае система прерываний – это совокупность программных и аппаратных средств, реализующих механизм прерываний.

К аппаратным средствам системы прерываний относятся

– выводы микропроцессора

INTR – вывод для входного сигнала внешнего прерывания. На этот вход поступает выходной сигнал от микросхемы контроллера прерываний 8259А;

INTA – вывод микропроцессора для выходного сигнала подтверждения получения сигнала прерывания микропроцессором. Этот выходной сигнал поступает на одноименный вход INTA микросхемы контроллера прерываний 8259А;

NMI – вывод микропроцессора для входного сигнала немаскируемого прерывания;

– микросхема программируемого контроллера прерываний 8259А. Она предназначена для фиксирования сигналов прерываний от восьми различных внешних устройств: таймера, клавиатуры, магнитных дисков и т. д. Обычно используют две последовательно соединенные микросхемы 8259A. В результате такого соединения количество возможных источников внешних прерываний возрастает до 15.

К программным средствам системы прерываний реального режима относятся:

– таблица векторов прерываний, в которой в определенном формате, зависящем от режима работы микропроцессора, содержатся указатели на процедуры обработки соответствующих прерываний;

– следующие флаги в регистре флагов flags\eflags:

IF (Interrupt Flag) – флаг прерывания. Предназначен для так называемого маскирования (запрещения) аппаратных прерываний, то есть прерываний по входу INTR. На обработку прерываний остальных типов флаг IF влияния не оказывает. Если IF=1, микропроцессор обрабатывает внешние прерывания, если IF = 0, микропроцессор игнорирует сигналы на входе INTR;

TF (Trace Flag) - флаг трассировки. Единичное состояние флага TF переводит микропроцессор в режим покомандной работы. В режиме покомандной работы после выполнения каждой машинной команды в микропроцессоре генерируется внутреннее прерывание с номером 1, и далее следуют действия в соответствии с алгоритмом обработки данного прерывания;

– машинные команды микропроцессора: int, into, iret, cli, sti ().

Микросхема контроллера прерываний выполняет следующие функции:

– фиксирование запросов на обработку прерывания от восьми источников, формирование единого запроса на прерывание и подача его на вход INTR микропроцессора;

– формирование номера вектора прерывания и выдача его на шину данных;

– организация приоритетной обработки прерываний;

– запрещение (маскирование) прерываний с определенными номерами.

Важным свойством данного контроллера является возможность его программирования, что позволяет достаточно гибко изменять алгоритмы обработки аппаратных прерываний.

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

1) Режим вложенных прерываний. В этом режиме каждому входу (уровню) irq0...irq7 присваивается фиксированное значение приоритета, причем уровень irq0 имеет наивысший приоритет, а irq7 - наименьший. Приоритетность прерываний определяет их право на прерывание обработки менее приоритетного прерывания более приоритетным (при условии, конечно, что IF=1).

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

3) Режим адресуемых приоритетов. Программист или система самостоятельно могут назначить уровень прерывания с наивысшим приоритетом.

4) Режим опроса. Этот режим запрещает контроллеру автоматически прерывать работу микропроцессора при появлении прерывания от некоторого внешнего устройства. Для того чтобы микропроцессор смог узнать о наличии того или иного запроса на прерывание, он должен сам обратиться к контроллеру прерываний, проанализировать его и далее действовать по своему алгоритму. Согласно этому подходу, инициатором обработки прерывания становится не само прерывание, как при векторной дисциплине, а микропроцессор, причем в определяемые им (точнее, операционной системой, выполняемой на нем) моменты времени.

ИЕРАРХИЯ ПАМЯТИ

В основе реализации иерархии памяти современных компьютеров лежат два принципа: принцип локальности обращений и соотношение стоимость/производительность.

Принцип локальности обращений говорит о том, что большинство программ к счастью не выполняют обращений ко всем своим командам и данным равновероятно, а оказывают предпочтение некоторой части своего адресного пространства.

Иерархия памяти современных компьютеров строится на нескольких уровнях, причем более высокий уровень меньше по объему, быстрее и имеет большую стоимость в пересчете на байт, чем более низкий уровень. Уровни иерархии взаимосвязаны: все данные на одном уровне могут быть также найдены на более низком уровне, и все данные на этом более низком уровне могут быть найдены на следующем нижележащем уровне и так далее, пока мы не достигнем основания иерархии.

Иерархия памяти обычно состоит из многих уровней, но в каждый момент времени мы имеем дело только с двумя близлежащими уровнями. Минимальная единица информации, которая может либо присутствовать, либо отсутствовать в двухуровневой иерархии, называется блоком. Размер блока может быть либо фиксированным, либо переменным. Если этот размер зафиксирован, то объем памяти является кратным размеру блока.

Успешное или неуспешное обращение к более высокому уровню называются соответственно попаданием или промахом .

Попадание – есть обращение к объекту в памяти, который найден на более высоком уровне, в то время как промах означает, что он не найден на этом уровне.

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

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

1) Где может размещаться блок на верхнем уровне иерархии? (размещение блока).

2) Как найти блок, когда он находится на верхнем уровне? (идентификация блока).

3) Какой блок должен быть замещен в случае промаха? (замещение блоков).

4) Что происходит во время записи? (стратегия записи).

Организация кэш-памяти

Cегодня кэш-память имеется практически в любом компьютере. Как правило, конструктивно современная кэш-память неотделима от процессора

Общие положения

Основная память представляет собой следующий уровень иерархии памяти. Основная память удовлетворяет запросы кэш-памяти и служит в качестве интерфейса ввода/вывода, поскольку является местом назначения для ввода и источником для вывода. Для оценки производительности основной памяти используются два основных параметра: задержка и полоса пропускания. Традиционно задержка основной памяти имеет отношение к кэш-памяти, а полоса пропускания или пропускная способность относится к вводу/выводу. В связи с ростом популярности кэш-памяти второго уровня и увеличением размеров блоков у такой кэш-памяти, полоса пропускания основной памяти становится важной также и для кэш-памяти.

Задержка памяти традиционно оценивается двумя параметрами: временем доступа (access time) и длительностью цикла памяти (cycle time).

Время доступа представляет собой промежуток времени между выдачей запроса на чтение и моментом поступления запрошенного слова из памяти.

Длительность цикла памяти определяется минимальным временем между двумя обращениями к памяти.

Полупроводниковая оперативная память в настоящее время делится на статическое ОЗУ (SRAM) и динамическое ОЗУ (DRAM). (Random Access Memory – запоминающее устройство с произвольной выборкой).

Микросхемы (DRAM) характеризуются большей емкостью и меньшей стоимостью, но требуют схем регенерации и имеют значительно большее время доступа.

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

Память, основанная на триггерах, называется статической (SRAM).

Принцип устройства DRAM следующий: система металл-диэлектрик-полупроводник способна работать как конденсатор, т.е. способна некоторое время держать на себе электрический заряд. Обозначив заряженное состояние как 1 и незаряженное как 0, получим ячейку памяти емкостью 1 бит. Поскольку заряд на конденсаторе рассеивается через некоторый промежуток времени, то его необходимо периодически подзаряжать (регенерировать), считывая и вновь записывая в него данные. Из-за этого и возникло понятие «динамическая» для этого вида памяти.

Статическое ОЗУ – дорогой и неэкономичный вид ОЗУ, поэтому его используют в основном для кэш-памяти и в регистрах микропроцессорах.

Развитие оперативной памяти

Динамическое ОЗУ со времени своего появления прошло несколько стадий роста. Вначале микросхемы динамического ОЗУ производились в DIP-корпусах. Затем их сменили модули, состоящие из нескольких микросхем: SIPP, SIMM и, наконец, DIMM и RIMM. Рассмотрим эти разновидности поподробнее.

1) DIP- корпус – это самая древняя реализация DRAM. Обычно это маленький черный корпус из пластмассы, по обеим сторонам которого располагаются металлические контакты.

Микросхемы (по-другому, чипы) динамического ОЗУ устанавливались так называемыми банками. Банки бывают на 64, 256 Кбайт, 1 и 4 Мбайт. Каждый банк состоит из девяти отдельных одинаковых чипов. Из них восемь чипов предназначены для хранения информации, а девятый чип служит для проверки четности остальных восьми микросхем этого банка. Чипы памяти имели емкость 64 Кбит, 256 Кбит, 1 и 4 Мбит.

Памятью с DIP-корпусами комплектовались персональные компьютеры с микропроцессорами i8086/88, i80286 и, частично, i80386SX/DX. Установка и замена этого вида памяти была сложной задачей. Поэтому уже в компьютерах с процессором i80386DX эти микросхемы стали заменять памяти SIPP и SIMM.

2) SIPP-модули представляют собой маленькие платы с несколькими напаянными микросхемами DRAM.

SIPP является сокращением слов Single Inline Package. SIPP-модули соединяются с системной платой с помощью 30 контактных штырьков, которые вставляются в соответствующую панель системной платы. Модули SIPP имели определенные вырезы, которые не позволяли вставить их в разъемы неправильным образом.

3) SIMM-модули .

SIMM расшифровывается как Single Inline Memory Module (Модуль памяти с однорядным расположением выводов.) Модули SIMM могут иметь объем 256 Кбайт, 1, 2, 4, 8, 16 и 32 Мбайт. Соединение SIMM-модулей с системной платой осуществляется с помощью колодок. Модуль вставляется в пластмассовую колодку под углом 70 градусов, а потом зажимается пластмассовым держателем. При этом плата встает вертикально. Специальные вырезы на модуле памяти не позволяют поставить их неправильным образом.

Модули SIMM для соединения с системной платой имеют позолоченные полоски (пины).

SIMM-модули в своем развитии прошли два этапа. Первыми представителями SIMM-модулей были 30-пиновые SIMM. Их максимальная частота работы – 29 МГц. Стандартным же временем доступа к памяти считалось 70 нс. Эти модули уже с трудом работали на компьютерах с микропроцессорами i80486DX2, и были вытеснены сначала 72-пиновыми FPM (Fast Page Mode) DRAM, а затем EDO (Extended Data Output) RAM.

SIMM EDO RAM имеют только 72 пина и могут работать на частоте до 50 МГц. Этими модулями памяти оснащались компьютеры с процессорами Intel 80486DX2/DX4, Intel Pentium, Pentium Pro и Pentium MMX, а также AMD 80586 и K5.

Машина тюринга

Маши́наТью́ринга (МТ) - абстрактный исполнитель (абстрактная вычислительная машина). Была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма.

Машина Тьюринга является расширением конечного автомата и, согласно тезису Чёрча - Тьюринга, способна имитировать все исполнители (с помощью задания правил перехода), каким-либо образом реализующие процесс пошагового вычисления, в котором каждый шаг вычисления достаточно элементарен.

Устройство машины Тьюринга[

В состав машины Тьюринга входит неограниченная в обе стороны лента (возможны машины Тьюринга, которые имеют несколько бесконечных лент), разделённая на ячейки, и управляющее устройство (также называется головкой записи-чтения (ГЗЧ )), способное находиться в одном из множества состояний . Число возможных состояний управляющего устройства конечно и точно задано.

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

Управляющее устройство работает согласно правилам перехода , которые представляют алгоритм, реализуемый данной машиной Тьюринга. Каждое правило перехода предписывает машине, в зависимости от текущего состояния и наблюдаемого в текущей клетке символа, записать в эту клетку новый символ, перейти в новое состояние и переместиться на одну клетку влево или вправо. Некоторые состояния машины Тьюринга могут быть помечены как терминальные , и переход в любое из них означает конец работы, остановку алгоритма.

Машина Тьюринга называется детерминированной , если каждой комбинации состояния и ленточного символа в таблице соответствует не более одного правила. Если существует пара «ленточный символ - состояние», для которой существует 2 и более команд, такая машина Тьюринга называется недетерминированной .

Описание машины Тьюринга[

Конкретная машина Тьюринга задаётся перечислением элементов множества букв алфавита A, множества состояний Q и набором правил, по которым работает машина. Они имеют вид: q i a j →q i1 a j1 d k (если головка находится в состоянии q i , а в обозреваемой ячейке записана буква a j , то головка переходит в состояние q i1 , в ячейку вместо a j записывается a j1 , головка делает движение d k , которое имеет три варианта: на ячейку влево (L), на ячейку вправо (R), остаться на месте (N)). Для каждой возможной конфигурации имеется ровно одно правило (для недетерминированной машины Тьюринга может быть большее количество правил). Правил нет только для заключительного состояния, попав в которое машина останавливается. Кроме того, необходимо указать конечное и начальное состояния, начальную конфигурацию на ленте и расположение головки машины.

Пример машины Тьюринга[

Приведём пример МТ для умножения чисел в унарной системе счисления. Запись правила «q i a j →q i1 a j1 R/L/N» следует понимать так: q i - состояние при котором выполняется это правило, a j - данные в ячейке, в которой находится головка, q i1 - состояние в которое нужно перейти, a j1 - что нужно записать в ячейку, R/L/N - команда на перемещение.

Архитектура ЭВМ джона фон неймана

Архитектура фон Неймана - широко известный принцип совместного хранения команд и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином «машина фон Неймана», однако соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают принцип хранения данных и инструкций в одной памяти.

Принципы фон неймана

Принципы фон Неймана[

Принцип однородности памяти

Команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования; то есть одно и то же значение в ячейке памяти может использоваться и как данные, и как команда, и как адрес в зависимости лишь от способа обращения к нему. Это позволяет производить над командами те же операции, что и над числами, и, соответственно, открывает ряд возможностей. Так, циклически изменяя адресную часть команды, можно обеспечить обращение к последовательным элементам массива данных. Такой прием носит название модификации команд и с позиций современного программирования не приветствуется. Более полезным является другое следствие принципа однородности, когда команды одной программы могут быть получены как результат исполнения другой программы. Эта возможность лежит в основе трансляции - перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины.

Принцип адресности

Структурно основная память состоит из пронумерованных ячеек, причем процессору в произвольный момент доступна любая ячейка. Двоичные коды команд и данных разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, а для доступа к ним используются номера соответствующих ячеек - адреса.

Принцип программного управления

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

Типы процессоров

Микропроцессор - это устройство, представляющее собой одну или несколько больших интегральных схем(БИС), выполняющих функции процессора ЭВМ.Классическое вычислительное устройство состоит из арифметического устройства (АУ), устройства управления (УУ), запоминающего устройства (ЗУ) и устройства ввода-вывода (УВВ).

IntelCeleron 400 Socket 370 в пластиковом корпусе PPGA, вид сверху.

Существуют процессоры различной архитектуры.

CISC (англ. ComplexInstructionSetComputing) - концепция проектирования процессоров, которая характеризуется следующим набором свойств:

· большим числом различных по формату и длине команд;

· введением большого числа различных режимов адресации;

· обладает сложной кодировкой инструкции.

Процессору с архитектурой CISC приходится иметь дело с более сложными инструкциями неодинаковой длины. Выполнение одиночной CISC-инструкции может происходить быстрее, однако обрабатывать несколько таких инструкций параллельно сложнее.

Облегчение отладки программ на ассемблере влечет за собой загромождение узлами микропроцессорного блока. Для повышения быстродействия следует увеличить тактовую частоту и степень интеграции, что вызывает необходимость совершенствования технологии и, как следствие, более дорогого производства.

Достоинства архитектуры CISC [показать]

Недостатки архитектуры CISC [показать]

RISC (Reduced Instruction Set Computing). Процессор с сокращенным набором команд. Система команд имеет упрощенный вид. Все команды одинакового формата с простой кодировкой. Обращение к памяти происходит посредством команд загрузки и записи, остальные команды типа регистр-регистр. Команда, поступающая в CPU, уже разделена по полям и не требует дополнительной дешифрации.

Часть кристалла освобождается для включения дополнительных компонентов. Степень интеграции ниже, чем в предыдущем архитектурном варианте, поэтому при высоком быстродействии допускается более низкая тактовая частота. Команда меньше загромождает ОЗУ, CPU дешевле. Программной совместимостью указанные архитектуры не обладают. Отладка программ на RISC более сложна. Данная технология может быть реализована программно-совместимым с технологией CISC (например, суперскалярная технология).

Поскольку RISC-инструкции просты, для их выполнения нужно меньше логических элементов, что в конечном итоге снижает стоимость процессора. Но большая часть программного обеспечения сегодня написана и откомпилирована специально для CISC-процессоров фирмы Intel. Для использования архитектуры RISC нынешние программы должны быть перекомпилированы, а иногда и переписаны заново.

Тактовая частота

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

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

Тактовая частота процессора пропорциональна частоте системной шины (см. ниже ).

Разрядность

Разрядность процессора - величина, которая определяет количество информации, которое центральный процессор способен обработать за один такт.

Например, если разрядность процессора равна 16, это значит, что он способен обработать 16 бит информации за один такт.

Думаю, всем понятно, что чем выше разрядность процессора, тем большие объемы информации он может обрабатывать.

Обычно, чем больше разрядность процессора, тем его производительность выше.

В настоящее время используются 32- и 64-разрядные процессоры. Разрядность процессора не означает, что он обязан выполнять команды с такой же самой разрядностью.

Кэш-память

Первым делом ответим на вопрос, что такое кэш-память?

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

Какие данные хранятся в кэш-памяти?

Наиболее часто используемые.

Какое предназначение кэш-памяти?

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

Кэш-память, как и обычная память, имеет разрядность. Чем выше разрядность кэш-памяти тем с большими объемами данных может она работать.

Различают кэш-память трех уровней: кэш-память первого (L1), второго (L2) и третьего (L3). Наиболее часто в современных компьютерах применяют первые два уровня.

Рассмотрим подробнее все три уровня кэш-памяти.

Кэш-память первого уровня является самой быстрой и самой дорогой памятью.

Кэш-память первого уровня расположена на одном кристалле с процессором и работает на частоте ЦП (отсюда и наибольшее быстродействие) и используется непосредственно ядром процессора.

Емкость кэш-памяти первого уровня невелика (в силу дороговизны) и исчисляется килобайтами (обычно не более 128 Кбайт).

Кэш-память второго уровня - это высокоскоростная память, выполняющая те функции, что и кэш L1. Разница между L1 и L2 в том, что последняя имеет более низкую скорость, но больший объем (от 128 Кбайт до 12 Мбайт), что очень полезно для выполнения ресурсоемких задач.

Кэш-память третьего уровня расположена на материнской плате. L3 значительно медленнее L1и L2, но быстрее оперативной памяти. Понятно, что объем L3 больше объема L1и L2. Кэш-память третьего уровня встречается в очень мощных компьютерах.

Количество ядер

Современные технологии изготовления процессоров позволяют разместить в одном корпусе более одного ядра. Наличие нескольких ядер значительно увеличивает производительность процессора, но это не означает что присутствие n ядер дает увеличение производительности в n раз. Кроме этого, проблема многоядерности процессоров заключается в том, что на сегодняшний день существует сравнительно немного программ, написанных с учетом наличия у процессоранескольких ядер.

Многоядерность процессора, прежде всего, позволяет реализовать функцию многозадачности: распределять работу приложений между ядрами процессора. Это означает, что каждое отдельное ядро работает со “своим” приложением.

Структура материнской платы

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

Первое, на что стоит обратить внимание – это сокет процессора. Это небольшое квадратное углубление с креплением.

Для тех, кто знаком с таким термином как «оверлокинг» (разгон компьютера) стоит обратить внимание на наличие двойного радиатора. Зачастую в материнских платах отсутствует двойной радиатор. Поэтому для тех, кто в будущем намерен разгонять свой компьютер, желательно проследить, чтобы этот элемент на плате присутствовал.

Продолговатые слоты PCI-Express предназначены для видеокарт, ТВ-тюнеров, аудио и сетевых карт. Для видеокарт нужна большая пропускная способность и для них используют разъемы PCI-Express X16. Для остальных адаптеров используются разъемы PCI-Express X1.

Совет эксперта! PCI-разъемы с различной пропускной способность выглядят почти одинаково. Стоит особенно внимательно рассмотреть разъемы и прочитать надписи под ними, чтобы избежать внезапных разочарований дома при установке видеокарт.

Разъемы меньшего размера предназначены для планок оперативной памяти. Обычно они окрашены в черный или синий цвет.

Чипсет платы обычно скрыт под радиатором. Этот элемент отвечает за совместную работу процессора и остальных частей системного блока.

Маленькие квадратные разъемы на краю платы служат для подключения жесткого диска. С другого бока расположены разъемы для устройств ввода и вывода (USB, мышка, клавиатура и т. д.).

Производитель

Материнские платы производят многие компании. Выделить из них лучшие или худшие практически невозможно. Плату любой компании можно назвать качественной. Зачастую даже неизвестные производители предлагают хороший товар.

Секрет в том, что все платы комплектуются чипсетами от двух компаний: AMD и Intel. Причем отличия чипсетов незначительные и играют роль только при решении глубоко специализированных задач.

Форм-фактор

В случае материнских плат размер имеет значение. Стандартный форм-фактор ATX встречается в большинстве домашних компьютеров. Большой размер, а, следовательно, наличие широкого набора гнезд позволяют улучшать основные характеристики компьютера.

Уменьшенная версия mATX встречается реже. Возможности улучшения ограничены.

Также существует mITX. Этот форм-фактор встречается в бюджетных офисных компьютерах. Улучшение характеристик или невозможно или не имеет смысла.

Зачастую процессоры и платы продаются в комплекте. Однако если процессор был куплен раньше, важно проследить, чтобы он был совместим с платой. Посмотрев на сокет, совместимость процессора и материнской платы можно определить моментально.

Чипсет

Связующее звено всех составляющих системы – это чипсет. Чипсеты изготавливают две компании: Intel и AMD. Особой разницы между ними нет. По крайне мере для рядового пользователя.

Стандартные чипсеты состоят из северного и южного мостов. Самые новые модели Intelсостоят только из северного. Сделано это не с целью экономии. Этот фактор никак не уменьшает производительность чипсета.

Наиболее современные чипсеты Intel состоят из одного моста, так как большая часть контроллеров теперь находится в процессоре, среди которых контроллер оперативной памяти DD3, PCI-Express 3.0 и некоторые другие.

Аналоги от AMD построены на традиционной схеме двух мостов. Например, 900-я серия комплектуется южным мостом SB950 и северным 990FX (990X, 970).

При выборе чипсета стоит отталкиваться от возможностей северного моста. Северный мост 990FX может поддерживать одновременно работу 4-х видеокарт в режиме CrossFire. В большинстве случае такая мощность – избыточна. Но для любителей тяжеловесных игры или тех, кто работают с требовательным графическими редакторами, этот такой чипсет будет наиболее подходящим.

Немного урезанная версия 990Х все еще может поддерживать работу двух видеокарт одновременно, а вот 970-я модель работает исключительно с одной видеокартой.

Компоновка Материнских плат

· подсистема обработки данных;

· подсистема электропитания;

· вспомогательные (сервисные) блоки и узлы.

Основные компоненты подсистемы обработки данных материнской платы приведены на рис. 1.3.14.

1 – гнездо процессора; 2 – фронтальная шина; 3 – северный мост; 4 – тактовый генератор; 5 – шина памяти; 6 – разъемы оперативной памяти; 7 – разъемы IDE (ATA); 8 – разъемы SATA; 9 – южный мост; 10 – разъемы IEEE 1394; 11 – разъемы USB; 12 – разъем сети Ethernet; 13 – аудиоразъемы; 14 – шина LPC; 15 – контроллер Super I/O; 16 – порт PS/2;

17 – параллельный порт; 18 – последовательные порты; 19 – разъем Floppy Disk;

20 – BIOS; 21 – шина PCI; 22 – разъемы PCI; 23 – разъемы AGP или PCI Express;

24 – внутренняя шина; 25 – Шина AGP/PCI Express; 26 – разъем VGA

FPM (Fast Page Mode) - вид динамической памяти.
Его название соответствует принципу работы, так как модуль позволяет быстрее получать доступ к данным которые находятся на той же странице, что и данные, переданные во время предыдущего цикла.
Эти модули использовались на большинстве компьютеров с процессорами 486 и в ранних системах с процессорами Pentium, ориентировочно в 1995 году.

Модули EDO (Extended Data Out) появились в 1995 году как новый тип памяти для компьютеров с процессорами Pentium.
Это модифицированный вариант FPM.
В отличие от своих предшественников, EDO начинает выборку следующего блока памяти в то же время, когда отправляет предыдущий блок центральному процессору.

SDRAM (Synchronous DRAM) - вид памяти со случайным доступом, работающий на столько быстро, чтобы его можно было синхронизировать с частотой работы процессора, исключая режимы ожидания.
Микросхемы разделены на два блока ячеек так, чтобы во время обращения к биту в одном блоке шла подготовка к обращению к биту в другом блоке.
Если время обращения к первой порции информации составляло 60 нс, все последующие интервалы удалось сократить до 10 нс.
Начиная с 1996 года большинство чипсетов Intel стали поддерживать этот вид модулей памяти, сделав его очень популярным вплоть до 2001 года.

SDRAM может работать на частоте 133 МГц, что почти в три раза быстрее, чем FPM и в два раза быстрее EDO.
Большинство компьютеров с процессорами Pentium и Celeron, выпущенных в 1999 году использовали именно этот вид памяти.

DDR (Double Data Rate) стал развитием SDRAM.
Этот вид модулей памяти впервые появился на рынке в 2001 году.
Основное отличие между DDR и SDRAM заключается в том, что вместо удвоения тактовой частоты для ускорения работы, эти модули передают данные дважды за один такт.
Сейчас это основной стандарт памяти, но он уже начинает уступать свои позиции DDR2.

DDR2 (Double Data Rate 2) - более новый вариант DDR, который теоретически должен быть в два раза более быстрым.
Впервые память DDR2 появилась в 2003 году, а чипсеты, поддерживающие ее - в середине 2004.
Эта память, также как DDR, передает два набора данных за такт.
Основное отличие DDR2 от DDR - способность работать на значительно большей тактовой частоте, благодаря усовершенствованиям в конструкции.
Но измененная схема работы, позволяющая добиться высоких тактовых частот, в то же время увеличивает задержки при работе с памятью.

DDR3 SDRAM (синхронная динамическая память с произвольным доступом и удвоенной скоростью передачи данных, третье поколение) - это тип оперативной памяти, используемой в вычислительной технике в качестве оперативной и видео- памяти.
Пришла на смену памяти типа DDR2 SDRAM.

У DDR3 уменьшено на 40 % потребление энергии по сравнению с модулями DDR2, что обусловлено пониженным (1,5 В, по сравнению с 1,8 В для DDR2 и 2,5 В для DDR) напряжением питания ячеек памяти.
Снижение напряжения питания достигается за счёт использования 90-нм (вначале, в дальнейшем 65-, 50-, 40-нм) техпроцесса при производстве микросхем и применения транзисторов с двойным затвором Dual-gate (что способствует снижению токов утечки).

Модули DIMM с памятью DDR3 механически не совместимы с такими же модулями памяти DDR2 (ключ расположен в другом месте), поэтому DDR2 не могут быть установлены в слоты под DDR3 (это сделано с целью предотвращения ошибочной установки одних модулей вместо других - эти типы памяти не совпадают по электрическим параметрам).

RAMBUS (RIMM)

RAMBUS (RIMM) - это вид памяти, который появился на рынке в 1999 году.
Он основан на традиционной DRAM но с кардинально измененной архитектурой.
Дизайн RAMBUS делает обращение к памяти более «разумным», позволяя получать предварительный доступ к данным, немного разгружая центральный процессор.
Основная идея, использованная в этих модулях памяти, заключается в получении данных небольшими пакетами но на очень высокой тактовой частоте.
Например, SDRAM может передавать 64 бит информации при частоте 100 МГц, а RAMBUS - 16 бит при частоте 800 МГц.
Эти модули не стали успешными, так как у Intel было много проблем с их внедрением.
Модули RDRAM появились в игровых консолях Sony Playstation 2 и Nintendo 64.

RAM означает Random Access Memory - Память Произвольного Доступа - память, доступ к которой осуществляется по адресу. Адреса при последовательном доступе могут принимать любые значения, поэтому можно получить независимый доступ к любому адресу (или "ячейке").

Статистическая память - это память, построенная из статических переключателей. Она хранит информацию до тех пор, пока подается питание. Обычно требуется не менее шести транзисторов для хранения одного бита в SRAM схеме. SRAM используется в малых системах (до нескольких сот Кб RAM) и применяется там, где критична скорость доступа (как кэш внутри процессоров или на материнских платах).

Динамическая память (DRAM) зародилась в начале 70х. Она основана на емкостных элементах. Мы можем думать о DRAM как о наборе конденсаторов, управляемых переключающимися транзисторами. Только один "конденсаторный транзистор" необходим для хранения одного бита, поэтому DRAM обладает большей емкостью чем SRAM (и она дешевле).
DRAM организована в виде прямоугольного массива ячеек. Чтобы обратиться к ячейке, нам нужно выбрать ряд и колонку, в которой находится эта ячейка. Обычно это реализуется таким образом, что старшая часть адреса указывает на ряд, а младшая часть адреса указывает на ячейку в ряду ("колонку"). Исторически сложилось так (из-за медленной скорости и маленьких IC пакетов в начале 70"х), что адрес подается на DRAM чип в две фазы - адрес ряда с адресом колонки по одинаковым линиям. Сперва чип принимает адрес ряда и затем через несколько наносекунд по той же линии передается адрес колонки. Чип считывает данные и передает их на вывод. При цикле записи данные принимаются чипом вместе с адресом колонки. Для управления чипом используется несколько управляющих линий. RAS (Row Address Strobe) сигналы которыми передается адрес ряда и также активируется весь чип. CAS (Column Address Strobe) сигналы которыми передается адрес колонки. WE (Write Enable) указывающий, что произведенный доступ - это доступ записи. OE (Output Enable) открывает буфера используемые для передачи данных с чипа памяти на "хост" (процессор).
FP DRAM

Так как каждый доступ к классической DRAM требует передачи двух адресов, он был слишком медленным для 25 МГц машин. FP (Fast Page) DRAM это вариант классической DRAM, в котором нет необходимости передавать адрес ряда в каждом цикле доступа. До тех пор пока RAS линия активна, ряд остается выбранным и индивидуальные ячейки из этого ряда можно выбрать передачей только адреса колонки. Итак, в то время как ячейка памяти остается той же самой, время доступа меньше, потому что только одна фаза передачи адреса необходима в большинстве случаев.

EDO (Extended Data Out) DRAM это вариант FP DRAM. В FP DRAM адрес колонки должен оставаться верным во время всего периода передачи данных. Буфера данных активизируются только во время цикла передачи адреса колонки, по сигналу уровня активности CAS сигнала. Данные должны быть считаны с шины данных памяти до того как в чип поступит новый адрес колонки. EDO память сохраняет данные в буферах вывода после того как CAS сигнал возвращается в неактивное состояние и адрес колонки убирается. Адрес следующей колонки может передаваться параллельно с чтением данных. Это предоставляет возможность использовать частичное совпадение при чтении. В то время как ячейки памяти EDO RAM одинаковы по скорости с FP DRAM, последовательный доступ может осуществляться быстрее. Итак EDO должны быть чем-то более быстрым, чем FP, особенно для массивного доступа (как например в графических приложениях).

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

WRAM это патентованная архитектура памяти разработанная Matrox и (кто же еще, дайте вспомнить...- Samsung?, MoSys?...). Она похожа на VRAM, но позволяет хосту производить более быстрый доступ. WRAM использовалась на графических платах Millenium и Millenium II производимых Matrox (но не на современных Millenium G200).

SDRAM это полная переделка DRAM, представленная в 90"х. "S" означает Synchronous (Синхронная), так как в SDRAM реализован полностью синхронный (и следовательно очень быстрый) интерфейс. Внутри SDRAM содержит (обычно два) DRAM массива. У каждого массива свой собственный Page Register (Регистр Страницы), который (немного) напоминает регистр серийного доступа на VRAM. SDRAM работает гораздо умнее чем обычная DRAM. Весь контур синхронизируется с сигналом внешних часов. На каждом такте часов чип принимает и выполняет команду, переданную по командным линиям. Названия командных линий остались теми же, что и в классических DRAM чипах, но их функции только похожи на оригинал. Есть команды для передачи данных между массивом памяти и регистрами страницы, и для доступа к данным в регистрах страницы. Доступ к регистру страницы очень быстр - современные SDRAMы могут передавать новое слово данных каждые 6..10 нс.

Synchronous Graphics RAM это вариант SDRAM, рассчитанный на графические приложения. Аппаратная структура почти идентична, поэтому в большинстве случаев мы можем менять SDRAM и SGRAM (смотрите Matrox G200-карты - некоторые из них используют SD, другие SG). Разница в функциях осуществляемых регистром страницы. SG может записать несколько расположений в одиночный цикл (это позволяет очень быстро производить заполнения цветом и очистку экрана), и может записать только несколько бит в слове (биты выбираются битовой маской хранимой интерфейсным контуром). Поэтому SG быстрее в графических приложениях, хотя физически не быстрее чем SD при "нормальном" использовании. Добавочные возможности SG используются графическими акселераторами. Я думаю что, в частности, очень полезны возможности очистки экрана и Z-буфера.

RAMBUS (RDRAM)

RAMBUS (торговая марка RAMBUS, Inc.) начал разрабатываться с 80"х, так что он не нов. Современные RAMBUS технологии сочетают в себе старые но очень хорошие идеи и сегодняшнии технологии производства памяти. В основе RAMBUS лежит простая идея: мы берем любой хороший DRAM, встраиваем в чип статический буфер (как в VRAM и SGRAM), и предоставляем специальный, электронно настраивающийся интерфейс работающий на 250..400 МГц. Интерфейс как минимум вдвое быстрее чем применяющийся в SDRAM, и в то время как время случайного доступа обычно медленнее, последовательный доступ производится очень, очень, очень быстро. Помните что когда были представлены 250 МГц RDRAMы, большинство DRAMов работали на частотах 12..25 МГц. RDRAM требует специального интерфейса и очень осторожного физического размещения на PCB. Большинство RDRAM чипов воглядят совсем иначе чем другие DRAMы: у всех у них все сигнальные линии находятся на одной стороне корпуса (чтобы они были одинаковой длины), и только 4 линии питания на другой стороне. RDRAMы используются в графических картах на чипах Cirrus 546x. Вскоре мы увидим RDRAMы используемые в качестве главной памяти на ПК.

Устройство жёстких дисков.

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

Сами диски (толщина примерно 2мм.) изготавливаются из алюминия, латуни, керамики или стекла. (см. Рис)

Для записи используются обе поверхности дисков. Используется 4-9 пластин. Вал вращается с высокой постоянной скоростью (3600-7200 оборотов/мин.)

Вращение дисков и радикальное перемещение головок осуществляется с помощью 2-х электродвигателей.

Данные записываются или считываются с помощью головок записи/чтения по одной на каждую поверхность диска. Количество головок равно количеству рабочих поверхностей всех дисков.

Запись информации на диск ведется по строго определенным местам - концентрическим дорожкам (трекам). Дорожки делятся на сектора. В одном секторе 512 байт информации.

Обмен данными между ОЗУ и НМД осуществляется последовательно целым числом (кластером). Кластер - цепочки последовательных секторов (1,2,3,4,…)

Специальный двигатель с помощью кронштейна позиционирует головку чтения/записи над заданной дорожкой (перемещает ее в радиальном направлении).

При повороте диска головка располагается над нужным сектором. Очевидно, что все головки перемещаются одновременно и считывают инфоголовки перемещаются одновременно и считывают информацию с одинаковых дорожек разныхрмацию с одинаковых дорожек разных дисков.

Дорожки винчестера с одинаковым порядковым номером на разных дисках винчестера называется цилиндром.

Головки чтения записи перемещаются в вдоль поверхности платтера. Чем ближе к поверхности диска находится головка при этом не касаясь ее, тем выше допустимая плотность записи.

Интерфейсы жестких дисков.

IDE (АТА – Advanced Technology Attachment) - параллельный интерфейс подключения накопителей, именно поэтому был изменен (с выходом SATA) на PATA (Parallel ATA). Раньше использовался для подключения винчестеров, но был вытеснен интерфейсом SATA. В настоящее время используется для подключения оптических накопителей.

SATA (Serial ATA) – последовательный интерфейс обмена данными с накопителями. Для подключения используется 8-pin разъем. Как и в случае с PATA – является устаревшим, и используется только для работы с оптическими накопителями. Стандарт SATA (SATA150) обеспечивал пропускную способность равную 150 МБ/с (1,2 Гбит/с).

SATA 2 (SATA300). Стандарт SATA 2 увеличивал пропускную способность в двое, до 300 МБ/с (2,4 Гбит/с), и позволяет работать на частоте 3 ГГц. Стандартны SATA и SATA 2 совместимы между собой, однако для некоторых моделей необходимо вручную устанавливать режимы, переставляя джамперы.

SATA 3, хотя про требованию спецификаций правильно называть SATA 6Gb/s. Этот стандарт в двое увеличил скорость передачи данных до 6 Гбит/с (600 МБ/с). Также к положительным нововведениям относится функция программного управления NCQ и команды для непрерывной передачи данных для процесса с высоким приоритетом. Хоть интерфейс и был представлен в 2009 году, особой популярностью у производителей он пока не пользуется и в магазинах встречает не так часто. Кроме жестких дисков этот стандарт используется в SSD (твердотельные диски). Стоит заметить, что на практике пропускная способность интерфейсов SATA не отличаются скоростью передачи данных. Практически скорость записи и чтения дисков не превышает 100 Мб/с. Увеличение показателей влияет только пропускную способность между контроллером и кеш-памятью накопителя.

SCSI(Small Computer System Interface) – стандарт применяется в серверах, где необходима повышеная скорость передачи данных.

SAS (Serial Attached SCSI) – поколение пришедшее на смену стандарта SCSI, использующее последовательную передачу данных. Как и SCSI используется в рабочих станциях. Полностью совместив с интерефейсом SATA.

CF (Compact Flash) – Интерфейс для подключения карт памяти, а также для 1,0 дюймовых винчестеров. Различают 2 стандарта: Compact Flash Type I и Compact Flash Type II, отличие в толщине.

FireWire – альтернативный интерфейс более медленному USB 2.0. Используется для подключения портативных жестких дисков. Поддерживает скорость до 400 Мб/с, однако физическая скорость ниже, чем у обычных. При чтении и записи максимальный порг 40 Мб/с.

Типы видеокарт

Современные компьютеры (ноутбуки) выпускаются с различными типами видеокарт, от которых напрямую зависит производительность в графических программах, воспроизведение видео и так дальше.

В настоящее время используется 3 типа адаптеров, которые могут совмещаться.

Рассмотрим подробнее типы видеокарт:

  • интегрированная;
  • дискретная;
  • гибридная;
  • две дискретные;
  • Hybrid SLI.

Интегрированная видеокарта – это недорогой вариант. В ней нет видеопамяти и графического процессора. С помощью чипсета графику обрабатывает центральный процессор, оперативная память используется вместо видеопамяти. Такая система устройства значительно снижает и производительность компьютера в целом, и графическую обработку в частности.

Часто применяется в бюджетных комплектациях ПК или ноутбука. Позволяет работать с офисными приложениями, смотреть и редактировать фото и видео, но невозможно играть в современные игры. Доступны только устаревшие варианты с минимальными требованиями к системе.

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

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

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

Структуры и архитектуры ЭВМ Принципы фон Неймана

В основу архитектуры большинства компьютеров положены следующие общие принципы, сформулированные в 1945 г. американским ученым Дж. фон Нейманом в отчете по ЭВМ EDVAC

Принцип программного управления; принцип однородности памяти; принцип адресности. По истечении более 60 лет большинство компьютеров так и имеют «фон-неймановскую архитектуру», причем обычно принципы фон Неймана реализованы в следующей форме:

  • оперативная память (ОП или ОЗУ - оперативное запоминающее устройство) организована как совокупность машинных слов (МС) фиксированной длины или разрядности (имеется в виду количество двоичных единиц или бит, содержащихся в каждом МС). Например, ранние ПЭВМ имели разрядность 8, затем появились 16-разрядные, а затем - 32- и 64-разрядные машины. В свое время существовали даже 45-разрядные (М-20, М-220), 35-разрядные (Минск-22, Минск-32) и др. машины;
  • ОП образует единое адресное пространство, адреса МС возрастают от младших к старшим;
  • в ОП размещаются как данные, так и программы, причем в области данных одно слово, как правило, соответствует одному числу, а в области программы - одной команде (машинной инструкции - минимальному и неделимому элементу программы);
  • команды выполняются в естественной последовательности (по возрастанию адресов в ОП), пока не встретится команда управления (условного/безусловного перехода, или ветвления - branch), в результате которой естественная последовательность нарушится;
  • ЦП может произвольно обращаться к любым адресам в ОП для выборки и/или записи в МС чисел или команд.

Функциональные блоки (агрегаты, устройства)

Краткий список основных устройств, входящих в состав вычислительных машин, приведен на рис. 2.1.

Центральное устройство (ЦУ) представляет основную компоненту ЭВМ и в свою очередь включает ЦП - центральный процессор (central processing unit - CPU) и ОП (Main Storage, Core Storage, Random Access Memory - RAM).

Процессор непосредственно реализует операции обработки информации и управления вычислительным процессом, осуществляя выборку машинных команд и данных из оперативной па-

2.1. Структуры и архитектуры ЭВМ

Рис. 2.1. Перечень устройств ЭВМ

* Данные устройства здесь не рассматриваются. Читатель может обратиться, например, к .

мяти, их выполнение и запись результатов в ОП, включение и отключение ВУ. Рассмотрим в качестве примера процессор Intel Pentium (рис. 2.2). Он состоит из следующих блоков :

Ядро (Core). Основное исполнительное устройство, которое включает в себя арифметико-логическое устройство (АЛУ, или Arithmetic and Logical Unit - ALU) регистры, конвейеры. АЛУ - часть процессора, выполняющая арифметические и логические операции над данными, работает в соответствии с сообщаемыми ему кодами операций, которые должны быть выполнены над переменными, помещаемыми в регистры. Повышение производительности достигалось благодаря двум конвейерам, позволяющим выполнить одновременно несколько инструкций. Это два параллельных 5-ступенчатых конвейера обработки целых чисел, которые позволяют читать, интерпретировать, исполнять две команды одновременно. Целочисленные команды могут выполняться за один такт синхронизации. Эти конвейеры неодинаковы: U-конвейер выполняет любую команду системы команд семейства 86; V-конвейер выполняет только «простые» команды, т. е. команды, которые полностью встроены в схемы МП и не требуют микропрограммного управления (microcode) при выполнении (это команды, до-


Рис. 2.2.

пускающие спаривание с другими командами: регистр-регистр, память-регистр, регистр-память, переходы, вызовы, арифметико-логические операции);

  • предсказатель переходов (Branch Predictor) - блок, который «пытается угадать» направление ветвления программы и заранее загрузить информацию в блоки пред- выборки и декодирования команд ;
  • буфер адреса переходов (Branch Target Buffer - ВТ В). Обеспечивает динамическое предсказание переходов. Он улучшает выполнение команд путем запоминания состоявшихся переходов (256 последних переходов) и с опережением выполняет наиболее вероятный переход при выборке команды ветвления. При статических методах предсказания предписывается всегда выполнять или нет определенные виды переходов. При динамических методах исследуется поведение команд перехода за предшествующий период;
  • блок плавающей точки (Floating Point Unit). Выполняет обработку чисел с плавающей точкой;
  • кэш-память 1-го уровня (Level 1 cache). Процессор имеет два банка памяти по 8 Кбайт, один - для команд, второй - для данных, которые обладают большим быстродействием, чем более емкая внешняя кэш-память (L2 cache).
  • интерфейс шины (Bus Interface). Передает в ЦП поток команд и данных, а также передает данные из ЦП.

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

Интерфейсы служат для сопряжения центральных узлов машины с ее внешними устройствами.

Однотипные ЦУ и устройства хранения данных могут использоваться в различных типах машин. Известны примеры того, как фирмы, начавшие свою деятельность с производства управляющих машин, совершенствуя свою продукцию, перешли к выпуску систем, которые в зависимости от конфигурации ВУ могут исполнять как роль универсальных, так и управляющих машин (машины Hewlett-Packard - HP и Digital Equipment Corporation - DEC).

Архитектуры ЭВМ

Архитектура «звезда». Здесь процессор (ЦУ) - рис. 2.3, а - соединен непосредственно с ВУ и управляет их работой (ранние модели машин). Этот тип также именуется классическая архитектура (фон Неймана) - одно арифметико-логическое устройство (АЛУ), через которое проходит поток данных, и одно устройство управления (УУ), через которое проходит поток команд - программа. Это однопроцессорный компьютер.

Принстонская и гарвардская архитектуры. Архитектуру фон Неймана часто отождествляют с принстонской архитектурой, которая характеризуется использованием общей оперативной памяти для хранения программ и данных. Гарвардская же архитектура характеризуется физическим разделением памяти команд (программ) и памяти данных. Элементы гарвардской архитектуры часто используются в современных процессорах, когда в кэш-памяти ЦП выделяется память команд (I-cache) и память данных (D-cache).

Иерархическая архитектура (рис. 2.3, б) - ЦУ соединено с периферийными процессорами (вспомогательными процессорами, каналами, канальными процессорами), управляющими в свою очередь контроллерами, к которым подключены группы ВУ (системы IBM 360-375, ЕС ЭВМ);

Магистральная структура (общая шина - unibas, рис. 2.3, в) - процессор (процессоры) и блоки памяти (ОП) взаимодействуют между собой и с ВУ (контроллерами ВУ) через внутренний канал, общий для всех устройств (машины DEC, IBM РС-совмес- тимые ПЭВМ).

Технически шина представляет собой набор проводников (линий), соединяющий различные компоненты компьютера для подвода к ним питания и обмена данными. В минимальной комплектации шина имеет три типа линий:

управления; адреса; данных.

К этому типу архитектуры относится также архитектура персонального компьютера (ПК). Конечно, реальная структура ПК (рис. 2.3, г) отличается от теоретических схем - здесь используется несколько разновидностей шинных интерфейсов, которые соединяются между собой мостами - контроллерами памяти (Northbridge, «Северный мост») и периферийных устройств (Southbridge, «Южный мост»).


Рис. 2.3. Основные классы архитектур ЭВМ: а - централизованная; б - иерархическая; в - магистральная; г - общая структура персонального компьютера - архитектура Northbridge/Southbridge

Здесь приведен пример набора микросхем (chipset) Triton 430 ТХ:

  • Northbridge - микросхема 82439ТХ System Controller, МТХС. Интегрирует контроль кэш-памяти, ОП и шины PCI;
  • Southbridge - 82371АВ PCI ISA IDE Xcelerator, PIIX4 - многофункциональное устройство, реализующее связь PCI- ISA, функции концентратора (hub) USB и функции управления потреблением электроэнергии (Enhanced Power Management). Здесь реализована Dynamic Power Management Architecture (DPMA) - архитектура динамического управления энергопотреблением. Поддерживается также протокол прямого обращения к памяти (Ultra DMA), который обеспечивает скорость передачи в 33 Мбайт/с с НЖМД.

Современные системы включают два типа шин:

  • системная шина, соединяющая процессор с ОП и кэш-памятью 2-го уровня;
  • множество шин ввода-вывода, соединяющие процессор с различными периферийными устройствами.

Системная шина при архитектуре DIB (Dual independent bus, двойная независимая шина) физически разделена на две (рис. 2.3, г):

  • первичная шина (FSB, frontside bus), связывающая процессор с ОП и ОП с периферийными устройствами;
  • вторичная шина (BSB, backside bus) для связи с кэш-па- мятью.

Использование двойной независимой шины повышает производительность за счет возможности для процессора параллельно обращаться к различным уровням памяти. Обычно термины «FSB» и «системная шина» используют как синонимы.

Следует иметь в виду, что терминология, используемая в настоящее время для описания интерфейсов, не является вполне однозначной и ясной. Системная шина часто упоминается как «главная шина», «хост-шина», «шина процессора», или «локальная шина». Для шин ввода-вывода используются термины «шина расширения», «внешняя шина» и опять же - «локальная шина».

Открытая архитектура IBM-PC и ее развитие

Впервые реализованная в машинах IBM PC, IBM PC/XT и PC/AT концепция открытой архитектуры предполагает, что периферийные устройства связываются с ЦУ (процессор

и ОП) посредством сменных карт расширения (или адаптеров), содержащих электронику, согласующую ЦУ и периферию - рис. 2.4. Развитие или замена одних внешних устройств на другие в таких условиях сопровождается простой заменой карты.


Рис. 2.4. Открытая архитектура IBM PC:

1 - системная плата (процессор, память, chipset); 2 - внутренний интерфейс (ISA, MCA, SCSI, LPC, AGP, HyperTransport, PCI, PCI-X и пр.); 3 - плата расширения (адаптер, интерфейсная карта, контроллер внешнего устройства); 4 - интерфейс внешнего устройства (RS-232, Centronics, USB, Firewire, инфракрасный, eSATA, Bluetooth и пр.); 5 - периферийное устройство (клавиатура, монитор, принтер, сканер и пр.)

Системные платы и их разновидности. Системную плату также называют главной (mainboard) или материнской (motherboard), иногда - объединительной платой. Это - основная монтажная схема внутри ПК, на которой располагаются процессор, память, слоты расширения и которая непосредственно или косвенно присоединяется к каждой части ПК.

На рисунках ниже иллюстрируются компоненты для двух типичных плат:

  • Baby АТ (ВАТ), где используется разъем Socket 7 для присоединения процессора, приблизительно 1995 г. (рис. 2.5, 2.7, а);
  • АТХ с разъемом Slot 1 для присоединения процессора Pentium И, типичный для системных плат, на рынке с конца 1998 г. (рис. 2.6, 2.7, б).

Открытая архитектура первых ПК предполагала минимум устройств, контроллеры которых были интегрированы в системную плату (например, порт для клавиатуры). Все остальные, включая адаптер дисплея, принтера, модема, НГМД или контроллер жесткого диска, являлись дополнительными компонентами, подключаемыми через разъемы расширения.

В конце 1990-х гг. обозначилась тенденция к помещению адаптеров периферийных устройств непосредственно на систем-




Рис. 2.7. Разъемы и интерфейсы, размещенные на задней панели корпусов: а - плата Baby АТ (схематическое изображение), б - АТХ (то же); в - общий вид некоторых типов внешних интерфейсов: 1 - разъем для подсоединения шнура электропитания монитора (на ATX-корпусах может отсутствовать); 2 - разъем для подключения компьютера к сети переменного тока; 3 - разъем для подсоединения клавиатуры PS/2 (мини-DIN, 6 штырьков); 4 - разъем для подсоединения клавиатуры DIN-5; 5 - разъем для подключения мыши PS/2; 6 - USB-порты; 7 - последовательный порт (COM2); 8 - последовательный порт (СОМ1); 9 - параллельный порт (LPT); 10 - видеовыход (VGA/SVGA); 11 - разъем для подключения локальной сети (в соответствии с моделью компьютера); 12 - MIDI/Game порт (в соответствии с моделью компьютера); 13 - гнезда для подключения внешних аудиосистем (в соответствии с моделью компьютера)

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

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

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

Компонентами архитектуры компьютера являются: вычислительные и логические возможности, аппаратные средства и программное обеспечение.

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

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

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

1. Принцип программного управления . Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.

Выборка программы из памяти осуществляется с помощью счетчика команд. Этот регистр процессора последовательно увеличивает хранимый в нем адрес очередной команды на длину команды. Так как команды программы расположены в памяти друг за другом, то тем самым организуется выборка цепочки команд из последовательно расположенных ячеек памяти.

Структура отдельной команды имеет вид:

<код операции> <операнды>,

где <код операции> определяет, какая операция должна выполняться;

<операнды> - список (возможно, одноэлементный) тех констант, адресов или имен переменных, над которыми выполняется данная операция.

В зависимости от числа операндов различают одно-, двух- и трехадресные машинные команды. Каждая команда имеет определенный объем, измеряемый байтами.

2. Принцип условного перехода. Если после выполнения команды следует перейти не к следующей, а к какой-то другой, используются команды условного или безусловного переходов (ветвления), которые заносят в счетчик команд номер ячейки памяти, содержащей следующую команду. Выборка команд из памяти прекращается после достижения и выполнения команды «стоп».



Таким образом, процессор исполняет программу автоматически, без вмешательства человека.

3. Принцип однородности памяти . Программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти - число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. Это открывает целый ряд возможностей. Например, программа в процессе своего выполнения также может подвергаться переработке, что позволяет задавать в самой программе правила получения некоторых ее частей (так в программе организуется выполнение циклов и подпрограмм). Более того, команды одной программы могут быть получены как результаты исполнения другой программы. На этом принципе основаны методы трансляции - перевода текста программы с языка программирования высокого уровня на язык конкретной машины.

4. Принцип размещения программы в памяти . Программа, требуемая для работы ЭВМ, предварительно размещается в памяти компьютера, а не вводится команда за командой.

5. Принцип адресности . Структурно основная память состоит из перенумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти, так, чтобы к запомненным в них значениям можно было впоследствии обращаться или менять их в процессе выполнения программ с использованием присвоенных имен.

6. Принцип иерархии памяти . Память ЭВМ неоднородна. Для часто используемых данных выделяется память меньшего объема, но большего быстродействия; для редко используемых данных выделяется память большего объема, но меньшего быстродействия.

7. Принцип двоичной системы счисления . Для внутреннего представления данных и программ в памяти ЭВМ применяется двоичная система счисления, которую можно проще реализовать технически.

Компьютеры, построенные на этих принципах, относятся к типу фон-неймановских. Существуют и другие классы компьютеров, принципиально отличающиеся от фон-неймановских. Здесь, например, может не выполняться принцип программного управления, т.е. они могут работать без счетчика (регистра адреса) команд, указывающего на выполняемую команду программы. Для обращения к какой-либо переменной, хранящейся в памяти, этим компьютерам не обязательно давать ей имя. Такие компьютеры называются не-фон-неймановскими.

Машина фон Неймана состояла из памяти, представлявшей собой набор регистров, АЛУ, устройства ввода-вывода и устройства управления (рис. 3.7).

Устройство ввода передавало команды и данные в АЛУ, откуда они записывались в память. Все команды , совокупность которых называется программой , записываются в память в соседние ячейки по возрастанию их адресов, а данные, которые требуют обработки, - в ячейки с произвольными адресами. Последняя команда программы - это обязательно команда остановки работы. Каждая команда содержит код операции, которую необходимо выполнить, и адреса ячеек, в которых находятся данные, обрабатываемые этой командой. Устройство управления содержит специальный регистр, который называется «Счетчик команд ». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. После чего вычислительная машина переходит в режим автоматического выполнения программы.

Рис. 3.7. Машина фон Неймана

Устройство управления считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство - «Регистр команд ». Регистр команд хранит команду во время ее исполнения. Устройство управления расшифровывает тип операции команды, считывает из памяти данные, адреса которых указаны в команде, и приступает к ее выполнению. Для каждой команды устройство управления имеет свой алгоритм обработки, который заключается в выработке управляющих сигналов для всех остальных устройств машины. Этот алгоритм мог быть реализован на основе комбинационных логических схем или с помощью специальной внутренней памяти, куда эти алгоритмы были записаны в виде микрокоманд, объединенных в микропрограммы. Выполнение микропрограммы происходит по тому же принципу, что и программы в основной памяти, т.е. по принципу фон Неймана. Каждая микрокоманда содержит набор управляющих сигналов для устройств машины. Отметим, что устройства управления выполнением команд процессоров в современных компьютерных системах также строятся по принципу комбинационных схем или микропрограммных автоматов, в соответствии с чем делятся на RISC и CISC процессоры, о которых будет рассказано ниже.

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

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

· Принцип двоичного кодирования

· Согласно этому принципу, вся информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов (двоичных цифр, битов) и разделяется на единицы, называемые словами.

· Принцип однородности памяти

· Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти - число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.

· Принцип адресуемости памяти

· Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти, так, чтобы к хранящимся в них значениям можно было бы впоследствии обращаться или менять их в процессе выполнения программы с использованием присвоенных имен.

· Принцип последовательного программного управления

· Предполагает, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.

· Принцип жесткости архитектуры

· Неизменяемость в процессе работы топологии, архитектуры, списка команд.

· Компьютеры, построенные на этих принципах, относят к типу фон-неймановских.

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

· Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск.

·

· Машина фон Неймана состоит из запоминающего устройства (памяти) - ЗУ, арифметико-логического устройства - АЛУ, устройства управления – УУ, а также устройств ввода и вывода.

· Программы и данные вводятся в память из устройства ввода через арифметико-логическое устройство. Все команды программы записываются в соседние ячейки памяти, а данные для обработки могут содержаться в произвольных ячейках. У любой программы последняя команда должна быть командой завершения работы.

· Команда состоит из указания, какую операцию следует выполнить (из возможных операций на данном «железе») и адресов ячеек памяти, где хранятся данные, над которыми следует выполнить указанную операцию, а также адреса ячейки, куда следует записать результат (если его требуется сохранить в ЗУ).


· Арифметико-логическое устройство выполняет указанные командами операции над указанными данными.

· Из арифметико-логического устройства результаты выводятся в память или устройство вывода. Принципиальное различие между ЗУ и устройством вывода заключается в том, что в ЗУ данные хранятся в виде, удобном для обработки компьютером, а на устройства вывода (принтер, монитор и др.) поступают так, как удобно человеку.

· УУ управляет всеми частями компьютера. От управляющего устройства на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии.

· Управляющее устройство содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство - «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера.

· В результате выполнения любой команды счетчик команд изменяется на единицу и, следовательно, указывает на следующую команду программы. Когда требуется выполнить команду, не следующую по порядку за текущей, а отстоящую от данной на какое-то количество адресов, то специальная команда перехода содержит адрес ячейки, куда требуется передать управление.

16)Структура и архитектура вычислительной системы

Система (от греческого systema - целое, составленное из частей соединение) - это совокупность элементов, взаимодействующих друг с другом, образующих определенную целостность, единство.
Вычислительная система - это совокупность одного или нескольких компьютеров или процессоров, программного обеспечения и периферийного оборудования, организованная для совместного выполнения информационно-вычислительных процессов.
Отличительной особенностью ВС по отношению к ЭВМ является наличие в них нескольких вычислителей, реализующих параллельную обработку.
Основные принципы построения, закладываемые при создании ВС:
возможность работы в разных режимах;
модульность структуры технических и программных средств, что позволяет совершенствовать и модернизировать вычислительные системы без коренных их переделок;
унификация и стандартизация технических и программных решений;
иерархия в организации управления процессами;
способность систем к адаптации, самонастройке и самоорганизации;
обеспечение необходимым сервисом пользователей при выполнении вычислений
По назначению ВС делят на
универсальные,
проблемно-ориентированные
специализированные.
Универсальные предназначаются для решения широкого класса задач. Проблемно-ориентированные используются для решения определенного круга задач в сравнительно узкой сфере. Специализированные ориентированы на решение узкого класса задач
По типу ВС различаются на
многомашинные
многопроцессорные.
Вычислительная система может строиться на базе либо целых компьютеров (многомашинная ВС), либо на базе отдельных процессоров (многопроцессорная ВС).
По типу ЭВМ или процессоров различают
однородные – строятся на базе однотипных компьютеров или процессоров.
неоднородные системы – включает в свой состав различные типы компьютеров или процессоров.
Территориально ВС делятся на:
сосредоточенные (все компоненты располагаются в непосредственной близости друг от друга);
распределенные (компоненты могут располагаться на значительном расстоянии, например, вычислительные сети);
По методам управления элементами ВС различают
централизованные,
децентрализованные
со смешанным управлением.

По режиму работы ВС различают системы, работающие в
оперативном
неоперативном временных режимах.
Кроме этого, ВС могут быть структурно
одноуровневыми (имеется лишь один общий уровень обработки данных);
Многоуровневыми (иерархическими) структурами. В иерархических ВС машины или процессоры распределены по разным уровням обработки информации, некоторые машины (процессоры) могут специализироваться на выполнении определенных функций.
Структура вычислительной системы.
Структура ВС - это совокупность комплексируемых элементов и их связей. В качестве элементов ВС выступают отдельные ЭВМ и процессоры.
В описанной многоуровневой структуре реализуется классическая фон- неймановская организация ВС и предполагает последовательную обработку информации по заранее составленной программе.
Архитектура вычислительных систем. Классификация архитектур вычислительных систем.
Архитектура системы – совокупность свойств системы, существенных для пользования.
Архитектурой компьютера называется его описание на некотором общем уровне, включающее описание пользовательских возможностей программирования, системы команд, системы адресации, организации памяти и т.д.
Классическая архитектура (архитектура фон Неймана) - одно арифметико-логическое устройство (АЛУ), через которое проходит поток данных, и одно устройство управления (УУ), через которое проходит поток команд - программа. Это однопроцессорный компьютер.
Многомашинная вычислительная система. Здесь несколько процессоров, входящих в вычислительную систему, не имеют общей оперативной памяти, а имеют каждый свою (локальную). Каждый компьютер в многомашинной системе имеет классическую архитектуру, и такая система применяется достаточно широко.
Самой ранней и наиболее известной является классификация архитектур вычислительных систем, предложенная в 1966 году М.Флинном.

· Классификация базируется на понятии потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. На основе числа потоков команд и потоков данных Флинн выделяет четыре класса архитектур: SISD,MISD,SIMD,MIMD.
SISD (single instruction stream / single data stream) - одиночный поток команд и одиночный поток данных. К этому классу относятся, прежде всего, классические последовательные машины, или иначе, машины фон-неймановского типа, например, PDP-11 или VAX 11/780. В таких машинах есть только один поток команд, все команды обрабатываются последовательно друг за другом и каждая команда инициирует одну операцию с одним потоком данных. Не имеет значения тот факт, что для увеличения скорости обработки команд и скорости выполнения арифметических операций может применяться конвейерная обработка - как машина CDC 6600 со скалярными функциональными устройствами, так и CDC 7600 с конвейерными попадают в этот класс.
SIMD (single instruction stream / multiple data stream) - одиночный поток команд и множественный поток данных. В архитектурах подобного рода сохраняется один поток команд, включающий, в отличие от предыдущего класса, векторные команды. Это позволяет выполнять одну арифметическую операцию сразу над многими данными - элементами вектора. Способ выполнения векторных операций не оговаривается, поэтому обработка элементов вектора может производится либо процессорной матрицей, как в ILLIAC IV, либо с помощью конвейера, как, например, в машине CRAY-1.
MISD (multiple instruction stream / single data stream) - множественный поток команд и одиночный поток данных. Определение подразумевает наличие в архитектуре многих процессоров, обрабатывающих один и тот же поток данных. Однако ни Флинн, ни другие специалисты в области архитектуры компьютеров до сих пор не смогли представить убедительный пример реально существующей вычислительной системы, построенной на данном принципе. Ряд исследователей относят конвейерные машины к данному