«Бог не меняет того, что (происходит) с людьми, пока они сами не изменят своих помыслов.» Коран, Сура 12:13

Спец курс (Автоматизация процесса проектирования)/Практические задания 3 — различия между версиями

Материал из Wiki
Перейти к: навигация, поиск
Строка 2: Строка 2:
 
== Перед выполнение ознакомиться с правилами оформления задания ==
 
== Перед выполнение ознакомиться с правилами оформления задания ==
 
* [[Спец курс (Автоматизация процесса проектирования)/Практические задания (Пример)]]
 
* [[Спец курс (Автоматизация процесса проектирования)/Практические задания (Пример)]]
 +
 +
Файл для задач.
 +
 +
=== Разворот байт ===
 +
Строки с пометкой "(D)" включают данные - четыре DWord (двойное слово - 32 бит).
 +
0 (D) 80000d00 02000000 00000000 00000000
 +
Задача развернуть байты в какждом DWord, как показано ниже
 +
0 (D) 000d0080 00000002 00000000 00000000
 +
В файле есть строки с "", в которых уже проведено данное преобразование, поэтому их не следует изменять.
 +
 +
=== Анализ команды ===
 +
 +
Найти в логе данные, которые задают команду и расшифровать её, записав в строке после данных имена и значения полей команды.
 +
 +
Пакет данных относящийся к команде имеет размер 64 байта, в заголовке пакета должно быть '''BC:0064'''. После строки заголовка следует 4 строки с данными, где в первом столбце - номер DWord`а данных пакета, второй столбец - маркер данных "(D)".
 +
<small>test_top    203865.00 203869.00 R MRd32      0x0100/01  355  0 0    0 0 0          0x40008080  f f    16 (H) 00008010 010001ff 40008080  ----    0x3191b2b4  0xf87188a                                           
 +
test_top    203897.00 203917.00 T CplD      0x0100/01  182  0 0    0 0 0  ID:0xffff Stat:SC  '''BC:0064'''  16 (H) 4a008010 ffff0040 01000100  ----  0 0xa94d0d83 0x37e1b7df                                           
 +
                                                                                                          0 (D) 01000400 02000000 00000000 00000000                                                                   
 +
                                                                                                          4 (D) 00000000 00000000 00900140 00000000                                                                   
 +
                                                                                                          8 (D) 00c00140 00000000 0a000000 00000000                                                                   
 +
                                                                                                          12 (D) 01000000 00000000 00000000 00000000                                                                   
 +
</small>
 +
 +
Данные в логе записываются слева направо - с младшего адреса. В приведённом примере байт 0 нулевого DWord`а равень 01, второй байт - 00, третий 04, четвертый байт - 00 и т.д.
 +
 +
Расшифровка команды в [http://www.nvmexpress.org/wp-content/uploads/NVM-Express-1_1.pdf спецификации]
 +
 +
* Figure 10: Command Dword 0
 +
* Figure 11: Command Dword 0-15: Command Format – Admin Command Set
 +
 +
<!-- {|class=standard
 +
|Bit
 +
|Field name
 +
|-
 +
| 31:16
 +
| Command  Identifier  (CID):
 +
|-
 +
| 15
 +
| PRP or SGL for Data Transfer (PSDT): ‘0’ - PRP, ‘1’ - SGL
 +
|-
 +
| 14:10 | Reserved
 +
|-
 +
| 09:08 | Fused  Operation  (FUSE)
 +
{|
 +
| Bits | Definition
 +
|-
 +
| 00b |Normal operation
 +
|-
 +
|01b | Fused operation, first command
 +
|-
 +
| 10b | Fused opera tion, second command
 +
|-
 +
| 11b | Reserved
 +
|}
 +
|-
 +
| 07:00 | Opcode (OPC)
 +
|}
 +
-->

Версия 05:09, 24 марта 2018

Лекции SCRIPT

Лекции

Практические задания
Тесты

Табель успеваемости

Экзамен

Доп. материалы

Перед выполнение ознакомиться с правилами оформления задания

Файл для задач.

Разворот байт

Строки с пометкой "(D)" включают данные - четыре DWord (двойное слово - 32 бит).

0 (D) 80000d00 02000000 00000000 00000000

Задача развернуть байты в какждом DWord, как показано ниже

0 (D) 000d0080 00000002 00000000 00000000

В файле есть строки с "", в которых уже проведено данное преобразование, поэтому их не следует изменять.

Анализ команды

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

Пакет данных относящийся к команде имеет размер 64 байта, в заголовке пакета должно быть BC:0064. После строки заголовка следует 4 строки с данными, где в первом столбце - номер DWord`а данных пакета, второй столбец - маркер данных "(D)".

test_top     203865.00 203869.00 R MRd32      0x0100/01   355  0 0    0 0 0          0x40008080   f f     16 (H) 00008010 010001ff 40008080   ----     0x3191b2b4  0xf87188a                                            
test_top     203897.00 203917.00 T CplD       0x0100/01   182  0 0    0 0 0  ID:0xffff Stat:SC  BC:0064   16 (H) 4a008010 ffff0040 01000100   ----   0 0xa94d0d83 0x37e1b7df                                            
                                                                                                          0 (D) 01000400 02000000 00000000 00000000                                                                    
                                                                                                          4 (D) 00000000 00000000 00900140 00000000                                                                    
                                                                                                          8 (D) 00c00140 00000000 0a000000 00000000                                                                    
                                                                                                         12 (D) 01000000 00000000 00000000 00000000                                                                    

Данные в логе записываются слева направо - с младшего адреса. В приведённом примере байт 0 нулевого DWord`а равень 01, второй байт - 00, третий 04, четвертый байт - 00 и т.д.

Расшифровка команды в спецификации

  • Figure 10: Command Dword 0
  • Figure 11: Command Dword 0-15: Command Format – Admin Command Set