2010-03-15 3 views
2

Какие процессоры могут работать Common Intermediate Language (CIL), ранее известный как Microsoft Intermediate Language (MSIL)? Очевидно, что любая машина, которая может запускать Microsoft Windows с .net, также может быть настроена так же, как и машины, нацеленные на проект Mono.Какие процессоры могут запускать CIL

Похоже, что .NET Micro Framework имеет возможность нацеливать другие процессоры, не охваченные выше, но мне непонятно, что он использует CIL.

Есть ли у кого-нибудь список процессоров, способных запускать программу в CIL или напрямую интерпретировать C# (как это делает .NET Micro Framework)?

EDIT, чтобы уточнить, я понимаю, что CLI не выполняется непосредственно на металле, а скорее с помощью механизма времени выполнения. Таким образом, для этого вопроса подходит любой процессор с механизмом выполнения, который выполняет CIL.

+0

Ваш вопрос не имеет смысла. Или вы спрашиваете, какие процессоры фактически используют CIL в качестве кода своей машинной команды, и в этом случае ответ, конечно, «нет», или вы спрашиваете, какие процессоры теоретически могут выполнять CLR, и в этом случае, очевидно, все они, за исключением тех, которые настолько ограничены, что они не могут действительно выполнять произвольную программу ». – Timwi

ответ

3

Отсутствует. Нет процессора, который запускает CIL-CIL, насколько мне известно, ВСЕГДА переводится в другую форму машинного кода.

Я думаю, что процессор CIL, «плавающий вокруг», является исследовательским проектом, но пока его не видели в реальном мире.

0

Afaik, TomTom является правильным. Они называют это промежуточным звеном по какой-то причине ... это между языком программиста и языком процессора. Интересная мысль, хотя - наличие процессора, который управляет кодом CIL.

1

.NET Micro Framework не позволяет процессорам напрямую интерпретировать CIL. Это просто более легкий интерпретатор, который работает на встроенных аппаратных средствах, а не требует полной архитектуры ПК. Это как .NET Compact Framework, но с меньшим размером. Для того, чтобы посмотреть на архитектуру, что это поддерживает:

.NET Micro Framework Hardware

+0

"переводчик". Компилятор? –

+0

Технически это интерпретатор, а не компилятор. http://web.cs.wpi.edu/~gpollice/cs544-f05/CourseNotes/maps/Class1/Compilervs.Interpreter.html Подробнее о том, что такое .NET framework, можно здесь: http: // en .wikipedia.org/wiki/.NET_Framework Существует компилятор, который превращает ваш C# в CIL, который затем используется интерпретатором .NET, чтобы на самом деле работать. – NebuSoft

+1

CLR компилирует CIL для машинного кода и выполняет его, то есть это компилятор, а не интерпретатор. См. Прогнозы Futamura: http://en.wikipedia.org/wiki/Partial_evaluation#Futamura_projections –

0

Я нашел два исследования процессоров, которые выполняют КСС изначально очень как JOP делает для Java байт-код:

SCIL Согласно документу она поддерживает подмножество CIL, поэтому некоторые части CIL должны быть эмулированы в подпрограммах. Честно говоря, хотя процессор и бумага не выглядят хорошо вместе.

DSP Core for Hardware Based CIL Machine Этот вид выглядит более законным, однако его дизайн имеет очень специфическую цель (DSP на мобильном телефоне).

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

0

На странице .NET Micro Framework в нем упоминается CLR, на котором работает CIL.

Она включает в себя уменьшенную версию .NET CLR ...

supported platforms on mono-project.com список несколько архитектур.

Хотя будьте осторожны, чтобы проверить его, прежде чем инвестировать слишком много времени. Единственными гарантированными объектами являются те, которые поставляются вместе с продуктом Xamarin. В прошлом моно не хватало поддержки с плавающей запятой на некоторых архитектурах ARM, которые с тех пор были добавлены.

Смежные вопросы