Project

General

Profile

Task #3566

Синтаксис описания подсистемы управления памятью

Added by Alexander Kamkin over 7 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Andrei Tatarnikov
Category:
MMU Plugin
Target version:
Start date:
10/10/2012
Due date:
% Done:

100%

Estimated time:
Detected in build:
svn
Published in build:
150324

Description

Предложить синтаксис описания подсистемы управления памятью (MMU). В качестве основы взять примеры из статьи Reconfigurable Model-Based Test Program Generator for Microprocessors.

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

  1. Описание буферов (TLU, L1, L2, ...).
  2. Описание общей схемы доступа к памяти (функции load/store).

Нужно разобраться как с первой, так и со второй частями. Приоритет у первой. Вторую часть нужно согласовать с Андреем. Мне представляется, что вторая часть будет писаться на Sim-nML с использованием небольшого расширения (это нужно обсудить).

Результатом работы является описание грамматики (лексика, синтаксис) на ANTLR, текстовое описание с примерами (это описание в дальнейшем перенесется в пользовательский мануал), пример описания подсистемы памяти для MIPS и/или ARM (перенесется в генератор для соответствующей архитектуры).

Обсуждение промежуточных результатов в среду 17 октября.

P.S. Генерация кода (модели MMU) в эту задачу не входит.

History

#1

Updated by Alexander Kamkin about 7 years ago

Есть следующие замечания:

  1. формат строки буфера может включать произвольные поля (tag и data - это пример, грамматика должна быть общей).
  2. вместо двух чисел, характеризующих разрядность полей, нужно использовать одно (собственно, разрядность)

Пример:

line(g:1, v:1, asid:8, pfn: 24, ...)
#2

Updated by Taya Sergeeva about 7 years ago

1. Нужно знать, какие еще параметры включены в строку буфера, чтобы захардкодить их в лексер.
2. В поле line так и сделано: line (tag:30 data:256).

#3

Updated by Taya Sergeeva about 7 years ago

  • Status changed from New to Resolved
#4

Updated by Alexander Kamkin about 7 years ago

В том то и дело, что параметры могут быть называться по-разному и их число может быть любым.

#5

Updated by Taya Sergeeva about 7 years ago

Revision 985.

#6

Updated by Alexander Kamkin almost 7 years ago

  • Subject changed from Синтаксис описания подсистемы управления памятью to [mmu] Синтаксис описания подсистемы управления памятью
  • Status changed from Resolved to Open
  1. Вместо конструкции <m**n> для доступа к битовым полям нужно использовать <m..n>.
  2. Добавить запятые между полями строки буфера.
#7

Updated by Alexander Kamkin almost 7 years ago

Еще, как человеку, привыкшему к C/C++/Java и т.п., мне не хватает ';' после каждого определения параметра.

Как вариант, ';' можно сделать необязательным символом.

#8

Updated by Taya Sergeeva almost 7 years ago

Revisions r1023, r1026.

#9

Updated by Alexander Kamkin almost 7 years ago

Таня, а порядок описания атрибутов буфера зафиксирован? Можно ли сначала описать политику, а затем ассоциативность?

Нужно сделать так, чтобы допускался произвольный порядок.

#10

Updated by Taya Sergeeva almost 7 years ago

Done, r1031.

#11

Updated by Alexander Kamkin almost 7 years ago

Нужно начинать думать о части 2 этой задачи - общая схема доступа (функция LoadMemory() см. статью AMOST-2011).

#12

Updated by Taya Sergeeva almost 7 years ago

Это хотелось бы обсудить.

#13

Updated by Alexander Kamkin almost 7 years ago

  • Нужно понять, как использовать синтаксис Sim-nML для спецификации функций доступа к памяти. Думаю, что такие функции нужно описывать в форме операций Sim-nML, одним из параметров которых является адрес.
  • Главная сложность - возможность доступа внутри функций к описанным буферам. Например,
if hit<L1>(phys_address)
then
  ...
end

нужно предложить грамматику.

  • Интеграция с симулятором. Интерфейсы нужно обсуждать с Андреем.

Я готов обсудить, вопрос - что обсуждать? Сначала грамматика - потом обсуждение.

#14

Updated by Alexander Kamkin almost 7 years ago

Нужно изменить sets на associativity, а lines на sets. В грамматике, внутреннем представлении и документации.

#15

Updated by Taya Sergeeva almost 7 years ago

Updates were made, r1163.

#16

Updated by Alexander Kamkin almost 6 years ago

  • Target version set to 2.3
#17

Updated by Andrei Tatarnikov almost 5 years ago

  • Status changed from Open to Resolved
  • Assignee changed from Taya Sergeeva to Andrei Tatarnikov
  • % Done changed from 0 to 100
#18

Updated by Alexander Kamkin almost 5 years ago

  • Subject changed from [mmu] Синтаксис описания подсистемы управления памятью to Синтаксис описания подсистемы управления памятью
  • Category set to 47
#19

Updated by Andrei Tatarnikov almost 5 years ago

  • Status changed from Resolved to Closed
  • Published in build set to 150324

Also available in: Atom PDF