target.Processor class

Пакет: цель

Предоставьте информацию о целевом процессоре

Описание

Используйте target.Processor класс, чтобы предоставить информацию о вашем целевом процессоре. Например, назовите, производитель и реализация языка.

Создать target.Processor объект, используйте target.create функция.

Свойства

развернуть все

Идентификатор объекта является написанной через дефис комбинацией Manufacturer и Name значения свойств. Если Manufacturer свойство пусто, идентификатором объекта является Name значение свойства.

Атрибуты:

GetAccess
public
SetAccess
private

Связанный target.LanguageImplementation объект.

Атрибуты:

GetAccess
public
SetAccess
public

Имя целевого процессора.

Пример: 'Cortex-A53'

Атрибуты:

GetAccess
public
SetAccess
public

Дополнительное описание производителя целевого процессора.

Пример: 'ARM Compatible'

Атрибуты:

GetAccess
public
SetAccess
public

Предоставьте информацию о таймере.

Атрибуты:

GetAccess
public
SetAccess
public

Задайте инструментирование служебные значения для удаления из измерений времени выполнения.

Атрибуты:

GetAccess
public
SetAccess
public

Количество физических ядер в процессоре.

Атрибуты:

GetAccess
public
SetAccess
public

Типы данных: uint

Количество потоков на ядро процессора.

Атрибуты:

GetAccess
public
SetAccess
public

Типы данных: uint

Количество логических ядер, которые обеспечивает процессор, который равен NumberOfCores x NumberOfThreadsPerCore.

Атрибуты:

GetAccess
public
SetAccess
private

Типы данных: uint

Примеры

Создайте объект - таймер

В этом примере показано, как можно создать объект - таймер для компьютера разработчика.

Создайте функциональную подпись для таймера. В этом примере функция возвращает uint64 тип данных и имя функции timestamp_x86.

timerSignature = target.create('Function');
timerSignature.Name = 'timestamp_x86';
timerSignature.ReturnType = 'uint64';

Получите функцию в объекте API.

timerApi = target.create('API');
timerApi.Functions = timerSignature;
timerApi.Language = target.Language.C;
timerApi.Name = 'Linux Timer API';

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

timerDependencies = target.create('BuildDependencies');
timerDependencies.IncludeFiles = {'host_timer_x86.h'};
timerDependencies.IncludePaths = ...
               {'$(MATLAB_ROOT)/toolbox/coder/profile/src'};
timerDependencies.SourceFiles = {'host_timer_x86.c'};

Создайте объект, который комбинирует API и зависимости.

timerImplementation = target.create('APIImplementation');
timerImplementation.API = timerApi;
timerImplementation.BuildDependencies = timerDependencies;
timerImplementation.Name = 'Linux Timer Implementation';

Создайте объект - таймер и сопоставьте его с информацией о таймере.

timer = target.create('Timer');
timer.APIImplementation = timerImplementation;
timer.Name = 'Linux Timer';

Примечание

Используя аргументы name-value, можно создать объект - таймер с этой командой.

 timer = target.create('Timer', 'Name', 'Linux Timer', ...
           'FunctionName', 'timestamp_x86', ...
           'FunctionReturnType', 'uint64', ...
           'FunctionLanguage', target.Language.C, ...
           'SourceFiles', {'host_timer_x86.c'}, ...
           'IncludeFiles', {'host_timer_x86.h'}, ...
           'IncludePaths', {'$(MATLAB_ROOT)/toolbox/coder/profile/src'})

Присвойте таймер и дополнения к объекту процессора.

processor = target.get('Processor', 'Intel-x86-64 (Linux 64)');
processor.Timers = timer;

Создайте описание для основного процессора Intel

Создайте описание для Intel® Процессор Core™ i7-8550U, который является процессором, который поддерживает гиперпоточность.

i7 = target.create('Processor', ...
                   'Name', 'i7-8550U', ...
                   'Manufacturer', 'Intel', ...
                   'NumberOfCores', 4, ...
                   'NumberOfThreadsPerCore', 2);
target.add(i7);
Введенный в R2019a