Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ЭВМ.doc
Скачиваний:
27
Добавлен:
23.11.2019
Размер:
6.47 Mб
Скачать
  1. Организация компьютерных систем

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

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

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

    1. Архитектура и структура вычислительных машин

В результате изучения данной темы Вы будете:

  • понимать, многоуровневую организацию компьютера;

  • знать предназначение аппаратного и программного обеспечения;

  • понимать, что такое архитектура и структура компьютера;

  • знать основные компоненты структуры компьютера и их предназначение.

Языки, уровни и виртуальные машины

Существует два способа для преодоления сложностей использования машинных языков. Оба эти способа включают в себя разра­ботку новых команд, которые более удобны для человека, чем встроенные машин­ные команды. Эти новые команды в совокупности формируют язык, который мы будем называть Я1. Встроенные машинные команды тоже формируют язык, и мы будем называть его Я0. Компьютер может выполнять только программы, напи­санные на его машинном языке Я0. Процесс «перевода» с языка Я1 на язык Я0 называется – трансляцией языка Я1 в язык Я0. Упомянутые два способа решения проблемы различаются тем, каким образом компьютер будет выполнять программы, написан­ные на языке Я1.

Компиляция

Первый способ выполнения программы, написанной на языке Я1 – замена каждой команды на эквивалентный набор команд в языке Я0. В этом случае ком­пьютер выполняет новую программу, написанную на языке Я0, вместо старой программы, написанной на Я1. Компиляцией занимается программа, написанная на языке Я0, называемая компилятором.

Интерпретация

Второй способ – написание программы на языке Я0, которая берет програм­мы, написанные на языке Я1, в качестве входных данных, рассматривает каждую команду по очереди и сразу выполняет эквивалентный набор команд языка Я0. Эта технология не требует составления новой программы на Я0. Программа, которая осуществляет интерпретацию, называется интерпретатором.

Виртуальные машины

Чтобы не думать о трансляции проще представить виртуальную машину, для которой машинным языком является язык Я1. Назовем такую виртуальную ма­шину М1, а виртуальную машину с языком Я0М0.

Чтобы трансляция была целесообразной, языки Я0 и Я1 не должны сильно различаться. Это значит, что язык Я1 хотя и лучше, чем Я0, но все же далек от идеала. Очевидное решение этой проблемы – создание еще одного набора команд, ко­торые в большей степени ориентированы на человека и в меньшей степени на ком­пьютер. Этот третий набор команд также формирует язык, который мы будем называть Я2, а соответствующую виртуальную машину – М2. Человек может писать программы на языке Я2, предполагая, что виртуальная машина с машинным языком Я2 действительно существует. Такие программы могут или компилиро­ваться на язык Я1, или выполняться интерпретатором, написанным на языке Я1.