?

Log in

No account? Create an account
Большинство (90%) моих читателей ответили на загадку с юзерпиком неправильно - Юрий Панчул [entries|archive|friends|userinfo]
Money can buy bandwidth. Latency requires bribing God.

[ website | My Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Большинство (90%) моих читателей ответили на загадку с юзерпиком неправильно [Feb. 21st, 2011|10:00 am]
Yuri Panchul
[Tags|]

Пару постов назад я задал загадку: "С какой тактовой частотой работает процессор на одном из моих новых юзерпиков (юзерпик под катом)?"
Большинство (90%) моих читателей ответили на эту загадку неправильно.



Poll #1677768 Дружно отвечаем, определяем, угадываем или говорим наобум частоту, с которой работает процессор на моём новом юзерпике. Не подглядываем!
This poll is closed.

С какой тактовой частотой работает процессор на моём новом юзерпике в этом посте?

10 наногерц
1(1.1%)
0.0625 герц
0(0.0%)
0.1 герц
1(1.1%)
0.125 герц
0(0.0%)
0.2 герц
0(0.0%)
0.25 герц
0(0.0%)
0.5 герц
6(6.8%)
1 герц
25(28.4%)
2 герца
34(38.6%)
4 герца
4(4.5%)
5 герц
2(2.3%)
8 герц
6(6.8%)
10 герц
4(4.5%)
16 герц
2(2.3%)
10 гигагерц
3(3.4%)


Юзерпик - анимация классической 5-стадийной имплементации процессора MIPS из учебника для младших курсов университета.
Примером учебника является

David A. Patterson, John L. Hennessy. Computer Organization and Design, Fourth Edition: The Hardware/Software Interface.



Анимация юзерпика крупно:






Правильный ответ - 10 герц.

Большинство людей ответили либо "1 герц", либо "2 герца". По-видимому они просто смотрели, с какой частотой желтенькая полоса появляется на одном и том же месте юзерпика, и не учитывали, что полоса (команда) пробегает юзерпик (конвейер) не за одно биение синхросигнала (clock-а), а за пять.
Для того, чтобы понять, что один "пробег" - это пять циклов, нужно было рассмотреть крупную анимацию и знать, что квадратики с треугольничками снизу - это флип-флопы, а также знать, что это означает (я подумываю провести такой ликбез в отдельно посте).

Чем отличается группа ответивших "1 герц" от группы "2 герца"? Наверное, многие из группы "2 герца" ходили в детстве в музыкальную школу и умеют лучше на глазок оценивать временные интервалы. Также у группы "1 герц" может быть тормозной или нагруженный вирусами компьютер или еще чего-нибудь (по идее, это не должно влиять на скорость отображения такого маленького GIF-а, но черт его знает).

Икслючением возможно является отмазка ЖЖ юзера spamsink.

Итак, группа "1 герц": alexeyk77, amaranth815, arstmas, avs_sav, blazzer, bugteen, dimastyj106, dr_queen, dragon_ru, duch0, eugcomax, fibonachi86, hydrargentum, kelavrik_0, man_suit, mig_jag, mikkim08, mpv_lj, nazarin, potapov_rozov, sir66, stef_df, ubunturka, udpn, vic_nikob

Группа "2 герц": 2_kopeiki, algebraic_brain, alogic, art213, beaver_cherokee, dorovskih, emmy_l, eternal_spinach, ezolski, ferrant, fi_mihej, goblin11, hana_bi, helgi_hurin, hirou, ircicq, kindex, lyuden, marco_polo_sf, moi_drug_daun, Nikita Semyonov, norian, oder_k, odve, ovanes, pilot_kosyakoff, shadow_ru, silent_dr, spamsink, sundorog, talgaton, thalys, there_is_no_way, vitsli

Правильно ответили "10 герц" следующие люди - mefi100, triampurum, ramlamyammambam, lider

Почти правильно "8 герц" ответили следующие люди - arkashamos, adrianov, davidkh, cmhungry, msv_sergey, nataly_mckenzie
Они наверное не заметили маленький квадратик с треугольничком для program counter-а в левой части большой анимации.
Или их мозг не любит десятичную систему счисления и округляет до степеней двойки.

Люди, которые ответили "10 гигагерц" (donbidon, lionet, che2i0s) наверное имели в виду, что данный дизайн с 5-стадийным конвейером может в принципе работать на 10 гигагерц, когда Ваксельберг уломает Андрея Гейма привезти его графен в Сколково:

Люди, которые написали "16 герц" (dom3d, mmarkovch) наверное пересчитали все блоки на картинке (16 штук) и решили, что информация прыгает последовательно через все 16 блоков, совершая каждый прыжок за 1 цикл clock-а (то бишь по русски синхросигнала).


Люди, которые ответили меньше 1 герца, либо подзабыли школьную физику, либо что-то перепутали (soldat31 - 0.1 герц, 0.5 герц - am_id, lampworker, rubir_ru, knyasa_o, iforaa, ekrava).

Люди, которые выбрали "5 герц" или "4 герца", наверное знали правильный (10 герц) или почти правильный (8 герц) ответ, но не учились в детстве в музыкальной школе и не могут на глазок отличить секундный интервал от полусекундного.
4 герца - a_karenina, daya_omsk, besisland, tassadar_il. 5 герц - jackie_q, kekish

otog (10 наногерц) пошутил. А если не пошутил, то это наверное виртуал Ваксельберга из Сколково.


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

Poll #1707894 Готов провести ликбезную лекцию. Ответы на какие вопросы вы хотели бы получить?

Готов провести ликбезную лекцию. Ответы на какие вопросы вы хотели бы получить?

Зачем вообще в компьютере тактовая частота (clock, синхросигнал)?
11(23.9%)
Зачем процессорная команда проходит картинку слева направо за 5 циклов? Что, нельзя за один цикл?
18(39.1%)
Что такое команда процессора?
8(17.4%)
Когда будет следующая глава про похождения Радуловой?
8(17.4%)
Из-за бугра плюёте?
1(2.2%)
LinkReply

Comments:
(Deleted comment)
[User Picture]From: panchul
2011-02-21 06:11 pm (UTC)
Если я проведу ликбез, то он в принципе может быть полезной информацией например для программистов, которые часто не знакомы с тем, как работает хардвер и имеют относительно этого самые фантастические квази-интуитивные представления.
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: panchul
2011-02-25 04:04 pm (UTC)
В данном случае я говорю не о конкретном хардверном дизайне, а о базовых кирпичиках и приемах.

Например любой программист использует в той или иной форме следующий джентлеменский набор: переменные, выражения, присваивания, непрямая адресация (массивы и указатели), условный переход (оператор if), цикл, подпрограмма (стек возвратов). (Я не рассматриваю ввод-вывод).

Понимая этот набор, можно в принципе реализовать любой алгоритм/программу/поведение.

Точно такой же набор существует и для железа и дизайнеров железа, но он другой и работает по другому. Этот набор - провода, гейты, флип-флопы, clock (синхросигнал), концепция combinational и sequential design, концепция конвейерной обработки, концепция модульности, static timing analysis. (Я не рассматриваю внешние устройства, такие как статическая или динамическая память).

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

Хотя в коде на Верилоге можно встретить и переменные, и выражения, и "if", и циклы (c фиксированными границами) и "вызовы" подпрограмм, но эти языковые конструкции транслируются (синтезируются) совсем не в инструкции фон-неймановской машины, и даже не в "микрокод" (*), который сразу почему-то приходит на ум многим программистам, а в провода, гейты и флип-флопы.

(*) Микрокод - это прием компактного хранения последовательности контролирующих сигналов, популярный в 1970-х для имплементации CISC-процессоров. Не имеет никакого отношения к том, во что транслируется синтезируемое подмножество верилога. Путать хардверный дизайн и микрокод - это как путать язык программирования и скажем описание форматы базы данных.

Так как я имеют отношение и к одному миру, к другому (т.е. автор программ для дизайнеров хардвера), то мой долг - разъяснить это непонимание.
(Reply) (Parent) (Thread)
[User Picture]From: vigna
2011-02-21 06:24 pm (UTC)
я тогда не отвечала, но сказала бы, что 1.
(Reply) (Thread)
[User Picture]From: garriman
2011-02-21 06:49 pm (UTC)
что же это на ближнем востоке творится-то, а?
(Reply) (Thread)
[User Picture]From: panchul
2011-02-21 07:02 pm (UTC)
Посе того, как я изучил историю США в коледже, я понял, что я не понимаю и никогда не смогу понять даже политику США, не говоря уже о более далеких от меня материй типа этих арабов.
(Reply) (Parent) (Thread)
[User Picture]From: soldat31
2011-02-22 01:41 am (UTC)

вирус революции

Южная Америка на очереди!
(Reply) (Parent) (Thread)
[User Picture]From: garriman
2011-02-21 06:55 pm (UTC)
специально просмотрел panchul.livejournal.com с ноября, оказывается про Kinect http://garriman.livejournal.com/144986.html
ничего нету! т.е. слона-то мы и не заметили в мелькании дней!
(Reply) (Thread)
[User Picture]From: panchul
2011-02-21 07:01 pm (UTC)
Это не из моей текущей сферы интересов. Я занимался и интересовался распознаванием всякой всячины (имиджей, звука, жестов и т.д.) в 1991-1995 годах.
(Reply) (Parent) (Thread)
[User Picture]From: lyuden
2011-02-21 07:08 pm (UTC)
Я музыкой не занимался. Как честный буратино засек 10 секунд и посчитал количество возвращений "системы" в зеленое состояние. :)
(Reply) (Thread)
[User Picture]From: myelencephalon
2011-02-21 08:14 pm (UTC)
Хм, последний мультиплексор (возврат результата) не посчитал, поэтому получилось 8 :)
Хотя в Вики написано же:
Basic five-stage pipeline in a RISC machine (IF = Instruction Fetch, ID = Instruction Decode, EX = Execute, MEM = Memory access, WB = Register write back).
(Reply) (Thread)
[User Picture]From: beaver_cherokee
2011-02-21 08:49 pm (UTC)
Да ведь я оказался в прекрасной компании! :)
(это что же, у _меня_ есть задатки ритмики?! О_о, спасибо Панчулу!)
(Reply) (Thread)
[User Picture]From: nataly_mckenzie
2011-02-21 10:03 pm (UTC)
я как раз не заметила квадратик. До 10 считать умею :)
(Reply) (Thread)
From: che2i0s
2011-02-22 12:58 pm (UTC)
Логический синтез я лично изучал по книгам Йосефа и Де Микели, там не было схемки, которую я видимо должен был визуально запомнить из рекомендуемого издания. Схема на пиктограмме, выглядит как блоки логики, в которых вычисление происходит за один цикл. Предположить, что некий процессор будет работать на частотах равных или менее 16 герц, имхо не соответствует текущему состоянию дизайна. Также, логично было предположить что вы хвалитесь какими-то новыми наработками на вычислениях со сверхвысокими частотами, технологией 0.32нм или менее. Хз, может Вы там суперочищенным арсенидом галлия затвор смазываете. Потому быстрый серьезный ответ был, 10 ГГц, про себя гыкнул еще удивленно, вот типо МИПС то.
(Reply) (Thread)
[User Picture]From: panchul
2011-02-22 03:22 pm (UTC)
*** Схема на пиктограмме, выглядит как блоки логики, в которых вычисление происходит за один цикл. ***

Это я понимаю, поэтому и сказал "для правильного ответа желательно посмотреть на крупную анимацию под катом - там явно видны флип-флопы.

Anyway - не берите всерьез :-)

*** Потому быстрый серьезный ответ был, 10 ГГц, про себя гыкнул еще удивленно, вот типо МИПС то. ***

Не, максимально достигнутый для архитектуры MIPS - 2.4 GHz, но для полностью синтезируемого встроенного процессора это очень хорошо:

Open-Silicon, MIPS Technologies, and Dolphin Technology Achieve ASIC CPU Performance of Over 2.4GHz in TSMC 40nm
http://www.mips.com/news-events/newsroom/newsindex/index.dot?id=26336
(Reply) (Parent) (Thread)
From: che2i0s
2011-02-22 03:34 pm (UTC)
Кажеццо, Вашим киндерам сильно повезло. Креативный папа с идеями игр, это для них находка.
(Reply) (Parent) (Thread)