Например, если вы подключите компьютерную мышь через порт USB, она не будет распознана компьютером, пока вы не установите в операционной системе специальное программное обеспечение для управления устройством. Такие программы называются драйверами устройств.
Содержание
1642-1945 — Механические компьютеры (нулевое поколение)
В 1642 году Блез Паскаль, французский ученый, в честь которого назван язык программирования, построил вычислительную машину, которая могла выполнять только сложение и вычитание. Это была механическая конструкция с шестеренками и ручным управлением.
Тридцать лет спустя немецкий математик Готфрид Вильгельм Лейбниц построил еще одну механическую машину, которая освоила не только сложение и вычитание, но и умножение и деление. На самом деле, Лейбниц разработал своего рода карманный калькулятор с четырьмя функциями тремя столетиями ранее.
В 1822 году Чарльз Бэббидж, профессор математики Кембриджского университета, разработал и построил аналитическую машину, которая, как и машина Паскаля, могла только складывать и вычитать и вычислять таблицы чисел для навигационных целей. Машина имела только один алгоритм — метод конечных разностей с полиномами. У этой машины был довольно интересный способ получения информации: результаты штамповались на медной пластине стальным штампом, что является предвосхищением более поздних носителей информации — перфокарт и компакт-дисков.
Эта машина состояла из четырех компонентов:
- запоминающее устройство (память),
- компьютерное устройство,
- устройство ввода (для считывания перфокарт),
- устройство вывода (считыватель перфокарт и принтер).
Память состояла из 1000 слов с 50 десятичными знаками; каждое слово содержало переменные и результаты. Вычислительное устройство получает операнды из памяти, затем выполняет операции сложения, вычитания, умножения или деления и возвращает результат в память. Как и дифференциальный двигатель, это устройство было механическим.
Поскольку механизм анализа можно было запрограммировать на простейшем языке ассемблера, ему требовалось программное обеспечение. Для разработки этого программного обеспечения Бэббидж нанял молодую женщину, Аду Лавлейс. Таким образом, Ада Лавлейс стала первой в мире женщиной-программистом. В ее честь назван современный язык программирования Ada. Интересно отметить, что сам Бэббидж никогда не испытывал компьютер. Ему требовались тысячи шестеренок, изготовленных с точностью, недостижимой в XIX веке. Однако идеи Бэббиджа опередили свое время, и даже сегодня большинство современных компьютеров построены аналогично вычислительной машине. Поэтому можно сказать, что Бэббидж был дедушкой современного цифрового компьютера.
Конец 1930-х годов — Конрад Соос разработал несколько автоматических счетных машин с использованием электромагнитных реле. К сожалению, его машины были уничтожены во время бомбардировки Берлина в 1944 году, поэтому его работа не оказала влияния на дальнейшее развитие компьютерных технологий.
В 1940 году Джордж Стибитс представил автоматическую счетную машину в Дартмутском колледже на конференции, которую посетил Джон Маучли, тогда простой профессор физики в Пенсильванском университете, ставший впоследствии очень известным в области разработки компьютеров.
В 1944 году молодой ученый из Гарварда Говард Эйкен разработал свой первый компьютер — Mark I. Его компьютер состоял из 72 слов с 23 десятичными знаками в каждом и мог выполнять каждую команду за 6 секунд. В качестве устройства ввода/вывода служила перфолента. К тому времени, когда Айкен закончил работу над компьютером Mark II, релейные компьютеры уже устарели.
Дополнение
Год производства | Имя компьютера | Создатель | Примечания |
---|---|---|---|
1834 | Аналитическая машина | Беббидж | Первая попытка создания цифрового компьютера |
1936 | Z1 | Soos | Первый релейный компьютер |
1943 | КОЛОССУС | Британское правительство | Первый компьютер |
1944 | Маркер 1 | Айкен | Первый американский многоцелевой компьютер |
1946 | ENIAC 1 | Экерт/Мозли | История современных компьютеров начинается с этой машины |
1949 | EDSAC | Уилкс | Первый компьютер с программами, хранящимися в памяти |
1951 | Торнадо I | MIT | Первый компьютер реального времени |
1952 | IAS | От Нойманна | Такая конструкция используется в большинстве современных компьютеров |
1960 | НДП — 1 | DEC | Первый микрокомпьютер (продано 50 единиц) |
1961 | 1401 | IBM | Очень популярный маленький компьютер |
1962 | 7094 | IBM | Очень популярный маленький компьютер |
1963 | B5000 | Burroughs | Первая машина, разработанная для языков высокого уровня |
1964 | 360 | IBM | Первое компьютерное семейство |
1964 | 6600 | CDC | Первый суперкомпьютер для научных вычислений |
1965 | PDP-8 | DEC | Первый микрокомпьютер для массового рынка |
1970 | PDP-11 | DEC | Эти микрокомпьютеры доминировали на рынке в конце 1970-х годов. |
1974 | 8080 | Intel | Первый компьютер общего назначения с 8-битной микросхемой |
1974 | CRAY-1 | Cray | Первый векторный суперкомпьютер |
1978 | VAX | DEC | Первый 32-битный суперкомпьютер |
1981 | IBM PC | IBM | Начинается эра современных персональных компьютеров |
1981 | Осборн-1 | Осборн | Первый портативный компьютер |
1983 | Лиза | Apple | Первый компьютер с графическим интерфейсом пользователя |
1985 | 386 | Intel | Первый предшественник 32-разрядных процессоров серии Pentium |
1985 | MIPS | MIPS | Первый RISC-компьютер |
1987 | SPARC | Солнце | Первая рабочая станция RISC на базе процессора SPARC |
1990 | RS6000 | IBM | Первый гипермасштабный компьютер |
1992 | Альфа | DEC | Первый 64-битный компьютер |
1993 | Ньютон | Apple | Первый ноутбук |
Слейтер, Р. Портреты в кремнии, Кембридж, Массачусетс: M.I.T. Press, 1987.
2 Бечини, А., Конте, Т.М., и Прете, К.А. «Возможности и проблемы встраиваемых систем», журнал IEEE Micro, том 24, стр. 8-9, июль-август. 2004.
3 Хенкель, Дж., Ни, X.С., и Бхаттачатия, С.С. «Принимая вызов встроенных систем», журнал IEEE Computer, том 36, стр. 35-37, апрель 2003 года.
Например, если вы подключите компьютерную мышь через порт USB, она не будет распознана компьютером, пока вы не установите в операционной системе специальное программное обеспечение для управления устройством. Такие программы называются драйверами устройств.
Классический вариант архитектуры компьютера
Оригинальная архитектура компьютера была предложена ученым Нейманом, который был известным математиком. Он определил основные принципы проектирования персональных компьютеров с учетом их логической структуры. Эта методология, предложенная Нейманом, легла в основу классической архитектуры персонального компьютера. Он должен содержать следующие основные элементы:
- логико-числовая единица,
- блок управления,
- внешний блок памяти,
- основной модуль памяти,
- модуль ввода/вывода данных.
Согласно этой структуре, должен соблюдаться определенный порядок работы компонентов компьютера. Сначала информация загружается в память компьютера программой, которая затем выполняется. Для ввода данных используются внешние устройства компьютера. Затем блок управления передает эти данные из блока памяти в блок обработки информации. Обработка осуществляется с помощью различных компонентов компьютера.
Современный вариант архитектуры компьютера
Хотя архитектура современного компьютера отличается от классического компьютера, он основан на нем. Характерной особенностью современного персонального компьютера является наличие центрального процессора, который по сути является связующим звеном между блоком управления и логико-вычислительным блоком в единой системе.
Ранее такое соединение было практически невозможно из-за огромных размеров чипов. Сегодня развитие позволило увеличить степень интеграции микрочипов. Стало возможным сделать ранее невозможное, т.е. разместить множество функций в небольшом компоненте. Архитектура современных персональных компьютеров также позволяет использовать контроллеры. Причина их использования заключается в том, что изменилась роль процессора как основного устройства, выполняющего функцию обмена информацией с внешними устройствами. Благодаря новым чипам, функция ввода и вывода информации была снята с процессора. Были разработаны различные каналы обмена информацией, а также наборы микросхем, позже названные контроллерами.
Не нашли то, что искали?
Напишите нам, и мы поможем вам.
Архитектура IBM
Архитектура персонального компьютера, разработанная компанией IBM, фактически является мировым стандартом. Его главная особенность — открытая структура. Другими словами, персональные компьютеры больше не являются конечным продуктом бренда в соответствии с этим стандартом.
IBM — компания, которая одной из первых на рынке производства компьютеров разработала общепризнанную архитектуру.
Однако это не монополия, т.е. состав персонального компьютера определяют компании и фирмы, производящие компьютеры и их компоненты. В то же время всегда можно модернизировать компьютер, заменив компоненты на более современные. Внедрение технологии открытой архитектуры современных компьютеров стало возможным благодаря быстрому прогрессу.
В 1940 году Джордж Стибитс представил автоматическую счетную машину в Дартмутском колледже на конференции, которую посетил Джон Маучли, тогда простой профессор физики в Пенсильванском университете, ставший впоследствии очень известным в области разработки компьютеров.
Архитектура современных ПК
Архитектура современных компьютеров основана на принципе модульности. ПК состоит из отдельных компонентов, т.е. модулей, которые являются относительно независимыми единицами ПК (например, процессор, оперативная память, контроллер, монитор, принтер, сканер и т.д.).
Модульность позволяет пользователю самостоятельно конфигурировать и модернизировать компьютер. Модульность системы основана на принципе обмена информацией. Чтобы компьютер функционировал как единый механизм, необходим обмен данными между различными устройствами, который осуществляется через системную шину (магистраль) в виде печатного моста на материнской плате.
Основные особенности архитектуры компьютера сводятся к принципам компоновки аппаратуры и выбранной аппаратной системе.
Эта архитектура характеризуется открытостью — возможностью интеграции в компьютер дополнительных устройств (системных и периферийных), а также возможностью легкой интеграции пользовательских программ на любом уровне программного обеспечения компьютера.
Совершенство архитектуры компьютера также связано с максимальной скоростью обмена информацией с памятью системы. Из системной памяти, где хранятся данные, компьютер считывает все исполняемые инструкции. Таким образом, центральный процессор выполняет большую часть обращений к памяти, и ускорение обращений к памяти приводит к значительному ускорению всей системы.
Поскольку при использовании системной магистрали для обмена между процессором и памятью мы должны учитывать ограничения скорости самой магистрали, значительного ускорения обмена данными с помощью магистрали достичь не удастся.
Для решения этой проблемы был предложен следующий подход. Вместо системной магистрали системная память подключается к выделенной высокоскоростной шине, которая находится ближе к процессору и не требует сложных буферов и больших расстояний. При этом замена памяти происходит с максимально возможной для процессора скоростью, а системная шина не замедляет его работу. Это решение стало особенно актуальным с увеличением скорости процессоров.
Таким образом, структура ПК эволюционировала от структуры с одной шиной, которая использовалась только в ранних компьютерах, до структуры с тремя шинами.
Рисунок 2: Структура трехшинного ПК
В современном ПК АЛУ и ЦК образуют процессор. Процессор, состоящий из одной или нескольких больших интегральных схем, называется микропроцессором или микропроцессорным комплексом.
Многопроцессорная архитектура ПК
Несколько процессоров в компьютере означают, что многие потоки данных и инструкции могут быть организованы параллельно, что означает, что многие части одной задачи могут выполняться одновременно.
Рисунок 3. Архитектура компьютера с несколькими процессорами.
Многомашинная вычислительная система
В архитектуре многопроцессорной компьютерной системы каждый процессор имеет свою собственную оперативную память. Использование многопроцессорной компьютерной системы позволяет решать задачи, имеющие очень специфическую структуру, которая должна состоять из стольких компьютеров, сколько компьютеров разделяет систему на слабо связанные между собой отдельные задачи.
Многопроцессорные и многомашинные компьютерные системы имеют преимущество в скорости по сравнению с однопроцессорными системами.
360 решил дилемму между двоичной и десятичной системами: он имел 16 32-битных регистров для двоичной арифметики, но память была побайтовой, как у 1401. 360 использовал те же инструкции для перемещения записей разного размера из одной части памяти в другую, что и 1401.
Логические схемы
Логическая схема представляет собой совокупность соединенных между собой вентилей с входными и выходными сигналами. На рисунке 1.1 также показана схема со входами A и B и выходами операции ИЛИ; она также имеет три затвора: два И, один ИЛИ. Теперь давайте рассмотрим некоторые типы схем, с которыми мы будем иметь дело в будущем: Комбинаторные схемы, арифметические схемы и интегральные схемы.
Комбинационные схемы
Комбинационная схема — это схема с дополнительным свойством: значения выходных сигналов зависят только от входных сигналов, или, другими словами, она не имеет компонентов памяти. Этот тип схемы порождает многократно используемые элементы, которые применяются для реализации большинства других схем; мы рассмотрим некоторые из них, а именно: компаратор, декодер, мультиплексор/демультиплексор.
Компаратор имеет n линий входных пар (т.е. 2n входов) и одну выходную линию. Его логика заключается в сравнении каждой пары битов (биты слова A сравниваются с соответствующими битами слова B) и, если хотя бы один из них не равен, выводить 0 (если 0 считается ложным), в противном случае выводить 1. Создадим таблицу истинности (табл. 1.1) для однобитного компаратора; видно, что она соответствует таблице TRUTH OR-NE (если к функции добавить NOT, то все выходные значения в таблице будут противоположными). Теперь распространим это на двухбитный компаратор и построим для него таблицу истинности (табл. 1.2) из двух переменных, значения которых зависят от двух однобитных компараторов, т.е. двух ИЛИ-НЕ; в ней значение 1 в CMP0 (и CMP1) означает, что два входа любого компаратора равны, 0 — наоборот, поэтому 1 в столбце R должна быть только тогда, когда значения в двух компараторах равны. Эта таблица истинности аналогична таблице И, т.е. мы объединяем все ИЛИ-НЕ с операцией И и получаем двухбитный компаратор (рис. 1.3а). Для дальнейшего расширения компаратора достаточно добавить затвор AND-OR-NE и подключить его к AND. Недостатком такой реализации является избыточность, поскольку для каждого AND-OR необходимо добавить ворота NOT; этого можно избежать (рис. 1.3b), заменив ворота AND с входами NOT на OR-NE, поскольку их таблицы истинности идентичны.
Таблица. 1.1 Таблица истинности для однобитного компаратора.
Рисунок 1.3: Две схемы двухбитных компараторов.
Декодер имеет n входных линий, 2^n выходных линий, реализованных таким образом, что сигнал (true, 1) поступает только на одну выходную линию. Каждый выходной И-гейт получает свою комбинацию значений переменных, которые находятся (значения) в строке таблицы истинности, а как мы уже знаем, строка таблицы истинности может быть реализована как минтерм, т.е. мы представляем каждую строку как И-гейт (рис. 1.4) из нескольких переменных. Основное использование дешифратора заключается в избирательном объединении различных частей схемы (или схем), например, АЛУ (см. ниже) имеет несколько операций, которые он может выполнять над входными значениями; для выбора одной из этих операций используется дешифратор.
Рисунок 1.4 Декодер.
Мультиплексор/демультиплексор
Мультиплексор имеет 2^n входных линий, n линий управления и одну выходную линию. В своей реализации (рис. 1.5) он чем-то напоминает дешифратор, если входы дешифратора представить в виде управляющих линий, каждый И-гейт дополнить дополнительным входным сигналом, а выходные значения всех И объединить одним ИЛИ. Суть функции заключается в том, что на выходе получается только одна из возможных входных строк. Мультиплексор используется для различных целей, например, он может быть полезен для преобразования параллельного кода в последовательный. Предположим, у нас есть параллельная (то есть линии работают одновременно) шина с несколькими линиями параллельных битов; чтобы прочитать нужное слово (обычно битовая глубина слова совпадает с битовой глубиной регистра в процессоре), мы подключаем линии ко входам мультиплексора и подключаем один вход последовательно, сверху вниз, так, чтобы на выходе была точная последовательность битов.
Память
Память имеет выходные значения, которые не зависят только от входных значений, поэтому она обладает способностью к запоминанию. Концептуально все схемы памяти похожи (рисунок 2.1), память способна «запоминать», потому что она «закрыта», то есть верхний затвор зависит от выходного значения нижнего затвора, а нижний затвор зависит от выходного значения верхнего затвора.
Рисунок 2.1: Блокировка SR.
Перед использованием блокировки ее необходимо инициализировать. Инициализация означает перевод его в состояние, когда Q != !Q, чтобы защелка работала правильно, т.е. правильно изменяла свое состояние (Q) между 0 и 1. Для инициализации нам нужно установить значения S и R таким образом, чтобы защелка вошла в состояние без противоречия (Q ! = !Q); когда защелка только начинает работать, значения Q и !Q могут иметь любые неизвестные значения, поэтому значения S и R не должны зависеть от значений Q и !Q. Другими словами, нам нужны такие значения для S и R, чтобы иметь противоположные значения для Q и !
Есть несколько способов подумать о последовательности событий: мы можем предположить, что сигнал достигает S быстрее, чем R, и тогда верхний клапан влияет на действие нижнего; или наоборот, сигнал достигает R быстрее, но это не имеет значения, результаты одинаковы. В нашем примере я предполагаю, что сигнал S приходит быстрее, но что произойдет потом? Каково второе значение верхнего клапана? Как уже говорилось, мы не должны делать никаких предположений о значении Q (или !Q), поэтому нам придется рассматривать как Q=0, так и Q=1. Теперь нам осталось проверить все комбинации (табл. 1.6) S, R и Q.
Таблица 1.6: Таблица истинности защелки SR.
S | R | Q | !Q | Новый Q | new Q != ! | Q == новый Q |
---|---|---|---|---|---|---|
0 | 0 | 0 | 1 | 0 | 1 | 1 |
0 | 0 | 1 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 | 1 | 1 | 1 |
1 | 1 | 0 | 0 | 0 | 0 | 1 |
1 | 1 | 1 | 0 | 0 | 0 | 0 |
Для SR-защелки на основе ИЛИ-НЕ (рис. 2.1) значения для S и R равны 0 и 0 соответственно, потому что значения в столбцах «новый Q != !Q» и «Q == новый Q» должны быть истинными для Q = 0 и Q = 1 одновременно. Например, при S=0, R=1, в случае Q=0 все в порядке, но в случае Q=1 мы имеем изменение состояния Q с 1 на 0, что не должно быть правдой, потому что тогда защелка меняет свое состояние без нашего ведома. Точно таким же образом SR-защелки (и другие) могут быть построены на основе I-NE, за исключением того, что значения S и R должны быть инициализированы в 1 и 1 соответственно. Давайте посмотрим, как выполняется инициализация при значениях Q=0 и Q=1.
Если мы подадим 0 на входы S, R и значение 0 будет храниться в Q, то верхний гейт ИЛИ НЕ получит два нуля 0, на выходе у него будет 1 (таблица 1.0). Тогда нижний гейт OR-NE получает 0 и 1, его выход будет 0, т.е. мы имеем состояние не прерывной блокировки (рис. 2.2а). В этом случае выходное значение памяти сигналов равно 0 (Q), т.е. она сохраняет значение 0.
Ввиду новизны технологии, у этой архитектуры есть один недостаток — стоимость одного чипа. Точнее, такие чипы просто еще не производятся для массовой продажи. Компании создают их индивидуально для собственных исследований.
Архитектура персонального компьютера
Компьютер — это многофункциональное электронное устройство, предназначенное для хранения, обработки и передачи информации. В этом учебнике объясняется принцип работы главного компьютера, основные логические блоки компьютера, устройства на главной плате и многое другое.
В данный момент вы не можете посмотреть или раздать видеоурок ученикам
Чтобы получить доступ к этому и другим учебным видео в комплекте, вам необходимо добавить его в свой личный кабинет.
Конспект урока «Архитектура персонального компьютера»
В этом уроке мы познакомимся с принципом работы магистральных узлов в построении компьютера, узнаем, что относится к основным логическим узлам компьютера, рассмотрим, какие устройства находятся на материнской плате, и многое другое.
Компьютер — это многофункциональное электронное устройство, предназначенное для хранения, обработки и передачи информации.
Основными логическими единицами компьютера являются центральный процессор, основная память, внешняя память и периферийные устройства.
Благодаря развитию микропроцессоров в 1980-х годах появились первые персональные компьютеры.
Архитектура персонального компьютера — это логическая организация, структура и ресурсы, т.е. ресурсы компьютерной системы, которые могут быть выделены для процесса обработки данных на определенный период времени.
Архитектура современных персональных компьютеров основана на принципе модульности. Давайте посмотрим на фотографию.
Итак, перед вами изображение архитектуры персонального компьютера. В нем показаны функциональные части персонального компьютера, которые включают устройства ввода/вывода, внешние запоминающие устройства, центральный процессор, основную память и видеопамять. Все эти устройства соединены между собой информационной магистралью, называемой системной шиной. Системная шина разделена на три части: Шина данных, шина адреса, шина управления. Шина данных используется для передачи данных в модули. Шина адреса используется для передачи адресов устройств, на которые передаются данные. Наконец, шина управления используется для передачи управляющих сигналов, которые синхронизируют работу различных блоков. То есть, шина используется для передачи всех данных от одного устройства к другому.
Такие элементы, как контроллеры, также можно увидеть на иллюстрации. Контроллеры — это периферийные устройства, которые управляют внешними устройствами. Все данные передаются по шине.
Сплошные и пунктирные стрелки также видны на рисунке. Сплошные стрелки обозначают направление потока информации, пунктирные стрелки — направление управляющих сигналов.
Важным преимуществом этой архитектуры является принцип открытой архитектуры. Это означает, что мы можем подключать к компьютеру новые устройства или заменять старые устройства на более современные. Для каждого типа и модели агрегата используется свой блок управления.
Например, если вы подключите компьютерную мышь через порт USB, она не будет распознана компьютером, пока вы не установите в операционной системе специальное программное обеспечение для управления устройством. Такие программы называются драйверами устройств.
Поэтому мы можем сформулировать следующее определение: Открытая архитектура ПК — это архитектура, обеспечивающая модульную конструкцию компьютера с возможностью добавления и замены отдельных устройств.
В нем рассматриваются принципы обмена информацией между устройствами.
Программы и данные вводились в память с устройства ввода через АЛУ. Все инструкции программы последовательно записывались в ячейки памяти, а данные, подлежащие обработке, записывались в произвольные ячейки.
Архитектура компьютера
Материалы из Национальной библиотеки им. Национальная библиотека имени Н. Э. Баумана Эта страница последний раз была отредактирована 24 августа 2017 в 16:58.
Архитектура компьютера состоит из набора типов данных, функций и атрибутов для каждого уровня. Архитектура относится к аспектам программного обеспечения. Аспекты реализации (например, технология, используемая для реализации памяти) не являются частью архитектуры. Архитектура определяет поведение, информационные отношения и взаимосвязь между основными логическими единицами компьютера: процессором, функциональной памятью (ПЗУ), внешним ПЗУ и периферийными устройствами. Такое сходство в архитектуре различных компьютеров обеспечивает совместимость с точки зрения пользователя. 1
Содержание
Большинство современных компьютеров состоят из двух или более слоев. Существуют даже машины с шестью слоями (рис. 1). Уровень 0 — это аппаратное обеспечение машины. Его электронные схемы выполняют программы, написанные на уровне 1. Для полноты картины следует упомянуть, что существует еще один слой ниже уровня 0, который не показан на рисунке 1, поскольку относится к области электроники и поэтому не рассматривается в данной книге. Он называется уровнем физического устройства. На этом уровне находятся транзисторы, которые являются наиболее важными компонентами для разработчиков компьютеров.
Следующий уровень — уровень микроархитектуры. На этом уровне можно увидеть наборы из 8 или 32 регистров, которые составляют локальную память, и схему, называемую АЛУ (арифметико-логическое устройство). АЛУ выполняет простые арифметические операции. Регистры, вместе с АЛУ, образуют тракт данных, через который проходят данные. Основная функция пути передачи данных заключается в следующем. Выбирается один или два регистра, АЛУ выполняет над ними операцию, например, сложение, и результат сохраняется в одном из этих регистров.
Второй уровень — это то, что мы называем уровнем архитектуры системы инструкций. Каждый производитель публикует руководство по эксплуатации компьютеров. В этих руководствах содержится информация об этом уровне. Когда они описывают набор машинных инструкций, на самом деле они описывают инструкции, которые выполняются микропрограммой или аппаратным интерпретатором. Если производитель предлагает два интерпретатора для машины, он должен опубликовать два руководства по машинному языку, отдельно для каждого интерпретатора.
Новые инструменты, которые появляются на третьем уровне, выполняются интерпретатором, который работает на втором уровне. Этот интерпретатор раньше назывался операционной системой. Команды уровня 3, которые идентичны командам уровня 2, выполняются микропрограммой или аппаратным обеспечением, но не операционной системой. Другими словами, некоторые из команд уровня 3 интерпретируются операционной системой, другие — микропрограммой. По этой причине данный слой называется гибридным. Мы называем этот уровень уровнем операционной системы.
Четвертый уровень представляет собой символическую форму одного из языков нижних уровней. На этом уровне можно писать программы в форме, которая может быть прочитана человеком. Эти программы сначала переводятся на язык уровня 1, 2 или 3, а затем интерпретируются соответствующей виртуальной или реальной машиной. Программа, выполняющая перевод, называется ассемблером.
Пятый уровень обычно состоит из языков, разработанных для прикладных программистов. Такие языки называются языками высокого уровня. Существуют сотни языков высокого уровня. Наиболее известные из них — BASIC, C, C++, C#, Java, LISP и Prolog. Программы, написанные на этих языках, обычно компилируются на уровне 3 или 4. Переводчики, которые обрабатывают эти программы, называются компиляторами. Обратите внимание, что иногда также используется интерпретация. Например, программы Java обычно интерпретируются.
Цифровой логический уровень (0)
В нижней части иерархии на рисунке 1 находится уровень цифровой логики, или компьютерное оборудование, которое составляет цифровые схемы. Они могут быть собраны из небольшого количества простых элементов путем комбинирования этих элементов в различных сочетаниях. Цифровая схема — это схема, в которой есть только два логических значения. Обычно сигнал от 0 до 1 В представляет одно значение (например, 0), а сигнал от 2 до 5 В — другое значение (например, 1). Тенденции, выходящие за пределы этих значений, не допускаются. Крошечные электронные компоненты, называемые затворами, могут вычислять различные функции из этих двухзначных сигналов. Эти затворы составляют основу аппаратного обеспечения, на котором базируются все цифровые компьютеры.
Виды архитектуры
Существует два основных типа архитектуры — фон Неймана (Принстонская) и Гарвардская.
Архитектура Фон Неймана
Широко известный принцип хранения программ и данных вместе в памяти компьютера. Компьютерные системы такого типа часто называют «машинами фон Неймана», но соответствие между этими терминами не всегда очевидно. Когда говорят об архитектуре фон Неймана, обычно имеют в виду физическое отделение процессорного блока от памяти программ и данных. Нейман смог обобщить научные разработки и открытия многих других ученых и сформулировать на их основе принципы данного подхода:
- Использование двоичных чисел в вычислительных машинах. Преимущество десятичной нотации в том, что устройства могут быть спроектированы довольно просто; арифметические и логические операции также довольно легко выполнять в двоичной нотации.
- Программное управление компьютером. Работой компьютера управляет программа, состоящая из серии инструкций. Инструкции выполняются одна за другой. Создание машины с хранимой в памяти программой положило начало тому, что мы сейчас называем программированием.
- Основная память компьютера используется не только для хранения данных, но и программ. Как инструкции программы, так и данные кодируются в двоичной системе счисления, т.е. обозначения идентичны. Поэтому в некоторых случаях инструкции могут выполняться так же, как и данные.
- Ячейки памяти компьютера имеют последовательно пронумерованные адреса. К каждой ячейке памяти можно обратиться в любое время по ее адресу. Этот принцип открыл возможность использования переменных в программировании.
- Возможность делать условные переходы во время выполнения программы. Хотя инструкции выполняются последовательно, можно перейти к любой части программного кода.
Наиболее важным следствием этих принципов является то, что программа больше не является фиксированной частью машины (как, например, в вычислительной машине), но теперь программу можно легко изменить. Но аппаратная часть, конечно же, осталась неизменной и очень простой.
Согласно принципам Неймана, компьютер состоит из арифметико-логического блока (АЛУ), выполняющего арифметические и логические операции, блока управления, организующего выполнение программ, модулей памяти, включая функциональную память (RAM) и модуль внешней памяти (EOM), и внешних модулей для ввода/вывода данных.
Программы и данные вводятся в память с устройства ввода через цифровой логический модуль. Все программные инструкции записываются в соседние ячейки памяти, а данные, подлежащие обработке, могут содержаться в любых ячейках памяти. В любой программе последняя инструкция должна быть инструкцией завершения.
Инструкция состоит из указания выполняемой операции (среди возможных операций на данном оборудовании) и адресов ячеек памяти, в которых хранятся данные, подлежащие выполнению, а также адреса ячейки, в которую должен быть записан результат (если он должен быть сохранен в памяти).
Из арифметических и логических устройств результаты выводятся в память или устройство вывода. Фундаментальное различие между ПЗУ и устройством вывода заключается в том, что ПЗУ хранит данные в виде, пригодном для компьютерной обработки, а устройства вывода (принтеры, мониторы и т.д.) получают данные в виде, пригодном для человека. ИУ управляет всеми частями компьютера. Сигналы «что делать» передаются от управляющего устройства к другим устройствам, а от других устройств UC получает информацию об их состоянии.
Для подключения периферийных устройств (принтер, клавиатура, сканер и т.д.), имеющих выход USB, Южный мост использует шину USB, которая является универсальной последовательной шиной.
Архитектура современных компьютеров
Так что же не так с современными компьютерами? Главное отличие заключается в том, что в современном компьютере вычислительный, логический и управляющий блоки объединены в один компонент — центральный процессор.
Архитектура персонального компьютера также отличается тем, что содержит элементы управления. Технологический прогресс в производстве микросхем позволил перенести функции ввода-вывода с функций центрального процессора на другие каналы связи и устройства, позже названные контроллерами.
IBM PC
IBM создала архитектуру персональных компьютеров, которая на долгие годы стала стандартом мирового рынка. Главным отличием от конкурентов была полностью открытая структура.
Персональный компьютер больше не является законченным продуктом производителя, который не может быть настроен пользователем. Конечные пользователи или компании, производящие персональные компьютеры на базе IBM, могут определить свои собственные компоненты, которые будут встроены в компьютер. Как на уровне аппаратного обеспечения, так и на уровне операционной системы. Это позволяет заменить отдельные компоненты компьютера устройствами, которые лучше соответствуют потребностям конечного пользователя (например, более совершенными и, следовательно, более дорогими или, наоборот, более дешевыми, если пользователю не требуется чрезмерная производительность). Такой подход позволяет компаниям, в том числе и с точки зрения бизнеса, более гибко сегментировать свои компьютеры для различных целевых групп.
Такой подход к разработке компьютеров — одна из причин, по которой компьютеры IBM отправляются на МКС. Ноутбуки Thinkpad — единственные в мире, сертифицированные для использования в условиях невесомости, просто потому, что есть возможность гибко настроить ноутбук под свои нужды в плане аппаратного обеспечения.
Нейроморфная архитектура
Возвращаясь к архитектуре фон Неймана, мы видим, что все данные проходят через некий центр обработки данных, который, по сути, является еще одним узким местом. Количество ядер в современных чипах растет, но это создает новую проблему: сначала нужно распараллелить данные, а затем синхронизировать результаты. Это означает, что если у вас много независимых входных сигналов, не связанных по времени или содержанию, несколько ядер процессора и видеокарт отлично справляются со своей задачей. Однако, если у вас большой входной сигнал, распараллеливание вычислений и синхронизация результатов может занять значительную часть вычислений.
Подход, основанный на нейроморфной архитектуре, не обеспечивает вычислительно-специфических условий для решения проблем. Архитектура и функционирование нейроморфных процессоров схожи с архитектурой и функционированием биологической нервной системы. Следовательно, такая архитектура является высокоспециализированной специально для работы нейронных сетей. Программист создает структуру (нейронную сеть), которая обучается на подготовленных наборах данных и может быть использована как готовое решение после достижения результата, достаточного для решения текущей задачи.
Однако было бы ошибкой говорить, что нейроморфная архитектура — это просто нейронная сеть в смысле классического машинного обучения, потому что многие механизмы сильно отличаются.
Идея компьютерной архитектуры, основанной на нейроморфных связях, не нова. Несколько десятилетий назад ученые и энтузиасты пытались реализовать этот подход, но возможности для эффективного развития этих идей появились не так давно. Кроме того, появилось множество приложений, в которых необходима такая архитектура и данные для нее. Кроме того, производители процессоров накопили опыт и готовы к сложным, нестандартным архитектурам на аппаратном уровне.
Каковы же преимущества нейроморфной архитектуры? Прежде всего:
Способность обрабатывать последовательности и непрерывные сигналы,
высокая степень адаптивности сигнала.
Ввиду новизны технологии, у этой архитектуры есть один недостаток — стоимость одного чипа. Точнее, такие чипы просто еще не производятся для массовой продажи. Компании создают их индивидуально для собственных исследований.
Пошаговое руководство Екатерины Мурашовой о том, как перестать делать за ребенка домашние задания и построить здоровые отношения с учебой.
Квантовые компьютеры
Одной из самых важных и ожидаемых технологий последних десятилетий являются квантовые вычисления. Это компьютеры, которые используют законы квантовой механики для обработки и передачи данных. Это позволяет достичь огромного преимущества в скорости по сравнению с обычными компьютерами в различных алгоритмах. Квантовые компьютеры также предлагают гораздо более надежные алгоритмы шифрования для передачи данных.
Хотя полноценный квантовый компьютер еще не изобретен, китайские ученые в последние годы добились значительного прогресса. В 2020 году, например, китайский квантовый компьютер Jiuchang, использующий запутанные фотоны, достиг квантового превосходства: за 200 секунд он успешно выполнил вычисления, на которые самому быстрому в мире классическому компьютеру потребовалось бы более полумиллиарда лет!
Как мы видели, эта область прошла долгий путь с 1945 года (год, когда фон Нейман опубликовал свою первую работу по этой проблеме) за почти 80 лет развития компьютерной архитектуры, чтобы следовать за постоянно расширяющимися горизонтами применения компьютеров в повседневной жизни, технической работе и научных вычислениях.
Мы узнали, что в последние десятилетия появились (и продолжают появляться!) новые концепции, основанные уже на совершенно других принципах. В то же время, однако, архитектурные принципы, описанные Нейманом, по-прежнему активно используются и, вероятно, еще долго будут использоваться в большинстве работ.
На курсах программирования в онлайн-школе Skysmart Pro вы узнаете еще больше увлекательных вещей о мире информатики и о том, как решать с ее помощью прикладные задачи.
Ждем вас 8 октября в 13:00. Вместе с педагогами, психологами и другими экспертами в области образования мы ответим на самые важные вопросы матерей и отцов.