|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Особенности CISC-архитектурГлава 23. Сравнение архитектур CISC и RISC
Так исторически сложилось, что поначалу совершенствование процессоров было направлено на то, чтобы сконструировать по возможности более функциональный компьютер, который позволил бы выполнять как можно больше разных команд. Во-первых, так было удобнее для программистов (компиляторы языков высокого уровня еще только начинали развиваться, и все по-настоящему важные программы писались на ассемблере), а во-вторых, использование сложных команд зачастую позволяло сильно сократить размеры написанной на ассемблере программы. А где меньше команд – меньше оперативной памяти, меньше время выполнения программы. Надо признать, что достигнутые на этом пути успехи действительно впечатляли - в некоторых версиях компьютеров выразительность ассемблерного листинга зачастую не уступала выразительности программы, написанной на языке высокого уровня. Одной-единственной машинной командой можно было сказать практически все, что угодно. К примеру, такие компьютеры как VAX фирмы DEC, аппаратно поддерживали команды "добавить элемент в очередь", "удалить элемент из очереди" и даже "провести интерполяцию полиномом"; а знаменитое семейство процессоров Motorola 68k почти для всех команд поддерживало до двенадцати режимов адресации оперативной памяти, вплоть до взятия в качестве аргумента команды "данных, записанных по адресу, записанному вон в том регистре, со смещением, записанным вот в этом регистре". Отсюда и общее название соответствующих архитектур: CISC - Complex Instruction Set Computers ("компьютеры с набором команд на все случаи жизни"). На практике это привело к тому, что подобные команды оказалось сложно не только выполнять, но и просто декодировать (выделять из машинного кода новую команду и отправлять ее на исполнительные устройства). Чтобы машинный код CISC-компьютеров из-за сложных команд не разрастался до огромного размера, машинные команды в большинстве этих архитектур имели: неоднородную структуру (разное расположение и размеры кода операции и ее операндов); сильно отличающуюся длину (в архитектуре IA-32/64, например, длина команд варьируется от 1 до 16 байт). Еще одной проблемой стало то, что при сохранении приемлемой сложности ядра процессора многие команды оказалось принципиально невозможно выполнить "чисто аппаратно", и поздние CISC-процессоры были вынуждены обзавестись специальными блоками, которые "на лету" заменяли некоторые сложные команды на последовательности более простых команд. В результате все CISC-процессоры оказались весьма трудоемкими в проектировании и изготовлении. Но что самое печальное, к моменту расцвета CISC-архитектур стало ясно, что все эти конструкции изобретались в общем-то зря - исследования программного обеспечения того времени наглядно показали, что даже программисты, пишущие на ассемблере, все эти "сверхвозможности" почти не использовали, а компиляторы языков высокого уровня - и не пытались использовать. К началу 80-х годов оказалось, что трудно наращивать частоту процессоров, прежде всего из-за недостаточного быстродействия памяти для хранения микропрограмм, аппаратуру процессора невозможно реализовать в виде одной или нескольких микросхем достаточно большой интеграции. Стало очевидным, что архитектуры CISC нужно упрощать - и на свет появились RISC-архитектуры (Reduced Instruction Set Computer).
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |