Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UMK_konspekt_TP_4_a4_2.doc
Скачиваний:
16
Добавлен:
29.09.2019
Размер:
1.57 Mб
Скачать

32.5.Технология .Net

.NET (произносится «дот-нет») — программная технология, предложенная фирмой Microsoft в качестве платформы для создания, как обычных программ, так и Web-приложений. Во многом является развитием идей и принципов, заложенных в технологии Java.

Одной из основных идей .NET является совместимость различных служб, написанных на разных языках. Например, служба, написанная на C++ для .NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследующий от класса, написанного на Visual Basic .NET, а исключение, выброшенное методом, написанным на C#, может быть поймано и обработано в Delphi. Каждая библиотека (сборка) в .NET имеет сведения о своей версии, что позволяет устранить возможные конфликты между разными версиями сборок.

В настоящее время существует реализация .NET для платформы Microsoft Windows, FreeBSD (от Microsoft) и ограниченный вариант технологии для ОС Linux в рамках свободных проектов Mono, DotGNU.

Рассматриваемая технология является патентованной технологией фирмы Microsoft, что является препятствием для её распространения на другие платформы. Однако компиляторы для .NET выпускаются множеством фирм для различных языков свободно. Множество используемых языков является несомненным преимуществом технологии .NET по сравнению с Java.

Технология приложение .NET подразделяется на две основные части:

  • среда выполнения (по сути виртуальная машина);

  • инструментарий разработки.

Среды разработки .NET-приложений: Visual Studio .NET (C++, C#, J#), SharpDevelop, Eclipse, Borland Developer Studio (Delphi, C#) и т. д. Приложения можно разрабатывать в текстовом редакторе и использовать традиционный консольный компилятор.

Так же как и технология Java, среда разработки .NET создаёт байт-код, предназначенный для исполнения виртуальной машиной. Входной язык этой машины в .NET называется MSIL (Microsoft Intermediate Language) или просто IL. Применение байт-кода позволяет получить кроссплатформенность на уровне скомпилированного проекта (в терминах .NET: сборка), а не на уровне исходного текста, как, например, в С. Перед запуском сборки в среде исполнения (Common Language Runtime – CLR) байт-код преобразуется встроенным в среду JIT-компилятором (just in time, компиляция на лету) в машинные коды целевого процессора.

Следует отметить, что один из первых JIT-компиляторов для Java был также разработан фирмой Microsoft (в настоящее время в Java используется более совершенная многоуровневая компиляция – Sun HotSpot). Современная технология динамической компиляции позволяет достигнуть аналогичного уровня быстродействия с традиционными «статическими» компиляторами (например, С++) и вопрос быстродействия зачастую зависит от качества того или иного компилятора.

33. Технология описания аппаратуры

Технология описания аппаратуры – это метод однозначного описания межэлементных соединений и работы электрической и электронной частей аппаратных средств вычислительной техники.

Технология опирается на применение Hardware Description Language (HDL) – языков описания аппаратуры. Написание HDL-кода вместо использования схемотехнических компонентов (например, логических вентилей) является в настоящее время основным направлением в области проектирования цифровых систем.

Сегодня широкое распространение в рамках представленной технологии получили такие высокоуровневые языки как VHDL, Verilog, Schematik и некоторые другие. Среди перечисленных языков описания аппаратуры наиболее универсальным является VHDL.

Общая технология использования языков HDL предполагает, что:

  • проектируемое устройство иерархически разбивается на составные части (компоненты);

  • каждый компонент имеет четко очерченный интерфейс (для его соединения с другими компонентами) и точное функциональное описание для моделирования его поведения;

  • функциональное описание может быть основано либо на структуре, либо на алгоритме, которыми определяется функционирование данного компонента.

Внутренняя структура компонента может быть скрыта от проектировщика по принципу «черного ящика». В определенных случаях абсолютно не нужно знать, как структурирован компонент. Разработчика обычно интересуют лишь входы и выходы компонента, спецификация его функций и время доступа. В качестве «черных ящиков» традиционно используют программируемые интегральные схемы – ПЛИС (FPGAs, СPLDs).

Описание компонента состоит из двух частей:

  • описания интерфейса («сущность»), которое описывает взаимосвязи между компонентом и средой его «обитания» (функционирования);

  • архитектуры (архитектурное тело), описывающей поведение компонента с функциональной или структурной точки зрения относительно входов и выходов.

Возможные варианты реализации модели сдвигового регистра по данной схеме на языках Schematik, VHDL и Verilog представлены ниже на рисунках (а), (б) и (в) соответственно.

а) описание сдвигового регистра на языке Schematik

library ieee;

use ieee.std_logic_1164.all;

entity na_vhdl is

port (CLOCK, D: in STD_LOGIC;

Q: out STD_LOGIC_VECTOR(4 downto 0));

end na_vhdl;

architecture na_vhdl_arch of na_vhdl is

signal IQ: STD_LOGIC_VECTOR(4 downto 0);

begin

process(CLOCK, D, IQ)

begin

if (CLOCK'event and CLOCK='1') then

IQ <= D & IQ(4 downto 1);

end if;

Q <= IQ;

end process;

end na_vhdl_arch;

б) описание сдвигового регистра на языке VHDL

module Verilog (en, clock, reset, out);

parameter Width = 8;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]