From ab668d12de96f12ea74aae682d7054f552f8fd84 Mon Sep 17 00:00:00 2001 From: nihonium Date: Mon, 7 Mar 2022 17:49:25 +0300 Subject: [PATCH 1/2] notes --- cpu/notes.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 cpu/notes.md diff --git a/cpu/notes.md b/cpu/notes.md new file mode 100644 index 0000000..ab40c2d --- /dev/null +++ b/cpu/notes.md @@ -0,0 +1,26 @@ +# CPU + +* Беззнаковые +* По модулю 256 (8-битность) +* Switch +* Массив регистров +* #ifdef REGISTERS +Используем REGISTERS + +# Cache + +* Первая лекция Северова +* "Размазывает" справа налево +* Обнулять массив через {0}/{} +* Двумерный массив можно инициализировать последовательным списком +* Адрес массива - не lvalue +* Матрицы симметричны относительно диагонали +* У второй матрицы меняем индексы местами + +# Neo +* number/_of_/anomaly = 6 +* Переписать значение в другой части структуры +* Учитывать "дырки" в структуре, тут её нет + +# Notes +* (int (*)[10])p - "приведение" к массиву длины 10 From 40cf51271fefb98a2da0b9087f24ed07f6f0fcb2 Mon Sep 17 00:00:00 2001 From: nihonium Date: Mon, 7 Mar 2022 18:47:34 +0300 Subject: [PATCH 2/2] notes --- cpu/notes.md | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/cpu/notes.md b/cpu/notes.md index ab40c2d..b190b8c 100644 --- a/cpu/notes.md +++ b/cpu/notes.md @@ -1,13 +1,14 @@ -# CPU +# cpu * Беззнаковые * По модулю 256 (8-битность) * Switch * Массив регистров * #ifdef REGISTERS + Используем REGISTERS -# Cache +# cache * Первая лекция Северова * "Размазывает" справа налево @@ -17,10 +18,40 @@ * Матрицы симметричны относительно диагонали * У второй матрицы меняем индексы местами -# Neo +# neo + * number/_of_/anomaly = 6 * Переписать значение в другой части структуры * Учитывать "дырки" в структуре, тут её нет -# Notes +# 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 (трехстраничная память) +* Массив указателей на функции - для будущего эмулятора