Многоуровневая компьютерная организация
XalionКомпьютеры понимают машинный язык, назовём его нулевой(Я0).
Можно разработать Я-первый(Я1), он понятнее и проще для человека, для него отдельная машина М1.
На самом деле такой машины нету из-за дороговизны и не рациональности её разработки.
Одну проблему мы решили, создали язык Я1, но теперь нужно решить другую проблему: как компьютеру исполнить команды на Я1.
Рассмотрим способы решения этой проблемы: трансляцию и интерпретацию.
Замена всех инструкций программы на Я1 на такие же инструкции на Я0, другими словами перевод программы с Я1 на Я0, это называется трансляцией.
Создаем программу на языке Я0, которая в качестве input будет получать программу на языке Я1. Программа на Я0 переведет каждую инструкцию Я1 на такую же в Я0 и тут же её исполнит. Это называется интерпретацией.
Оба метода решают задачу – машина исполняет данные инструкции.
Во время трансляции программа на языке Я1 переделывается в программу на Я0, загружается в память компьютера и исполняется.
При интерпретации управление компьютером остаётся за интерпретатором(программа, которая занимается интерпретацией) и каждая команда на я1 переводиться в я0 и тут же исполняется системой.
Такие абстракции можно строить до тех пор, пока мы не дойдём до языка Яn который будет удобен для человека и каждый новый язык будет основываться на своём предшественнике. Мы можем рассматривать компьютер в виде уровней или виртуальных машин, для которых мы создаём язык.
Компьютер исполняет только язык Я0, а все остальные языки Я1, Я2, Яn, должны транслироваться на язык более низкого уровня или интерпретироваться.
Такая система уровней называется многоуровневой компьютерной организацией.
Следующий конспект про многоуровневую организацию в современных компьютерах.