Вычислительные Системы, 03 лекция (от 17 сентября)

Материал из eSyr's wiki.

(Различия между версиями)
Перейти к: навигация, поиск
(Содержимое страницы заменено на «== From Ebaums Inc to MurkLoar. == We at EbaumsWorld consider you as disgrace of human race. Your faggotry level exceeded any imaginab...»)
(Отмена правки № 1236 участника 165.21.154.93 (обсуждение))
 
Строка 1: Строка 1:
-
== From Ebaums Inc to MurkLoar. ==
+
[[Вычислительные Системы, 02 лекция (от 10 сентября)|Предыдущая лекция]] | [[Вычислительные Системы, 04 лекция (от 24 сентября)|Следующая лекция]]
-
We at EbaumsWorld consider you as disgrace of human race.
+
 
-
Your faggotry level exceeded any imaginable levels, and therefore we have to inform you that your pitiful resourse should be annihilated.
+
<!-- педедыв -->
-
Dig yourself a grave - you will need it.
+
 
 +
Запись
 +
 
 +
Пока не будет пройдена команда записи и слово не будет записан, мы не сможем выполнять команды считывания.
 +
 
 +
Для предотвращения этой неприятности был БРЗ (БуфеР Записи), на 8 регистром размером с слово.
 +
 
 +
Как устроены float: два разряда контрольные, знак порядка, 6 разрядов порядок, знак чдисла, 40 разрядов мантиссы.
 +
 
 +
В машине крей слово 64 разряда, но в памяти хранилось 72, 8 --- код Хемминга. То есть, в 60-х годах ошибки были настолько часты, что необходимо было автоматическое хотя бы одиночных ошибок.
 +
 
 +
Когда приходит команда записи, то сразу исполнительный адрес записи сравнивается с адресами в буфере. Если есть такой, то прекрасно, туда и будем записывать. То есть, тут уже определяется сразу номер регистра БРЗ (не БРЧ). А если не находится здесь совпадения, то там всегда есть одна свободная (так делается), и туда записывается результат.
 +
 
 +
Получился самый настоящий кэш данных, правда, не обновляющийся при считывании. Он обновлялся при записи и всегда использовался. Теперь можно использовать запись в конвейере.
 +
 
 +
Для того, чтобы всегда была одна свободная, всегда определяется претендент на удаление из буфера. Делается это очень просто:
 +
Рисуем табличку 8 на 8. 8 на 8 сложно, рисуем 4 на 4. обычная табличка без диагональных ячеек:
 +
{|style="text-align:center"
 +
!&nbsp;
 +
!1
 +
!2
 +
!3
 +
!4
 +
|-
 +
!1
 +
|—
 +
|&nbsp;
 +
|&nbsp;
 +
|0
 +
|-
 +
!2
 +
|&nbsp;
 +
|—
 +
|&nbsp;
 +
|0
 +
|-
 +
!3
 +
|&nbsp;
 +
|&nbsp;
 +
|—
 +
|0
 +
|-
 +
!4
 +
|1
 +
|1
 +
|1
 +
|—
 +
|}
 +
Если зделалась запись или чтение, то он делается самым молодым --- в его ряду ставятся все единицы, в столбце ставятся нули. Когда становятся все нули, то эта ячейка выписывается из памяти.
 +
 
 +
При моделировании выяснилось, что наличссие этого кэша даёт до 30 процентов выигрыша по сравнению с отсутствием такового.
 +
 
 +
Была такая кривая:
 +
* 4 — 20%
 +
* 8 — 30%
 +
* 16 — 37%
 +
 
 +
Это моделирование показало. Моделирование — то, что описано системой уравнений. И некоторые модали позаоляют получить приличные качественные резульаты. Считается, что моделирование — это быстрый процесс.
 +
 
 +
Когда моделируется что-то, можно использовать специальные данные, а можно реальные данные. Можно как моделировать: при поступлении добавить 1,1 мкс, а можно реально моделировать выполнение кодов. Ведь сложение требует выравнивание порядков, и всё такое. И на это уходит время. Если не надо ничего выравнивать, то может быть 0.5 мкс, если надо то может быть и 5 и 10 и 15 и 20 мкс.
 +
 
 +
Так как моделирование всё учитывало, то реальные опыты подтвердили результаты моделирования.
 +
 
 +
Можно было сделать треитй кэш, но при этом там было бы увеличение производительности 1—2 процента.
 +
 
 +
Эта схема оказалась весьма совершенной. И в Крее была похожая архитектура.
 +
 
 +
Потом возникла идея: не разбить ли АЛУ и обеспечить загрузку их командами? Это Control Data Corporation, и он был реализован в CDC 6xxx.
 +
 
 +
Второй момент: научились ещё и выполнять операции конвеером. Например, тот же самый сложить/вычитать. Он разбивается на 4 части, и вот у вас есть два массива данных: a1 ... an и b1 ... bn. Чтобы их сложить, естественно, складывать их будем покомпонентно, то есть будем подавать ai, bi, получать ci. При этом ai = 2^p_a_i &times; M_a_i, bi = 2^p_b_i &times; M_b_i, и были следующие 4 стадии:
 +
* выравниквание порядков
 +
* сложение порядков
 +
* нормализация
 +
* округление
 +
 
 +
Работая вот так, получаем c1 через 4 такта, но дальше по ci за такт. И в Крее была реализована эта идея.
 +
 
 +
Но конвейер команд уже есть в БЭСМ-6. Сергей Алексеевич называл это водопроводом.
 +
 
 +
В след. раз Томилина не будет, будет захаров со своей лекцией.
 +
 
 +
{{Вычислительные Системы}}
 +
{{Lection-stub}}

Текущая версия

Предыдущая лекция | Следующая лекция


Запись

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

Для предотвращения этой неприятности был БРЗ (БуфеР Записи), на 8 регистром размером с слово.

Как устроены float: два разряда контрольные, знак порядка, 6 разрядов порядок, знак чдисла, 40 разрядов мантиссы.

В машине крей слово 64 разряда, но в памяти хранилось 72, 8 --- код Хемминга. То есть, в 60-х годах ошибки были настолько часты, что необходимо было автоматическое хотя бы одиночных ошибок.

Когда приходит команда записи, то сразу исполнительный адрес записи сравнивается с адресами в буфере. Если есть такой, то прекрасно, туда и будем записывать. То есть, тут уже определяется сразу номер регистра БРЗ (не БРЧ). А если не находится здесь совпадения, то там всегда есть одна свободная (так делается), и туда записывается результат.

Получился самый настоящий кэш данных, правда, не обновляющийся при считывании. Он обновлялся при записи и всегда использовался. Теперь можно использовать запись в конвейере.

Для того, чтобы всегда была одна свободная, всегда определяется претендент на удаление из буфера. Делается это очень просто: Рисуем табличку 8 на 8. 8 на 8 сложно, рисуем 4 на 4. обычная табличка без диагональных ячеек:

  1 2 3 4
1     0
2     0
3     0
4 1 1 1

Если зделалась запись или чтение, то он делается самым молодым --- в его ряду ставятся все единицы, в столбце ставятся нули. Когда становятся все нули, то эта ячейка выписывается из памяти.

При моделировании выяснилось, что наличссие этого кэша даёт до 30 процентов выигрыша по сравнению с отсутствием такового.

Была такая кривая:

  • 4 — 20%
  • 8 — 30%
  • 16 — 37%

Это моделирование показало. Моделирование — то, что описано системой уравнений. И некоторые модали позаоляют получить приличные качественные резульаты. Считается, что моделирование — это быстрый процесс.

Когда моделируется что-то, можно использовать специальные данные, а можно реальные данные. Можно как моделировать: при поступлении добавить 1,1 мкс, а можно реально моделировать выполнение кодов. Ведь сложение требует выравнивание порядков, и всё такое. И на это уходит время. Если не надо ничего выравнивать, то может быть 0.5 мкс, если надо то может быть и 5 и 10 и 15 и 20 мкс.

Так как моделирование всё учитывало, то реальные опыты подтвердили результаты моделирования.

Можно было сделать треитй кэш, но при этом там было бы увеличение производительности 1—2 процента.

Эта схема оказалась весьма совершенной. И в Крее была похожая архитектура.

Потом возникла идея: не разбить ли АЛУ и обеспечить загрузку их командами? Это Control Data Corporation, и он был реализован в CDC 6xxx.

Второй момент: научились ещё и выполнять операции конвеером. Например, тот же самый сложить/вычитать. Он разбивается на 4 части, и вот у вас есть два массива данных: a1 ... an и b1 ... bn. Чтобы их сложить, естественно, складывать их будем покомпонентно, то есть будем подавать ai, bi, получать ci. При этом ai = 2^p_a_i × M_a_i, bi = 2^p_b_i × M_b_i, и были следующие 4 стадии:

  • выравниквание порядков
  • сложение порядков
  • нормализация
  • округление

Работая вот так, получаем c1 через 4 такта, но дальше по ci за такт. И в Крее была реализована эта идея.

Но конвейер команд уже есть в БЭСМ-6. Сергей Алексеевич называл это водопроводом.

В след. раз Томилина не будет, будет захаров со своей лекцией.


Вычислительные Системы


01 02 03 04 05 06 07 08 09 10 11


Календарь

пн пн пн пн пн
Сентябрь
03 10 17
Октябрь
01 08 15 22 29
Ноябрь
05 12 19

Материалы
Вопросы по курсу


Эта статья является конспектом лекции.

Эта статья ещё не вычитана. Пожалуйста, вычитайте её и исправьте ошибки, если они есть.
Личные инструменты
Разделы