Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Инструкции процессоров
Набор инструкций процессора представляет собой самый нижний (машинный) уровень программного обеспечения компьютера. Программирование на этом уровне представляет из себя весьма непростую задачу по той причине, что выполняемые каждой инструкцией функции довольно просты, и поэтому любая сколько-нибудь сложная программа включает в себя большое количество инструкций и обычно теряет наглядность. Кроме того, программист обязан знать многие архитектурные и функциональные особенности компьютера, о которых он может не думать при программировании на языках высокого уровня. С другой стороны, только набор машинных инструкций предоставляет программисту все возможности компьютера. Инструкции процессора доступны пользователю через программу MASM. Инструкции процессора в унифицированной форме обрабатывают различные типы операндов. Почти каждая инструкция может оперировать с байтом или словом на выбор. Регистры, переменные памяти (поля памяти, представленные адресами) и непосредственные операнды могут кодироваться в большинстве инструкций без ограничений, за исключением, разумеется, того, что непосредственный операнд может быть только источником, но не приемником. В частности, переменные памяти могут участвовать в операциях сложения, вычитания, сдвига, сравнения и других без предварительного помещения их в регистры, что экономит инструкции, регистры и время выполнения ассемблерной программы. Для языков высокого уровня, где большинство переменных размещено в памяти, компиляторы могут генерировать более быстродействующий и меньший по объему объектный код. Набор инструкций процессоров можно рассматривать как состоящий из 2-х уровней: u ассемблерный уровень; u машинный уровень. Ассемблерный уровень включает в себя около 100 инструкций. Например, только инструкция MOV способна пересылать содержимое регистра или ячейки памяти или непосредственное значение в регистр или ячейку памяти. Процессор распознает 28 различных инструкций для MOV (пересылка байта из регистра в память, пересылка непосредственно представленного слова в регистр). Ассемблер транслирует написанные программистом инструкции ассемблерного уровня в инструкции машинного уровня, которые непосредственно выполняются процессором. Компиляторы языков высокого уровня транслируют предложения своего языка также в инструкции машинного уровня. Наличие 2-х уровней инструкций направлено на удовлетворение 2-х различных требований: эффективности программы и относительной простоты программирования. Набор инструкций машинного уровня (их около 300) позволяет эффективно использовать память. Например, машинная инструкция, предназначенная для увеличения на 1 операнда памяти, занимает 3-4 байта, так как она должна содержать адрес операнда. Для наращивания регистра эта информация не нужна, и инструкция может быть короче. Если программист будет использовать одну инструкцию для наращивания регистра, другую — для операнда памяти, выгода от компактных инструкций будет сведена на нет сложностью программирования. Инструкции ассемблерного уровня с точки зрения программиста проще. Программист кодирует одну форму инструкции INC, а Ассемблер проверяет ее операнд и решает, какую генерировать машинную инструкцию. Date: 2015-05-22; view: 505; Нарушение авторских прав |