Говорю, как человек, который имел дело с DSP. Почти все алгоритмы можно портировать на DSP. Некоторые кладутся на инструкции лучше, некоторые хуже.
Некоторые алгоритмы вообще за вменяемое время невозможно заставить работать из-за их особенностей. В таких случаях часть логики делают в виде электронной схемы на железе.
А арифметику с плавающей точкой на DSP заменяют арифметикой с фиксированной точкой — en.wikipedia.org/wiki/Fixed-point_arithmetic
С разбегу в арифметику с фиксированной точкой конечно же не въедешь. И за месяц экспертом по портированию алгоритмов на DSP тоже не стать.
На одном из проектов у меня была задача преобразования xml файлов при помощи xlst на стороне браузера. И знаете, что я выяснил?
Каждый из браузеров реализует перобразование по своему. Например в Chrome используемый вами XSLTProcessor всегда результат преобразования приводит к string. Т.е. получить на выходе XML уже невозможно.
Поэтому использовать нативную имплементацию XLST в общем случае к сожалению нельзя.
Дудки. Эти FPGA железяки годятся только для прототипирования и ускорения битовых операций. На них можно еще делать логику для интегральных схем.
Но для задач поиска и ветвящихся алгоритмов они никак не годятся. А все из-за того, что за возможность перепрограмировать этот чип приходится расплачиваться дополнительным количеством транзисторов. Больше транзисторов -> меньше скорость распространения сигнала -> меньше максимальная тактовая частота.
Поэтому скорее всего MS FPGA буде использовать только как проверку для архитектуры процессора, а в продакшен будет делать на ASIC (не перепрограмируемые чипы). Хотя с оборотами MS вполне доступно сделать чистую партию чипов на базе чистых транзисторов, без использования ASIC и FPGA.
Я буду полностью читать статью перед комментированием
Я буду полностью читать статью перед комментированием
Я буду полностью читать статью перед комментированием
…
По данной проблеме, нужно понимать с чем мы работаем.
Изначально алгоритм программ строилась на основе условных переходов. Когда в языках появилась процедурной парадигмы, стали использовать процедуры и процедурные конструкции: while, for, do. Но на низком уровне они все равно трансформируются в условные переходы. Поэтому будем считать, что это наш примитив. Из набора таких примитивов строится программа.
Теперь посмотрим на исключения. Что такое исключение? А это такой же механизм для управления поведением программы, как условный переход. Но исключение в отличие от условного перехода имеет дополнительные «плюшки».
Так что требуется делать, когда процедура может вернуть исключение? Обрабатывать его или кидать наверх? В этом вопросе я полностью солидарен с мыслью из этого комментария: habrahabr.ru/post/221723/#comment_7555889
Суть в том, что все мы люди и задумки у каждого человека свои. Нетрудно представить библиотеку, в которой исключение выбрасывается даже в случае, когда вся библиотечная функция отработала без ошибок. Такое себе исключение, подтверждающее корректность исполнения. И что, выбрасывать это исключение наверх? Нет, конечно мы отработаем его здесь и сейчас. Точно так же нужно отрабатывать и другие исключения, которые могут высыпаться, но стоит всегда держать в голове смысл исключения, и продумывать, к чему халатная обработка этого исключения может привести. Является ли такое исключение критичным и стоит ли его скрыть в бизнес слое от пользователя.
ЗЫ: Уже не первый раз вижу, как сильные мира сего из мухи делают слона. Эта ваша проблема обрабатывать или не обрабатывать исключение — чистый академизм.
А что тут непонятного? Взяли две микросхемы с одинаковой маркировкой. Одна — референсная. Вторая — дешевая китайская.
Обеим снесли крышку, чтобы посмотреть что внутри. Дешевая китайская оказалась микросхемой, по скорости работы совпадающей с референсной, но гораздо хуже по шумам.
с другой стороны приставка in иногда означает отрицание в английском языке.
Тогда «introndiptaral lina» переведется, как «нетриодная лампа». А в следущем предложении «Rol lina tropditara» говорится уже о лампе транзисторной.
Некоторые алгоритмы вообще за вменяемое время невозможно заставить работать из-за их особенностей. В таких случаях часть логики делают в виде электронной схемы на железе.
А арифметику с плавающей точкой на DSP заменяют арифметикой с фиксированной точкой — en.wikipedia.org/wiki/Fixed-point_arithmetic
С разбегу в арифметику с фиксированной точкой конечно же не въедешь. И за месяц экспертом по портированию алгоритмов на DSP тоже не стать.
На одном из проектов у меня была задача преобразования xml файлов при помощи xlst на стороне браузера. И знаете, что я выяснил?
Каждый из браузеров реализует перобразование по своему. Например в Chrome используемый вами XSLTProcessor всегда результат преобразования приводит к string. Т.е. получить на выходе XML уже невозможно.
Поэтому использовать нативную имплементацию XLST в общем случае к сожалению нельзя.
Но для задач поиска и ветвящихся алгоритмов они никак не годятся. А все из-за того, что за возможность перепрограмировать этот чип приходится расплачиваться дополнительным количеством транзисторов. Больше транзисторов -> меньше скорость распространения сигнала -> меньше максимальная тактовая частота.
Поэтому скорее всего MS FPGA буде использовать только как проверку для архитектуры процессора, а в продакшен будет делать на ASIC (не перепрограмируемые чипы). Хотя с оборотами MS вполне доступно сделать чистую партию чипов на базе чистых транзисторов, без использования ASIC и FPGA.
Я буду полностью читать статью перед комментированием
Я буду полностью читать статью перед комментированием
…
Изначально алгоритм программ строилась на основе условных переходов. Когда в языках появилась процедурной парадигмы, стали использовать процедуры и процедурные конструкции: while, for, do. Но на низком уровне они все равно трансформируются в условные переходы. Поэтому будем считать, что это наш примитив. Из набора таких примитивов строится программа.
Теперь посмотрим на исключения. Что такое исключение? А это такой же механизм для управления поведением программы, как условный переход. Но исключение в отличие от условного перехода имеет дополнительные «плюшки».
Так что требуется делать, когда процедура может вернуть исключение? Обрабатывать его или кидать наверх? В этом вопросе я полностью солидарен с мыслью из этого комментария: habrahabr.ru/post/221723/#comment_7555889
Суть в том, что все мы люди и задумки у каждого человека свои. Нетрудно представить библиотеку, в которой исключение выбрасывается даже в случае, когда вся библиотечная функция отработала без ошибок. Такое себе исключение, подтверждающее корректность исполнения. И что, выбрасывать это исключение наверх? Нет, конечно мы отработаем его здесь и сейчас. Точно так же нужно отрабатывать и другие исключения, которые могут высыпаться, но стоит всегда держать в голове смысл исключения, и продумывать, к чему халатная обработка этого исключения может привести. Является ли такое исключение критичным и стоит ли его скрыть в бизнес слое от пользователя.
ЗЫ: Уже не первый раз вижу, как сильные мира сего из мухи делают слона. Эта ваша проблема обрабатывать или не обрабатывать исключение — чистый академизм.
А качественный ЦАП тоже денег немалых стоит
Обеим снесли крышку, чтобы посмотреть что внутри. Дешевая китайская оказалась микросхемой, по скорости работы совпадающей с референсной, но гораздо хуже по шумам.
На правах кепа.
computermiracle.net/eniak.html
uinda = объединенные, совмещенные (uno = один).
divka = сдвоенные.
Тогда «introndiptaral lina» переведется, как «нетриодная лампа». А в следущем предложении «Rol lina tropditara» говорится уже о лампе транзисторной.
diptar = диод
trondiptar = триод
tropditara = транзисторная
introndiptaral lina = триодная лампа
lina = лампа
en.wikipedia.org/wiki/Stan_Frankel
1960 — предположительно отсылка к началу массового производству транзисторов.
(1920 — 1978) — это скорее всего либо годы жизни. Либо годы работы в компании. Скорее всего — первое.
Отсылка к en.wikipedia.org/wiki/IBM_704 тоже дана не случайно.