Архитектура компьютера что это

Архитектура компьютера

Архитектура компьютера что это. 40px Wiki letter w.svg. Архитектура компьютера что это фото. Архитектура компьютера что это-40px Wiki letter w.svg. картинка Архитектура компьютера что это. картинка 40px Wiki letter w.svg.

Содержание

История

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

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

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

Данная машина состояла из четырёх компонентов:

Память состояла из 1000 слов по 50 десятичных разрядов; каждое из слов содержало переменные и результаты. Вычислительное устройство принимало операнды из памяти, затем выполняло операции сложения, вычитания, умножения или деления и возвращало полученный результат обратно в память. Как и разностная машина, это устройство было механическим.

Поскольку аналитическая машина программировалась на элементарном ассемблере, ей было необходимо программное обеспечение. Чтобы создать это программное обеспечение, Бэббидж нанял молодую женщину — Аду Лавлейс. Таким образом Ада Лавлейс стала первым в мире программистом. В её честь назван современный язык программирования — Ada. Интересен тот факт, что сам Бэббидж никогда не отлаживал компьютер. Ему нужны были тысячи шестерёнок, сделанных с такой точностью, которая в XIX веке была недоступна. Однако, идеи Бэббиджа опередили его эпоху, и даже сегодня большинство современных компьютеров по конструкции сходны с аналитической машиной. Поэтому справедливо будет сказать, что Бэббидж был дедушкой современного цифрового компьютера.

Конец 1930-х годов — Конрад Зус сконструировал несколько автоматических счётных машин с использованием электромагнитных реле. К сожалению, его машины были уничтожены во время бомбежки Берлина в 1944 году, поэтому его работа никак не повлияла на будущее развитие компьютерной техники.

Архитектура компьютера что это. 220px Harvard Mark I Computer Left Segment. Архитектура компьютера что это фото. Архитектура компьютера что это-220px Harvard Mark I Computer Left Segment. картинка Архитектура компьютера что это. картинка 220px Harvard Mark I Computer Left Segment.

Архитектура компьютера что это. magnify clip. Архитектура компьютера что это фото. Архитектура компьютера что это-magnify clip. картинка Архитектура компьютера что это. картинка magnify clip.

В 1940 году Джордж Стибитс продемонстрировал автоматическую счётную машину в Дартмутском колледже на конференции, на которой присутствовал ничем не примечательный на тот момент профессор физики из университета Пенсильвании Джон Моушли (John Mauchley), ставший позднее очень известным в области компьютерных разработок.

Началась эра электроники.

1945—1955 — Электронные лампы (первое поколение)

Архитектура компьютера что это. 220px Enigma. Архитектура компьютера что это фото. Архитектура компьютера что это-220px Enigma. картинка Архитектура компьютера что это. картинка 220px Enigma.

Архитектура компьютера что это. magnify clip. Архитектура компьютера что это фото. Архитектура компьютера что это-magnify clip. картинка Архитектура компьютера что это. картинка magnify clip.

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

В 1943 году начал работать электронный компьютер COLOSSUS, в создании которой принимал участие знаменитый британский математик Алан Тьюринг. Но, поскольку британское правительство полностью контролировало этот проект и рассматривало его как военную тайну на протяжении 30 лет, COLOSSUS не стал базой для дальнейшего развития компьютеров. Мы упомянули о нём только потому, что это был первый в мире электронный цифровой компьютер.

В этом же году Моушли со своим студентом Дж. Преспером Экертом начали конструировать ENIAC (Electronic Numerical Integrator and Computer — электронный цифровой интегратор и калькулятор) — электронный компьютер, который состоял из 18 000 электровакуумных ламп и 1500 реле, весил 30 тонн и потреблял 140 киловатт электроэнергии. У машины имелось 20 регистров, причем каждый из них мог содержать 10-разрядное десятичное число.

В 1946 году работа над ENIAC была закончена. Правда, тогда она уже была не нужной — по крайней мере, для достижения первоначально поставленных целей. В ENIAC было установлено 6000 многоканальных переключателей и имелось множество кабелей, протянутых к разъемам. Поскольку война закончилась, Моушли и Экерту позволили организовать школу, где они рассказывали о своей работе коллегам-ученым. В этой школе и зародился интерес к созданию больших цифровых компьютеров.

Архитектура компьютера что это. 220px EDSAC %2810%29. Архитектура компьютера что это фото. Архитектура компьютера что это-220px EDSAC %2810%29. картинка Архитектура компьютера что это. картинка 220px EDSAC %2810%29.

Архитектура компьютера что это. magnify clip. Архитектура компьютера что это фото. Архитектура компьютера что это-magnify clip. картинка Архитектура компьютера что это. картинка magnify clip.

В 1949 году Морис Уилкс сконструировал EDSAC — первый рабочий компьютер. Далее — JOHNIAC в корпорации Rand, ILLIAC в Университете Иллинойса, MANIAC в лаборатории Лос-Аламоса и WEIZAC в Институте Вайцмана в Израиле. Вскоре начали работу над машиной EDVAC (Electronic Discrete Variable Computer — электронная дискретная параметрическая машина) Экерт и Моушли. Однако, этот проект закрылся вследствие ухода их из университета.

Фон Нейман был гением в тех же областях, что и Леонардо да Винчи. Он знал много языков, был специалистом в физике и математике, обладал феноменальной памятью: он помнил все, что когда-либо слышал, видел или читал. Он мог дословно процитировать по памяти текст книг, которые читал несколько лет назад. Когда фон Нейман стал интересоваться вычислительными машинами, он уже был самым знаменитым математиком в мире.

Фон Нейман вскоре осознал, что создание компьютеров с большим количеством переключателей и кабелей требует длительного времени и очень утомительно и пришёл к мысли, что программа должна быть представлена в памяти компьютера в цифровой форме, вместе с данными. Им также было отмечено, что десятичная арифметика, используемая в машине ENIAC, где каждый разряд представлялся десятью электронными лампами (1 включена, остальные выключены), должна быть заменена параллельной бинарной арифметикой.

Основной проект Фон Неймана был использован в EDSAC, первой машине с программой в памяти, и даже сейчас, более чем полвека спустя, является основой большинства современных цифровых компьютеров. Сам замысел и машина IAS (Immediate Address Storage — память с прямой адресацией) оказали очень большое влияние на дальнейшее развитие компьютерной техники.

Архитектура компьютера что это. 220px %D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0 %D1%84%D0%BE%D0%BD %D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD%D0%B0. Архитектура компьютера что это фото. Архитектура компьютера что это-220px %D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0 %D1%84%D0%BE%D0%BD %D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD%D0%B0. картинка Архитектура компьютера что это. картинка 220px %D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0 %D1%84%D0%BE%D0%BD %D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD%D0%B0.

Архитектура компьютера что это. magnify clip. Архитектура компьютера что это фото. Архитектура компьютера что это-magnify clip. картинка Архитектура компьютера что это. картинка magnify clip.

Машина фон Неймана состояла из пяти основных частей:

Память включала 4096 слов размером по 40 бит (бит — это 0 или 1). Каждое слово содержало или 2 команды по 20 бит, или целое число со знаком на 40 бит.

8 бит указывали на тип команды, а остальные 12 бит определяли одно из 4096 слов.

Архитектура компьютера что это. 220px IBM 701console. Архитектура компьютера что это фото. Архитектура компьютера что это-220px IBM 701console. картинка Архитектура компьютера что это. картинка 220px IBM 701console.

Архитектура компьютера что это. magnify clip. Архитектура компьютера что это фото. Архитектура компьютера что это-magnify clip. картинка Архитектура компьютера что это. картинка magnify clip.

Арифметический блок и блок управления составляли «мозговой центр» компьютера. В современных машинах эти блоки сочетаются в одной микросхеме, называемой центральным процессором (ЦП).

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

В 1953 году фирма IBM построила компьютер 701, через много лет после того, как компания Экерта и Моушли со своим компьютером UNIVAC стала номером один на компьютерном рынке. В 701 было 2048 слов по 36 бит, каждое слово содержало две команды. Он стал первым компьютером, лидирующим на рынке в течение десяти лет.

В 1956 году появился компьютер 704, у которого было 4 Кбайт памяти на магнитных сердечниках, команды по 36 бит и процессор с плавающей точкой.

В 1958 году компания IBM начала работу над последним компьютером 709 на электронных лампах, который по сути представлял собой усложненную версию 704.

1955—1965 — Транзисторы (второе поколение)

В 1956 году сотрудниками лаборатории Bell Labs Джоном Бардином, Уолтером Браттейном и Уильямом Шокли был изобретен транзистор, за что они получили Нобелевскую премию в области физики. Транзисторы совершили революцию в производстве компьютеров, и к концу 1950-х годов компьютеры на вакуумных лампах уже безнадежно устарели. В лаборатории МТИ был построен первый компьютер на транзисторах. Он содержал слова из 16 бит, как и Whirlwind I.

Компьютер назывался ТХ-0 (Transistorized experimental computer 0 — экспериментальная транзисторная вычислительная машина 0) и предназначался только для тестирования будущей машины ТХ-2, которая в дальнейшем не имела большого значения. Но в 1957 Кеннет Ольсен один из инженеров этой лаборатории основал компанию DEC (Digital Equipment Corporation — корпорация по производству цифровой аппаратуры), чтобы производить серийную машину, сходную с ТХ-0.

Архитектура компьютера что это. 220px PDP 1. Архитектура компьютера что это фото. Архитектура компьютера что это-220px PDP 1. картинка Архитектура компьютера что это. картинка 220px PDP 1.

Архитектура компьютера что это. magnify clip. Архитектура компьютера что это фото. Архитектура компьютера что это-magnify clip. картинка Архитектура компьютера что это. картинка magnify clip.

В 1961 году появился компьютер PDP-1, который имел 4096 слов по 18 бит и быстродействие 200 000 команд в секунду. Данный параметр был в два раза меньше, чем у 7090, транзисторного аналога 709. PDP-1 был самым быстрым компьютером в мире в то время. PDP-1 стоил 120 000 долларов, в то время как 7090 стоил миллионы. Компания DEC продала десятки компьютеров PDP-1, и так появилась компьютерная промышленность. Одним из нововведений PDP-1 был дисплей размером 512 х 512 пикселов, на котором можно было рисовать точки.

Вскоре студенты МТИ составили специальную программу для PDP-1, чтобы играть в «Войну миров» — первую в мире компьютерную игру. Позже компания DEC разработала модель PDP-8, 12-разрядный компьютер, который стоил гораздо дешевле, чем PDP-1 (всего 16 000 долларов). Главным нововведением была единственная шина (omnibus).

Архитектура компьютера что это. 220px Personable Computer. Архитектура компьютера что это фото. Архитектура компьютера что это-220px Personable Computer. картинка Архитектура компьютера что это. картинка 220px Personable Computer.

Архитектура компьютера что это. magnify clip. Архитектура компьютера что это фото. Архитектура компьютера что это-magnify clip. картинка Архитектура компьютера что это. картинка magnify clip.

В 1964 году компания CDC (Control Data Corporation) выпустила машину 6600, которая работала почти на порядок быстрее, чем 7094. Этот компьютер для сложных расчетов пользовался большой популярностью, и компания CDC пошла «в гору». Секрет столь высокого быстродействия заключался в том, что внутри ЦПУ (центрального процессора) находилась машина с высокой степенью параллелизма, у которой было несколько функциональных устройств для сложения, умножения и деления, и все они могли работать одновременно.

Центральный процессор производил только подсчет чисел, а остальные функции (управление работой машины, а также ввод и вывод информации) выполняли маленькие встроенные компьютеры. Некоторые принципы работы устройства 6600 используются и в современных компьютерах.

Разработчик компьютера 6600 Сеймур Крей был легендарной личностью, как и Фон Нейман. Он посвятил всю свою жизнь созданию очень мощных компьютеров, которые сейчас называют суперкомпьютерами. Среди них можно назвать 6600, 7600 и Cray-1.

1965-1980 — Интегральные схемы (третье поколение)

В 1958 году Роберт Нойс создал кремниевую интегральную схему, что дало возможность размещения на одной небольшой микросхеме несколько десятков транзисторов. Компьютеры на интегральных схемах были меньшего размера, работали быстрее и стоили дешевле, чем их предшественники на транзисторах.

К 1964 году компания IBM лидировала на компьютерном рынке, но существовала одна большая проблема: компьютеры 7094 и 1401, которые она выпускала, были несовместимы друг с другом. 7094-й предназначался для сложных расчётов, в нём использовалась двоичная арифметика на регистрах по 36 бит, на 1401 применялась десятичная система счисления и слова разной длины. Многим покупателям они не нравились ввиду их несовместимости.

Архитектура компьютера что это. 220px DM IBM S360. Архитектура компьютера что это фото. Архитектура компьютера что это-220px DM IBM S360. картинка Архитектура компьютера что это. картинка 220px DM IBM S360.

Архитектура компьютера что это. magnify clip. Архитектура компьютера что это фото. Архитектура компьютера что это-magnify clip. картинка Архитектура компьютера что это. картинка magnify clip.

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

Идея создания семейств компьютеров стала настолько популярной, что в течение нескольких лет большинство компьютерных компаний выпустили серии сходных машин с разной стоимостью и функциями. В памяти транзисторных компьютеров System/360 могло находиться одновременно несколько программ, и пока одна программа ждала, когда закончится процесс ввода-вывода, другая выполнялась. В результате ресурсы процессора расходовались более рационально.

ПараметрыМодель 30Модель 40Модель 50Модель 65
Относительная производительность13,51021
Время цикла, нс1000625500250
Максимальный объём памяти, байт65 536262 144262 144524 288
Кол-во байтов, вызываемых из памяти за 1 цикл12416
Максимальное количество каналов данных3346

Компьютеру 360 удалось разрешить дилемму между двоичной и десятичной системами счисления: у этого компьютера было 16 регистров по 32 бит для бинарной арифметики, но память состояла из байтов, как у 1401. В 360-м использовались такие же команды для перемещения записей разного размера из одной части памяти в другую, как и в 1401.

1980-? — Сверхбольшие интегральные схемы (четвёртое поколение)

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

Персональные компьютеры применялись для обработки слов, электронных таблиц, а также для выполнения приложений с высоким уровнем интерактивности (например, игр), с которыми большие компьютеры не справлялись.

Первые персональные компьютеры продавались в виде комплектов, которые содержали:

Сложить из этих частей компьютер и написать программное обеспечение к нему покупатель должен был сам. Позднее для Intel 8080 появилась операционная система СР/М, написанная Гари Килдаллом.

Архитектура компьютера что это. 220px IBM PC 5150. Архитектура компьютера что это фото. Архитектура компьютера что это-220px IBM PC 5150. картинка Архитектура компьютера что это. картинка 220px IBM PC 5150.

Архитектура компьютера что это. magnify clip. Архитектура компьютера что это фото. Архитектура компьютера что это-magnify clip. картинка Архитектура компьютера что это. картинка magnify clip.

Компьютер Apple был разработан Стивом Джобсом и Стивом Возняком. Данный компьютер стал чрезвычайно популярным среди домашних пользователей и школ, что в мгновение ока сделало компанию Apple серьёзным игроком на рынке.

В 1981 году появился компьютер IBM PC и стал самым покупаемым компьютером в истории.

Бурному производству персональных компьютеров послужило то, что компания IBM, вместо того чтобы держать проект машины в секрете (или, по крайней мере, оградить себя патентами), как она обычно делала, опубликовала полные проекты, включая все электронные схемы, в книге стоимостью 49 долларов. Эта книга помогла другим компаниям производить сменные платы для IBM PC, что повысило бы совместимость и популярность этого компьютера. К несчастью для IBM, как только проект IBM PC стал широко известен, многие компании начали делать клоны PC и часто продавали их гораздо дешевле, чем IBM (поскольку все составные части компьютера можно было легко приобрести).

Первая версия IBM PC была оснащена операционной системой MS-DOS, которую выпускала тогда ещё крошечная корпорация Microsoft. IBM и Microsoft совместно разработали последовавшую за MS-DOS операционную систему OS/2, характерной чертой которой был графический пользовательский интерфейс (Graphical User Interface, GUI), сходный с интерфейсом Apple Macintosh. Между тем компания Microsoft также разработала собственную операционную систему Windows, которая работала на основе MS-DOS, на случай, если OS/2 не будет иметь спроса. OS/2 действительно не пользовалась спросом, a Microsoft успешно продолжала выпускать операционную систему Windows, что послужило причиной грандиозного раздора между IBM и Microsoft.

Легенда о том, как крошечная компания Intel и ещё более крошечная, чем Intel, компания Microsoft умудрились свергнуть IBM, одну из самых крупных, самых богатых и самых влиятельных корпораций в мировой истории, подробно излагается в бизнес-школах всего мира.

С 1982 по 1989 год были выпущены версии процессоров Intel: 186-й (1-го поколения), 286-й (2-го поколения), 386-й (3-го поколения), 486-й (4-го поколения). В 1993 г. появился процессор под новой торговой маркой Pentium, являющийся процессором Intel 5-го поколения. Современные процессоры Intel Pentium гораздо быстрее 486-го процессора, но с точки зрения архитектуры они просто представляют собой его более мощные версии.

В середине 1980-х годов на смену CISC (Complex Instruction Set Computer — компьютер с полным набором команд) пришёл компьютер RISC (Reduced Instruction Set Computer — компьютер с сокращённым набором команд). RISC-команды были проще и работали гораздо быстрее.

В 1990-х годах появились суперскалярные процессоры, которые могли выполнять много команд одновременно, часто не в том порядке, в котором они располагаются в программе. Вплоть до 1992 года персональные компьютеры были 8-, 16- и 32-разрядными. Затем появилась революционная 64-разрядная модель Alpha производства DEC — самый что ни на есть настоящий RISC-компьютер, намного превзошедший по показателям производительности все прочие ПК. Впрочем, тогда коммерческий успех этой модели оказался весьма скромным — лишь через десятилетие 64-разрядные машины приобрели популярность, да и то лишь в качестве профессиональных серверов.

Невидимые компьютеры (пятое поколение)

Архитектура компьютера что это. 220px Apple Newton MP100. Архитектура компьютера что это фото. Архитектура компьютера что это-220px Apple Newton MP100. картинка Архитектура компьютера что это. картинка 220px Apple Newton MP100.

Архитектура компьютера что это. magnify clip. Архитектура компьютера что это фото. Архитектура компьютера что это-magnify clip. картинка Архитектура компьютера что это. картинка magnify clip.

В 1981 году правительство Японии объявило о намерениях выделить национальным компаниям 500 миллионов долларов на разработку компьютеров пятого поколения на основе технологий искусственного интеллекта, которые должны были потеснить «тугие на голову» машины четвёртого поколения. Однако, несмотря на большой шум, японский проект разработки компьютеров пятого поколения в конечном итоге показал свою несостоятельность и был аккуратно «задвинут в дальний ящик». В каком-то смысле эта ситуация оказалась близка той, с которой столкнулся Беббидж: идея настолько опередила свое время, что для её реализации не нашлось адекватной технологической базы. То, что можно назвать пятым поколением компьютеров, все же материализовалось, но в весьма неожиданном виде — компьютеры начали стремительно уменьшаться. Модель Apple Newton, появившаяся в 1993 году, наглядно доказала, что компьютер можно уместить в корпусе размером с кассетный плеер.

Реализованный в Newton рукописный ввод, казалось бы, усложнил дело, но впоследствии пользовательский интерфейс подобных машин, которые теперь называются персональными электронными секретарями (Personal Digital Assistants, PDA), или просто карманными компьютерами, был усовершенствован и приобрел широкую популярность. Многие карманные компьютеры сегодня не менее мощны, чем обычные ПК двух-трехлетней давности.

Значительно большее значение придается так называемым «невидимым» компьютерам — тем, что встраиваются в бытовую технику, часы, банковские карточки и огромное количество других устройств. Процессоры этого типа предусматривают широкие функциональные возможности и не менее широкий спектр вариантов применения за весьма умеренную цену. Вопрос о том, можно ли свести эти микросхемы в одно полноценное поколение (а существуют они с 1970-х годов), остается дискуссионным. Факт в том, что они на порядок расширяют возможности бытовых и других устройств. Уже сейчас влияние невидимых компьютеров на развитие мировой промышленности очень велико, и с годами оно будет возрастать.

Дополнение

См. также

Литература

1. Slater, R. Portraits in Silicon, Cambridge, MA: M.I.T. Press, 1987.

2. Bechini, A., Conte, T.M., and Prete, С A. «Opportunities and Challenges in Embedded Systems», IEEE Micro Magazine, vol. 24, pp. 8–9, July-Aug. 2004.

3. Henkel, J., Ни, X.S., and Bhattachatyya, S.S. «Taking on the Embedded System Challenge», IEEE Computer Magazine, vol. 36, pp. 35–37, April 2003.

4. Weiser, M. «The Computer for the 21st Century», IEEE Pervasive Computing, vol. 1, pp. 19–25, Jan.-March 2002; originally published in Scientific American, Sept. 1991.

5. Lutz,J., and Hasan, A. «High Performance FPGA based Elliptic Curve Cryptographic Co-Processor», Proc. Int’l Conf. on Inf. Tech.: Coding and Computing, IEEE, pp. 486–492, 2004.

6. Saha, D., and Mukherjee, A. «Pervasive Computing: A Paradigm for the 21st Century», IEEE Computer Magazine, vol. 36, pp. 25–31, March 2003.

7. Sakamura, K. «Making Computers Invisible», IEEE Micro Magazine, vol. 22, pp. 7–11, 2002.

Источник

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

Архитектура компьютера

Архитектура компьютера — набор типов данных, операций и характеристик каждого отдельно взятого уровня. Архитектура связана с программными аспектами. Аспекты реализации (например, технология, применяемая при реализации памяти) не являются частью архитектуры. Архитектура определяет принципы действия, информационные связи и взаимное соединение основных логических узлов компьютера: процессора, оперативного запоминающего устройства (ЗУ), внешних ЗУ и периферийных устройств. Общность архитектуры разных компьютеров обеспечивает их совместимость с точки зрения пользователя. [1]

Содержание

Уровни организации

Архитектура компьютера что это. AC4. Архитектура компьютера что это фото. Архитектура компьютера что это-AC4. картинка Архитектура компьютера что это. картинка AC4.

Большинство современных компьютеров состоит из двух и более уровней. Существуют машины даже с шестью уровнями (рисунок 1). Уровень 0 — аппаратное обеспечение машины. Его электронные схемы выполняют программы, написанные на языке уровня 1. Ради полноты нужно упомянуть о существовании еще одного уровня, расположенного ниже уровня 0. Этот уровень не показан на рисунке 1, так как он попадает в сферу электронной техники и, следовательно, не рассматривается в этой книге. Он называется уровнем физических устройств. На этом уровне находятся транзисторы, которые являются примитивами для разработчиков компьютеров.

Следующий уровень — микроархитектурный уровень. На этом уровне можно видеть совокупности 8 или 32 регистров, которые формируют локальную память и схему, называемую АЛУ (арифметико-логическое устройство). АЛУ выполняет простые арифметические операции. Регистры вместе с АЛУ формируют тракт данных, по которому поступают данные. Основная операция тракта данных состоит в следующем. Выбирается один или два регистра, АЛУ производит над ними какую-либо операцию, например сложения, а результат помещается в один из этих регистров.

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

Новые средства, появившиеся на третьем уровне, выполняются интерпретатором, который работает на втором уровне. Этот интерпретатор был когда-то назван операционной системой. Команды третьего уровня, идентичные командам второго уровня, выполняются микропрограммой или аппаратным обеспечением, но не операционной системой. Иными словами, одна часть команд третьего уровня интерпретируется операционной системой, а другая часть — микропрограммой. Вот почему этот уровень считается гибридным. Мы будем называть этот уровень уровнем операционной системы.

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

Пятый уровень обычно состоит из языков, разработанных для прикладных программистов. Такие языки называются языками высокого уровня. Существуют сотни языков высокого уровня. Наиболее известные среди них — BASIC, С, C++,С#, Java, LISP и Prolog. Программы, написанные на этих языках, обычно транслируются на уровень 3 или 4. Трансляторы, которые обрабатывают эти программы, называются компиляторами. Отметим, что иногда также используется метод интерпретации. Например, программы на языке Java обычно интерпретируются.

Цифровой логический уровень (0)

В самом низу иерархической схемы на рисунке 1 находится цифровой логический уровень, или аппаратное обеспечение компьютера, которое составляют цифровые схемы. Они могут конструироваться из небольшого числа простых элементов путем сочетания этих элементов в различных комбинациях. Цифровая схема — это схема, в которой есть только два логических значения. Обычно сигнал от 0 до 1 В представляет одно значение (например, 0), а сигнал от 2 до 5 В — другое значение (например, 1). Напряжение за пределами указанных величин недопустимо. Крошечные электронные устройства, которые называются вентилями, могут вычислять различные функции от этих двузначных сигналов. Эти вентили формируют основу аппаратного обеспечения, на которой строятся все цифровые компьютеры.

Архитектура компьютера что это. AC5. Архитектура компьютера что это фото. Архитектура компьютера что это-AC5. картинка Архитектура компьютера что это. картинка AC5.

Вся современная цифровая логика основывается на том, что транзистор может работать как очень быстрый бинарный переключатель. На рисунке 2 изображен биполярный транзистор, встроенный в простую схему. Транзистор имеет три соединения с внешним миром; коллектор, базу и эмиттер. Если входное напряжение ниже определенного критического значения, транзистор выключается и действует как очень большое сопротивление. Это приводит к выходному сигналу, близкому к Vcc (напряжению, подаваемому извне), обычно +5 В для данного типа транзистора. Если входное напряжение превышает критическое значение, транзистор включается и действует как провод, вызывая заземление сигнала (по соглашению 0 В).

Архитектура компьютера что это. AC6. Архитектура компьютера что это фото. Архитектура компьютера что это-AC6. картинка Архитектура компьютера что это. картинка AC6.

Эти три схемы образуют три простейших вентиля Они называются вентилями НЕ, НЕ-И и НЕ-ИЛИ. Вентили НЕ часто называют инверторами. Мы будем использовать оба термина. Если мы примем соглашение, что высокое напряжение (Vcc) — это логическая 1, а низкое напряжение («земля») — логический 0, то мы сможем выражать значение на выходе как функцию от входных значений. Значки, которые используются для изображения этих трех типов вентилей, показаны на рисунке 3, а — в. Там же приводится поведение функции для каждой схемы. На этих рисунках А и В — это входные сигналы, а X — выходной сигнал. Каждая строка таблицы определяет выходной сигнал для различных комбинаций входных сигналов.

Хотя устройство вентилей относится к уровню физических устройств, мы все же упомянем основные серии производственных технологий, так как они часто упоминаются в литературе. Две основные технологии — биполярная и МОП (металл-оксид-полупроводник). Среди биполярных технологий можно назвать ТТЛ (транзисторно-транзисторную логику), которая служила основой цифровой электроники на протяжении многих лет, и ЭСЛ (эмиттерно-связанную логику), которая используется в тех случаях, когда требуется высокая скорость выполнения операций. Вентили МОП работают медленнее, чем ТТЛ и ЭСЛ, но потребляют гораздо меньше энергии и занимают гораздо меньше места, поэтому можно компактно расположить большое количество таких вентилей. Вентили МОП имеют несколько разновидностей: р-канальный МОП-прибор, n-канальный МОП-прибор и комплиментарный МОП. Хотя МОП-транзисторы конструируются не так, как биполярные транзисторы, они обладают такой же способностью функционировать, как электронные переключатели. Современные процессоры и память чаще всего производятся с использованием технологии комплиментарных МОП, которая работает при напряжении +3,3 В.

Вентили производятся и продаются не по отдельности, а в модулях, которые называются интегральными схемами (ИС) или микросхемами. Интегральная схема представляет собой квадратный кусочек кремния размером примерно 5×5 мм, на котором находится несколько вентилей. Маленькие интегральные схемы обычно помещаются в прямоугольные пластиковые или керамические корпуса размером от 5 до 15 мм в ширину и от 20 до 50 мм в длину. Вдоль длинных сторон располагается два параллельных ряда выводов около 5 мм в длину, которые можно втыкать в разъемы или впаивать в печатную плату. Каждый вывод соединяется с входом или выходом какого-нибудь вентиля, или с источником питания, или с «землей». Корпус с двумя рядами выводов снаружи и интегральными схемами внутри официально называется двурядным корпусом (Dual Inline Package, сокращенно DIP), но все называют его микросхемой, стирая различие между куском кремния и корпусом, в который он помещается. Большинство корпусов имеют 14, 16, 18, 20, 22, 24, 28,40, 64 или 68 выводов. Для больших микросхем часто используются корпуса, у которых выводы расположены со всех четырех сторон или снизу. Микросхемы можно разделить на несколько классов с точки зрения количества вентилей, которые они содержат. Эта классификация, конечно, очень грубая, но иногда она может быть полезна:

Эти схемы имеют различные свойства и используются для различных целей.

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

Микроархитектурный уровень (1)

Над цифровым логическим уровнем находится микроархитектурный уровень. Его задача — интерпретация команд уровня 2 (уровня архитектуры команд), как показано на рисунке 1. Строение микроархитектурного уровня зависит от того, каков уровень архитектуры команд, а также от стоимости и предназначения компьютера. В идеале следовало бы сначала описать общие принципы разработки микроархитектурного уровня. К сожалению, таких общих принципов не существует. Каждая разработка индивидуальна.

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

Уровень архитектуры системы команд (2)

Он расположен между микроархитектурным уровнем и уровнем операционной системы, как показано на рисунке 1. Исторически этот уровень развился прежде всех остальных уровней и изначально был единственным. В наши дни этот уровень очень часто называют «архитектурой» машины, а иногда «языком ассемблера». Является связующим звеном между программным и аппаратным обеспечением. Более подробно об этом уровне написано здесь.

Уровень операционной системы (3)

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

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

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

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

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

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

Уровень языка ассемблера (4)

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

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

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

Язык высокого уровня (5)

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

Такого рода оторванность высокоуровневых языков от аппаратной реализации компьютера помимо множества плюсов имеет и минусы. В частности, она не позволяет создавать простые и точные инструкции к используемому оборудованию. Программы, написанные на языках высокого уровня, проще для понимания программистом, но менее эффективны, чем их аналоги, создаваемые при помощи низкоуровневых языков. Одним из следствий этого стало добавление поддержки того или иного языка низкого уровня (язык ассемблера) в ряд современных профессиональных высокоуровневых языков программирования. Примеры высокоуровневых языков программирования: C, C++, С#, Visual Basic, Java, Python, PHP, Ruby, Perl, Delphi (Pascal). Языкам высокого уровня свойственно умение работать с комплексными структурами данных. В большинство из них интегрирована поддержка строковых типов, объектов, операций файлового ввода-вывода и тому подобное. [2]

Виды архитектуры

Различают два основных типа архитектуры – Фон Неймановскую (принстонскую) и гарвардскую.

Архитектура Фон Неймана

Широко известный принцип совместного хранения программ и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином «машина фон Неймана», однако, соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных. Нейману удалось обобщить научные разработки и открытия многих других ученых и сформулировать на их основе принципы этого подхода:

Архитектура компьютера что это. AC1. Архитектура компьютера что это фото. Архитектура компьютера что это-AC1. картинка Архитектура компьютера что это. картинка AC1.

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

В соответствии с принципами фон Неймана компьютер состоит из арифметико-логического устройства — АЛУ (англ. ALU, Arithmetic and Logic Unit), выполняющего арифметические и логические операции; устройства управления, предназначенного для организации выполнения программ; запоминающих устройств (ЗУ), в т.ч. оперативного запоминающего устройства (ОЗУ) и внешнего запоминающего устройства (ВЗУ); внешних устройств для ввода-вывода данных.

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

Команда состоит из указания, какую операцию следует выполнить (из возможных операций на данном «железе») и адресов ячеек памяти, где хранятся данные, над которыми следует выполнить указанную операцию, а также адреса ячейки, куда следует записать результат (если его требуется сохранить в ЗУ).

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

.Управляющее устройство содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство — «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера.

В результате выполнения любой команды счетчик команд изменяется на единицу и, следовательно, указывает на следующую команду программы. Когда требуется выполнить команду, не следующую по порядку за текущей, а отстоящую от данной на какое-то количество адресов, то специальная команда перехода содержит адрес ячейки, куда требуется передать управление. [3]

Гарвардская архитектура

Архитектура компьютера что это. AC2. Архитектура компьютера что это фото. Архитектура компьютера что это-AC2. картинка Архитектура компьютера что это. картинка AC2.

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

Недостатки Гарвардской архитектуры связаны с необходимостью проведения большего числа шин, а также с фиксированным объемом памяти, выделенной для команд и данных, назначение которой не может оперативно перераспределяться в соответствии с требованиями решаемой задачи. Поэтому приходится использовать память большего объема, коэффициент использования которой при решении разнообразных задач оказывается более низким, чем в системах с Принстонской архитектурой. Однако развитие микроэлектронной технологии позволило в значительной степени преодолеть указанные недостатки, поэтому Гарвардская архитектура широко применяется во внутренней структуре современных высокопроизводительных микропроцессоров, где используется отдельная кэш-память для хранения команд и данных. В то же время во внешней структуре большинства микропроцессорных систем реализуются принципы Принстонской архитектуры. [4]

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *