Оправдывает ли эволюция микропроцессоров эволюцию компиляторов и языковых стандартов?

Поскольку производители микросхем добавляют новые функции, инструкции и т. Д. К новым микросхемам, нужны ли нам более новые версии компиляторов соответственно для использования этих новых инструкций и функций микросхемы? Также означает ли это, что языку программирования также нужны новые коды операций, синтаксис и т. Д. Для использования новых функций чипа?


person KawaiKx    schedule 11.02.2011    source источник
comment
Никакие языки программирования, которые я использую, даже не сообщают мне, на каком наборе команд они работают, не говоря уже об этом.   -  person    schedule 11.02.2011


Ответы (2)


Да, новые аппаратные функции отражены в языковых расширениях и на новых языках. Например, просмотрите различные векторные расширения для C и C ++, которые отражают доступность инструкций SIMD, и новые производные языки параллельного программирования данных, такие как CUDA и OpenCL.

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

person SK-logic    schedule 14.02.2011

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

Языки программирования не нужно менять, но могут, если желательная функция стала возможной благодаря изменению возможностей машины. Если только под "языками программирования" вы не подразумеваете ассемблер / машинный язык, то в этом случае, вероятно, следует (но не обязательно) добавить индивидуальную микросхему-инструкцию к сборке / машинной инструкции.

Обратите внимание на все "могущества". Скорее всего, эти изменения невидимы для вас, если вы не работаете в ассемблере, машинном коде, дизайне компилятора или языке программирования. В противном случае беспокоиться об этих вещах - пустая трата времени.

person Chris Pfohl    schedule 11.02.2011
comment
К счастью, обратная совместимость - это не только мечта, но и реальность в индустрии микросхем. - person ; 11.02.2011