четверг, 29 августа 2013 г.

Вопрос

Почему так много священных писаний, при этом верующие любой религии утверждают, что их писание навеяно богом? НО при этом есть различия в том чему учат эти религии?

среда, 21 августа 2013 г.

Я решил вести себя так, чтобы наружу выходило не более половины моих сокровенных мыслей.

вторник, 4 июня 2013 г.

Развитие многоуровневых машин

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

понедельник, 3 июня 2013 г.

Многоуровневая компьютерная организация.

04.06.2013 (13.11)

Современный компьютер состоит из нескольких уровней.
Самый нижний - это логический уровень. Хотя есть уровень и ниже - это уровень физических устройств. На нем находятся различные элементы, которые не интересны в данный момент (транзисторы и прочее). Логический уровень состоит из так называемых вентилей(logic gate). Которые принимают на себя некоторые логические сигналы и возвращают логические сигналы.

Группа вентилей образует бит(bit) из нескольких бит 8..32..64 образуются регистры(register).Набор регистров образуют АЛУ(Арифметическо-логическое устройство/arithmetic and logic unit) регистры вместе с АЛУ формируют тракт данных - этот уровень называется Уровнем Микроархитектуры(Microarchitecture). На этом уровне в тракте данных выбирается один или несколько регистров, в АЛУ над ними проводятся логические операции и результат записывается в один из регистров. В некоторых машинах тракт данных контролируется аппаратными средствами, а в некоторых - программными. И в том, и в том случае получается одинаковый результат. Контролирующая программа - называется Микропрограммой и она образует уровень архитектуры набора команд. Следующий уровень - это уровень Операционной системы. Этот уровень считается гибридным, так как некоторые команды на этом уровне выполняются им, а некоторые уровнем архитектуры.
Все эти уровни используют интерпретацию и в основном не рассчитаны на обычных разработчиков. Набор команд на этих уровнях состоит из длинных рядов чисел. Следующий уровень - это уровень ассемблера. Над этим уровнем находится уровень языков высокого уровня (к примеру C++/Java и т.д). На этих уровнях используется в основном трансляция. Хотя есть языки, которые используют и интерпретацию вместе с трансляцией.

Введение.

04.06.2013 (где то между 12.30 и 13.00)

Из введения мне стало известно, о таких вещах как трансляция и интерпретация языка в язык более низкого уровня. Этой фразы недостаточно, чтобы объяснить суть => нужно указать пример. Вот он:
К примеру мы имеем компьютер, который может выполнять определенные команды. Набор этих команд определяет его язык. Человеку очень сложно (хотя реально) писать программы на таком языке. Почему? Потому, что в наше время, успех программы напрямую зависит от того, как быстро и насколько качественно она была написана. Если писать на машинном языке, то такое ПО будет неконкурентоспособным. Следовательно, нужно сделать что-то, что позволит писать программы на языке, приближенном к человеческому.

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

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