nihonium
/
mipt_clang
Archived
1
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

1.7 KiB

cpu

  • Беззнаковые
  • По модулю 256 (8-битность)
  • Switch
  • Массив регистров
  • #ifdef REGISTERS

Используем REGISTERS

cache

  • Первая лекция Северова
  • "Размазывает" справа налево
  • Обнулять массив через {0}/{}
  • Двумерный массив можно инициализировать последовательным списком
  • Адрес массива - не lvalue
  • Матрицы симметричны относительно диагонали
  • У второй матрицы меняем индексы местами

neo

  • number/of/anomaly = 6
  • Переписать значение в другой части структуры
  • Учитывать "дырки" в структуре, тут её нет

flag

  • Анализ операций
  • MOV меняет флаг

cuda

  • Прочитать =3

simple_page

  • Можно посчитать размер страницы
  • Одноуровневая система адресов (в 32х-битном, на самом деле, двухуровневая)
  • Остаток бит - смещение внутри страницы

pdp_rw

  • typedef
  • Функции - однострочные
  • char mem[64K]
  • typedef short/int/_16t word (+stdint)
  • Приводим через указатель к word: *(word *)(mem + i)

pdp_load

  • Текстовый файл (r/rt)

Заметки

  • (int (*)[10])p - "приведение" к массиву длины 10
  • PAE (трехстраничная память)
  • Массив указателей на функции - для будущего эмулятора.