Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы компьютерных наук. Ч.1. Учебное пособие
.pdf
Министерство образования и науки Российской Федерации
Рязанский государственный радиотехнический университет
А.Н. КОЛЕСЕНКОВ, Н.В. АКИНИНА
ОСНОВЫ КОМПЬЮТЕРНЫХ
НАУК
ЧАСТЬ 1
Учебное пособие
Рязань 2017

УДК 004.9
Основы компьютерных наук. Часть 1: учеб.пособие / А.Н.
Колесенков, Н.В. Акинина; Рязан. гос. радиотехн. ун-т. Рязань, 2017.
80 с.
Содержит теоретические сведения для изучения основ
компьютерных наук, включает методические материалы для
выполнения упражнений.
Предназначено для студентов очной и заочной форм обучения
направления 02.03.01 «Математика и компьютерные науки» по
дисциплине «Основы компьютерных наук». Может использоваться как
источник сведений для студентов направлений, близких к
направлениям 02.03.01 «Математика и компьютерные науки» и
09.03.01 «Информатика и вычислительная техника».
Табл. 16. Ил. 21. Библиогр.: 11 назв.
Компьютерные науки, история, вычислительные машины,
вычислительные системы, алгоритм, блок схема, архитектура
компьютера
Печатается по решению редакционно-издательского совета
Рязанского государственного радиотехнического университета.
Рецензент: кафедра «Электронные вычислительные машины»
Рязанского государственного радиотехнического университета (зав.
кафедрой д-р техн. наук, проф. Б.В. Костров)
К о л е с е н к о в Александр Николаевич
А к и н и н а Наталья Викторовна
Основы компьютерных наук
Редактор Р.К. Мангутова
Корректор С.В. Макушина
Подписано в печать 30.09.17. Формат бумаги 6084 1/16.
Бумага писчая. Печать трафаретная. Усл. печ. л. 5,0.
Тираж 100 экз. Заказ.
Рязанский государственный радиотехнический университет.
390005, Рязань, ул. Гагарина, 59/1.
Редакционно-издательский центр РГРТУ.
© Рязанский государственный
радиотехнический университет, 2017

Введение
Компьютерные науки – это дисциплина, назначение которой
состоит в создании научной основы для таких предметов, как
электронные вычислительные машины, обработка данных, разработка
алгоритмического и программного обеспечения. Она представляет
собой фундамент для успешного применения современных
вычислительных средств и информационных технологий.
Компьютерные науки – это комплекс теоретических и
практических знаний, которые используют в своей работе
специалисты в области вычислительной техники, программирования,
информационных систем и технологий. Как научная дисциплина
«Компьютерные науки» возникла в начале 40-х годов XX века в
результате слияния теории алгоритмов и математической логики, а
также изобретения электронных вычислительных машин.
Предметная область компьютерных наук разделяется на 2
подобласти:
– изучение процессов обработки информации и представления
данных;
–структуры, механизмы и схемы обработки информации.
В области компьютерных наук выделяют двенадцать основных
разделов:
– Архитектура компьютеров.
– Алгоритмы и структуры данных.
– Языки программирования.
– Операционные системы и компьютерные сети.
– Разработка программного обеспечения.
– Базы данных и информационно-поисковые системы.
– Искусственный интеллект и робототехника.
– Компьютерная графика.
– Взаимодействие человека и компьютера.
– Вычислительная математика.
– Деловая информатика.
– Биоинформатика.
1.История вычислительной техники
1.1. Основные определения
Вычислительная машина – совокупность технических средств,
создающая возможность проведения обработки информации и
получения результата в необходимой форме. Под техническими

средствами понимают все оборудование, предназначенное для
автоматизированной обработки данных.
Вычислительную машину, основные функциональные
устройства которой выполнены на электронных компонентах,
называют электронной вычислительной машиной.
В свою очередь, вычислительную систему стандарт ISO/IEC
2382/1-93 определяет как одну или несколько вычислительных машин,
периферийное оборудование и программное обеспечение которых
выполняют обработку данных.
Функциональная организация вычислительной машины –
абстрактная модель совокупности функциональных возможностей и
услуг, призванных удовлетворить потребности пользователей. Эти
возможности и услуги обеспечивают всю последовательность
действий пользователя: кодирование исходных данных,
программирование, ввод данных и программ, управление ходом
обработки данных, вывод результатов и их документирование.
Структурная организация вычислительной машины – это
физическая модель, которая устанавливает состав, порядок и
принципы взаимодействия основных функциональных частей
машины. Графическим отображением структурной организации
является структурная схема.
Термин «Архитектура вычислительной машины» был
употреблен фирмой IBM при разработке машин семейства IBM 360
для описания тех средств, которыми может пользоваться программист,
составляя программу на уровне машинных команд.
В ГОСТ 15971-90 под архитектурой вычислительной машины
понимается концептуальная структура вычислительной машины,
определяющая проведение обработки информации и включающая
методы преобразования информации в данные и принципы
взаимодействия технических средств и программного обеспечения.
В соответствии с международным стандартом ISO/IEC 2382/1
архитектура вычислительной машины – это логическая структура и
функциональные характеристики вычислительной машины, включая
взаимосвязи между ее аппаратными и программными компонентами.
1.2. Уровни детализации структуры вычислительной
машины
На первом уровне вычислительная машина рассматривается как
устройство, способное хранить и обрабатывать информацию, а также
обмениваться данными с внешним миром (рис. 1,а). Вычислительная
4

машина представляется «черным ящиком», который может быть
подключен к коммуникационной сети и к которому, в свою очередь,
могут подсоединяться периферийные устройства.
Уровень общей архитектуры (рис. 1,б) предполагает
представление вычислительной машины в виде четырех
составляющих: центрального процессора (ЦП), основной памяти (ОП),
устройства ввода/вывода (УВВ) и системы шин.
Рис. 1. Уровни детализации вычислительной машины: а – «черный
ящик»; б – общая архитектура; в –архитектура центрального
процессора; г –архитектура устройства управления
На третьем уровне детализируется каждое из устройств второго
уровня. Для примера рассмотрен центральный процессор (рис. 1,в). В
простейшем варианте в нем можно выделить:
– арифметико-логическое устройство (АЛУ), обеспечивающее
обработку целых чисел;
– блок обработки чисел в формате с плавающей запятой (БПЗ);
– регистры процессора, использующиеся для краткосрочного
хранения команд, данных и адресов;
– устройство управления (УУ), обеспечивающее совместное
5

функционирование устройств вычислительной машины;
– внутренние шины.
На четвертом уровне детализируются элементы третьего уровня
(рис. 1,в). Для примера раскрыта структура устройства управления,
которое представлено в виде четырех составляющих:
– логики программной последовательности – электронных схем,
обеспечивающих выполнение команд программы в
последовательности, предписываемой программой;
– регистров и дешифраторов устройства управления;
– управляющей памяти;
– логики формирования управления, генерирующей все
необходимые управляющие сигналы.
1.3. Эволюция средств автоматизации вычислений
Современное состояние вычислительной техники являет собой
результат многолетней эволюции. Обычно эволюцию вычислительной
техники представляют как последовательную смену поколений.
Поколение вычислительных машин – это классификационная
группа, объединяющая вычислительные машины по используемой
технологии реализации ее устройств, а также по уровню развития
функциональных свойств и программного обеспечения и
характеризующая определенный период в развитии промышленности
средств вычислительной техники.
1.3.1. Нулевое поколение
Особенности
Основным элементом механических устройств было зубчатое
колесо.
Начиная с XX века, роль базового элемента переходит к
электромеханическому реле.
1492 год. Леонардо да Винчи приводит рисунок
тринадцатиразрядного десятичного суммирующего устройства на
основе зубчатых колес.
1623 год. Вильгельм Шиккард, профессор университета
Тюбингена, разрабатывает устройство «Считающие часы» на основе
зубчатых колес для сложения и вычитания шестиразрядных
десятичных чисел.
1642 год. Блез Паскаль представляет «Паскалину» – первое
реально осуществленное и получившее известность механическое
цифровое вычислительное устройство, позволяющее суммировать и
6

вычитать пятиразрядные десятичные числа.
1673 год. Готфрид Вильгельм Лейбниц создает «пошаговый
вычислитель» – десятичное устройство для выполнения четырех
арифметических операций над 12-разрядными десятичными числами.
В устройстве использовался ступенчатый валик.
1786 год. Немецкий инженер Иоганн Мюллер выдвигает идею
«разностной машины» – специализированного калькулятора для
табулирования логарифмов. Калькулятор, построенный на
ступенчатых валиках Лейбница, мог выполнять четыре
арифметических действия над 14-разряднымичислами.
1801 год. Жозеф Мари Жаккард строит ткацкий станок с
программным управлением на основе комплекта перфокарт.
1832 год. Английский математик Чарльз Бэббидж создает
сегмент разностной машины, оперирующий шестиразрядными
числами и разностями второго порядка.
1836 год. Бэббидж разрабатывает проект «аналитической
машины», который предусматривает три считывателя с перфокарт для
ввода программ и данных, память на пятьдесят 40-разрядных чисел,
два аккумулятора для хранения промежуточных результатов.
Суммирование занимало ~ 3 с, а умножение и деление ~3 мин.
1843 год. Георг и Эдвард Шутц строят разностную машину с
принтером для работы с разностями третьего порядка.
1871 год. Бэббидж создает прототип одного из устройств своей
аналитической машины – «мельницу».
1885 год. Дорр Фельтиз Чикаго строит свой «комптометр» –
первый калькулятор, где числа вводятся нажатием клавиш.
1890 год. Герман Холлерит из Массачусетcкого
технологического института разработал перфокарточный табулятор.
1892 год. Вильям Барроуз создает прототип офисного
калькулятора.
1937 год. Джорж Стибитц из Bell Telephone Laboratories
демонстрирует первый однобитовый двоичный вычислитель на базе
электромеханических реле.
1937 год. Алан Тьюринг из Кембриджского университета
предлагает концепцию теоретической упрощенной вычислительной
машины, в дальнейшем получившей название машины Тьюринга.
1938 год. Клод Шеннон предлагает технологию реализации
символической логики на базе реле.
1938 год. Немецкий инженер Конрад Цузе строит механический
программируемый вычислитель Z1 с памятью на 1000 битов.
7

1939 год. Джордж Стибитц и Сэмюэль Вильямс представили
ModelI – калькулятор на базе релейной логики, управляемый с
помощью модифицированного телетайпа (по телефонной линии).
1940 год. Цузе построил электромеханическую машинуZ2,
основу которой составляла релейная логика, но память была
механической.
1941 год. Цузе создает электромеханический программируемый
вычислитель Z3, который содержит 2600 электромеханических реле.
Программа хранилась на перфоленте. Емкость памяти составляла 64
22-битовых слова. Операция умножения занимала 3–5 с.
1943 год. Группа ученых Гарвардского университета во главе с
Говардом Айкеном разрабатывает вычислитель ASCC MarkI
(Automatic Sequence-Controlled Calculator) – первый программноуправляемый вычислитель. Длина устройства составила 18 м, а вес – 5
т. Машина состояла из множества вычислителей, обрабатывающих
свои части общей задачи под управлением единого устройства
управления. Команды считывались с бумажной перфоленты и
выполнялись в порядке считывания. Данные считывались с перфокарт.
1945 год. Цузе завершает Z4. По архитектуре у Z4 очень много
общих черт с современными вычислительными машинами: память и
процессор представлены отдельными устройствами, процессор может
обрабатывать числа с плавающей точкой. Программа хранится на
перфоленте и считывается последовательно.
1.3.2. Первое поколение
Особенности:
– использование схем на базе электронно-вакуумных ламп
вместо электромеханических реле;
– у электронных компонентов имелось одно важное
преимущество: выполненные на них ключи могли переключаться
примерно в тысячу раз быстрее своих электромеханических аналогов.
Первой электронной вычислительной машиной (ЭВМ) чаще
всего называют специализированный калькулятор ABC (Atanasoff–
Berry Computer). Разработан он был в период с 1939 по 1942 годы
профессором Джоном Атанасовым совместно с аспирантом
Клиффордом Берри и предназначался для решения системы линейных
уравнений (до 29 уравнений с 29 переменными). ABC обладал
памятью на 50 слов длиной 50 битов, а запоминающими элементами
служили конденсаторы с цепями регенерации. В качестве вторичной
памяти использовались перфокарты.
8

Вторым претендентом на первенство считается вычислитель
Colossus, построенный в 1943 году в Англии. Изобретателем машины
был профессор Макс Ньюмен, а изготовил его Томми Флауэрс.
Colossus был создан для расшифровки кодов немецкой шифровальной
машины. Машина была выполнена в виде восьми стоек высотой 2,3 м,
а общая длина ее составляла 5,5 м. В логических схемах машины и в
системе оптического считывания информации использовалось 2400
электронных ламп. Информация считывалась с пяти вращающихся
длинных бумажных колец со скоростью 5000 симв./с.
Третий кандидат на роль первой ЭВМ – программируемый
электронный калькулятор общего назначения ENIAC (Electronic
Numerical Integrator and Computer). Идея калькулятора, выдвинутая в
1942 году Джоном Мочли из университета Пенсильвании, была
реализована им совместно с Преспером Эккертом в 1946 году. ENIAC
весил 30 тонн, содержал 18 000 радиоламп, имел размеры 2,5 × 30 м и
обеспечивал выполнение 5000 сложений и 360 умножений в секунду.
Использовалась десятичная система счисления. Программа задавалась
схемой коммутации триггеров на 40 наборных полях. Когда все лампы
работали, инженерный персонал мог настроить ENIAC на новую
задачу, вручную изменив подключение 6000 проводов.
Американский математик Джон фон Нейман принял участие в
проекте ENIAC в качестве консультанта. Еще до завершения ENIAC
Эккерт, Мочли и фон Нейман приступили к новому проекту – EDVAC,
главной особенностью которого стала идея хранимой в памяти
программы.
Технология программирования в рассматриваемый период была
еще на зачаточном уровне. Первые программы составлялись в
машинных кодах – числах, непосредственно записываемых в память
вычислительной машины. Лишь в 50-х годах началось использование
языка ассемблера, позволявшего вместо числовой записи команд
использовать символьную, после чего специальной программой, также
называемой ассемблером, эти символьные обозначения
транслировались в соответствующие коды.
В 1947 году под руководством С.А. Лебедева начаты работы по
созданию малой электронной счетной машины (МЭСМ), которая была
запущена в эксплуатацию в 1951 году и стала первой ЭВМ в СССР и
континентальной Европе.
В 1952 году Эккерт и Мочли создали первую коммерчески
успешную машину UNIVAC.
Также в 1952 году в опытную эксплуатацию была запущена
9

вычислительная машинаМ-1 (Брук И.С., Матюхин Н.Я., Залкинд А.Б.).
М-1 содержала 730 электронных ламп, оперативную память емкостью
256 25-разрядных слов, рулонный телетайп и обладала
производительностью 15–20 операций/с. Впервые была применена
двухадресная система команд. Чуть позже группой выпускников МЭИ
под руководством И. С. Брука создана машина М-2 с емкостью
оперативной памяти 512 34-разрядных слов и быстродействием 2000
операций/с.
В апреле 1953 года в эксплуатацию поступила самая
быстродействующая в Европе вычислительная машина БЭСМ (С.А.
Лебедев). Ее быстродействие составило 8–10 тысяч операций/с.
Примерно в то же время выпущена ламповая вычислительная машина
«Стрела» (Базилевский Ю.А., Рамееев Б.И.) с быстродействием 2
тысячи операций/с.
1.3.3. Второе поколение
Особенности:
– новые достижения в элементной базе, структуре и
программном обеспечении;
– переход от электронных ламп к полупроводниковым диодам и
транзисторам с временем переключения порядка 0,3 мс;
– переход от устройств памяти на базе ртутных линий задержки
к устройствам на магнитных сердечниках. Главным преимуществом
запоминающих устройств на магнитных сердечниках стал
произвольный доступ к данным, когда в любой момент доступен
любой элемент данных;
– появление в составе процессора вычислительной машины
индексных регистров, что позволило упростить доступ к элементам
массивов. С использованием индексных регистров адрес элемента
массива вычисляется как сумма адресной части команды и
содержимого индексного регистра, что позволяет обратиться к любому
элементу массива, не затрагивая код команды, а лишь модифицируя
содержимое индексного регистра;
– добавление аппаратного блока обработки чисел в формате с
плавающей точкой. До этого обработка вещественных чисел
производилась с помощью подпрограмм, использующих
целочисленное арифметико-логическое устройство;
– появление в составе вычислительной машины процессоров
ввода/вывода, позволяющих освободить центральный процессор от
рутинных операций по управлению вводом/выводом и
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
