Реферат: Машинная программа. 9 Классификация вычислительных устройств. 11 Основные устройства компьютера, его архитектура. 13





1. Организация и функционирование компьютеров 4

1.1. Компьютер – универсальная вычислительная машина. 4

1.2. Двоичная система счисления и представление информации в компьютере. 5

1.3. Принципы работы компьютера. 7

1.3.1. Процессор и оперативная память компьютера 7

1.3.2. Машинная команда 8

1.3.3. Машинная программа. 9

1.4. Классификация вычислительных устройств. 11

1.5. Основные устройства компьютера, его архитектура. 13

1.5.1. Оперативная память. 14

1.5.2. Центральный процессор. 15

1.5.3. Системные шины. 16

1.5.4. Монитор. 16

1.5.5. Устройства ввода информации. 17

1.5.6. Внешние запоминающие устройства. 18

1.5.7. Устройства вывода информации. 19

1.5.8. Некоторые другие устройства. 20

^ 2. Понятие о программах и программировании. 20

2.1. Компьютерные программы и языки программирования. 21

3. Операционная система. 22

3.1. Назначение и структура операционной системы 24

3.2. Принципы работы операционной системы. 26

3.3. Управление программами. 26

3.4. Операционная система MS DOS. 27

3.5. Операционная система Windows. 28

3.6. Операционная система UNIX. 31

^ 4. Программирование на языке Паскаль. 31

4.1. Примеры алгоритмов 31

4.2. Алфавит языка Паскаль. 35

4.3. Структура программы на Паскале. 36

4.4. Раздел определения типов. 36

4.5. Раздел описания переменных. 38

4.6. Раздел определения констант. 39

4.7. Раздел определения меток. 39

4.8. Раздел описания включаемых модулей. 39

4.9. Операторная часть (тело программы). 40

4.9.1. Оператор присваивания и выражения. 40

4.9.2. Пустой оператор 42

4.9.3. Составной оператор. 42

4.9.4. Оператор безусловного перехода. 42

4.9.5. Условный оператор. 42

4.9.6. Оператор выбора. 43

4.9.7. Оператор цикла с предусловием. 44

4.9.8. Оператор цикла с постусловием. 44

4.9.9. Оператор цикла со счетчиком. 44

4.10. Ввод и вывод информации в Паскале. 45

4.11. Процедуры и функции и оператор вызова процедуры (функции) 46

4.12. БНФ - метаязык описания синтаксиса языков программирования. 48

4.13. Динамические структуры данных 49

4.13.1. Указатели. 50

4.13.2. Использование указателей при вызове процедур. 51

4.13.3. Использование указателей для обработки списков. 52

4.13.4. Использование указателей для обработки деревьев. 54

4.13.5. Использование деревьев для индексирования. 56

4.14. Рекурсия. 57

4.15. Сортировка массивов и файлов. 58

4.16. Вывод на дисплей в текстовом и графическом режиме. 60

^ 5. Вычислителььные сети и распределенная обработка данных. 61

5.1. Назначение и преимущества сетей. 61

5.2.Основные понятия и сетевая терминология. 62

5.3.Модель взаимодействия открытых систем. 64

5.4.Телекоммуникационные системы – основные функции и компоненты. 66

5.5.Топология локальной сети 68

5.6.Технологии функционирования локальной сети. 70

5.7.Системное обеспечение работы в сети. 71

6. Интернет 72

6.1. Что такое Интернет. 72

6.2.История Интернет 73

6.3.Типы сервисов Интернет 75

6.3.1.Электронная почта 76

6.3.2.Сетевые новости Usenet 76

6.3.3.Списки рассылки 76

6.3.4.FTP - передача файлов 77

6.3.5.WWW (World Wide Web - всемирная паутина) 77

6.3.6.Сервис telnet. 78

6.4.Доменная адресация в Интернет 78

6.5.Маршрутизация в сетях TCP/IP 79

6.6.Организация TCP/IP 79

6.7.Протоколы Интернет 81

6.7.1.Семейство протоколов TCP/IP 81

6.7.2.Ethernet-кадр 83

6.7.3.Протокол SLIP 83

6.7.4.Протокол PPP 84

6.7.5.Межсетевой протокол IP 84

6.7.6.Протокол UDP 86

6.7.7.Протокол TCP 86

6.7.8.Другие протоколы. 87

6.8.Язык Java. 88

6.9.VRML 88

6.10.Проблемы Интернет 88

6.11.Интранет - информационное обслуживание на основе Интернет 89

6.12.Поиск информации с применением серверов глобального поиска и каталогов 89

Вопросы к экзамену 91

^ 1. Организация и функционирование компьютеров 91

1.1.Компьютер – универсальная вычислительная машина. Теория алгоритмов. Экскурс в историю алгоритмов 91

1.2.Двоичная система счисления и представление информации в компьютере. 91

1.3.Принципы работы компьютера. 91

1.4.Классификация компьютерных систем 91

1.5.Основные устройства компьютера, его архитектура. 91

^ 2. Понятие о программах и программировании. 91

3. Операционная система. 91

3.1.Назначение и структура операционной системы. Диспетчер. Функции операционной системы 91

^ 4. Программирование на языке Паскаль. 92

5. Вычислительные сети и распределенная обработка данных. 92

6. Интернет 92

Список задач для программирования на Паскале 93

Литература. 95
^

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

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

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

Традиция связывает термин «алгоритм» с именем арабского ученого Аль-Хорезми. Проблемами алгоритмизации при решении математических задач занимались Паскаль, Декарт, Лейбниц, Лаплас и многие другие великие ученые. Особый интерес в этой области был инициирован Гильбертом в связи с его знаменитыми проблемами. В двадцатом веке формальная теория алгоритмов бурно развивалась. Можно назвать такие фамилии, как Гедель, Клини, Черч, Тьюринг, Пост, Марков, Петер.

Параллельно с теорией делались попытки создать практически работающие вычислительные устройства. В 1642г. Паскаль изобрел устройство, выполняющее сложение чисел, а в 1673г. Лейбниц сконструировал арифмометр, позволяющий выполнять четыре арифметических действия. В первой половине XIX в. английский математик Чарльз Бэббидж попытался построить универсальную машину, которая должна была выполнять любые вычисления без участия человека. Программы для нее вводилась с помощью перфокарт, которые уже тогда употреблялись в ткацких станках. Реально такая машина (но не механическая, а электронная) была построена в США в 1943г.

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

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

Отметим основные свойства алгоритмов, лежащих в основе работы современных компьютеров:

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

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

повторяемость - алгоритм должен давать один и тот же результат при одних и тех же входных значениях;

конечность - алгоритм должен давать решение задачи за конечное число шагов.

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

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

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

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

Контрольные вопросы по теме.

Каково самое общее предназначение компьютера?

Что означает определение «универсальный» по отношении к компьютеру?

Что означают определения «дискретный» и «конечный» по отношению к алгоритму?

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

Сначала разберемся в том, что собой представляет десятичная система счисления. Начнем с целых чисел. Возьмем какое-либо число, записанное в десятичной системе счисления, например, 397. В этом числе 7 единиц, 9 десятков и 3 сотни, т.е. величина числа равна 7*1+9*10+3*100 = 7*100+9*101+3*102. Аналогично устроена позиционная система счисления по произвольному основанию. В общем случае, пусть число X записывается в системе счисления по основанию M в виде ANAN-1…A2A1A0 (число цифр в записи равно N+1). Тогда величина числа вычисляется по формуле X = A0*M0 + A1*M1 + A2*M2 +…+ AN-1*MN-1 + AN*MN. Здесь A0, A1, A2, …, AN-1, AN – так называемые M-ричные цифры, которые представляют значения от 0 до M-1 включительно.

Например, записанное в семиричной системе счисления число 236417 = 1+4*71+6*72+3*73+2*74 = 1+28+294+1029+4802 = 615410 . Проще вычислить это значение с использованием так называемой схемы Горнера, которая заключается в расстановке скобок в вышеприведенной сумме: 1+4*71+6*72+3*73+2*74 = 1+7*(4+7*(6+(7*(3+7*2) ) )= 1+7*(4+7*(6+7*17) ) = 1+7*(4+7*125) = 1+7*879 = 615410 .

Как вычислить цифры M-ричного представления числа? Для этого сначала посмотрим, как вычислляются цифры десятичного представления числа. Пусть X снова равно 397. При делении числа 397 на 10 получаем 39 и 7 в остатке. Остаток 7 выражает количество единиц в числе X. Теперь разделим 39 на 10. Получим частное 3 и 9 в остатке. Остаток 9 теперь представляет число лесятков. Наконец, делим 3 на 10 и получаем 0 и 3 в остатке. В результате этой операции получаем количество сотен – 3. Десятичная запись числа состоит из остатков 7, 9 и 3, но стоящих в обратном порядке.

По такой же схеме вычисляются цифры в произвольной M-ричной системе счисления . Возьмем то же число X=39710 (естественно, что величина числа не зависит от той системы счисления, в которой оно записано). Попробуем записать его в пятиричной системе счисления. Для этого разделим его на 5. Получим 79 и 2 в остатке. Запомним первый остаток: A0 = 2. Далее разделим 79 на 5. Получим 15 и 4 в остатке. Запомним второй остаток: A1 = 4. Теперь разделим на 5 число 15. Получим 3 и 0 в остатке. Следовательно, A2 = 0. Последнее деление 3 на 5 дает 0 и 3 в остатке, то есть последняя полученная цифра – это A3 = 3. Равенство частного нулю означает, что процедуру следует завершить. Полученные остатки следует записать в обратном порядке. В результате проделанного вычисления получаем, что 39710 = 30425.

Для дробных чисел формула для вычисления величины числа слегка видоизменяется. Пусть число записано в системе счисления по основанию M в виде AnAn-1…A2A1A0, A-1A-2…A-h . Тогда его величина вычисляется по формуле

X = A-h*M-h +…+ A-2*M-2+A-1*M-1 + A0*M0 + A1*M1 + A2*M2 +…+An-1*Mn-1 + An*Mn.

Так, число 1011,0112 представляет собой значение 2-3+2-2+20+21+23 = 11,37510 . Следует отметить, что в европейских языках для разделения целых и дробных разрядов числа вместо запятой используется точка.

В информатике актуальны двоичная и шестнадцатиричная системы счисления. В шестнадцатиричной системе счисления требуется 16 цифр. В качестве шестнадцатиричных цифр используются 10 десятичных цифр от 0 до 9, а также шесть первых букв латинского алфавита: A (10), B (11), C (12), D (13), E (14) и F (15). В двоичной системе счисления всего две цифры: 0 и 1. В соответствии с общим определением число, записанное в двоичной системе счисления, является суммой степеней двойки, соответствующих тем местам в записи числа, на которых стоят единицы. Например, число 10010111012 равно сумме 1+22+23+24+26+29 = 1+4+8+16+64+512 = 60510 .

Для хранения числа в памяти компьютера оно переводится в двоичную систему счисления. Каждая двоичная цифра соответствует одному разряду хранения информации в памяти компьютера – одному биту. В современных компютерах биты хранения информации объединяются в группы по восемь, которые называются байтами. Соответственно при хранении чисел двоичные цифры группируются по восемь. Например, для хранения числа 10011 100111012 требуется два байта. В первый байт записываются цифры 00010011, а во второй – цифры 10011101.

Шестнадцатиричная и двоичная системы счисления связаны между собой. Если в двоичной записи числа сгруппировать двоичные цифры по четыре (считая справа налево), а затем заменить каждую четверку двоичных цифр на шестнадцатиричную цифру, то получится шестнадцатиричное представление числа. Например, если в вышеприведенном примере 10011100111012 разбить двоичные цифры на четыре группы 1 0011 1001 1101, то 12 = 116 , 00112 = 316 , 10012 = 916 , 11012 = D16 , и в результате получается представление числа 10011100111012 в шестнадцатиричной системе: 139D16 . Шестнадцатиричная запись иногда используется, если необходимо указать содержимое нескольких байтов памяти компьютера (например, в руководстве или учебном пособии).

Вся информация в компьютере представляется в цифровой форме. Это естественно для чисел. Для нечисловой информации (например, текста) используется стандартный прием: всевозможные элементарные значения нумеруются, и вместо самих значений хранятся их номера (которые играют роль кодов). Так, при представлении текстовой информации все символы сводятся в таблицу, а текст записывается номерами символов. В любом случае коды нечисловых данных, хранящиеся в компьютере, не имеют содержания вне таблиц нумерации. Количество двоичных разрядов, необходимых для записи наибольшего номера объекта данных, зависит от их общего объема. Наибольшее число, которое в двоичной системе счисления можно записать с помощью N цифр, состоит из N единиц. Это число равно 1+2+4+…+2N-1 = 2N-1 . Например, с помощью восьми двоичных цифр можно различать 28=256 символов текста.

Это рассуждение настолько важно для всей идеологии хранения информации в двоичном коде, что в информатике принято измерять объем не в десятичной системе счисления, а в специальных единицах измерения, использующих степени двойки. Используя то обстоятельство, что 210=1024 не очень отличается от 103-1000, принято 1024 байт называть килобайтом (1Кб). Аналогично мегабайт – это 1024 килобайта (1Мг), а гигабайт – 1024 мегабайта (1Гб). Количество информации в современном мире столь велико, что приходится вводить еще одну единицу – терабайт, равную 1024 гигабайта (1Тб). Если не нужна особая точность, то можно считать, что:

1 терабайт = 1 000 гигабайт = 1 000 000 мегабайт = 1 000 000 000 килобайт = 1 000 000 000 000 байт.

То устройство компьютера, в котором хранится информация, называется оперативным запоминающим устройством (ОЗУ) или оперативной памятью. Если отвлечься от технических деталей, оперативная память компьютера представляет собой линейную последовательность байтов. Длина этой последовательности в современных персональных компьютерах десятки сотни мегабайт. Еще больше память суперкомпьютеров. Для хранения чисел выделяется несколько байтов (от одного до 10). Различают две основных формы представления числа в памяти компьютера. При первом способе все разряды выделенных для хранения числа байтов памяти последовательно нумеруются, и двоичные цифры числа непосредственно записываются в соответствующие биты памяти. Один бит выделяется для представления знака числа (0 – плюс, 1 – минус). При втором способе число представляется в так называемой нормализованной (или экспоненциальной) форме: X=M*10n, где число М (называемое мантиссой) заключено от 1 до 10, число n (называемое порядком) - целое.

Используется несколько форматов представления целых и нормализованных чисел, которые отличаются объемом и наличием или отсутствием знакового бита. От этого зависит диапазон чисел, которые могут быть представлены в этом формате. Например, если заранее известно, что какая то целая величина положительна и не может быть больше 255, то для ее хранения достаточно одного байта. Для хранения величин, изменяющихся в диапазоне от -215 = –32768 до 215-1 = 32767, выделяется два байта. Если целое число не вмещается в этот диапазон, то для его хранения выделяется четыре байта (диапазон от –231 до 231-1).

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

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

В реальной действительности информация разнородна. Обычно делят данные на числовую информацию, текстовую информацию и логическую информацию. Под текстовой информацией понимается линейная последовательность символов. Для представления символа в памяти компьютера используется следующая схема: фиксируется множество допустимых символов текста (обычно их 28 = 256 символов) и каждому символу присваивается номер (от 0 до 255). После этого последовательность символов заменяется на последовательность номеров, которые в памяти компьютера записываются в виде целых двоичных чисел (без знака). Один номер помещается в одном байте памяти (именно поэтому исторически сложилось разбиение памяти на группы по восемь битов, так как оказалось, что оптимальное количество символов – 28, а не, например, 29).

Множество допустимых символов и их номера составляют таблицу кодирования символов. Естественно, эта таблица не должна зависеть от произвола программиста или производителя компьютеров, поскольку передача инфор­мации в этом случае будет сильно затруднена. В настоящее время существует стандарт ASCII (American Standard Code for Informational Interchange), содержащий набор и номера 128 основных символов (коды от 0 до 127) и набор и номера 128 расширенных символов (коды от 128 до 255). Поскольку в этот стандарт не входят символы национальных алфавитов (которых значительно больше, чем 128), в каждой стране 128 кодов расширенных символов (от 128 до 255) заменяются символами национального алфавита. Другими словами, каждый язык с алфавитом, отличным от английского алфавита, устанавливает свой стандарт. Осмысленный текст на одном языке будет бессмысленным на другом. Таким образом, для правильной работы с текстом важна не только сама информация, но и ее интерпретация. Программа, которая правильно интерпретирует колы символов в соответствии с таблицей кодирования в определенном алфавите, называется текстовым драйвером.

Логическая величина – это величина, которая может принимать всего два значения – true и false («истина» и «ложь»). Для хранения значения логической переменной достаточно одного бита. Обычно значение «ноль» бита памяти ассоциируется с истиной, значение «единица» – с ложью.

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

Контрольные вопросы по теме.

Переведите 134210 в семиричную систему счисления.

Переведите 13425 в десятичную систему счисления.

Переведите 134210 в двоичную систему счисления.

Переведите 100111010101102 в шестнадцатиричную систему счисления.

Что такое представление чисел с плавающей запятой и для чего оно используется?

Что такое ASCII-коды?

Почему в байте 8 битов?

Сколько книг поместится в 1Гб, если книги содержат 500 стр., а на странице примерно 2000 символов?
^ 1.3. Принципы работы компьютера. 1.3.1. Процессор и оперативная память компьютера
Теперь от рассмотрения абстрактных проблем перейдем к рассмотрению конструктивных особенностей компьютера, не вдаваясь при этом глубоко в технические детали. Сейчас нас интересует принципиальная сторона вопроса. В компьютере хранение данных и их обработка пространственно разделены. Ранее было сказано,что устройство, предназначенное для хранения данных, называется памятью компьютера. Устройство, производящее различные вычисления и управляющее работой компьютера, называется центральным процессором (ЦП). Полное состояние компьютера определяется той информацией, которая хранится в памяти компьютера. Удобно делить память на три основных раздела: адресуемая память (которая и называется оперативной памятью), регистры процессора и ячейки ввода-вывода (последний раздел является условным, так как он просто отображает процессы обмена информации с внешней средой).

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

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

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

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

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

перемещает блок информации из оперативной памяти в регистры процессора;

перемещает блок информации из регистров процессора в оперативную память компьютера;

получает блок информации извне через один из портов и помещает ее в регистр процессора;

выводит блок информации из регистра процессора через один из портов во внешнюю среду;

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

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

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

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

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

Для характеристики компьютера очень важна разрядность шины адреса. Например, у прежних персональных компьютеров использовалась 20-разрядная шина адреса. Максимальный адрес, который можно послать по такой шине, равен 220-1 = 1Мб, то есть байту оперативной памяти с адресом большим 1Мб предписание по шине адреса отправить невозможно. В таких компьютерах объем оперативной памяти принципиально не мог быть больше 1Мб. В процессорах этих компьютеров использовалась специальная система определения адреса, ориентированная на такое ограничение. В результате все программы, написанные в то время, предусматривали адреса до 1Мб.

Современные персональные компьютеры включают 32-разрядную шину адреса. При такой шине максимальный объем оперативной памяти равен 232=4Гб. Пока этого достаточно, однако уже существуют компьютеры с 64-разрядной шиной адреса. При 32-разрядной шине можно обратиться к любому байту оперативной памяти в пределах 4Гб. Новые программы так и делают. Однако, к сожалению, необходимо предусмотреть возможность выполнения программ, написанных для старых процессоров. Поэтому в современных процессорах предусмотрены два режима работы: один режим, называемый реальным, имитирует работу старых процессоров, и в этом режиме осуществляется доступ только к 1Мг оперативной памяти; другой режим, называемый защищенным, имеет доступ ко всей оперативной памяти.

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

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