Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Машина фон Неймана




История развития компьютеров.

Первое поколение.(1946-1957, вакуумные лампы, 40000операций/сек) Первый электронный цифровой компьютер широкого назначения ENIAC (Electronic Numerical Integrator And Computer - электронный цифровой интегратор и вычислитель) был спроектирован в Пенсильванском университете под руководством Джона Мочли и Джона Преспера Эккера. Проект создавался в конце второй Мировой войны с учетом потребностей вооруженных сил США. Машина весила около 30 тонн, занимала 1400 кв. м, содержала более 18000 электронных ламп и потребляла около 140кВТ электроэнергии. Выполняла около 5000 сложений в секунду. ENIAC была по сути, не двоичной, а десятичной вычислительной машиной, т.е. данные в ней были представлены в десятичной системе счисления, и в этой же системе выполнялись арифметические операции. Память машины состояла из 20 "аккумуляторов2, каждый из которых хранил 10- разрядное десятичное число. Для хранения одного десятичного разряда использовалась кольцевая схема на 10 электронных лампах, из которых в каждый момент времени только одна была "включена". Номер включенной лампы и соответствовал значению разряда. Основной недостаток машины состоял в том, что программирование процесса вычислений выполнялось вручную с помощью электрических переключателей и перекоммутации электрических кабелей.. Проект машины начался в 1943 году и был закончен в 1946 году.

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

Возникновение этой идеи, известной теперь во всем мире как концепция хранимой программы, или принципом программного управления компьютером (лил просто принципом фон Неймана). Впервые эта идея была опубликована в 1945 году в работе, посвященной обсуждению логической структуры нового компьютера. В 1946 году фон Нейман и его коллеги начали работать над проектом нового компьютера с хранимой программой, в мире этот компьютер известен, как компьютер IAS (Prinston Institute for Advanced Studies - Институт современных исследованием над проектом нового компьютера с хранимой программой). Проектирование и изготовление компьютера завершилось в 1952 году, эта машина стала прототипов компьютеров общего назначения с хранимой программой. В состав компьютера входят: устройство оперативной памяти, в котором хранятся данные и команды программы; арифметическое и логическое устройство, которое обрабатывает данные, представленные в двоичной системе счисления; устройство управления выполнением программы, которое анализирует команды программы, извлекаемые из памяти, и организует их выполнение; оборудование ввода-вывода, работающее в соответствии с сигналами, поступающими от УУ.

 

Итак основная идея фон Неймана заключается в следующем:

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

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

3. Любое устройство, предназначенное для выполнения длинной и сложной последовательности операций, должно обладать значительной памятью. Последовательность команд, которая должна обеспечивать решение определенной сложной задачи, может представлять собой соответствующий код, который нужно сохранять, поэтому третьим компонентом системы должен быть блок памяти -М.

4. Компоненты СА и СС (вместе С) и М - должны обладать способностью общаться с внешним миром, т.е. устройствами ввода-вывода -R.

5. Устройство должно иметь в своем составе органы передачи информации от R в свои компоненты С и М. Эти органы образуют специальный компонент I.

6. Устройство должно располагать органами передачи информации от специальных компонентов C и М к R - образуют компонент вывода, - О.

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

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

 

 
 

 


 

 

Формат числа представлял собой двоичный код, где старший разряд был знак числа, а 39 разрядов отвадилось под само число. Слово памяти могло хранить две команды по 20 бит каждая. В формате команды старшие 8 бит отводились для хранения кода операции, определяющего вид выполняемого действия, а младшие 12 бит - для хранения адреса одного из слов памяти (адреса могли быть числами в диапазоне от 0-999).

Устройство управления IAS извлекало из памяти команды по очереди и организовывало их выполнение по одной в каждом очередном цикле. Рассмотрим укрупненную структурную схему (рисунок 1.6).В состав УУ и АЛУ входят специальные ячейки памяти, называемые регистрами. Назначение их следующее:

1. Регистр данных памяти MBR (memory buffer register) хранит слово, которое должно быть записано в память или которое только что извлечено из памяти.

2. Регистр адреса MAR (memory address register) хранит адрес ячейки памяти, к которой производится обращение для считывания слова или записи.

3. Регистр команды IR (instruction register) хранит код операции текущей команды длиной в 8 бит в процессе ее выполнения.

4. Буферный регистр команды IBR (instruction buffer register) служит для временного хранения правой команды, извлеченной при чтении очередного слова команды из памяти.

5. Счетчик команд PC (program counter) хранит адрес следующего слова команды, которое должно быть извлечено из памяти после завершения выполнения пары команд из текущего слова.

6. Аккумулятор AC и регистр множимого/частного MQ (multiplier quotient) используются для временного хранения операндов и результатов в АЛУ. Например, в результате умножения двух 40-разрядных сомножителей формируется 80-разрядное произведение, старшие 40 разрядов которого хранятся в АС, а младшие 40 разрядов - в MQ.

 
 

 


 

 

Работа компьютера состоит в периодическом повторении основного цикла выполнения команды. Алгоритм выполнения основного цикла показан на рисунке 1.7. В схеме алгоритма используются следующие обозначения: M(X) - содержимое ячейки памяти по адресу X; (X,Y) - разряды от X до Y, разряды нумеруются от старших к младшим. Каждый цикл состоит из двух фаз (тактов). В течении фазы извлечения код операции очередной команды загружается в регистр команды IR, а содержимое поля адреса этой же команды - в регистр адреса MAR. Сама команда может быть извлечена либо из буферного регистра команд IBR, либо из памяти. В последнем случае сначала прочитанное из памяти M слово загружается в регистр данных памяти MBR, а уже из него отдельные компоненты передаются в IBR, IR и MAR.

 

 

 


 

Почему команда не считывается из памяти непосредственно в регистры IR и MAR? Дело в том, что для упрощения электронных схем, обеспечивающих связь с блоком памяти, потребовалось все операции чтения и записи в память выполнять через пару регистров, один из которых хранит адрес ячейки, а второй - слово, считываемое из памяти или записываемое в память.

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

Система команд компьютера IAS насчитывала 21 команду, которые были сгруппированы в, следующие группы:

Команды пересылки данных (LOAD, STOR) - выполняют пересылку данных из заданной ячейки памяти в один из двух адресуемых регистров АЛУ - аккумулятор AC или регистр множимого/частного MQ - ли из этих регистров в заданную ячейку памяти.

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

Команды условного перехода (JUMP) - изменяют естественный порядок выполнения команд, но это изменения происходят, только при определенном состоянии аккумулятора, т.е. зависит от результата предыдущей операции. С помощью команд условного перехода в программе реализуется принятие решения на основе результатов вычислений.

Арифметические команды (ADD,SUB,MUL,DIV,LSH,RSH) - задают выполнение четырех действий, причем некоторые арифметические операции имеют пару модификаций.

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

Второе поколение.(1958-1964,транзисторы, 200 000 операций/сек) Смена произошла, когда на смену вакуумным лампам пришли полупроводниковые приборы. Переход на новую базу позволили внедрить АЛУ и УУ с более сложной структурой и более широкими функциональными возможностями. Увеличение объема памяти привело к отказу от программирования в машинных кодах и внедрение языков высоко уровня. В результате появился класс программ - системное программное обеспечение. На рынке компьютеров появились мини-компьютеры. PDP-1 - первое изделие фирмы DEC. Типичным представителем второго поколения является компьютер IBM 7094. Наиболее существенным отличием от своих предшественников, является появление канала данных. Канал данных представляет собой независимый модуль ввода-вывода, обладающий собственным процессором и собственной системой команд. Эти команды хранятся в оперативной памяти, но выполняются специализированным процессором модуля ввода-вывода. ЦП инициирует сеанс передачи данных по каналу, посылая соответствующий управляющий сигнал этому модулю, а все дальнейшие операции выполняются модулем самостоятельно в соответствии с программой, которую он извлекает из оперативной памяти. После завершения сеанса передачи модуль извещает об этом ЦП, передавая ему специальный сигнал. Таким образом ЦП освобождается от выполнения задач по передаче и может сконцентрироваться только на выполнении вычислительных задач. Другой новинкой в структуре компьютера стал - блок мультиплексора, который играет роль центрального коммутатора при пересылке информации между каналами данных, ЦП и ОП. Мультиплексор является диспетчером доступа к ОП со стороны ЦП и каналов данных, позволяя им работать независимо друг от друга.

Третье поколение.(1965-1971,интегральные схемы малой и средней степени интеграции, 1 000 000 операций/сек). Типичными представителями своего поколения являются PDP (фирма DEC) и System/360 (фирма IBM). До сих компьютеры фирмы IBM имеют некоторые черты компьютера IBM/360: максимальный объем ОП от 64К до 512К, скорость передачи данных при обращении к памяти от 0,5, 16,0 Мбайт/с, длительность основного цикла процессора от 1,0 до 0, 2мкс, относительная производительность процессора, от 1 до 50, максимальное количество каналов ввода вывода от 3 до 6. Для компьютера PDP-8 характерным является: автоматический проводной монтаж, последовательное выполнение операций, использование микросхем со средней степенью интеграции, более компактная конструкция, структура с системной магистралью (Omnibus), полупроводниковая память и аппаратное выполнение операций в формате с плавающей запятой

Четвертое поколение.(1972-1977,большие интегральные схемы, 10 000 000 операций/сек). Характерным является увеличение частоты тактовых импульсов (от 108 кГц до 8Мгц), разрядность шины (от4 до 16), количество транзисторов и размер самих транзисторов(2300(10мкм)-29000(3мкм)), физическое адресное пространство (640байт-1мбайт)

Пятое поколение.(начиная с 1978, сверхбольшие интегральные схемы, 100 000 000 операций/сек). Характерным является увеличение частоты тактовых импульсов (от 6 мГц до 50Мгц), разрядность шины (от 16 до 32), количество транзисторов и размер самих транзисторов(134 000(1,5мкм)-1 200 000(0,8мкм)), физическое адресное пространство (16 мбайт - 4 гбайт), виртуальное пространство (1 гбайт-64 тбайт)

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

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

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

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

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 2314; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.024 сек.