Pull to refresh

Comments 102

Ожидал прочитать про Quark, а прочитал биографию и проблемы пользователя и очень мало про кварк :(
Про Quark пока все сказано (или Вы что-то еще ожидали услышать о процесоре?). Осталось дело за реальными проектами. Об одном (возможном) реальном проекте я рассказал.
В посте, где звучали шутки про «новогодние бредни пьяных маркетологов», уже было сказано, что в edison другой, годный, двухядерный 22нм quark. Что народ и смутило.
Там Atom + Quark, два процессора.
На фоне обычных постов в блоге Intel этот выглядит очень необычно: просто «Моя борьба», причем в такой специфической сфере, что автору сначала приходится рассказать об области, потом о проблеме, потом как-то живописать, как трудно ее было решить раньше, а потом только хоть пару слов вставить, как бы ее легко было решить «с чем-то там новым» от Intel (в данном случае это Quark, но можно подставить любое наименование, хоть новый тип кабеля, не суть).

Чую, не все прочитавшие прониклись глубиной темы!
Даже я сам не проникся. Просветите, пожалуйста ))
А вообще мои посты все необычные — несколько из них можно найти здесь, на Хабре в блоге Intel.
Я могу ошибаться, но по моему сейчас все x86 процессоры, внутри являются RISC, к тому же Intel выпускает и GPU а там тем более все RISC.
Так что вполне ожидаемо, но холивару все равно быть!
Не совсем: x86 процессоры в соотвествии со своей системой команд являются CISC (по крайней мере, с точки зрения нефиксированного значения длины команды), а внутри уже декодируются в микроинструкции, имеющие более строгие ограничения, но все равно не RISC в классическом понимании этого определения.
Ошибаетесь. Quark унутре — это чистый 486й, ни о каком RISC'е там никто и слыхом не слыхивал.
А вы где в «486-м» видели суперскалярность?
А где вы оную суперскалярность увидели в Quark'е?
Вы сами-то пробовали искать? Попробуйте. Нет там ничего. Маркетологам аплодирую стоя. Инженерам… поменьше.

Да, Quark везде рекламируется как Pentium ISA, но в реальности это 486й к которому добавили несколько команд из Pentium'а.
Рекламируется он как Pentium ISA compatible.
Суперскаляр, это когда несколько исполняющих устройств может быть задействовано одновременно — так оно и есть в Quark. То, что он вам напоминает конвеер 486-го, это еще не значит, что это i486. А еще стоит посмотреть на блок-диаграмму ядра, на его декодер и decoded instruction path. Ну и что, что одна инструкция за такт? Кроме того, Enhanced Bus Mode Operation — не было в 486.
В общем, резюмируя, это ни то и ни другое. Но почему это вам так мешает?

32-bit RISC integer core — The Intel® Quark Core performs a complete set of
arithmetic and logical operations on 8-, 16-, and 32-bit data types using a full width ALU and eight general purpose registers.

Черт. Все-таки его считают RISC-ом.
Рекламируется он как Pentium ISA compatible.
Вы что такое ISA знаете? Это набор команд. Добавить пяток инструкций (CPUID был ещё в старших 486х) — невелика проблема, а зато можно будет рекламировать это чудо как Pentium ISA compatible. Маркетологи молодцы, спору нет.
Суперскаляр, это когда несколько исполняющих устройств может быть задействовано одновременно — так оно и есть в Quark.
Есть же чёткие определения, ёлки палки: Суперскалярность — архитектура вычислительного ядра, использующая несколько декодеров команд, которые могут загружать работой множество исполнительных блоков. И кто вам сказал, что Quark имеет два декодера?
Ну и что, что одна инструкция за такт?
Одна инструкция за такт обозначает, что это не старая архитектура, а очень старая архитектура. Ни о каким μopах и речи не идёт.
Черт. Все-таки его считают RISC-ом.
Разве что маркетологи Intel. RISC'а — это вполне определённый набор дизайнерских решений, главное из которых — одинаковая длина инструкция и отдельные инструкции для доступа в память (Операции вида Read-Modify-Write («прочитать-изменить-записать») отсутствуют, Любые операции «изменить» выполняются только над содержимым регистров (т. н. архитектура load-and-store).). «Большие» Intel'овские процессоры вполне себе можно рассматривать как «классический» RISC + JIT, но Quark устроен как процессоры четвертьвековой давности

Но почему это вам так мешает?
Ну как бы используя RISC (даже «скрытый» как у Intel'а) вы можете выбирать: хотите — можете получить экономичный процессор, хотите — быстрый. Тут же мы имеем… как бы цензурно… нечто, что одновременно прожоливо и жутко медленно (медленнее современных ARM ядер, работающий на такой же частоте).

Возникает резонный вопрос: кому и зачем такое чудо нужно-то? Intelу Itanicа мало? Нужно на ещё одного мертворождённого уродца денег выкинуть?
С основной частью согласен, но
одинаковая длина инструкции
соблюдается не всегда.

Например, у современных ARM (начиная с v6T2) используется набор инструкций Thumb2, где инструкции бывают длиной в слово (4 байта) и полслова.

Правда, там с этим борется prefetch unit, разворачивающих их в инструкции, длиной в одно слово (32 бита), поступающие в нормальный трехстадийный конвейер (fetch-decode-execute).
ref
A 3-word entry Prefetch Unit (PFU). One word is fetched at a time. This can be two Thumb instructions, one word-aligned Thumb-2 instruction, or the upper/lower halfword of a halfword-aligned Thumb-2 instruction with one Thumb instruction, or the lower/upper halfword of another halfword-aligned Thumb-2 instruction. All fetch addresses from the core are word aligned. If a Thumb-2 instruction is halfword aligned, two fetches are necessary to fetch the Thumb-2 instruction. However, the 3-entry prefetch buffer ensures that a stall cycle is only necessary for the first halfword Thumb-2 instruction fetched.
RISC'а — это вполне определённый набор дизайнерских решений,

Я с самого начала и сказал, что в классическом понимании определения это нe RISC. Ну считает Интел его улучшенным RISC'ом, ну и что?
Вы что такое ISA знаете? Это набор команд. Добавить пяток инструкций (CPUID был ещё в старших 486х) — невелика проблема, а зато можно будет рекламировать это чудо как Pentium ISA compatible.

Ну так и что, по набору команд это не Pentium?
А по описанию конвеера, работы шины и режимов адресации — это не 486.
Да, картинки смущают, уж очень диаграмма в мануале смахивает на ту, что была у 486, так и что? Давайте подождем больше доступной публично информации и рассмотрия ядро более подробно, если так уж хочется.
Ну как бы используя RISC (даже «скрытый» как у Intel'а) вы можете выбирать: хотите — можете получить экономичный процессор, хотите — быстрый.

Вот как ВЫ это будете выбирать?
Есть же чёткие определения…
Одна инструкция за такт обозначает, что это не старая архитектура, а очень старая архитектура. Ни о каким μopах и речи не идёт.

Во-первых, производители процессоров давно уже заступают за рамки четких определений, и уже не важно, как эту архитектуру называют. Во-вторых, почкму вы решили, что речь не идет о микро операциях ("μopах")? А что на выходе декодера тогда?
Возникает резонный вопрос: кому и зачем такое чудо нужно-то? Intelу Itanicа мало? Нужно на ещё одного мертворождённого уродца денег выкинуть?

Прям такое ощущение, что вы восприняли это как личный вызов и так переживаете. Или вы крупный держатель акций, и переживаете за выкинутые деньги? А может выстремитесь стать пророком, предрекая судьбу как у Итаниума? Идите в аналитики, пишите статьи. Только не забывайте обосновывать свои высказывания.
Не нашел информации по Edison — есть ли у него Bluetooth? И если есть, то какой? Может ли он BLE?
В представленном на CES варианте Edison, на сколько я знаю, Bluetooth нет. Однако, это не продакшн вариант, поэтому все может измениться к лету (когда маркетологи осознают основные области применения).
Нам ble очень пригодился бы. Как раз для похожего, но другого проекта (не электроэнцефалограф). То есть нужен дивайс который умеет одновременно и ble и wifi.
Если можете поделиться подробностями проекта (в части описания модели использования одновременно и wi-fi и BT), то вас услышат. Хотя, если честно, я никогда не встречал гаджетов, где была бы необходимость в них одновременно — тем более это интересно.
Синезуб будет. Какой точно не знаю. Но, по-моему, low power. Но могу ошибаться.
ну вот, пришел правообладетель торговой марки. щас деньги требовать начнет… ))
мои люди свяжутся с вашими
Только что связались. Это точно ваши? Просили слишком мало. Пригласил их к себе, накормил обедом и дал с собой по апельсинке. Они ушли ужасно довольные.
Наши редакторы настоятельно не рекомендовали мне включать эту информацию в текст, так как это никому не интересно, хотя я первоначально написал :)
Ушел по причинам, совершенно не связанным с работой. Пришлось переехать в другой город. Иначе, с удовольствием продолжил бы работу в этой небольшой фирме.
После того, как потрудишься в большой корпорации, начинаешь скучать по тому, что было в маленьком коллективе:
— Знаешь, как всех зовут поименно, а в своем отделе и жен/детей/собак коллег;
— Все разговаривают на родном языке (и мат, когда он уместен, позволяется);
— Видишь конечный продукт, и людей, которые этим продуктом пользуются;
— От тебя очень многое зависит в проекте. Твое мнение важно, т.к. от этого зависят прибыли;
— По утрам директор компании заходит в отдел, чтобы лично со всеми поздороваться ))
Есть и отрицательные моменты, но о них не стану распространяться.
Я просто сам из Нижнего :) Предыдущий город — не Саров?
Нет. Но из Сарова у меня много коллег.
Откликнусь на предложение похоливарить.
Я так и не смог понять каким образом Quark будет конкурировать с такими ARM-решениями как Raspberry Pi. ИМХО, на ARM есть всё то же самое и даже больше. Если сравнивать с RPi:
1) x86 = Vendor Lock-In; AMD не предлагает похожие на Quark решения. Зато решений на ARM для встроенных применений от разных вендоров великое множество.
2) RPi потребляет порядка 3W в пике на всю платформу (а не только на SoC)
— Какой вообще смысл использовать 400-МГц SoC с 2W TDP, когда тот же Intel предлагает атомы с аналогичным бюджетом по энергопотреблению. Или таким образом Intel защищает своих OEM-партнёров по Atom, предлагая широкому рынку заранее неконкурентноспособное решение?
3) В Quark нет варианта со встроенной графикой, предполагается что пользователи будут подключать чип от nvidia по PCI-E?
4) Низкая производительность. В похожем сегменте price/power ARM производители предлагают 1+ГГц суперскаляры.
Я хотел, чтобы мои более осведомленные коллеги попробовали ответить, но видимо отдуваться придется мне одному. Итак:
1) По поводу x86 и завязки на вендора: AMD — не единственный конкурент Intel, есть еще другие вендоры (не будем их тут рекламировать), выпускающие x86 встроенные модули. Так что ни какого Vendor Lock-In не наблюдается.
2) RPi Кварку не сильный конкурент. Как вы будете вводить большой поток данных с модулей сбора информации (с того же DSP)? В Quark’е есть PCI-E, которая зальет данные в память на огромной скорости.
Еще мне коллеги подсказывают, что Galileo – полностью открытая платформа, когда как RPi – не во всех местах.
3) Quark позиционируется для устройств, где графика не нужна (много вы видели промышленных контроллеров со встроенной графикой)? Ежели она понадобится, то можно сделать scale-up системы до Atom’а.
4) Да, по гигагерцам Quark не в лидерах. Должны же быть и недостатки, верно? Однако есть и неоспоримые преимущества: например, представьте, что вы разрабатываете несколько сегментов контроллеров в вашей линейке продукции, от мощных на Intel Core до маломощных на Atom/Quark. Захотите ли вы нанимать отдельную команду для того, чтобы она переписала имеющийся софт x86 на ARM-контроллеры? А если такого софта миллионы строк? А переписать драйвера?
AMD — не единственный конкурент Intel, есть еще другие вендоры (не будем их тут рекламировать), выпускающие x86 встроенные модули

Их не рекламировать, их закапывать пора. Страшное наследие легаси кода.
Как вы будете вводить большой поток данных с модулей сбора информации (с того же DSP)? В Quark’е есть PCI-E, которая зальет данные в память на огромной скорости.
Сейчас целая куча ARM с PCIe и прочей могучей переферией.
… от мощных на Intel Core до маломощных на Atom/Quark. Захотите ли вы нанимать отдельную команду для того, чтобы она переписала имеющийся софт x86 на ARM-контроллеры
При правильном дизайне — переписывать придется не многое — Linux тому пример — ходит даже на холодильниках от самой мелочевки до больших машин — и все на одной основной кодовой базе.
Если приложение заоптимизированно под конкретную архитектуру (не на уровне X86, а на уровне SSE, например, размеров кешей, итп), то на другую его сложно будет перенести. Если страшных оптимизаций нет и написано здраво — то вполне, имхо.
Для хитрого железа, имхо есть крайне интересные комбинации FPGA+ARM у Xilinx и Altera, которые уже не стоят, как крыло от самолета.
Кратко- мой резюм — лет так 5-7 тому назад — Quark был-бы самой настоящей бомбой, а сейчас увы и ах.
Непонятный процессор от одного (единственного) производителя, который свернул уже не один проект.
Впрочем, это моя имха.
Уууу, как много голословных и громких утверждений в вашей имхе. Закопать… страшное наследие… ARM с могучей периферией…
Легаси код – это то, что не убило и давало постоянно развиваться x86-й архитектуре много-много лет.
Выше были упомянуты конкретные модули – никакой могучей периферии там не наблюдается. Или есть другие, сравнимые по цене модули?
Линукс-ядро да, на ARM-e уже бегает шустро, а вот с программами и драйверами, даже без SSE, все не так просто. Сколько у вас за плечами портированых проектов с одной ARM-системы на другую? Пробовали перенести приложение с Freescale модуля на OMAP?
Интересные комбинации FPGA+ARM, которые уже не стоят, как крыло от самолета, говорите? Поинтересуйтесь, сколько стоит одна лицензия на Altera MAX-Plus или Quartus II. А еще, сколько стоит инженер, программирующий на AHDL/VHDL. Фирма, о которой я написал, не смогла себе позволить использовать ПЛИС в своих разработках.
Ну а то, что Quark был бы бомбой 5-7 лет назад, совершенно согласен.
Легаси код – это то, что не убило и давало постоянно развиваться x86-й архитектуре много-много лет.

x86 развивался много-много лет исключитально из-за господства винтела, но сделал заложником сам интел, который совершенно очевидно устаревшие архитектурные решения вынужден тянуть много лет, заворачивая их в кремний.
Провал итаниума это крайне наглядно показал. Упомянутые альтернативные вендоры x86 совместимых процессоров ничем выдающимся не блещут.
Сколько у вас за плечами портированых проектов с одной ARM-системы на другую?
Есть немного и портированных, хотя стараюсь не промахиваться. Самый портируемый Stellaris -> NXP -> ST — как сказать — сперва было тяжело :)
Пробовали перенести приложение с Freescale модуля на OMAP?
Боже упаси. И дело здесь не в ядре процессора, а в перефирии, которая, применительно к обсуждаемой теме, совершенно очевидно у quark отличается от остальных x86.
Поинтересуйтесь, сколько стоит одна лицензия на Altera MAX-Plus или Quartus II. А еще, сколько стоит инженер, программирующий на AHDL/VHDL.

Я специализируюсь на Xilinx и сколько стою — знаю :)

Удачи
x86 развивался много-много лет исключитально из-за господства винтела

Это сильно! А, как вы думаете, чем (вернее, кем) было обусловлено это господство?
И если не трудно, чтобы мы понимали о чем идет речь, назовите хотя бы одно устаревшие архитектурное решение, например, в процессоре Sandy Bridge.

И дело здесь не в ядре процессора, а в перефирии, которая, применительно к обсуждаемой теме, совершенно очевидно у quark отличается от остальных x86.

Как вы думаете, чем очевидно будет отличаться драйвер USB у Quark и у десктопа с Intel Core?

Я специализируюсь на Xilinx и сколько стою — знаю

Я в намного меньшей степени знаком с разработкой под Xilinx. Неужели дешево? ;)
А, как вы думаете, чем (вернее, кем) было обусловлено это господство?
Я думаю исключительно стечением обстоятельств. Случай. Удача. Точно попали в рынок. Системы на 680x0 того времени были весьма себе не дурны, не говоря о прочих спарках, ваксах и прочих силикон-графиксах. Не выбери IBM 8086, и не открой ISA, может мы бы имели другого флагмана.
И если не трудно, чтобы мы понимали о чем идет речь, назовите хотя бы одно устаревшие архитектурное решение, например, в процессоре Sandy Bridg
Да пожалуйста:
— замечательная 64-битная нашлепка ввиде amd64 (Спасибо компании AMD), похоронившая под собой попытку сделать новые 64 бита с чистого листа.
— от щедрот в 32 битном режиме аж 8 регистров — кажется абсолютный рекорд аскетизма 32-битных процессоров. Что особо заметно, когда в 64-битном режиме можно fastcall. Конечно, все это частично компенсируется ремепингом регистров (как я понимаю, с использованием и не задействованных в 32 битке дополнительных 64 битных регистров), кешем и прочими силиконовыми штучками, но именно это я и считаю тем самым дурным наследием совместимости.

Я в намного меньшей степени знаком с разработкой под Xilinx. Неужели дешево? ;)
Вааще халява :)

А уж коли разговор о стоимости средств разработки зашел, то не знаю как там у Alter`ы, а у Xilinx`а WebPack бесплатный, и держит все цинки. А если нужны ну совсем уж тяжелые камни, то ISE не сильно дороже фотошопа.
Если к ARM (ну почти к любому — не обошлось без извращенцев, конечно) jtag обходится долларов в 15 и в крайнем случае денек ковыряния OpenOCD, то сколько стоит Jtag для Intel Core? А без него баре метал не всегда сподручно.
Извиняюсь, пропустил один вопрос:
Как вы думаете, чем очевидно будет отличаться драйвер USB у Quark и у десктопа с Intel Core?

Надеюcь на десктопе увидеть USB 3.0. Так что всем.
Ксло, TI и иже с ними, да и поганые китайцы в свои ARM интегрируют USB 3.0 уже даже не вчера, а Intel что показывает нам в Quark…
Нет, я обожаю Intel, пишу это с компа с процессором от интел, считаю реальным флагманом индустрии, и то, что они делают в том положении, в котором оказались, с инженерной точки зрения — выше всяких похвал.
TI и иже с ними, да и поганые китайцы в свои ARM интегрируют USB 3.0 уже даже не вчера, а Intel

Расскажите мне, для чего в маломощном контроллере с низким потреблением энергии и низкой ценой USB 3.0?
Для экономии энергии? USB 3.0 устроен совершенно не так, как USB 1.x или USB 2.0. То есть там даже провода другие! И, соответственно, можно класть устройства «спать», если они сейчас не требуются, более эффективное кодирование снижает время, которое нужно держать устройство и т.д.

Буквально первая же ссылка в google:
low-powerdesign.com/donovansbrain/2011/03/01/power-management-in-usb-3-0/
Вы спрашивали
Как вы думаете, чем очевидно будет отличаться драйвер USB у Quark и у десктопа с Intel Core?
Мой ответ — да будут. И я рассказал почему. Об одном и том-же драйвере можно забыть.

И USB 3.0 ни чуть не менее уместный, чем PCIe.
Об одном и том-же драйвере можно забыть.

Вы слегка заблуждаетесь.

И USB 3.0 ни чуть не менее уместный, чем PCIe

Аргументы у вас есть? Зачем нужен быстрый PCIe я объяснил уже.
Вы слегка заблуждаетесь.

Сурсы Линукса говорят об обратном
Аргументы у вас есть? Зачем нужен быстрый PCIe я объяснил уже.

Если Вы считаете аргументом вот это:
Как вы будете вводить большой поток данных с модулей сбора информации (с того же DSP)? В Quark’е есть PCI-E, которая зальет данные в память на огромной скорости.
То мне есть что возразить по существу:
1. DSP не является модулем сбора информации, а как раз предназначен для локальной обработки больших потоков с уменьшением объема информации.
2. Ну залили в басмастере в память, дальше что? Quark успеет ее обсчитывать?
Quark ну уж точно не числодробилка. Тем более с соточной сеткой.
Те потоки, которые Вы описывали в статье — 0.5 — 3 Мб/c влезают в SPI.
А под USB 3.0 есть (будет) куча оборудования, ввиде законченых устройств. Сейчас уже затруднительно найти оборудование на USB 1.1, время летит очень быстро.
1. То есть, по вашему, DSP собирает большой поток информации, а выдает только байты в секунду? Я вас удивлю, на выходе DSP поток может даже увеличиваться.
2. Основное назначения модуля на Quark, как и любого другого (того же ARM-ядра в OMAP): сегментировать, сохранять, передовать пакеты данных, и побочные функции, как сигализация состояний, логи и прочее. Скорость потока данных, что я указал, определялась возможностями элементной базы. Функционально требуется больше каналов, больший динамический диапазон (то есть ПП канала). И требования постоянно растут.
Что и куда вы собрались качать через USB в автономном контроллере? По сути USB — это технологический канал, использующийся, когда контроллер подключают к PC (слить данные, залить прошивку). По сравнению с вроменем, затраченным на ручные манипуляции подключения, время передачи данных по каналу уже не играет роли, поэтому быстрый USB3.0 там не нужен.
То есть, по вашему, DSP собирает большой поток информации, а выдает только байты в секунду? Я вас удивлю, на выходе DSP поток может даже увеличиваться.
Вам действительно удалось меня удивить :) DSP ориентированны именно на поточную обработку больших объемов, Вы-же пытаетесь его задействовать в качестве преобразователя интерфейсов.
Про «байты в секунду» — это Ваши фантазии. Посмотрите, как строят любой современный осциллограф, например. Никто там не тащит RAW потоки в CPU. Ни в одной реальной разработке я не видел, когда имея на борту DSP или другой какой специализированный вычислитель, большие потоки тащились-бы в ЦП, тем более, в такой низкопроизводительный, как Quark, в котором, как я понимаю, SSE нет.
Функционально требуется больше каналов, больший динамический диапазон (то есть ПП канала)
Динамический диапазон и ПП канала это вообще из разных опер
По сути USB — это технологический канал, использующийся, когда контроллер подключают к PC (слить данные, залить прошивку)
Без PC никак? Флешку воткнуть нельзя? SDR какой, например, тоже нельзя? WiFi, BT, мышку в конце концов.
У Вас крайне однобокое представление о возможности применения USB, или это просто попытка оправдать применение устаревшего интерфейса?
Вам действительно удалось меня удивить :)

Вам еще много удивительных вещей предстоит узнать (с вашим-то уровнем осведомленности). Пара примеров:
— Процессор в зеркальном фотоаппарате пишет на флэшку больший поток данных в RAW-формате, чем получает от АЦП матрицы.
— Простой концертный медиасервер, получая на вход два стереоканала, преобразует их в реальном времени в 5.1 и передает на оконечные устройства (в том числе и без проводов) поканально.

Динамический диапазон и ПП канала это вообще из разных опер

Динамический диапазон вводимого сигнала определяется разрядностью АЦП, а при постоянной частоте дискретизации, увеличиние разрядности ведет к увеличению требования ПП канала. Не знаю, что за оперы вы смотрите/слушаете.

Без PC никак? Флешку воткнуть нельзя? SDR какой, например, тоже нельзя? WiFi, BT, мышку в конце концов.

Для флэшки, Wi-Fi и BT в платформе предусмотрены другие интерфейсы — никому в голову не придет подсоединять их через USB (тем самым усложняя без надобности стек драйверов). А мышке USB 3.0 без надобности.
Если вы втыкаете (в тот же осциллограф) USB-флэшку, то это технологическая операция, т.е. не свзязана с работой самого осциллографа. Ну да, данные из внутреннего накопителя скинутся быстрее, но все-равно это не основная работа утройства, которая выполняется постоянно. Поэтому USB — это техканал.
Вам еще много удивительных вещей предстоит узнать (с вашим-то уровнем осведомленности). Пара примеров:
— Процессор в зеркальном фотоаппарате пишет на флэшку больший поток данных в RAW-формате, чем получает от АЦП матрицы.
Да, пишет еще EXIF. Если Вы не в курсе, Баеровская интерполяция, которая могла-бы потенциально увеличить поток, в случае RAW не осуществляется. Хотя какое отношение имеет запись RAW на флеш к DSP подключенному через PCIe — но понятно.
А раз уж заговорили о фотоаппаратах, то имеет смысл упомянуть, что тот-же Canon отказался от применения в своих изделиях x86 совместимых SOC, и перешел на ARM. Видимо его не сильно волнует вопрос о переносимости бинарников без перекомпиляции на десктоп.
— Простой концертный медиасервер, получая на вход два стереоканала, преобразует их в реальном времени в 5.1 и передает на оконечные устройства (в том числе и без проводов) поканально
Интересно, а сложный «концертный медиасервер» так-же себя ведет? Вы часом, не путаете медиасервер с процессором? И что, Вы будете утверждать, что в нем поток гонится через ЦП при наличии DSP? Расскажите подробнее, плз, в области про-аудио нам есть что обсудить :)
Динамический диапазон вводимого сигнала определяется разрядностью АЦП
Динамический диапазон вводимого сигнала не определяется разрядностью ADC (HINT 1-bit Delta-Sigma, где на 1-битном конверторе получается весьма не 6db ДД)
Что Вы там говорили про уровень осведомленности? Или от Вашего ника пишут уже маркетологи?
а при постоянной частоте дискретизации,
Не многовато новых требований на ходу появляется?
Для флэшки, Wi-Fi и BT в платформе предусмотрены другие интерфейсы — никому в голову не придет подсоединять их через USB (тем самым усложняя без надобности стек драйверов).
Рассказываю, на рынке реально есть много устройств, где USB вообще на разъем не выведен, а используется в качестве внутреннего интерконнекта.
Если вы втыкаете (в тот же осциллограф) USB-флэшку, то это технологическая операция, т.е. не свзязана с работой самого осциллографа.
А если USB-flash втыкается в фотоаппарат, где сохраняются на нее упомянутые RAW, уже связана?
Значит так, с потоками информации с выхода DSP больше, чем на входе, думаю, разобрались. Рад, что заполнились белые пятна в вашем кругозоре.
Про динамический диапазон дальше не вижу смысла обсуждать — я вас просто не понимаю.
Рассказывать мне, что есть на рынке какие-то устройства не нужно, просто не утруждайтесь — без конкретных примеров все-равно не интересно читать.
И да, USB для фотоаппарата тоже является технологическим каналом (сюрприз!), для скачивания фотографий (хотя есть еще два способа это сделать, и беспроводной побеждает).
Ок, так уж и быть, приведу один пример, где USB — основной канал связи, и без 3.0 основной функционал будет ущербен: внешний диск с USB-интерфейсом. Да та же USB-флешка. Для нее USB тоже основной канал.
За сим откланиваюсь.
Значит так, с потоками информации с выхода DSP больше, чем на входе, думаю, разобрались.
Это в примере с EXIF? Так его не DSP генерирует. Где в приведенных Вами примерах DSP увеличивает поток, передаваемый CPU?
Рад, что заполнились белые пятна в вашем кругозоре.
Про динамический диапазон дальше не вижу смысла обсуждать — я вас просто не понимаю.
Вы не меня не понимаете, а элементарных основ ЦОС, терминами которого пытаетесь оперировать. А про «белые пятна», извините, не после Ваших перлов.
Рассказывать мне, что есть на рынке какие-то устройства не нужно, просто не утруждайтесь — без конкретных примеров все-равно не интересно читать.

Хотите примеров — пожалуйста. Вот Asus RT-N53 использует для wifi BCM43236, который цепляется через USB. И таких вариантов цепляния WIFI весьма много и у Linksys. Впрочем, вайфаем использование USB в качестве внутреннего интерконнекта не ограничивается, так-же много где через внутреннее USB цепляется 3G и GPS.
И да, USB для фотоаппарата тоже является технологическим каналом (сюрприз!), для скачивания фотографий (хотя есть еще два способа это сделать, и беспроводной побеждает).
А если для записи? А если ремоут подключается через USB, а если LiveView? Так что сюрприз не состоялся. Или для оправдания применения очевидно устаревших интерфейсов будем навязывать разработчикам, какие интерфейсы им использовать, как технологические, а какие, как функциональные? И из чего следует, что технологические должны быть устаревшими?

И что там со стоимостью JTAG для Core I?
Я вам привел примеры, когда на выходе DSP поток такой же как на входе, или больше. Т.е. причина, по которой нужна быстрая шина в процессор общего назначения. Вы можете не соглашаться, но это ничего не меняет.
Ваш бред про разные оперы ДД и ПП, даже коментировать не хочется. Просто вот так — получите ответ в своем же стиле. И, да, перечитайте на досуге учебники, по предмету, который вы упомянули.
Прекрасный пример про Asus RT-N53, просто отличный. Подскажите, там есть возможность радиомодуль к какому либо еще инрефейсу процессора подключить, чтоб до 300 Mbit пропускал? По-моему нет. Вот и ответ. USB 3.0 нужен, если больше не чем прокачать такой поток. А если есть (PCI-E)? Тогда зачем USB 3.0?
А что у нас USB 2.0 перестал пропускать поток для LiveView?
Для технологическог интерфейса USB 2.0 не устаревший, а достаточный.
Я не знаю, что со стоимостью JTAG для Core, для Quark я привел ссылки.
Ваш бред про разные оперы ДД и ПП, даже коментировать не хочется
Давайте не будем передергивать Ваше вот:
Динамический диапазон вводимого сигнала определяется разрядностью АЦП
Расскажите про динамический диапазон 1-bit ADC тем, кто слушает SACD например, они крайне удивятся, что ДД определяется разрядностью ADC.
Я вам привел примеры, когда на выходе DSP поток такой же как на входе, или больше.

Вы не привели никаких примеров по теме DSP. Фотоаппарат в режиме записи RAW, DSP не является. Совершенно очевидно, что в том-же DIGIC (любом, современном) поток с матрицы идет через lvds и, соответственно, dma в память, и никакие блоки DSP в режиме RAW не задействуются, по причине ненужности. И уж точно никаким PCIe там и не пахнет.
Т.е. причина, по которой нужна быстрая шина в процессор общего назначения.
Только вот в качестве быстрой шины, Вы упорно настаиваете на PCIe, а вот USB 3.0 отметаете напрочь. Ваши мифические «данные в память на огромной скорости» не найдут отклика со стороны весьма посредственного по своим вычислительным возможностям CPU Quark.
USB 3.0 нужен, если больше не чем прокачать такой поток. А если есть (PCI-E)? Тогда зачем USB 3.0?

Бывают устройства с таким интерфейсом. А еще бывает нужно несколько устройств подключить одновременно. Цены на PCIe HUB`ы порядково выше, чем на USB. Да и с доступностью разница очевидна.
А что у нас USB 2.0 перестал пропускать поток для LiveView?
Вы настаивали на том, что USB чисто технологический и-фейс, я привел Вам пример, когда он функциональный.
Вот пример, вполне функциональный:
image
К устройству подключается USB WiFi через который гонится картинка или данные с мобильного устройства. Функциональный? Да. Нужны большие обьемы и скорость? да.
Спасибо за пример. Конечно, найдется полно применений, когда USB 3.0 будет нужен. Но тут я хотел бы упомянуть два момента:
1. USB — это все-таки внешний интерфейс. И его иногда используют для связи между чипами в одном устройстве, как я думаю, только из-за того, что других быстрых интерфейсов нет. Была бы возможность, сажали бы устройство на шыну и адресовали нанные напрямую — это же намного удобнее.
2. Как внешний быстрый интерфейс USB несомненно имеет применение, как в вашем примере, да везде, где нужно, например, прогнаять видео (та же веб-камера), если только там уже нет HDMI. Однако, в контроллерах, для которых позиционируется Quark (уж точно не видео обрабатывать), USB не является основным, т.е. работающим постоянно интерфейсом, а используется как дополнительный канал, если необходимо подключить девайс к PC, или к нему флэшку.
Поэтому обвинения в том, что Интел ставить старые как говно мамонта устаревшие интерфейсы несколько некорректны.
Блин, только очепяток… Прошу прощения, пишу с нерусской клавиатуры.
USB — это все-таки внешний интерфейс. И его иногда используют для связи между чипами в одном устройстве, как я думаю, только из-за того, что других быстрых интерфейсов нет. Была бы возможность, сажали бы устройство на шыну и адресовали нанные напрямую — это же намного удобнее.

Ну не скажите. Вот такой USB-WiFi стоит действительно копейки — меньше доллара, потому что производиться огромными количествами, поддерживается кучей операционок, и так далее. Не работает этот, всегда можно найти другой за тот же доллар.
А с другим интерфейсом модуль — сразу и стоит минимум $10, а средне $20, и багов в нем куча, и выбор из 5 вариантов доступных всего.
Согласен, цена может сыграть роль. Но давайте остановимся на вашем примере. Неужели такой USB-WiFi за доллар имеет спецификацию USB 3.0? В большинстве случаев нет. То есть там и 2.0 хватает, даже если USB канал является основным.

Если же взять утстройства, где требуется пропускная способность 5 Gb/s или даже 10 Gb/s как у USB3.1 (и Wi-Fi тоже толстый), думаете в них устанавливают USB-WiFi модули за доллар?
Ну вот тут надо смотреть, может быть модули со скоростью, которая превысит пределы USB 2 будут дешевле с интерфейсом PCI.
Я вообще мимо проходил и пример привел, я ни в коем случае не участвую в вашем споре :)
Наоборот, спасибо за участие и хороший пример.
Вы не привели никаких примеров по теме DSP. Фотоаппарат в режиме записи RAW, DSP не является.

Я их вам таки привел. Вы упорно не хотели верить, что на выходе DSP бывает поток данных такой же или больше, чем на входе. Я вам показал, что бывает. Но вы зачем-то, как типичный тролль, начали цепляться за незначимые детали — типа пахнет PCI в фотоаппарате или нет.
Бывают устройства с таким интерфейсом. А еще бывает нужно несколько устройств подключить одновременно. Цены на PCIe HUB`ы порядково выше, чем на USB. Да и с доступностью разница очевидна.

Я ни где не спорил с этим. Бывают разные устройства. Где я говорил, что Quark подойдет для любого из них? «Весьма посредственный по своим вычислительным возможностям CPU Quark» найдет свое применение, где требуется регистрация, хранение и передача данных. Таких применений — вагон и маленькая тележка.
Вы настаивали на том, что USB чисто технологический и-фейс, я привел Вам пример, когда он функциональный.

Ничего подобного. Если внимательно прочитаете, я сказал, что в каких-то устройствах USB — основной канал передачи данных (Web-камера, внешний HDD) — там USB 3.0 желателен, но в контроллерах, которые работают автономно, USB является техканалом, так как через него данные не гоняются в штатном режиме. Если есть PCI-E, то, тем более, использовать USB 3.0 для соединения внутренних устройств бесмысленно. В таких устройствах, где требуется такая скорость, стоимость 1 доллар или 10 не имеет значения. А имеют значения накладные расходы для передачи данных — и с USB они буду выше.
Я думаю исключительно стечением обстоятельств. Случай. Удача.

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

замечательная 64-битная нашлепка ввиде amd64 (Спасибо компании AMD), похоронившая под собой попытку сделать новые 64 бита с чистого листа.


Мне кажется вам нужно немного обновить знания о текущей архитектуре x86. Вот тут хороший материал с картинками, и не на сайте Интела. Даю подачу: 64-битность архитектуры — нативная. Более того, регистры 256-битные, в кол-ве 16 штук. А в блоках аллоцирования их еще больше, что невилирует их недостаток. Такой же ширины и кольцевая шина.

Еще раз, я не очень в курсе редств разработки от Xilinx, но что-то сомневаюсь, что в бесплатных версиях вы сможете найти библиотеку PCI-E. Иначе, они бы точно похоронили Altera'у.
Действительно удача, что подавляюще большинство разработчиков ПО уперлось рогом и ни в какую не захотело разрабатывать/портировать свой x86 код на другие платформы.
Например gcc да и все GNU и BSD — так уперлись, что тащут за собой старые бекенды и никак не хотят портироваться.
А «уперлись» разработчики в то, что продается и проще.
И что такого эти разработчики наразрабатывали именно под x86, а не под винды? Многое, что реально осталось от «наразработанного», как правило, кросс.
Или Вы думаете, что когда (если) M$ реально будет тащить винды на армах — разработчики бастовать начнут — верните x86?
OS/2 проиграла NT, хотя была значительно круче. Начиная от реализации TCP стека, и заканчивая стабильностью работы. Где DB2, а где Оракл, хотя кто-бы мог подумать… (к слову и те и другие — кросс.)
Думаю, что это фундаментальный закон развития — побеждает не лучший, а достаточно хороший в моменте. Вон, например, скорпионы оказались на столько хороши, что уже миллионы лет не меняются, но и прогресса нет. (К Интелу это никаким боком не относится :) )
Вот тут хороший материал с картинками, и не на сайте Интела.
Кто хостит картинки — меня не трогает — у меня нет никаких предрассудков к сайту интела (ну кроме его вырвиглазности и невозможности что-либо найти, но это на вкус и цвет...). а я, собственно, об этом и говорил — именно из-за совместимости со старым кодом, компилятор вынужден работать с усеченной абстракцией процессора, что потом компенсируется подпорами в силиконе. Какого не сделали доступными хотя-бы 16 целочисленных регистров в 32 битке? Только совместимость. И Вы говорите, что это не груз совместимости?
Когда уже выкосят поддержку A20? Или это тоже не костыли?
32 битный код легко поддается ручной оптимизации, а все, что касается SSE ну ни в какую — быстр падлюка, и не ускоришь его никак. Что говорит о том, что без груза старых абстракций лучше.

я не очень в курсе редств разработки от Xilinx, но что-то сомневаюсь, что в бесплатных версиях вы сможете найти библиотеку PCI-E. Иначе, они бы точно похоронили Altera'у.


Да дался Вам этот PCIe :) Нечего на него реально цеплять. Нужны интерфейсы GbE или какие другие — проще их сделать прямо в FPGA. Кроме того, сейчас почти все быстрые сериальные в виде хардблоков. Впрочем, Альтера может закапываться :)
На самом деле ситуация и ранее была не совсем такая как в прайсах — когда мне нужно было лецензионно чистое IP под PCIe — я нашел вариант демоборды с лицензией на 1 проект долларов за 400 с доставкой. И это было еще во времена Spartan3A. Сейчас все брендовые тулзы сильно просели в цене — денег на этом много не собрать, а реальные бабки в поставках силикона. Тот-же ISE (правда залоченный на кристалл) можно взять чуть дороже штуки.

А что там у нас с ценой на Jtag для Core?
Такую длинную тираду не надо было приводить. Ни кто-не спорит, что были технически более совершенные OS и успешные на рынке. Но ни о какой монополии или главенстве речи не идет — это рынок, он выбирает, что лучше/дешевле — именно в соотношении.
Про груз совместимости там вообще ни чего не понял — извините.
Легаси, например в виде поддержки x87 и декодера всех предыдуших команд есть, но на кристалле этот функционал занимает ничтожно малое место, потребляет мало энергии, поэтму это не аргументы. Ну а то, что вам не хватает регистров — это вы мыслите понятиями ARMа, а в x86 их не хватает примерно настолько, на сколько не хватает регистров ROB, Reservation Station, Line Buffer, а так же исполнительных портов и количества ALU юнитв — короче все сбалансировано, более-менее.
Про дешевые тулы для FPGA не убедили, так как в отвязке от функционала. Нужно рассматривать конкретный пример — чип, с N кол-вом вентилей, возможноть имплементировать определенные IP блоки, максимальная тактовая частота — и потом смотреть, сколько это стоит. И стоить это будет дорого, в случае PCI-E. Иначе, все голословно.
Я не в курсе про JTAG для Core, но вот для Quark можно посмотреть здесь и здесь. Цены не велики.
А для Quark у нас, внезапно, ARM JTAG рекомендуется?
Видимо совместим (железо).
А можно подтверждение по каким-нибудь официальным мануалам?
Не совсем понятна мысль про то что архитектура компенсирует нехватку регистров. В x86 в случае нехватки регистров для размещения всех живых объектов на регистрах кодогенератор вставляет работу со стеком. Т.е. возникает register spilling и появляются дополнительные операции работы с памятью. Т.е. есть приложения, для которых 32-битные версии заметно проигрывают по производительности 64-битным именно из-за того что в 64 битных меньше работы со стеком (больше доступных регистров). Понятно, что «железо» не может решить эту проблему, хотя она действительно кажется грузом совместимости.
Да всё уже — в 2014 году удача отошла от Intel`а.
IBM (звезда пленительного счастья со своими гос-контрактами) сегодня порвала все свои давние и тесные связи с Intel.
См. пост и комменты к нему: «IBM прощается с x86 серверами, вся линейка продана Lenovo».

Видимо теперь Intel`а настигнет сплошное невезение, а как итог в недалёком будущем полный капец:(

А Intel Quark — это по-видимому может стать первым самым неудачным чипом Intel`а — в который вбухано много денег, а он оказался никому не нужён.
Вообще странный продукт этот Intel Quark — он вроде бы лезет в область дешёвых и маломощных контроллеров, и при этом силится иметь мощь и возможности настольных компьютеров конца 1990-х годов — и зачем оно такое чудо нужно в носимой электронике?
IBM сегодня порвала все свои давние и тесные связи с Intel.

Да ладно! Прям все-все?

Кстати, когда Lenovo купила ноутбучный бизнес у IBM, у первой дела пошли в гору, и ноутбуки стали намного лучше продаваться… Может и серверным бизнесом так произойдет?

Видимо теперь Intel`а настигнет сплошное невезение, а как итог в недалёком будущем полный капец:(

Вы тоже по совместительству пророк, или аналитик?

А Intel Quark — это по-видимому может стать первым самым неудачным чипом Intel`а — в который вбухано много денег, а он оказался никому не нужён.

А сколько денег, не подскажите, а то я тут точную сумму ни как не могу найти.
Да всё просто:)
Это моё частное (для вас малозначимое) мнение.
Но, через некоторое время, мы всё обязательно увидим.

>Да ладно! Прям все-все?
А зачем им теперь Intel?
Они теперь прямые конкуренты для Intel (безо всяких оговорок).
IBM уже активизировалась в продвижении на рынок свои Power-чипы — см.:
1. «IBM заручилась поддержкой Google, NVIDIA и другими для противостояния с Intel».
2. «IBM лицензирует процессоры Power».
Техпроцессы по производству чипов IBM уже давно развивала в сотрудничестве с AMD — см.: «IBM — старый новый партнер AMD в разработке техпроцессов».
А самое интересное, что IBM возглавляет созданный ею альянс чипмейкеров Common Platform, который объединяет всех основных конкурентов Intel: IBM, Samsung, GlobalFoundries, а с недавнего времени ещё и UMC — см.: «UMC будет разрабатывать 10-нанометровый техпроцесс вместе с IBM».

> Кстати, когда Lenovo купила ноутбучный бизнес у IBM, у первой дела пошли в гору, и ноутбуки стали намного лучше продаваться… Может и серверным бизнесом так произойдет?
Нет с серверным бизнесом у Lenovo так не прокатит:)

Во-первых серверный бизнес это особая стезя — тут надо гнать не дешёвый ширпотреб (как это умеет делать в Lenovo — все знают как они понизили качество линейки ноутбуков ThinkPad), а качественное оборудование (чего в Lenovo делать не умеют и не хотят). Поэтому за качественными серверами теперь все заказчики пойдут на поклон к HP, Dell и той-же IBM.

Во-вторых в 2005 году IBM продав бизнес ПК не стала конкурентом Lenovo и всячески им помогала сохранить и развить этот бизнес (например поставляя ПК Lenovo по своим IBM`вским гос-контрактам). А теперь ситуация значительно изменилась и IBM теперь является прямым конкурентом для Lenovo на серверном рынке, и они теперь будут делать всё возможное что бы по своим гос-контрактам поставлять свои родные сервера IBM Power Systems на своих Power-чипах!
Меня просто слегка удивила та безаппеляционность, с которой вы выдается желаемое за действительное.
IBM и раньше была конкурентом Intel на серверном рынке, что не мешало ей получать неплохой куш с x86 линейки. Ну не потянули они конкуренцию с HP и Dell, поэтому и избавляются. А у Intel там где просядет с IBM, поднимется с Lenovo, при этом сотрудничество еще долго продолжится с обоими.

Про победное шествие PowerPC я бы не стал делать таких сверхоптимистичных прогнозов. Я не специалист в серверном рынке, и прогнозов не даю, но вот как пример, в одном европейском ядерном центре, где я недавно побывал, наряду с BlueGene/Q, устанавливают еще два суперкомпьютера на Ivi Bridge-EP — такова политика диверсификации в дата центре. И это распространено везде.
Да ну перестаньте вы, как это они не потянули конкуренцию с HP и Dell:))))
Честное слово — это просто смешно.

Дело в том что конкуренция на рынке дешёвых x86-серверов требует всё более агрессивного снижения издержек — что приводит к снижении качества техники (на что IBM пойти никак не может — блюдёт авторитет своей марки).

Да и из-за конкуренции на этом рынке постоянно сокращается маржа — в частности из-за таких агрессивных игроков как CISCO и SGI — готовых работать на минимальной марже — см.: «Продажи серверов Cisco выросли», и ещё: «SGI расширила облачные продажи».
И опять же у IBM есть определённые бизнес-правила выработанные десятилетиями — при марже ниже определённого уровня они просто сворачиваются и уходят с данного рынка, — вкладывая деньги в более высокомаржинальные рынки.
А вы найдите распределение долей серверного рынка по компаниям за прошлый год, и там же по х86 серверам, и станет не так уже смешно. Серверы на Xeon ни разу не дешевые (вы их с Avaton не путайте).
IBM может иметь какие угодно бизнес-правила, но на рынке остается тот, кто предлагает лучшее соотношение price/value proposition. Тянуть две различных платформы сереверов IBM не в состоянии (да, именно из-за конкуренции и множества желающих производить серевера на x86) и решила сосредоточиться на своем основном бизнесе — это нормально и ожидаемо. Но причем тут удача Intel'а я так и не понял.
При чём тут удача:)
Да первый мой коммент в этой ветке был в ответ на фразу Uint32:
>Я думаю исключительно стечением обстоятельств. Случай. Удача. Точно попали в рынок. Системы на 680x0 того времени были весьма себе не дурны, не говоря о прочих спарках, ваксах и прочих силикон-графиксах. Не выбери IBM 8086, и не открой ISA, может мы бы имели другого флагмана.

Я считаю, что он прав: Intel стала «Царём горы» на ПК`ном рынке во многом благодаря IBM`у, ну а теперь Intel уже не нужна IBM`у, и даже более того — во многом мешает им вести свой серверный бизнес.

Поэтому благосклонность старого компьютерного «Царя зверей» (IBM) уже отошла от Intel и мало того «Лев» проснулся, чтобы навести свой порядок в саванне — и теперь Intel`у есть чего побаиваться.
Ну то есть вы считаете, что Intel все это время была «Царем горы» на ПК потому, что IBM держала x86 серверный бизнес? А теперь все пропало (гипс снимают, клиент уезжает)?
Вы сломали все ALU в моей голове.
И еще, про прекращение всех связей с Intel. Вот тут почитайте, в тексте новости и комменты.
IBM will continue to develop its Windows and Linux software portfolio for the x86 platform. It will also continue to sell several systems based on x86 processors through its PureApplication and PureData appliances, high-margin products that also include IBM software.

I should clarify that the PureData and PureApplication System lines include both x86 and Power (AIX- Unix) based options. PureData System For Analytics powered by Netezza, for example, is a Linux-based system based on x86. Oracle, too, is all but out of the x86 server business, yet its Exadata and Exalytics «engineered systems» are based on x86. The real value and margin in both the IBM and Oracle appliances is in the prepackaged software bundle.


С Ораклом у IBM был всегда вкусный кусочек пирога, и никому его отдавать она не собирается.
Захотите ли вы нанимать отдельную команду для того, чтобы она переписала имеющийся софт x86 на ARM-контроллеры? А если такого софта миллионы строк?

На ассемблере/интринсиках? Зависящего от модели памяти?
А иначе что там переписывать?

Кстати забавно что периферия в edison висит на AMBA-шине.
Ну да, достаточно, чтобы код был написан на C, и он сразу же становится портируемым на любую архитертуру
Так вы определитесь, вам нужно на любую или ARM?
Если код не написан конкретно под особенности MSVC, проблем быть не должно.
ARM таргет не сильно отличается от IA-32. Невыровненные обращения к памяти имеются, порядок little-endian. Отличия лишь в модели памяти и атомарных инструкциях. CAS vs LLSC

Чем больше платформ с различными компиляторами могут собрать и запустить ваш код, тем меньше в нём проблем и тёмных мест.
В текущей кодбазе, с которой я работаю, поддерживаются 5 CPU платформ и 6 различных компиляторов.
Все зависит от сложности кода, используемых библиотек, и, да, оптимизации под платформу (ее всегда делают на контроллерах) — правда?
Знаю несколько проектов (промышленных), где код, разработанный с одним компилятором пару лет не могли «вычистить», чтобы собрать другим, под ту же платфому.

А так да, «Hello World» легко скомпилировать под огромное количество платформ.
Есть еще задача: запустить его, не перекомилируя, на скалируемых платформах (большие контроллеры -> малые контроллеры). Это получится только на x86.
Поддержка железа и оптимизация — это как раз моя работа.
А код-база, поверьте, не маленькая.
Вас не смущает что linux-дистрибутивы со многими гигабайтами исходного кода выпускаются на множестве платформ?

Знаю несколько проектов (промышленных), где код, разработанный с одним компилятором пару лет не могли «вычистить»

Гнать взашей всех причастных

запустить его, не перекомилируя, на скалируемых платформах

Что, вы на Quark запустите SSE и хотя бы CMOV без фоллбека? «Большие» контроллеры это какие?
Вас не смущает что linux-дистрибутивы со многими гигабайтами исходного кода выпускаются на множестве платформ?

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

Что, вы на Quark запустите SSE и хотя бы CMOV без фоллбека? «Большие» контроллеры это какие?

Нет конечно, SSE там не будет. Но есть подозрение, что и в «больших» контроллерах (на Intel Core/Xeon) этих инструкций тоже нет.
Вас не смущает что linux-дистрибутивы со многими гигабайтами исходного кода выпускаются на множестве платформ?

Они всегда и изначально для этого задумывались (ядро, по крайней мере)

Все с точностью до «наоборот»
Linux изначально проектировался только под i386
Ну конечно, а когда в ядро добавлялась поддержка других архитектур, его интерфейсы ни разу не переписывались… ага.
Вообще, на всякий случай, напомню, что в Linux вообще нет стабильного API, и это позиция Торвальдса.
По поводу того, под какие архитектуры изначально проектировался Linux, Вы можете убедится по ссылке, которую я приводил выше. Думаю, что авторитета Торвальдса в этом вопросе достаточно.
О чем мы спорим? Мое утверждение, которое вызвало вопросы, в том, что Linux-ядро так разрабатывается, чтобы поддерживать разные платформы. Я выбрал выражение «изначално так задумывалось». Ну ладно, не изначально, но позже — все-равно оно разрабатывается с учетом многоплатформенности. И не надо Товальса тут цетировать, чтобы понять это. А почему многоплатформенность Linux-ядра была упомянута как пример написания многоплатформенных проектов? Я понятия не имею. Обычно проекты так не пишут. Очень часто они существуют только на одной платформе, в виду особенности рынка, пользовательской базы. А потом раз, и появляются новые рыночные обстоятельства. И возникает задача портирования на другие платформы. Мое мнение было таково, что это не просто сделать (а зачастую, проще переписать проект с нуля). При этом, при сохранении x86 системы команд (как пример, портирование проекта с десктопа на embedded) сделать это проще.
Ядро — это иголка в стоге сена.

Теперь добавилась еще и ARM

Теперь? А раньше не было что-ли? Загляните в arch/arm. «Теперь» появились «десктопные» дистрибутивы.

Но есть подозрение, что и в «больших» контроллерах (на Intel Core/Xeon) этих инструкций тоже нет.

Куда они пропали?
Теперь? А раньше не было что-ли?

Я имел ввиду добавились к хорошо поддерживаемым. Производители ARM-чипов вложили много сил в улучшение поддержки, не так давно. Тоже самое делал Intel, но слегка пораньше (и до сих пор продолжает делать)

Куда они пропали?

Их не использовали. Но я не говорю обо всех, конечно.
2) Какие dsp вы имеете ввиду? Я встречался только с премиальными fpga с pcie в качестве dsp. Но это совсем другой сегмент, там обычно xeon в роли host процессора.
3) Промышленные контроллерами я занимался на прошлой работе. Там совершенно другой софтверный стек с программированием через scada систему.
Графика нужна не везде, но примеров где нужна тоже достаточно.

Думаю получится как с intel-фонами. Да, работают. Но смысла переходить с arm -никакого. Особенно пока цену не опустили до уровня mediatek.
1) Те, которые я знаю ( TMS320C66x ), сами имют на борту ARM-ядра. Но так же знаю, что PLX продвигает свою имплементацию и другим производителяи. Думается, это вопрос недалекого будущего.
2) Ну, видимо, кто-то пересматривает подходы к софтверным стекам для скалирующихся контроллеров.

C Intel чипами для телефонов действительно, пока не выходит. С таблетками/планшетами чуть получше.
Если требуется именно переходить с ARM-а, то наверное смысла нет, а вот когда предстоит выбирать ARM vs. x86, то есть варианты. Мы их и рассматриваем в данном блоге.
Вы можете себе представить стек коммуникационных протоколов для Bluetooth, поддержка файловой системы, либо алгоритм оптимизации записи адресов flash-памяти, написанный с нуля на ассемблере, или на embedded С?
Я — могу :-)
Представить, или написать код? image
Написать, конечно )
Сам через это проходил (стек протоколов Bluetooth по железячной спецификации).
Вы ещё MIPS забыли он тоже себя, так же как и ARM, хорошо себя чувствует на рынке.
Возможно. Но я в MIPSax ну совсем не силен.
Кстати, полез проверил.
В оборудовании Brocade (самый крупный производитель SAN оборудования) используется архитектура PowerPC, это не MIPS но тоже RISC. И я сильно сомневаюсь, что когда либо они перейдут на x86 или ARM.
Отвратительно он себя чуствует. Не живёт, а выживает. Остался фактически только в роутерах (хотя там он прописался прочно, да) и в каких-то чисто китайских разработках.
Здрасте, вы наверно плохо ориентируетесь в рынке.
Broadcom, Atheros (который недавно был куплен Qualcomm-ом), Cisco, Linksys, Ralink и MikroTik это вряд ли как вы выразились «каких-то чисто китайских разработках».
Чисто китайские разработки — это всякие Yeeloongи. А всё, что вы перечислили — это как раз «роутеры» (в широком смысле — сетевое оборудование). Или Ralink уже начал SOC'и для автомобилей или там телефонов на MIPS'е делать? Как-то не слыхал.
Sign up to leave a comment.