Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лекция 1 История развития вычислительной техники.
Цель: Познакомиться с классификацией ЭВМ по стадиям разработки.
План лекции:
1 Первое поколение ЭВМ: 1950-1960-е годы
Логические схемы создавались на дискретных радиодеталях и электронных вакуумных лампах с нитью накала. В оперативных запоминающих устройствах использовались магнитные барабаны, акустические ультразвуковые ртутные и электромагнитные линии задержки, электронно-лучевые трубки (ЭЛТ). В качестве внешних запоминающих устройств применялись накопители на магнитных лентах, перфокартах, перфолентах и штекерные коммутаторы.
Напряжения питания компьютерных схем составляли десяткисотни вольт, а в случае использования ЭЛТ и киловольты. Машины потребляли несколько десятков киловатт. Они имели центральное устройство управления (УУ), обеспечивающее строго последовательную работу всех основных устройств. Тактовая частота работы УУ была в пределах десятков сотен килогерц. Ввод-вывод информации осуществлялся с перфокарт, перфолент, магнитных лент или с клавиатуры.
Программирование работы ЭВМ этого поколения выполнялось в двоичной системе счисления на машинном языке, то есть программы были жестко ориентированы на конкретную модель машины и «умирали» вместе с этими моделями.
ной записи команд и адресов использовать их сокращенную словесную (буквенную) запись и десятичные числа. В 1956 году был создан первый язык программирования высокого уровня для математических задач язык Фортран, а в 1958 году универсальный язык программирования Алгол.
Использовались машины первого поколения, по образному выражению академика В. М. Глушкова, как «большие арифмометры», ибо и программы и данные вводились в память ЭВМ непосредственно перед решением каждой конкретной задачи, а результаты решения сразу же выводились из машины для дальнейшего неавтоматизированного использования. ЭВМ были ориентированы на численное решение научно-технических задач, для которых характерны малый объем входной и выходной информации и большое количество вычислительных операций ее обработки.
Надежность машин первого поколения была крайне низкой несколько десятков часов наработки на отказ. Для поддержания удобоваримой надежности машины требовали регулярного ежесуточного, еженедельного и ежемесячного профилактического обслуживания, во время которого выявлялись и заменялись потенциально ненадежные элементы (еженедельное обслуживание было более тщательным, нежели ежесуточное, а ежемесячное еще более трудоемким).
Работал на машине непосредственно программист, чуть позже оператор, но и тот и другой общались с ЭВМ посредством громадного пульта, имевшего большое число переключателей (тумблеров) и световых индикаторов (лампочек), отображавших информацию в двоичной системе счисления (горит не горит лампочка).
Организационно ЭВМ эксплуатировались в составе вычислительных центров, причем для эффективного использования каждой ЭВМ необходим был штат 10-20 программистов (с одной машины на другую программы, как правило, не
переносились).
В те годы количество программистов существенно превышало количество имевшихся ЭВМ (к 1960 году во всем мире насчитывалось всего несколько тысяч машин). Названные ранее ЭВМ, начиная от ЦМУАС и заканчивая БЭСМ-2 и первыми моделями ЭВМ «Минск» и «Урал», относятся к первому поколению вычислительных машин.
2 Второе поколение ЭВМ: 1960-1970-е годы
Логические схемы строились на дискретных полупроводниковых' и магнитных элементах (диоды, биполярные транзисторы, тороидальные ферритовые микротрансформаторы). В качестве конструктивно-технологической основы использовались схемы с печатным монтажом (платы из фольгированного гетинакса).
Широко стал использоваться блочный принцип конструирования машин, который позволяет подключать к основным устройствам большое число разнообразных внешних устройств, что обеспечивает большую гибкость использования компьютеров.
Тактовые частоты работы электронных схем повысились до сотен килогерц. Напряжение питания схем снизилось до 10-15 В, потребляемая мощность до сотен ватт. Надежность работы ЭВМ существенно возросла до нескольких сотен часов наработки на отказ. Регулярное профилактическое обслуживание попрежнему требовалось.
В оперативных запоминающих устройствах чаще всего использовались миниатюрные тороидальные ферритовые сердечники с прямоугольной петлей гистерезиса (для хранения одного бита информации требовались один или два сердечника наружным диаметром 1-1,2 мм). Постоянные запоминающие устройства были трансформаторные (один тороидальный сердечник наружным диаметром 3-4 мм использовался для хранения битов одного разряда нескольких сотен чисел; для хранения кода «1» провод «прошивался» в отверстие сердечника, для хранения кода «0» провод проходил мимо сердечника).
Стали применяться внешние накопители на жестких магнитных дисках и на флоппи-дисках промежуточный уровень памяти между накопителями на магнитных лентах и оперативной памятью.
В 1964 году появился первый монитор для компьютеров IВМ 2250. Это был монохромный дисплей с экраном 12х12 дюймов и разрешением 1024 х 1024 пикселов. Он имел частоту кадровой развертки 40 Гц. Устройство управления ЭВМ поддерживало систему прерываний программ, многопрограммную работу и параллельность использования устройств машины.
Появились первые операционные системы и алгоритмические языки машинноориентированного низкоуровневого (ассемблеры) и высокоуровневого программирования (Фортран, Алгол, Кобол, Бейсик и др.). Программы стали переноси-
мыми с одного типа компьютера на другой.
Устройства машин и их программы стали больше ориентированы на обработку массивов информации. ЭВМ второго поколения стали применяться не только для решения научно-технических задач, но и для автоматизации процессов технологического и организационного (административного) управления. На базе полупроводниковых ЭВМ стали успешно создаваться автоматизированные системы управления предприятиями (АСУП) и системы автоматического управления технологическими процессами.
Создаваемые на базе компьютеров системы управления потребовали от ЭВМ более высокой производительности, а главное -т- надежности. В компьютерах стали широко использоваться коды с обнаружением и исправлением ошибок, встроенные схемы контроля.
В машинах второго поколения были впервые реализованы режимы пакетной обработки и телеобработки информации.
Первой ЭВМ, в которой частично использовались полупроводниковые приборы вместо электронных ламп, была машина SEAC (Standards Eastern Automatic Computer ), созданная в 1951 году.
Среди первых полностью полупроводниковых машин были:
Стоимость больших машин составляла от $500 000 до $2 300 000, малых машин
до $300 000.
Заслуживает внимания и первая (1961 г.) супермалая полупроводниковая машина 1ВМ 1620, размещавшаяся (без накопителя на магнитной ленте) на конторском столе (стоимость этой машины составляла около 75 000 долларов). В начале 60-х годов полупроводниковые машины стали производиться и в СССР. Основные характеристики некоторых полупроводниковых отечественных машин представлены в табл. 1.
В середине 60-х годов мировое количество ЭВМ возросло по сравнению с 50-ми годами на порядок. Так в 1966 году количество установленных машин составляло:
Рис. 1
В середине 60-х и у нас в стране, и за рубежом внимание акцентировалось на надежности ЭВМ и их системном использовании. Поэтому в СССР было принято постановление ЦК КПСС о разработке семейств ЭВМ на базе крупных компьютерных предприятий о создании строгой системы унификации схем и узлов ЭВМ. По этому же постановлению стали разрабатываться программно-совместимые и технически-совместимые системы вычислительных машин.
До этого из-за дефицита выпускаемых ЭВМ и длительного (иногда несколько лет) срока с момента заказа и до получения машины ЭВМ часто разрабатывались и создавались небольшими группами специалистов на непрофильных предприятиях, что, естественно, не гарантировало их качества. После названного постановления у нас в стране было разработано и выпускалось семейство ЕС ЭВМ (единая система ЭВМ). Машины этой системы разрабатывались на крупных специализированных предприятиях не только Советского Союза, но и других стран СЭВ (Совета Экономической Взаимопомощи): ГДР, Болгарии, Венгрии, Польши и др.
Что касается системного применения ЭВМ, то в середине 60-х годов существенно
изменилась технология их использования. По образному выражению В. М. Глушкова, «машины раньше часто использовались как большие арифмометры», то есть непосредственно перед решением задачи в ЭВМ вводились программы и данные, необходимые для этого решения. Появились технологии создания больших баз данных в памяти ЭВМ, осуществлялась выдвинутая академиком Глушковым программа «АСУПизации», массового создания АСУП (автоматизированных систем управления предприятиями). В связи с этим при использовании ЭВМ рекомендовалось и программы, и данные постоянно хранить в памяти машины и использовать ее по мере надобности.
Итак, основные направления совершенствования ЭВМ второго поколения:
1. Переход на полупроводниковую элементную базу и печатный монтаж.
2. Блочный принцип конструирования и унификация ячеек и блоков ЭВМ.
3. Облегчение программирования для ЭВМ.
4. Ориентация ЭВМ не только на вычислительную работу, но и на работу с массивами информации.
5. Повышение надежности работы машин, использование кодов с обнаружени-
ем и исправлением ошибок и встроенных схем контроля.
6. Расширение областей применения ЭВМ.
3 Третье поколение ЭВМ: 1970-1980-е годы
В 1958 году Роберт Нойс изобрел малую кремниевую интегральную схему, в которой на небольшой площади можно было размещать десятки транзисторов. Эти схемы позже стали называться схемами с малой степенью интеграции (Small Scale Integrated circuits - SSI). А уже в конце 60-х годов интегральные схемы стали применяться в компьютерах. Логические схемы ЭВМ 3-го поколения уже полностью строились на малых интегральных схемах. Тактовые частоты работы электронных схем повысились до единиц мегагерц. Снизились напряжения питания (единицы вольт) и потребляемая машиной мощность. Существенно повысились надежность и быстродействие ЭВМ.
В оперативных запоминающих устройствах использовались миниатюрные ферритовые сердечники, ферритовые пластины и магнитные пленки с прямоугольной петлей гистерезиса. В качестве внешних запоминающих устройств широко стали использоваться дисковые накопители. Появились еще два уровня запоминающих устройств: сверхоперативные запоминающие устройства на триггерных регистрах, имеющие огромное быстродействие, но небольшую емкость (десятки чисел), и быстродействующая кэш-память. Операционная система поддерживает технологию использования виртуальной памяти.
Ввиду существенного усложнения как аппаратной, так и логической структуры ЭВМ 3-го поколения часто стали называть системами.
Так, первыми ЭВМ этого поколения стали-модели систем IВМ (ряд моделей IВМ 360) и РОР (РDР 1). В Советском Союзе в содружестве со странами Совета Экономической Взаимопомощи (Польша, Венгрия, Болгария, ГДР и др.) стали выпускаться модели единой системы (ЕС) и системы малых (СМ) ЭВМ.
Основные характеристики некоторых моделей ЕС ЭВМ и СМ ЭВМ показаны в табл. 2.
В 1972 году была создана ЭВМ нового тогда класса класса суперкомпьютеров.
Первый суперкомпьютер ILLIAC 4 имел производительность 20 mflops (миллио
нов сложений чисел с плавающей запятой в секунду). Начиная с 1975 года фирмой Сrау Research стали выпускаться суперкомпьютеры Сrау (Сrау 1 имел оперативную память емкостью 8 Мбайт и производительность 160 MFLOPS).
Рис. 2
В вычислительных машинах третьего поколения значительное внимание уделяется уменьшению трудоемкости программирования, эффективности исполнения программ в машинах и улучшению общения оператора с машиной. Это обеспечивается мощными операционными системами, развитой системой автоматизации программирования, эффективными системами прерывания программ, режимами работы с разделением машинного времени, режимами работы в реальном времени, мультипрограммными режимами работы и новыми интерактивными режимами общения. Появилось и эффективное видеотерминальное устройство общения оператора с машиной видеомонитор, или дисплей.
Большое внимание уделено повышению надежности и достоверности функционирования ЭВМ и облегчению их технического обслуживания. Достоверность и надежность обеспечиваются повсеместным использованием кодов с автоматическим обнаружением и исправлением ошибок (корректирующие коды Хемминга и циклические коды).
Существенно более развиты и системы телеобработки информации на базе ЭВМ, позволяющие, в частности, пользователям через удаленные терминалы (абонентские пункты) выполнять обработку своей информации на вычислительных центрах коллективного пользования (ВЦКП), передавая и получая информацию по каналам связи.
На основе машин 3-го поколения организуются и многочисленные информационно вычислительные сети различного типа и назначения.
Акцент в использовании машин стал смещаться от вычислительной работы к информационной. С этой целью, в частности, в систему команд были введены многие операции работы с кодированной буквенной информацией и активно стала использоваться специальная единица информации байт. Большое развитие получили и разнообразные устройства ввода-вывода информации.
Модульная организация вычислительных машин и модульное построение их операционных систем создали широкие возможности для изменения конфигурации вычислительных систем. В связи с этим возникло новое понятие «архитектура» вычислительной системы, определяющее логическую организацию этой системы с точки зрения пользователя и программиста.
4 Четвертое поколение ЭВМ: 1980-1990-е годы
Революционным событием в развитии компьютерных технологий третьего поколения машин было создание больших и сверхбольших интегральных схем (Large Scale Integration - LSI и Very Large Scale Integration - VLSI), микропроцессора (1969 г.) и персонального компьютера. Начиная с 1980 года практически все ЭВМ стали создаваться на основе микропроцессоров. Самым востребованным компьютером стал персональный.
Логические интегральные схемы в компьютерах стали создаваться на основе униполярных полевых СМОS-транзисторов с непосредственными связями, работающими с меньшими амплитудами электрических напряжений (единицы вольт), потребляющими меньше мощности, нежели биполярные, и тем самым позволяющими реализовать более прогрессивные нанотехнологии (в те годы масштаба единиц микрон), Оперативная память стала строиться не на ферритовых сердечниках, а также на интегральных СМОS-транзисторных схемах, причем непосредственно запоминающим элементом в них служила паразитная емкость между электродами (затвором и истоком) этих транзисторов.
Первый персональный компьютер создали в апреле 1976 года два друга, Стив Джобе (1955 г. р.) сотрудник фирмы Atari, и Стефан Возняк (1950 г. р.), работавший на фирме Hewlett-Packard. На базе интегрального 8-битного контроллера жестко запаянной схемы популярной электронной игры, работая вечерами в автомобильном гараже, они сделали простенький программируемый на языке Бейсик игровой компьютер «Аррlе», имевший бешеный успех. В начале 1977 года была зарегистрирована Аррlе Comp., и началось производство первого в мире персонального компьютера Аррlе.
В нашей стране поначалу тоже выпускали отечественные микропроцессоры: К580, К588, К1801, К1810 и др. и персональные компьютеры серии ЕС: 1840, 1841, 1842, 1842, 1845, 1850, 1860, «Искра-1030», 1031, ДВК, «Электроника-85» и др.
Но поскольку эти ПК не были конкурентоспособны на мировом рынке, наши компьютерные фирмы сейчас занимаются лишь «отверточной» сборкой ПК из комплектующих, выпускаемых в других странах.
У нас в основном используются ПК типа 1ВМ РС. Это можно объяснить следующими причинами:
на них сблизились);
Познакомимся вкратце с характеристиками одной из последних (на начало 2004 года) моделей «Маков», а именно так часто называют ПК «Макинтош». В 2003 году компания Арр1е начала поставки новой, самой быстрой модели Power Mac G5 на 64-разрядных процессорах Power РС 970, имеющих максимальную частоту 2 ГГц и поддерживающих частоту системной шины 1 ГГц. Внутренняя шина передачи данных Нуреr Transport имеет пропускную способность в дуплексном режиме 3,2 Гбайт/с. Адресное пространство для оперативной памяти 16 Гбайт, кэш-память второго уровня 512 Кбайт. Power Маc 65 оборудован тремя слотами интерфейса РС1х, обеспечивающими скорость передачи данных до 2 Гбайт/с. В видеоадаптерах ПК, имеющих объем видеопамяти 64 Мбайт, применяются графические чипсеты АТI Radeon 9800 Рrо или nVidia GeForse РХ 5200. Периферийные интерфейсы: один порт FireWire 800, два порта FireWire 400 либо
три порта USВ 2.0, не считая портов для клавиатуры и мыши. Power РС 970 поддерживает беспроводные интерфейсы IЕЕЕ 802.11b и IЕЕЕ 802.11g Turbo (56 Мбайт/с), имеет адаптер Gigabit Internet. Естественно, компьютеры имеют комбопривод CD/DVD и винчестер (80 и 160 Гбайт). Основная операционная система - МАС OS Х 10.2 Jaguar.
Эволюцию 1ВМ РС, а позднее и их характеристики, рассмотрим более подробно.:
Новации в IВМ РС последних лет указаны при рассмотрении архитектуры современных ПК. Из заслуживающих внимания прочих новых компьютерных разработок следует назвать:
5 Пятое поколение ЭВМ: 1990-настоящее время
Особенности архитектуры современного поколения компьютеров подробно рассматриваются в данном учебнике. Кратко основную концепцию ЭВМ пятого по-
коления можно сформулировать следующим образом:
1. Компьютеры на сверхсложных микропроцессорах с параллельно-векторной
структурой, одновременно выполняющих десятки последовательных инструкций программы.
2. Компьютеры с многими сотнями параллельно работающих процессоров, позволяющих строить системы обработки данных и знаний, эффективные сете-
вые компьютерные системы.
Шестое поколение
Электронные и оптоэлектронные компьютеры с массовым параллелизмом, нейронной структурой, с распределенной сетью большого числа (десятки тысяч) микропроцессоров.
Вопросы для самопроверки:
Лекция № 3
Тема: «Представление информации в ЭВМ»
Цель: Познакомить с основными способами представления информации в вычислительных системах.
План:
Системы счисления
Информация в компьютере кодируется в двоичной или в двоично-десятичной системах счисления.
Система счисления способ именования и изображения чисел с помощью символов, имеющих определенные количественные значения. В зависимости от способа изображения чисел системы счисления делятся:
В позиционной системе счисления количественное значение каждой цифры зависит от ее места (позиции) в числе. В непозиционной системе счисления цифры не меняют своего количественного значения при изменении их расположения в числе.
Количество (Р) различных цифр, используемых для изображения числа в позиционной системе счисления, называется основанием системы счисления. Значения цифр лежат в пределах от 0 до Р - 1. В общем случае запись любого смешанного числа в системе счисления с основанием Р будет представлять собой ряд
Нижние индексы определяют местоположение цифры в числе (разряд):
Максимальное целое число, которое может быть представлено в т разрядах,
(2)
Минимальное значащее, не равное 0 число, которое можно записать в S разрядах
дробной части,
(3)
Имея в целой части числа m, а в дробной S разрядов, можно записать всего Р m+s разных чисел.
Двоичная система счисления имеет основание Р = 2 и использует для представления информации всего две цифры 0 и 1.
Существуют правила перевода чисел из одной системы счисления в другую, основанные в том числе и на соотношении (1).
Например, двоичное число 101110,101 равно десятичному числу 46,625:
Практически перевод из двоичной системы в десятичную можно легко выполнить, надписав над каждым разрядом соответствующий ему вес и сложив затем произведения значений соответствующих цифр на их веса.
Двоичное число 01000001; равно 6510. Действительно, 64 • 1 + 1 • 1 = 65.
Вес |
128 |
64 |
16 |
8 |
4 |
2 |
1 |
Цифра |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
Таким образом, для перевода числа из позиционной системы счисления с любым основанием в десятичную систему счисления можно воспользоваться выражением (1). Обратный перевод из десятичной системы счисления в систему счисления с другим основанием непосредственно по формуле (1) для человека весьма затруднителен, поскольку все арифметические действия, предусмотренные этой формулой, следует выполнять в той системе счисления, в которую число переводится. Обратный перевод выполняется значительно проще, если предварительно преобразовать отдельно целую Nцел, и дробную Nдр части выражения (1) к виду
Алгоритм перевода числа из десятичной системы счисления в систему счисления с основанием Р, основанный на этих выражениях, позволяет оперировать с числами в той системе счисления, из которой число переводится, и может быть сформулирован следующим образом:
1. При переводе смешанного числа следует переводить его целую и дробную
части отдельно.
2. Для перевода целой части числа ее, а затем целые части получающихся частных от деления следует последовательно делить на основание Р до тех пор, пока очередная целая часть частного не окажется равной 0. Остатки от деления, записанные последовательно справа налево, образуют целую часть числа в системе счисления с основанием Р.
3. Для перевода дробной части числа ее, а затем дробные части получающихся произведений следует последовательно умножать на основание Р до тех пор, пока очередная дробная часть произведения не окажется равной 0 или не будет достигнута нужная точность дроби. Целые части произведений, записанные после запятой последовательно слева направо, образуют дробную часть числа в системе счисления с основанием Р.
Рассмотрим перевод смешанного числа из десятичной в двоичную систему счисления на примере числа 46,625. Переводим целую часть числа: 46/2 = 23 (остаток 0). 23/2 = 11 (остаток 1). 11/2 = 5 (остаток 1); 5/2 = 2 (остаток 1); 2/2 =1 (остаток 0); 1/2 = 0 (остаток 1). Записываем остатки последовательно справа-налево 101110, то есть 4610 = 101110,1012. Переводим дробную часть числа: 0,625 • 2 = 1,250; 0,250 • 2 = 0,500; 0,500 • 2 = 1,000. Записываем целые части получающихся произведений после запятой последовательно слева направо 0,101, то есть: 0,62510 = 0,1012. Окончательно 46,62510 = 101110,1012.
Представление чисел с фиксированной и плавающей запятой
В вычислительных машинах применяются две формы представления двоичных чисел:
В форме представления с фиксированной запятой все числа изображаются виде последовательности цифр с постоянным для всех чисел положением запятой, отделяющей целую часть от дробной.
Например: в десятичной системе счисления имеется 5 разрядов в целой части числа (до запятой) и 5 разрядов в дробной части числа (после запятой); числа, записанные в такую разрядную сетку, имеют вид:
+00721,35500; +00000,000328; -10301,20260.
Эта форма наиболее проста, естественна, но имеет небольшой диапазон преставления чисел и поэтому чаще всего неприемлема при вычислениях. Диапазон значащих чисел N в системе счисления с основанием Р при наличии т разрядов в целой и s разрядов в дробной части числа (без учета знака числа) 6удет таким:
Например, при Р=2,m=10 и s=6 числа изменяются в диапазоне
0,015 <М< 1024.
Если в результате операции получится число, выходящее за допустимые пределы, произойдет переполнение разрядной сетки и дальнейшие вычисления потеряют смысл. В современных компьютерах естественная форма представления используется как вспомогательная и только для целых чисел.
В форме представления с плавающей запятой каждое число изображается в в виде двух групп цифр. Первая группа цифр называется мантиссой, вторая порядком, причем абсолютная величина мантиссы должна быть меньше 1, а порядок целым числом. В общем виде число в форме с плавающей запятой может быть представлено так:
где М мантисса числа (|М| < 1); r порядок числа (целое число); Р основание системы счисления.
Например, приведенные ранее числа в нормальной форме запишутся так:
Нормальная форма представления имеет огромный диапазон отображения чисел и является основной в современных компьютерах. Так, диапазон значащих чисел в системе счисления с основанием Р при наличии т разрядов у мантиссы и s разрядов у порядка (без учета знаковых разрядов порядка и мантиссы) будет
Приведем пример. При Р = 2, т = 22 и s = 10 диапазон чисел простирается примерно от 10-300 до 10300. Для сравнения: количество секунд, которые прошли с момента образования планеты Земля, составляет всего 1018.
Следует заметить, что все числа с плавающей запятой хранятся в машине в так называемом нормализованном виде. Нормализованным называют такое число, в старшем разряде мантиссы которого стоит единица. У нормализованных двоичных чисел, следовательно,.
Особенности представления информации в ПК
Числовая информация внутри ПК кодируется в двоичной или в двоично-десятичной системах счисления; при вводе и выводе любой информации используются специальные коды представления информации коды ASCII, эти же коды применяются для кодирования буквенной и символьной информации и внутри ПК.
Для удобства работы введены следующие термины для обозначения совокупностей двоичных разрядов (см. табл. 1). Эти термины обычно используются в качестве единиц измерения объемов информации, хранимой или обрабатываемой в компьютере.
Последовательность нескольких битов или байтов часто называют полем данных.
Биты в числе (в слове, в поле и т. п.) нумеруются справа налево, начиная с 0-го разряда. В ПК могут обрабатываться поля постоянной и переменной длины.
Поля постоянной длины:
Количество двоичных разрядов в группе Наименование единицы измерения___ |
1 Бит |
8 Байт |
16 Параграф |
8 • 1024 Кбайт (килобайт) |
8 • 10242 Мбайт (мегабайт) |
8 • 10243 Гбайт (гигабайт) |
8 • 10244 Тбайт (терабайт) |
8 • 10243 Пбайт (петабайт) |
Числа с фиксированной запятой чаще всего имеют формат слова и полуслова;
числа с плавающей запятой формат двойного и расширенного слова (математические сопроцессоры IВМ РС могут работать с 10-байтными словами).
Поля переменной длины могут иметь любой размер от 0 до 255 байтов, но обязательно равный целому числу байтов.
Структурно запись двоичного числа -11000001(2), равного десятичному -193(ю), в разряд-
ной сетке ПК, выглядит следующим образом (рис. 1, 2).
Рис. 1
Рис. 2
Двоично-кодированные десятичные числа могут быть представлены в ПК полями переменной длины в так называемых упакованном (рис. 5.3) и распакованном форматах. В упакованном формате для каждой десятичной цифры отводится по 4 двоичных разряда (полбайта), при этом знак числа кодируется в крайнем правом полубайте числа (1100 знак «+» и 1101 знак «-»).
Рис. 3
Здесь и далее: Цф цифра, Знак знак числа. Упакованный формат используется в ПК обычно при выполнении операций сложения и вычитания двоичнодесятичных чисел.
В распакованном формате (рис. 4) для каждой десятичной цифры выделяется по целому байту, при этом старшие полубайты (зона) каждого байта (кроме самого младшего) в ПК заполняются кодом 0011 (в соответствии с ASCII-кодом), а в младших (левых) полубайтах обычным образом кодируются десятичные цифры. Старший полубайт (зона) самого младшего (правого) байта используется для кодирования знака числа.
Рис. 4
Распакованный формат используется в ПК при вводе-выводе информации, а также при выполнении операций умножения и деления двоично-десятичных чисел.
Например, число -19310= -000110010011(2-10) в ПК будет представлено:
О в упакованном формате:
О в распакованном формате:
Код ASCII (American Standart Code for Information американский стандартный код для обмена информацией) имеет основной стандарт и его расширение. Основной стандарт для кодирования символов использует шестнадцатеричные коды 00-7F, расширение стандарта 80-FF.
Основной стандарт является международным и применяется для кодирования управляющих символов, цифр, знаков пунктуации, букв латинского алфавита и других символов; в расширении стандарта кодируются символы псевдографики и буквы национального алфавита (естественно, в разных странах разные).
Пользоваться таблицей довольно просто. Следует приписать шестнадцатеричную цифру номера строки справа к шестнадцатеричной цифре номера столбца. Так получится шестнадцатеричный код символа.
Вопросы для самопроверки
1. Что такое система счисления?
2. Какие системы счисления используются для представления информации в ком-
пьютерах?
3. Выполните несколько операций перевода чисел из десятичной системы счис-
ления в двоичную и обратно.
4. Выполните несколько операций перевода чисел из десятичной системы счис-
ления в двоично-десятичную и обратно.
5. Дайте краткую характеристику форм представления информации с фиксиро-
ванной и плавающей запятой (точкой).
6. Дайте краткую характеристику кодов алгебраического представления чисел
(прямого, обратного, дополнительного).
7. Выполните ряд операций сложения и умножения чисел в дополнительных
кодах с фиксированной и плавающей запятой (точкой).
8. Назовите наименования основных двоичных совокупностей в компьютерах
и определите их размер.
9. Что такое поля данных постоянной и переменной длины? Какова их разряд-
ность в персональных компьютерах?
10. Что такое ASCII-коды? Приведите их структуру и укажите назначение.
11. Рассмотрите и запомните ASCII-коды представления десятичных ци
Лекция 4
Тема: Физическая и функциональная структура микропроцессора
Цель: Изучение физической и функциональной структуры икропроцессора Intel Pentium
Знать: физическую структуру и функциональное назначение структурных элементов микропроцессора, классификацию и назначение регистров.
Уметь : Изображать функциональную схему микропроцессора
Физическая структура микропроцессора достаточно сложна. Ядро процессора содержит главный управляющий и исполняющие модули блоки выполнения операций над целочисленными данными. К локальным управляющим схемам относятся: блок плавающей запятой, модуль предсказания ветвлений, модуль преобразования СISС-инструкций во внутренний RISС-микрокод, регистры микропроцессорной памяти (в МП типа VLIW до 256 регистров), регистры кэшпамяти 1-го уровня (отдельно для данных и инструкций), шинный интерфейс и многое другое.
В состав микропроцессора Pentium обычно входят следующие физические компоненты:
О Соrе ядро МП;
О Ехесutioп иnit исполняющий модуль;
О Integer ALU АЛУ для операций с целыми числами (с фиксированной запятой);
О Registers регистры;
О Floating Point Unit блок для работы с числами с плавающей запятой;
О Primary Cashe кэш первого уровня, в том числе кэш данных (Data Сасhе) и кэш команд (Сode Сасhе);
О Instruction Decode and Prefetch Unit и Branch Predictor блоки декодирования инструкций, опережающего их исполнения и предсказания ветвлений;
О Bus Interface Интерфейсные шины, в том числе 64- и 32-битовая, и выход на системную шину к оперативной памяти.
Функционально МП можно разделить на две части:
Обе части МП работают параллельно, причем интерфейсная часть опережает операционную, так что выборка очередной команды из памяти (ее запись в блок регистров команд и предварительный анализ) выполняется во время выполнения операционной частью предыдущей команды. Современные микропроцессоры имеют несколько групп регистров в интерфейсной части, работающих с различной степенью опережения, что позволяет выполнять операции в конвейерном режиме. Такая организация МП позволяет существенно повысить его эффективное быстродействие.
Устройство управления
Устройство управления (УУ) является функционально наиболее сложным устройством ПК оно вырабатывает управляющие сигналы, поступающие по кодовым шинам инструкций (КШИ) во все блоки машины. Упрощенная функциональная схема У У показана на рис. 8.1.
На рис. 8.1 представлены:
Арифметико-логическое устройство
Арифметико-логическое устройство (АЛУ) предназначено для выполнения арифметических и логических операций преобразования информации. Функционально в простейшем варианте АЛУ (рис. 8.2) состоит из двух регистров, сумматора и схем управления (местного устройства управления).
Сумматор вычислительная схема, выполняющая процедуру сложения поступающих на ее вход двоичных кодов; сумматор имеет разрядность двойного машинного слова.
Регистры быстродействующие ячейки памяти различной длины: регистр 1 имеет разрядность двойного слова, а регистр 2 разрядность слова. При выполнении операций в регистр 1 помещается первое число, участвующее в операции, а по завершении операции результат; в регистр 2 второе число, участвующее в операции (по завершении операции информация в нем не изменяется). Регистр 1 может и принимать информацию с кодовых шин данных, и выдавать информацию на них; регистр 2 только'получает информацию с этих шин.
Схемы управления принимают по кодовым шинам инструкций управляющие сигналы от устройства управления и преобразуют их в сигналы для управления работой регистров и сумматора АЛУ.
АЛУ выполняет арифметические операции «+»,«-», «х» и «:» только над двоичной информацией с запятой, фиксированной после последнего разряда, то есть только над целыми двоичными числами. Выполнение операций над двоичными числами с плавающей запятой и над двоично-кодированными десятичными числами осуществляется с привлечением математического сопроцессора или по специально составленным программам.
Рассмотрим в качестве примера выполнение команды умножения. Перемножаются числа 1101 и 1011 (числа для простоты взяты 4-битовыми). Множимое находится в регистре 1, имеющем удвоенную по отношению к регистру 2 разрядность; множитель размещается в регистре 2. Операция умножения требует для своего выполнения нескольких тактов. В каждом такте число из регистра 1 проходит в сумматор (имеющий также удвоенную разрядность) только в том случае, если в младшем разряде регистра 2 находится 1.
Микропроцессорная память
Микропроцессорная память (МПП) базового МП 8088 включает в себя 14 двухбайтовых запоминающих регистров. У МП 80286 и выше имеются дополнительные регистры, например, у МП типа VLIW есть 256 регистров, из которых 128 регистры общего назначения. У МП 80386 и выше некоторые регистры, в том числе и регистры общего назначения, четырехбайтовые (у МП Pentium есть и восьмибайтовые регистры). Но в качестве базовой модели, в частности для языка программирования Assembler и отладчика программ Debug, используется 14-регистровая система МПП.
Все регистры можно разделить на четыре группы (рис. 8.3):
Если регистры 4-байтовые или 8-байтовые, их имена несколько изменяются: например, 4-байтовые универсальные регистры АХ, ВХ, СХ, DХ именуются ЕАХ, ЕВХ, ЕСХ, ЕDХ соответственно. При этом если используется их двухбайтовая или однобайтовая часть, наименования этих частей регистров соответствуют рассматриваемым далее.
Универсальные регистры
Регистры АХ, ВХ, СХ и DХ являются универсальными (их часто называют регистрами общего назначения РОН); каждый из них может использоваться для временного хранения любых данных, при этом позволено работать с каждым регистром целиком, а можно отдельно и с каждой его половиной (регистры АН, ВН, СН, DН старшие (High) байты, а регистры АL, ВL, СL, DL младшие
(Low) байты соответствующих двухбайтовых регистров). Но каждый из универсальных регистров может использоваться и как специальный при выполнении некоторых конкретных команд программы. В частности:
Сегментные регистры
Регистры сегментной адресации СS, DS, SS, ЕS используются для хранения начальных адресов полей памяти (сегментов), отведенных в программах для хранения:
дополнительной области памяти данных при межсегментных пересылках (расширенный сегмент ЕS), поскольку размер сегмента в реальном режиме работы МП ограничен величиной 64 Кбайт.
Регистры смещений
Регистры смещений (внутрисегментной адресации) IP, SP, ВР, SI, DI предназначены для хранения относительных адресов ячеек памяти внутри сегментов (смещений относительно начала сегментов):
Регистр флагов
Регистр флагов F содержит условные одноразрядные признаки-маски, или флаги, управляющие прохождением программы в ПК; флаги работают независимо друг от друга, и лишь для удобства они помещены в единый регистр. Всего в регистре содержится 9 флагов: 6 из них статусные, они отражают результаты операций, выполненных в компьютере (их значения используются, например, при выполнении команд условной передачи управления команд ветвления программы), а 3 других управляющие, непосредственно определяют режим ис-
полнения программы.
Статусные флаги:
Интерфейсная часть МП
Интерфейсная часть МП предназначена для связи и согласования МП с,системной шиной ПК, а также для приема, предварительного анализа команд выполняемой программы и формирования полных адресов операндов и команд. Интерфейсная часть включает в свой состав:
Некоторые из названных устройств, такие как узел формирования адреса и регистр команды, непосредственно выполняемой МП, функционально входят в состав устройства управления.
Порты ввода-вывода это пункты системного интерфейса ПК, через которые МП обменивается информацией с другими устройствами. Всего портов у МП может быть 65 536 (равно количеству разных адресов, которые можно представить числом формата «слово»). Каждый порт имеет адрес номер порта; по существу, это адрес ячейки памяти, являющейся частью устройства ввода-вывода, использующего этот порт, а не частью основной памяти компьютера.
Порту устройства соответствуют аппаратура сопряжения и два регистра памяти для обмена данными и управляющей информацией. Некоторые внешние устройства используют и основную память для хранения больших объемов информации, подлежащей обмену. Многие стандартные устройства (НЖМД, НГМД, клавиатура, принтер, сопроцессор и т. д.) имеют постоянно закрепленные за ними порты ввода-вывода.
Схема управления шиной и портами выполняет следующие функции:
Схема управления шиной и портами использует для связи с портами кодовые шины инструкций, адреса и данных системной шины: при доступе к порту МП посылает сигнал по кодовой шине инструкций (КШИ), который оповещает все устройства ввода-вывода, что адрес на кодовую шину адреса (КША) является адресом порта, а затем посылает и сам адрес порта. Устройство с совпадающим адресом порта дает ответ о готовности. После этого по кодовой шине данных (КШД) осуществляется обмен данными.
Упрощенная структурая схема микропроцессора показана на рис.
Вопросы для самопроверки
1. Дайте краткую характеристику микропроцессора, его структуры, назначения,
основных параметров.
2. Назовите и поясните основные функции, выполняемые микропроцессором.
3. Из каких функциональных узлов состоит устройство управления
4. Назовите основные узлы АЛУ и укажите их функциональное назначение.
5. Перечислите основные группы регистров МПП.
6. Охарактеризуйте каждый из регистров МПП.
7. Каким целям служит интерфейсная часть микропроцессора.
8. Какие функционально законченные узлы входят в состав интерфейсной части МП?.
Лекция № 6 Машинные команды
План лекции:
Алгоритм решения задачи, заданный в виде последовательности команд на языке вычислительной машины (в кодах машины), называется машинной программой.
Команда машинной программы (иначе машинная команда) это элементарная
инструкция машине, выполняемая ею автоматически без каких либо дополнительных указаний и пояснений.
Машинная команда состоит из двух частей: операционной и адресной.
КОП |
Адреса |
Операционная часть команды (КОП код операции) это группа разрядов в команде, предназначенная для представления кода операции машины.
Адресная часть команды (адреса) это группа разрядов в команде, в которых записываются коды адреса (адресов) ячеек памяти машины, предназначенных для оперативного хранения информации, или иных объектов, задействованных при выполнении команды. Часто эти адреса называются адресами операндов, то есть чисел, участвующих в операции.
По количеству адресов (а1, а2, аЗ, ...), записываемых в команде, команды делятся на безадресные, одно-, двух- и трехадресные.
Типовая структура трехадресной команды:
КОП |
а1 |
а2 |
аЗ |
а2 и аЗ адреса ячеек (регистров), где расположены, соответственно, первое и второе числа, участвующие в операции, а1 адрес ячейки (регистра), куда следует поместить число, полученное в результате выполнения операции.
Типовая структура двухадресной команды:
КОП |
а1 |
а2 |
а1 это обычно адрес ячейки (регистра), где хранится первое из чисел, участвующих в операции, и куда после завершения операции должен быть записан результат операции; а2 обычно адрес ячейки (регистра), где хранится второе участвующее в операции число.
Типовая структура одноадресной команды:
КОП |
а1 |
где а1 в зависимости от модификации команды может обозначать либо адрес ячейки (регистра), в которой хранится одно из чисел, участвующих в операции, либо адрес ячейки (регистра), куда следует поместить число результат операции.
Безадресная команда содержит только код операции, а информация для нее должна быть заранее помещена в определенные регистры машины.
Наиболее широкое применение в ПК нашли двухадресные команды. Пример двухадресной команды, записанной на языке символического кодирования:
СЛ |
0103 |
5102 |
Эту команду следует расшифровать так: сложить число, записанное в ячейке 0103 памяти, с числом, записанным в ячейке 5102, а затем результат (то есть сумму) поместить в ячейку 0103.
Современные компьютеры автоматически выполняют несколько сотен различных команд. Например, стандартный набор современных IВМ-совместимых ПК содержит более 240 машинных команд.
Все машинные команды можно разделить на группы по видам выполняемых операций:
операции пересылки информации внутри компьютера;
арифметические операции над информацией;
логические операции над информацией;
операции над строками (текстовой информацией);
операции обращения к внешним устройствам компьютера;
операции передачи управления;
обслуживающие и вспомогательные операции.
Пояснения требуют операции передачи управления (или иначе ветвления программы), которые служат для изменения естественного порядка выполнения команд. Существуют операции безусловной передачи управления и операции условной передачи управления.
Операции безусловной передачи управления всегда приводят к выполнению после данной команды не следующей по порядку, а той, адрес которой в явном или неявном виде указан в адресной части команды.
Операции условной передачи управления тоже вызывают передачу управления по адресу, указанному в адресной части команды, но только в том случае, если выполняется некоторое заранее оговоренное для этой команды условие. Это условие в явном или неявном виде указано в коде операции команды. Команд условной передачи управления насчитывается обычно до нескольких десятков по числу используемых условий.
Команд безусловных передач управления обычно только три:
команда передачи управления, которая просто передает управление по заданному адресу и больше никаких действий не выполняет;
команда передачи управления (ее часто называют командой вызова процедуры или подпрограммы), которая кроме передачи управления процедуре еще и запоминает в специальной стековой памяти адрес следующей команды (адрес возврата из процедуры);
безадресная команда передачи управления (команда возврата из процедуры), возвращающая управление по запомненному адресу возврата.
Вторая и третья из названных команд безусловных передач управления работают «на пару»: одна передает управление процедуре, другая возвращает из нее.
Важную роль в выполнении этих команд передачи управления (да и при многих других ситуациях, отрабатываемых компьютером) играет специальным образом организованная область оперативной памяти стековая память. Обращение к ячейкам этой памяти выполняется по принципу «последний записанный операнд первым считывается», или иначе «первым вошел последним вышел» (FILO first input, last output). Стековая память позволяет удобно реализовать процессы иерархического обращения ко многим процедурам (количество уровней иерархии практически не ограничено), последовательно записывая и выдавая по принципу FILO адреса возврата каждой из них.
3 Адресация регистров и ячеек памяти в ПК
Адресация операндов в командах программы может быть:
непосредственной;
прямой;
косвенной;
ассоциативной;
неявной.
Непосредственная адресация заключается в указании в команде самого значения операнда, а не его адреса.
Прямая адресация состоит в указании в команде непосредственно абсолютного или исполнительного адреса операнда.
Косвенная адресация подразумевает указание в команде регистра(ов) или ячейки памяти, в которых находятся абсолютный, исполнительный адрес операнда или их составляющие.
Ассоциативная адресация указание в команде не адреса, а идентифицирующего содержательного признака операнда, подлежащего выборке (применяется в ассоциативных запоминающих устройствах).
Неявная адресация адрес операнда в команде не указан, но он подразумевается кодом операции.
Адресация ячеек основной памяти ПК имеет две разновидности:
относительную;
стековую.
Относительная адресация
Абсолютный (Аинд) адрес формируется как сумма адресов исполнительного (Аисп)
и сегментного (Асенм);
Аабс=Асегм+Аисп
Асегм 20-битовый начальный адрес сегмента, который является увеличенным в 16 раз (сдвинутым на 4 бит влево) 16-битовым адресом сегмента хранящимся в одном из 16-битовых сегментных регистров. Начальный адрес сегмента в таком варианте всегда кратен 16 байтам, и он может быть полностью идентифицирован значением (сегмент всегда состоит из целого числа параграфов, а параграф равен 16 байт), то есть
Асегм=16 =0000
16-битовый исполнительный адрес может в ПК представлять собой сумму 3-х адресов:
Аисп=Асмещ[+Абаз][+Аинд]
где Асмещ 16-битовый адрес смещения относительно начала сегмента (или относительно базы, если есть Абаз); Абаз 16-битовый адрес смещения базы адреса операнда относительно начала сегмента; Аинд адрес индекса (или просто индекс) дополнительная составляющая адреса операнда, часто использующаяся при программировании циклических процессов с массивами и таблицами. Индекс должен быть непосредственно задан в соответствующем регистре МПП.
При адресации данных могут использоваться все составляющие адреса:
Аабс = Асегм + Аисп = Асегм + Асмещ [+Абаз][+Аинд]
где Асегм = 16 • ; берется из регистра DS по умолчанию или из регистра ES,
если это указано в программе; Абаз и Аинд берутся, соответственно, из регистров ВХ
и индексных (SI или DI), а Асмещ в явном или неявном виде указываются в программе.
При адресации команд программы могут использоваться только две составляющие адреса:
Аабс =Асегм + Аисп = Асегм + Асмещ = 16 + Асмещ
Асегм берется из регистра CS, а Асмещ из регистра IP.
Стековая адресация
В стековой памяти (стеке) доступ к ячейкам памяти не произвольный, а по принципу «последний записанный операнд первым считывается» (FILO);
Аабс = Асегм + [Абаз] + Асмещ
16-битовый адрес сегмента Асегм берется из регистра SS, смещения относительно начала сегмента стека автоматически считываются из регистров ВР (смещение базы стека Абаз) и SP (смещение активной ячейки стека, в которую записывается или из которой считывается информация, «вершины стека» относительно базы - Асмещ).
В защищенном (многопрограммном) режиме работы микропроцессора начальные адреса сегментов хранятся в таблицах дескрипторов и имеют длину 24 или 32 бит (в зависимости от типа МП). В сегментных регистрах в этом режиме хранятся селекторы, содержащие адресные ссылки на соответствующие таблицы дескрипторов.
Вопросы для самопроверки:
Нейрокомпьютинг - это научное направление, занимающееся разработкой вычислительных систем шестого поколения - нейрокомпьютеров, которые состоят из большого числа параллельно работающих простых вычислительных элементов (нейронов). Элементы связаны между собой, образуя нейронную сеть. Они выполняют единообразные вычислительные действия и не требуют внешнего управления. Большое число параллельно работающих вычислительных элементов обеспечивают высокое быстродействие.
В настоящее время разработка нейрокомпьютеров ведется в большинстве промышленно развитых стран.
Нейрокомпьютеры позволяют с высокой эффективностью решать целый ряд интеллектуальных задач. Это задачи распознавания образов, адаптивного управления, прогнозирования, диагностики и т.д.
Нейрокомпьютеры отличаются от ЭВМ предыдущихи поколений не просто большими возможностями. Принципиально меняется способ использования машины. Место программирования занимает обучение, нейрокомпьютер учится решать задачи.
Обучение - корректировка весов связей, в результате которой каждое входное воздействие приводит к формированию соответствующего выходного сигнала. После обучения сеть может применять полученные навыки к новым входным сигналам. При переходе от программирования к обучению повышается эффективность решения интеллектуальных задач.
Вычисления в нейронных сетях существенно отличаются от традиционных, в силу высокой параллеленности их можно рассматривать как коллективное явление. В нейронной сети нет локальных областей, в которых запоминается конкретная информация. Вся информация запоминается во всей сети.
Толчком к развитию нейрокомпьютинга послужили биологические исследования. По данным нейробиологии нервная система человека и животных состоит из отдельных клеток - нейронов. В мозге человека их число достигает 1.0e10 - 1.0e12. Каждый нейрон связан с 1.0e3 - 1.0e4 другими нейронами и выполняет сравнительно простые действия. Время срабатывания нейрона - 2-5 мс. Совокупная работа всех нейронов обуславливает сложную работу мозга, который в реальном времени решает сложнейшие задачи. Отличия нейрокомпьютеров от вычислительных устройств предыдущих поколений:
Нейронные сети находят свое применение в системах распознавания образов, обработки сигналов, предсказания и диагностики, в робототехнических и бортовых системах. Нейронные сети обеспечивают решение сложных задач за времена порядка времен срабатывания цепочек электронных и/или оптических элементов. Решение слабо зависит от неисправности отдельного нейрона. Это делает их привлекательными для использования в бортовых интеллектуальных системах.
Разработки в области нейрокомпьютеров поддерживаются целым рядом международных и национальных программ. В настоящее время эксплуатируется не менее 50 нейросистем в самых различных областях - от финансовых прогнозов до экспертизы.
Разработки в области нейрокомпьютинга ведутся по следующим направлениям:
В настоящее время наиболее массовым направлением нейрокомпьютинга является моделирование нейронных сетей на обычных компьютерах, прежде всего персональных. Моделирование сетей выполняется для их научного исследования, для решения практических задач, а также при определении значений параметров электронных и оптоэлектронных нейрокомпьютеров.
В основу искусственных нейронных сетей положены следующие черты живых нейронных сетей, позволяющие им хорошо справляться с нерегулярными задачами:
Прототипом для создания нейрона послужил биологический нейрон головного мозга. Биологический нейрон имеет тело, совокупность отростков - дендридов, по которым в нейрон поступают входные сигналы, и отросток - аксон, передающий выходной сигнал нейрона другим клеткам. Точка соединения дендрида и аксона называется синапсом. Упрощенно функционирование нейрона можно представить следующим образом:
Поведение искусственной нейронной сети зависит как от значения весовых параметров, так и от функции возбуждения нейронов. Известны три основных вида функции возбуждения: пороговая, линейная и сигмоидальная. Для пороговых элементов выход устанавливается на одном из двух уровней в зависимости от того, больше или меньше суммарный сигнал на входе нейрона некоторого порогового значения. Для линейных элементов выходная активность пропорциональна суммарному взвешенному входу нейрона.
Искусственный нейрон
Для сигмоидальных элементов в зависимости от входного сигнала, выход варьируется непрерывно, но не линейно, по мере изменения входа. Сигмоидальные элементы имеют больше сходства с реальными нейронами, чем линейные или пороговые, но любой из этих типов можно рассматривать лишь как приближение.
Нейронная сеть представляет собой совокупность большого числа сравнительно простых элементов - нейронов, топология соединений которых зависит от типа сети. Чтобы создать нейронную сеть для решения какой-либо конкретной задачи, мы должны выбрать, каким образом следует соединять нейроны друг с другом, и соответствующим образом подобрать значения весовых параметров на этих связях. Может ли влиять один элемент на другой, зависит от установленных соединений. Вес соединения определяет силу влияния.
3.1. Модель Маккалоха
Теоретические основы нейроматематики были заложены в начале 40-х годов. В 1943 году У. Маккалох и его ученик У. Питтс сформулировали основные положения теории деятельности головного мозга. Ими были получены следующие результаты:
Несмотря на то, что за прошедшие годы нейроматематика ушла далеко вперед, многие утверждения Макклоха остаются актуальными и поныне. В частности, при большом разнообразии моделей нейронов принцип их действия, заложенный Макклохом и Питтсом, остается неизменным. Недостатком данной модели является сама модель нейрона "пороговой" вид переходной функции. В формализме У. Маккалоха и У. Питтса нейроны имеют состояния 0, 1 и пороговую логику перехода из состояния в состояние. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние.
Пороговый вид функции не предоставляет нейронной сети достаточную гибкость при обучении и настройке на заданную задачу. Если значение вычисленного скалярного произведения, даже незначительно, не достигает до заданного порога, то выходной сигнал не формируется вовсе и нейрон "не срабатывает". Это значит, что теряется интенсивность выходного сигнала (аксона) данного нейрона и, следовательно, формируется невысокое значение уровня на взвешенных входах в следующем слое нейронов.
3.2. Модель Розенблата
Серьезное развитие нейрокибернетика получила в работах американского нейрофизиолога Френсиса Розенблата (Корнелльский университет). В 1958 году он предложил свою модель нейронной сети. Розенблат ввел в модель Маккаллока и Питтса способность связей к модификации, что сделало ее обучаемой. Эта модель была названа перцептроном. Первоначально перцептрон представлял собой однослойную структуру с жесткой пороговой функцией процессорного элемента и бинарными или многозначными входами. Первые перцептроны были способны распознавать некоторые буквы латинского алфавита. Впоследствии модель перцептрона была значительно усовершенствована.
Перцептрон применялся для задачи автоматической классификации, которая в общем случае состоит в разделении пространства признаков между заданным количеством классов. В двухмерном случае требуется провести линию на плоскости, отделяющую одну область от другой. Перцептрон способен делить пространство только прямыми линиями (плоскостями).
Алгоритм обучения перцептрона выглядит следующим образом:
Серьезным недостатком перцептрона является то, что не всегда существует такая комбинация весовых коэффициентов, при которой имеющееся множество образов будет распознаваться данным перцептроном. Причина этого недостатка состоит в том, что лишь небольшое количество задач предполагает, что линия, разделяющая эталоны, будет прямой. Обычно это достаточно сложная кривая, замкнутая или разомкнутая. Если учесть, что однослойный перцептрон реализует только линейную разделяющую поверхность, применение его там, где требуется нелинейная, приводит к неверному распознаванию (эта проблема называется линейной неразделимостью пространства признаков). Выходом из этого положения является использование многослойного перцептрона, способного строить ломаную границу между распознаваемыми образами.
Описанная проблема не является единственной трудностью, возникающей при работе с перцептронами - также слабо формализовани метод обучения перцептрона.
Перцептрон поставил ряд вопросов, работа над решением которых привела к созданию более "разумных" нейронных сетей и разработке методов, нашедших применение не только в нейрокибернетике (например, метод группового учета аргументов, применяемый для идентификации математических моделей).
3.3. Модель Хопфилда
В 70-е годы интерес к нейронным сетям значительно упал, однако работы по их исследованию продолжались. Был предложен ряд интересных разработок, таких, например, как когнитрон, и т.п.), позволяющих распознавать образы независимо от поворота и изменения масштаба изображения.
Автором когнитрона является японский ученый И. Фукушима.
Новый виток быстрого развития моделей нейронных сетей, который начался лет 15 тому назад, связан с работами Амари, Андерсона, Карпентера, Кохонена и других, и в особенности, Хопфилда, а также под влиянием обещающих успехов оптических технологий и зрелой фазы развития СБИС для реализации новых архитектур.
Начало современному математическому моделированию нейронных вычислений было положено работами Хопфилда в 1982 году, в которых была сформулирована математическая модель ассоциативной памяти на нейронной сети.
Показано, что для однослойной нейронной сети со связями типа "все на всех" характерна сходимость к одной из конечного множества равновесных точек, которые являются локальными минимумами функции энергии, содержащей в себе всю структуру взаимосвязей в сети. Понимание такой динамики в нейронной сети было и у других исследователей. Однако, Хопфилд и Тэнк показали как конструировать функцию энергии для конкретной оптимизационной задачи и как использовать ее для отображения задачи в нейронную сеть. Этот подход получил развитие и для решения других комбинаторных оптимизационных задач. Привлекательность подхода Хопфилда состоит в том, что нейронная сеть для конкретной задачи может быть запрограммирована без обучающих итераций. Веса связей вычисляются на основании вида функции энергии, сконструированной для этой задачи.
Развитием модели Хопфилда для решения комбинаторных оптимизационных задач и задач искусственного интеллекта является машина Больцмана, предложенная и исследованная Джефери Е. Хинтоном и Р. Земелом. В ней, как и в других моделях, нейрон имеет состояния 1, 0 и связь между нейронами обладает весом. Каждое состояние сети характеризуется определенным значением функции консенсуса (аналог функции энергии). Максимум функции консенсуса соответствует оптимальному решению задачи.
3.4. Модель сети с обратным распространением
Способом обратного распространения (back propogation) называется способ обучения многослойных нейронных сетей (НС).
Многослойная нейронная сеть
В таких НС связи между собой имеют только соседние слои, при этом каждый нейрон предыдущего слоя связан со всеми нейронами последующего слоя. Нейроны обычно имеют сигмоидальную функцию возбуждения. Первый слой нейронов называется входным и содержит число нейронов соответствующее распознаваемому образу. Последний слой нейронов называется выходным и содержит столько нейронов, сколько классов образов распознается. Между входным и выходным слоями располагается один или более скрытых (теневых) слоев. Определение числа скрытых слоев и числа нейронов в каждом слое для конкретной задачи является неформальной задачей. Принцип обучения такой нейронной сети базируется на вычислении отклонений значений сигналов на выходных процессорных элементах от эталонных и обратном "прогоне" этих отклонений до породивших их элементов с целью коррекции ошибки.
Еще в 1974 году Поль Дж. Вербос изобрел значительно более эффективную процедуру для вычисления величины, называемой производной ошибки по весу, когда работал над своей докторской диссертацией в Гарвардском университете. Процедура, известная теперь как алгоритм обратного распространения, стала одним из наиболее важных инструментов в обучении нейронных сетей. Однако этому алгоритму свойственны и недостатки, главный из которых - отсутствие сколько-нибудь приемлемых оценок времени обучения. Понимание, что сеть в конце концов обучится, мало утешает, если на это могут уйти годы. Тем не менее, алгоритм обратного распространения имеет широчайшее применение.
В литературе встречается значительное число признаков, которыми должна обладать задача, чтобы применение НС было оправдано и НС могла бы ее решить:
Таким образом, НС хорошо подходят для распознавания образов и решения задач классификации, оптимизации и прогнозирования. Ниже приведен перечень возможных промышленных применений нейронных сетей, на базе которых либо уже созданы коммерческие продукты, либо реализованы демонстрационные прототипы.
Банки и страховые компании:
Административное обслуживание:
Нефтяная и химическая промышленность:
Военная промышленность и аэронавтика:
Промышленное производство:
Служба безопасности:
Биомедицинская промышленность:
Телевидение и связь:
Представленный перечень далеко не полон. Можно найти еще области, где оправданно применение НС.
Нейронные сети могут быть реализованы двумя путями: первый - это программная модель НС, второй - аппаратная.
Основными коммерческими аппаратными изделиями на основе НС являются и, вероятно, в ближайшее время будут оставаться нейроБИС.
Среди разрабатываемых в настоящее время нейроБИС выделяются модели фирмы Adaptive Solutions (США) и Hitachi (Япония). НейроБИС фирмы Adaptive Solutions, вероятно, станет одной из самых быстродействующих: объявленная скорость обработки составляет 1,2 млрд. соединений/с. (НС содержит 64 нейрона и 262144 синапса). НейроБИС фирмы Hitachi позволяет реализовать НС, содержащую до 576 нейронов. Эти нейроБИС, несомненно, станут основой новых нейрокомпьютеров и специализированных многопроцессорных изделий.
Большинство сегодняшних нейрокомпьютеров представляют собой просто персональный компьютер или рабочую станцию, в состав которых входит дополнительная нейроплата. К их числу относятся, например, компьютеры серии FMR фирмы Fujitsu. Такие системы имеют бесспорное право на существование, поскольку их возможностей вполне достаточно для разработки новых алгоритмов и решения большого числа прикладных задач методами нейроматематики.
Однако наибольший интерес представляют специализированные нейрокомпьютеры, непосредственно реализующие принципы НС.
Типичными представителями таких систем являются компьютеры семейства Mark фирмы TRW (первая реализация перцептрона, разработанная Розенблатом, называлась Mark I).
Модель Mark III фирмы TRW представляют собой рабочую станцию, содержащую до 15 процессоров семейства Motorola 68000 с математическими сопроцессорами. Все процессоры объединены шиной VME. Архитектура системы, поддерживающая до 65 000 виртуальных процессорных элементов с более чем 1 млн. настраиваемых соединений, позволяет обрабатывать до 450 тыс. межсоединений/с.
Mark IV - это однопроцессорный суперкомпьютер с конвейерной архитектурой. Он поддерживает до 236 тыс. виртуальных процессорных элементов, что позволяет обрабатывать до 5 млн. межсоединений/с.
Компьютеры семейства Mark имеют общую программную оболочку ANSE (Artificial Neural System Environment), обеспечивающую программную совместимость моделей.
Помимо указанных моделей фирмы TRW предлагает также пакет Mark II - программный эмулятор НС.
Другой интересной моделью является нейрокомпьютер NETSIM, созданный фирмой Texas Instruments на базе разработок Кембриджского университета. Его топология представляет собой трехмерную решетку стандартных вычислительных узлов на базе процессоров 80188. Компьютер NETSIM используется для моделирования таких моделей НС, как сеть Хопфилда - Кохонена и НС с обратным распространением. Его производительность достигает 450 млн. межсоединений/с.
Фирма Computer Recognitiion Systems (CRS) продает серию нейрокомпьютеров WIZARD/CRS 1000, предназначенных для обработки видеоизображений. Размер входной изображения 512 x 512 пиксел. Модель CRS 1000 уже нашла применение в промышленных системах автоматического контроля.
Нейрокомпьютеры являются перспективным направлением развития современной высокопроизводительной вычислительной техники, а теория нейронных сетей и нейроматематика представляют собой приоритетные направления российской вычислительной науки. Основой активного развития нейрокомпьютеров является принципиальное отличие нейросетевых алгоритмов решения задач от однопроцессорных, малопроцессорных, а также транспьютерных. Для данного направления развития вычислительной техники не так важен уровень развития отечественной микроэлектроники, поэтому оно позволяет создать основу построения российской элементной базы суперкомпьютеров.
В России уже успешно функционирует один из первых мощных нейрокомпьютеров для финансового применения - CNAPS PC/128 на базе 4-х нейроБИС фирмы Alaptive Solutions. По данным фирмы "Торацентр" в число организаций, использующих нейронные сети для решения своих задач, уже вошли: Центробанк, МЧС, Налоговая Инспекция, более 30 банков и более 60 финансовых компаний.
В заключение необходимо отметить, что использование нейронных сетей во всех областях человеческой деятельности, в том числе в области финансовых приложений, движется по нарастающей, отчасти по необходимости и из-за широких возможностей для одних, из-за престижности для других и из-за интересных приложений для третьих. Не следует пугаться того, что появление столь мощных и эффективных средств перевернет финансовый рынок, или "отменит" традиционные математические и эконометрические методы технического анализа, или сделает ненужной работу высококлассных экспертов - говорить об этом, мягко говоря, преждевременно. В качестве нового эффективного средства для решения самых различных задач нейронные сети просто приходят - и используются теми людьми, которые их понимают, которые в них нуждаются и которым они помогают решать многие профессиональные проблемы. Не обязательно "насаждать" нейронные сети, или пытаться доказать их неэффективность путем выделения присущих им особенностей и недостатков - нужно просто относиться к ним как к неизбежному следствию развития вычислительной математики, информационных технологий и современной элементной базы.