Лекция: Билет 10. Магистрально-модульный принцип построения компьютера. Характеристики процессоров. Шина адреса и шина данных

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

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

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

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

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

Разрядность шины адреса определяет объем адресуемой памяти (адресное пространство), то есть количество однобайтовых ячеек оперативной памяти, которые могут иметь уникальные адреса. Количество адресуемых ячеек памяти можно рассчитать по формуле:

N=2I,

где I – разрядность шины адреса. Разрядность шины адреса постоянно увеличивается

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

Процессор. Процессор аппаратно реализуется на большой интегральной схеме (БИС). Большая интегральная схема на самом деле не является «большой» по размеру и представляет собой, наоборот, маленькую плоскую полупроводниковую пластину размером примерно 20×20 мм, заключенную в плоский корпус с рядами металлических штырьков (контактов). БИС является «большой» по количеству элементов.

Использование современных высоких технологий позволяет разместить на БИС процессора огромное количество (42 миллиона в процессоре Pentium 4) функциональных элементов (переключателей), размеры которых составляют всего около 0,13 микрон (1 микрон=10–6 метра).

Важнейшей характеристикой, определяющей быстродействие процессора, является тактовая частота, то есть количество тактов в секунду. Такт – это промежуток времени между началами подачи двух последовательных импульсов специальной микросхемой – генератором тактовой частоты, синхронизирующим работу узлов компьютера. На выполнение процессором каждой базовой операции (например, сложения) отводится определенное количество тактов. Ясно, что чем больше тактовая частота, тем больше операций в секунду выполняет процессор. Тактовая частота измеряется в мегагерцах (МГц) и гигагерцах (ГГц). 1 МГц=миллион тактов в секунду. За 20 с небольшим лет тактовая частота процессора увеличилась почти в 500 раз, от 5 МГц (процессор 8086, 1978 год) до 2,4 ГГц (процессор Pentium 4, 2002 год) – см. табл.

Тип Год выпуска Частота (МГц) Шина данных Шина адреса Адресуемая память
5-10 1 Мб
6-12,5 16 Мб
16-33 4 Гб
25-50 4 Гб
Pentium 60-166 4 Гб
Pentium II 200-300 64 Гб
Pentium III 450-1000 64 Гб
Pentium IV 1000-2400 64 Гб

Другой характеристикой процессора, влияющей на его производительность, является разрядность процессора. Разрядность процессора определяется количеством двоичных разрядов, которые могут передаваться или обрабатываться процессором одновременно. Часто уточняют разрядность процессора и пишут 64/36, что означает, что процессор имеет 64-разрядную шину данных и 36-разрядную шину адреса.

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

Билет 11. Понятие алгоритма. Свойства алгоритма. Исполнители алгоритмов (назначение, среда, режим работы, система команд). Компьютер как формальный исполнитель алгоритмов (программ)

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

Н: Школьный курс математики также предлагает большое разнообразие алгоритмов: умножение «столбиком» и деление «уголком», приведение к общему знаменателю...

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

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

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

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

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

Компьютер – формальный автоматический исполнитель алгоритмов.

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

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

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

Дискретность (от лат. discretus – разделенный, прерывистый). Процесс решения задачи должен быть разбит на последовательность отдельных шагов, каждый из которых называется командой. Примером команд могут служить пункты инструкции, нажатие на одну из кнопок пульта управления, рисование графического примитива (линии, дуги и т.п.), оператор языка программирования. Наиболее существенным здесь является тот факт, что алгоритм есть последовательность четко выделенных пунктов – такие «прерывные» объекты в науке принято называть дискретными.

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

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

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

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

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

Например. Рассмотрим алгоритм деления некоторого числа n «столбиком» на 3. При n=4,2 он благополучно получает результат, а вот для простейшего значения n=1 процесс деления оказывается бесконечным. Впрочем; достаточно дополнить алгоритм условием на количество требуемых в ответе знаков после запятой, и результативность немедленно будет восстановлена.

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

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

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

еще рефераты
Еще работы по информатике