Глава 1. Принципы работы и устройство компьютера введение
Информатика - фундаментальная наука, изучающая процессы накопления,
обработки и передачи информации с помощью компьютера1.
Цель дисциплины - дать знания о:
принципах работы и устройстве компьютера;
методах решении прикладных задач с помощью компьютеров: моделировании и алгоритмизации вычислительных процессов, разработке новых и способах использования существующих программ обработки информации.
Базовые понятия информатики:
Информация - отражение2 характеристик объектов реального мира, являющееся предметом накопления, обработки и передачи с применением компьютера. Обработка информации - процесс закономерного изменения представления и содержания информации. Компьютер - физическая система, представляющая собой совокупность аппаратных (Hardware) и программных (Software) средств, предназначенная для исполнения программ автоматизированной обработки информации. Программа - упорядоченное множество команд, реализующих алгоритм решения задачи. Алгоритм - упорядоченное множество формальных предписаний, выполнение которых приводит к решению задачи. Команда - элементарная инструкция, записанная на формальном языке и определяющая действия (операции) компьютера по обработке указанных в команде данных (операндов).
Ядро Информатики определяют взаимосвязанные технические и программные средства.
Принципы работы и устройство компьютера
Первый персональный компьютер "Apple" разработали Стив Джобс и Стив Возняк в 1977 году. В 1981 году фирма IBM выпустила первую модель персонального компьютера IBM PC (рис. 1), выгодно отличающуюся дружественным диалогом (способностью вести обмен информацией на визуально-комфортном экране).
Современный персональный компьютер построен по принципу открытой архитектуры, в соответствии с которым возможно дополнение компьютера новыми компонентами без замены и с заменой старых по технологии "plug & play"3.
Рис. 1
Компьютер принципиально состоит из трех взаимосвязанных и взаимодействующих основных частей: память, процессор, периферийные устройства (рис. 2).
Процессор Память
RAM ROM
Обработчик команд
счетчик команд,
устройство
управления Системная шина
Обработчик данных
Устройства ввода Устройства вывода
Клавиатура, мышь, Монитор,
АЛУ, регистры джойстик, сканер, принтер, ...,
сопроцессор световое перо, ...
Внешняя память (на периферийных устройствах)
Дискет, винчестер, CD ROM, магнитная лента, ...
Периферийные устройства
Рис. 2
Память компьютера - электронное устройство (рис. 3), предназначенное для
хранения информации и программы ее обработки.
Рис. 3
Атомарный элемент памяти называется бит (bit -binary digit) или разряд и может находиться либо в состоянии включен (это состояние кодируется цифрой 1), либо выключен (0). Комбинированием состояний 8 последовательных битов, называемых байт, можно закодировать любой из 256 перенумерованных символов таблицы ASCII - алфавита компьютера (например, символ 'S' кодируется комбинацией битов '01110011'). Таблица ASCII содержит:
основной алфавит (символы с номерами 0..127), включающий буквы латинского алфавита A..Z (заглавные и строчные), арабские цифры 0..9, символы пунктуации и специальные символы; вот обозначения и названия некоторых из них:
~ - тильда, ! - акцент, @ - эт, # - хэш, $ - бакс, ^ - карэт, & - амперсэнд, * - стар,
|- пайп, / - слеш, \ - бакслеш. В основном алфавите символы с номерами 0..31 - это неотображаемые управляющие коды, предназначенные для изменения режимов работы периферийных устройств (например, посылка символа с номером 13 на печатающее устройство заставляет головку принтера вернуться к началу строки);
дополнительный алфавит (с номерами 128..255), включающий буквы национального алфавита, символы псевдографики (для обрамлений текстов) и др.
Память компьютера структурно состоит из ячеек и построена в соответствии с принципами фон Неймана:
1. Принцип произвольного доступа к основной памяти (адресности) гласит:
“в произвольный момент времени любая ячейка доступна для чтения и записи
информации, причем время доступа к информации одинаково для всех ячеек”.
Для доступа к содержимому ячеек их нумеруют числами, называемыми адресами. Общее количество ячеек определяет объем памяти компьютера и измеряется в следующих единицах: К (килобайт) =1024 (210) байта, М (мегабайт)=1024 К,
Г (гигабайт)=1024 М, Т (терабайт) =1024 Г.
2. Принцип хранимой программы (программного управления) гласит:
“способ хранения программы обработки данных в памяти компьютера ничем не
отличается от способа хранения обрабатываемых этой программой данных”.
Т.о. компьютер может решать любые задачи, поскольку для этого достаточно заменить в его памяти программу и данные. Этот принцип лежит, например, в основе работы специальных программ-трансляторов, преобразующих исходные программы, написанные на каком- либо языке программирования (здесь они уже выступают в ипостаси данных), - в машинные команды программы работы компьютера.
Информация (обрабатываемые данные и команды программ) хранится в памяти компьютера в виде набора нулей и единиц (в двоично-кодированном виде) и
описывается по правилам применяемых систем счисления.
Системой счисления называется совокупность: множества символов, способа изображения с их помощью чисел и правил действий над числами. В компьютерах применяются следующие системы счисления: двоичная (числа кодируются с помощью цифр 0 и 1), восьмеричная (числа кодируются цифрами 0..7), шестнадцатеричная (числа кодируются цифрами 0..9 и буквами A..F, обозначающими цифры 10..15). С целью сохранения совместимости с общепринятой у людей применяется также десятичная система счисления (числа кодируются цифрами 0..9). Основная система счисления компьютера - двоичная, поскольку один бит может хранить лишь один из двух символов (0 или 1). Восьмеричная (8=23) и шестнадцатеричная (16=24) системы счисления - производные от двоичной. Количество цифр для представления любых чисел называется основанием системы счисления (например, основанием двоичной системы счисления является число 2, десятичной - 10). Позиционной называется система счисления, в которой величина числа определяется позициями составляющих его цифр. Например, с помощью цифр 6, 7, 8 можно записать числа 678, 768, 867 и т.д., различные по величине.
Для преобразования целого положительного числа из десятичной системы
счисления в любую другую необходимо последовательно делить число на осно-
вание требуемой системы счисления с выделением остатков, а затем запи-
сать число, составив его из остатков, записанных в обратном порядке.
Пример: преобразовать число 19 из десятичной системы счисления в двоичную:
19(10) = ?(2)
Решение :
19 : 2 = 9 (остаток1 = 1) 9 :2 = 4 (остаток2 = 1) 4 :2 = 2 (остаток3 = 0) 2 : 2 = 1 (остаток4 = 0, остаток5 = 1) 5432 10
В результате преобразований имеем: 19(10) = 10011(2)
Для преобразования целого положительного числа из любой системы счисле-
ния компьютера в десятичную необходимо использовать свойство позицион-
ности систем счисления. Над числом справа налево проставляются разряды
цифр и составляется сумма из произведений цифр на основание системы счи-
сления в степени "позиция цифры".
4 3 2 1 0
Пример: 10011(2) = 124 + 023 +022 + 121 + 120 = 16 + 0 + 0 + 2 + 1 = 19(10)
Один байт может хранить число в диапазоне 0..255 (11111111(2) = 255), два байта - число в диапазоне 0..65535 и т.д.
Память компьютера конструктивно состоит из:
оперативного запоминающего устройства;
постоянного запоминающего устройства;
условно-постоянной памяти;
памяти периферийных устройств.
Оперативное запоминающее устройство (RAM - Random Access Memory) - область памяти, предназначенная для запоминания исходных данных и результатов расчетов в течение одного сеанса работы с компьютером. Конструктивно RAM выполнена в виде интегральных микросхем4 и допускает выполнение операций чтения / записи данных. Информация, содержащаяся в RAM, теряется при выключении или перезагрузке компьютера. При включении компьютера RAM хранит "мусор", т.е. случайные данные, неопределенные ни по величине, ни по знаку.
RAM подразделяется на:
базовую (объемом 1088К); из нее 64К занимает так называемая HMA-память, 384К - UMA-память, а оставшаяся базовая память объемом 640К может использоваться прикладными программами для работы;
отображаемую (expanded или EMS) (до 32М), которая реализуется специальной аппаратной платой. Эта память разбивается на логические страницы по 16К и с помощью специального механизма их виртуального отображения окнами (окно =4 страницам) становится доступной прикладным программам. Современный процессор может непосредственно управлять памятью до 4Г, однако память более 1М доступна только в "защищенном" режиме его работы, в котором без специальной программы-драйвера не могут работать некоторые программы;
расширенную (extended или XMS) (до 4Г), которая реализуется специальной аппаратной платой. Эта память разбивается на логические блоки и с помощью механизма их виртуального отображения становится доступной прикладным программам.
Постоянное запоминающее устройство (ROM - Read Only Memory) - область памяти, предназначенная для хранения программ базовой системы ввода/вывода (BIOS - Base Input / Output System), взаимодействующих с аппаратурой компьютера на уровне конструктивных особенностей, в том числе программы первоначальной загрузки компьютера и справочной таблицы ASCII. Конструктивно ROM выполнена в виде интегральных микросхем и допускает выполнение только операций чтения данных. Информация, содержащаяся в ROM, не теряется при выключении или перезагрузке компьютера.
Условно-постоянная память (CMOS) - область памяти, предназначенная для хранения параметров текущей конфигурации аппаратуры компьютера (таймера, накопителей на дисках, памяти и т.п.). Конструктивно CMOS изготовлена в виде
интегральных микросхем по технологии Complementary Metal Oxide Semiconductor5 и
допускает выполнение операций чтения / записи данных. Информация, содержащаяся в CMOS, не теряется при выключении или перезагрузке компьютера, поскольку эта память питается от встроенного в компьютер аккумулятора.
Компьютер комплектуется также памятью периферийных устройств (cach, буферной и т.п.) для освобождения процессора от оперативного управления обменом данными с периферийными устройствами. Например, память с шестнадцатеричными адресами A0000..BFFFF расположена на схемах управления дисплеем, и монитор отображает содержимое этой памяти.
Процессор - устройство, обрабатывающее информацию в соответствии с
программой и управляющее памятью и периферийным обору-
дованием (рис. 4).
Рис. 4
Процессор конструктивно объединяет взаимодействующие обработчик команд и обработчик данных.
Обработчик команд состоит из:
счетчика команд, выбирающего очередную команду программы из памяти;
устройства управления, которое выделяет из команды адреса ячеек данных,
код операции и организует передачу управления счетчику команд.
Обработчик данных состоит из:
арифметико-логического устройства, выполняющего операции, предусмотренные командой;
регистров - ячеек особой высокоскоростной памяти для хранения данных, необходимых на ближайших этапах обработки данных;
сопроцессора - специализированного математического процессора для обработки смешанных (floating point) 80-битовых чисел.
Процессор “общается” с RAM и периферийными устройствами через общую системную информационную шину (system bus) посредством портов - специальных аппаратных регистров, имеющих уникальные имена-пароли сообщений для конкретных устройств (рис. 5). За каждым устройством закреплены конкретные номера портов, например, за клавиатурой и динамиками закреплены порты 60..63.
Принцип действия общей шины предусматривает:
равноправность позиций всех внешних устройств;
присутствие единственного внешнего устройства, ответственного за порт;
унификацию языка общения процессора с периферийными устройствами за счет передачи по шине только следующих сообщений:
записать число А в ячейку памяти с адресом М и прочитать число А из ячейки памяти с адресом М;
записать число А в порт N (эта команда изменяет режим работы периферийного устройства) и прочитать число А из порта N (состояние порта).
Внешнее устройство 1 Внешнее устройство 2 . . .
Порты Общая
шина
Внешнее устройство 3 Внешнее устройство 4 . . . Рис. 5
Системная информационная шина состоит из шин: данных, адреса и управления и осуществляет пересылку данных внутри компьютера между процессором и периферийными устройствами и между периферийными устройствами, минуя процессор. Шина характеризуется: типом (ISA, EISA, PCI, AGP и др.), тактовой частотой, составляющей 8..70 МГц, и количеством магистралей6, называемых шириной или разрядностью шины (16 или 32).
С ROM процессор “общается” с помощью системы прерываний. Прерывание - сигнал-заказ в шине от периферийных устройств или программ на срочное выполнение какого-либо действия, прерывающий выполнение основной программы. На возникшее событие7 реагируют закрепленные за событиями специальные программы - векторы прерываний (ISR). После обработки сигнала ISR выполнение прерванной программы продолжается.
Процессор персонального компьютера IBM PC - сверхбольшая интегральная схема8 серии Intel (8086, 80286, 80386, 80486), Pentium, .., PowerPC, Digital Alpha и характеризуется:
разрядностью (16, 32 или 64), которая определяет величины обрабатываемых
чисел и производительность;
тактовой частотой, измеряемой в мегагерцах (10..600 МГц), или реже быстродействием, которое составляет 3106..1010 операций в секунду;
шириной шин: управления, данных (влияет на скорость общения процессора с памятью) и адреса (ограничивает общий объем памяти компьютера).
Первый 16-разрядный микропроцессор 8086 с тактовой частотой 10 Мгц и 20-разрядной шиной адреса мог работать только в реальном режиме (однопрограммном), в котором процессор общается с не более чем 1М памяти с помощью физических адресов и все машинные команды разрешены любой программе.
16..64-разрядные микропроцессоры 80286.. Digital Alpha с тактовой частотой 40.. 600 Мгц и 32-разрядными шинами адреса и данных могут работать в защищенном режиме, имеют аппаратные средства организации виртуальной ("кажущейся") памяти до 64Т (!) и поддержки мультипрограммного режима работы. В этом режиме параллельно друг с другом может выполняться несколько программ, причем каждой программе выделяется виртуальный участок памяти и привилегии по использованию машинных команд, так что программы изолируются в памяти друг от друга и не мешают друг другу нормально выполняться.
Конструктивно компьютер состоит из следующих компонентов: базового комплекта (системного блока, дисплея, клавиатуры, манипулятора “мышь”) и дополнительного периферийного оборудования (принтера, модемов, мультимедийного, сетевого и др. оборудования).
Системный блок - металлическая коробка со съемной крышкой (рис. 6), содер-
жащая в себе основные аппаратные части компьютера :
блок питания, материнскую плату с установленными микросхемами: процессора, сопроцессора, памяти, системные часы (“таймер”), встроенный динамик, устройство для работы с компакт-дисками (CD-ROM), накопители на жестких (“винчестерских") дисках, накопители на гибких (“флоппи”) дисках, контролеры дисководов, платы: сетевые, ввода / вывода данных, адаптеров периферийных устройств, и других устройств, соединенные с материнской платой разъемами или многожильными кабелями.
Рис. 6
На передней панели системного блока расположены клавиши управления компьютером:
Power для включения / выключения питания компьютера;
Reset, при нажатии которой выполняется программа первоначальной загрузки компьютера; этой клавишей можно воспользоваться при “зависании” компьютера, когда он не реагирует на нажатия клавиш клавиатуры и другие манипуляции с периферийными устройствами;
Turbo, нажатие которой увеличивает скорость производимых процессором операций; скорость индицируется жидкокристаллическим табло на передней панели системного блока.
На задней панели системного блока в отверстиях-слотах расположены много
штырьковые разъемы (коннекторы) плат, соответствующие портам ввода / вывода
данных и служащие для подключения к компьютеру периферийного оборудования.
Таймер - счетчик импульсов кварцевого генератора, периодически (с частотой 18,2 Гц) вызывающий программу обработки прерывания, которая при каждом вызове прибавляет к хранимому системному времени фиксированный промежуток времени "тик".
Дисплей (видеосистема) представляет собой совокупность монитора и графичес-
кого адаптера (видео карты) (рис. 7).
Рис. 7
Монитор характеризуется:
размером (измеряется в дюймах и обычно составляет 14”..21”);
цветностью (изготавливаются монохромные и цветные мониторы);
разрешающей способностью (измеряется в количестве цветных точек по горизонтали и вертикали и обычно составляет 320200..16001280);
зернистостью (расстоянием между центрами точек люминофора одного цвета, которое обычно составляет 0,39..0,25 мм).
Графический адаптер (конструктивно) - сложное устройство, управляемое собственным микропроцессором, сравнимым по мощности с процессором компьютера. Широко используются адаптеры следующих стандартов:
EGA (Enhanced Graphics Adapter) - усовершенствованный графический адаптер;
VGA (Video Graphics Array) - графический видео массив и его модификации: SVGA (супер-VGA) и UVGA (ультра-VGA) с улучшенными характеристиками.
Графический адаптер состоит из: контролера монитора, видеопамяти, контролера графики.
Контролер монитора управляет строчной и кадровой разверткой изображения и 30..85 раз в секунду заново рисует (“освежает”) изображение на мониторе. Изображение строится из цветных точек, которые объединяются в телевизионные строки и изображаются кадрами. Количество точек в строке и количество строк различно для разных адаптеров. На самом мониторе, как правило, есть ручки управления разверткой по горизонтали и вертикали, размером кадра, яркостью и контрастностью (на цифровых мониторах значения этих же параметров устанавливаются по меню).
Основное назначение видеопамяти - хранение образа экрана монитора. Память, достаточная для хранения образа одного экрана, называется видеостраницей. Объем видеопамяти, а, следовательно, и количество видеостраниц зависит от конкретного адаптера.
Контролер графики поддерживает работу адаптера в текстовых и графических режимах, которые являются интегральной характеристикой адаптера:
В текстовом режиме экран представляет собой совокупность текселов (“texel” - text element), расположенных на пересечениях строк и столбцов (рис. 8).