Автор |
Сообщение |
|
|
Заголовок сообщения: |
|
|
|
Хищник писал(а): simne писал(а): Работа с динамическими структурами это специфика не какого-то конкретного языка а вообще современного программирования. Спорить можно как конкретно это реализовать, но как-то реализовывать надо, потому что нет других способов дальше повышать производительность отдельного ядра на мегагерц - элементарно слишком много тактов универсального процессора тратится на выборку из структур. Это тот случай, когда следует адаптировать реализацию языка под возможности процессора, а не вводить команды с красивой спецификацией, но идущие несколько вразрез с электроникой. Адаптировать процессор к языку или язык к процессору это просто разные подходы - в СССР все делали комплексно (и в железо встраивали специфику ЯВУ), в США узкоспециализировались (и делали совершенно абстрактное от ЯВУ железо, а подгоняли язык), идеал где-то посередине. Хищник писал(а): simne писал(а): В видеокарту много чего встраивают специфического для приложений. Уже доросли до универсального многоядерного процессора. Именно что универсального. И разработчики систем более высокого уровня абстрагирования от реализации уже смотрят, как сделать программный движок, используя возможности аппаратуры.
В видеокарте универсальный процессор это как раз излишняя сущность (по крайней мере сейчас), и он там появился от того что больше нет вариантов увеличить рыночную стоимость продукта.
В программировании процессор видеокарты крайне неудобен, а ввиду особенностей архитектуры ПК, это решение полезно только в узком круге приложений (шина с большой латентностью и работа с основной памятью ПК только посредством основного процессора, организация видеопамяти и процессора видеокарты оптимизирована под небольшую битовость).
А вот именно из прямо полезного, в видеокартах встроена аппаратная поддержка алгоритма z-буфера, обработки списков (наложение текстуры на область), прозрачности, геометрических преобразований и тп, и фактически это сделано именно в виде аппаратной реализации абстракций геометрических алгоритмов.
[quote="Хищник"][quote="simne"]Работа с динамическими структурами это специфика не какого-то конкретного языка а вообще современного программирования. Спорить можно как конкретно это реализовать, но как-то реализовывать надо, потому что нет других способов дальше повышать производительность отдельного ядра на мегагерц - элементарно слишком много тактов универсального процессора тратится на выборку из структур. [/quote] Это тот случай, когда следует адаптировать реализацию языка под возможности процессора, а не вводить команды с красивой спецификацией, но идущие несколько вразрез с электроникой. [/quote]
Адаптировать процессор к языку или язык к процессору это просто разные подходы - в СССР все делали комплексно (и в железо встраивали специфику ЯВУ), в США узкоспециализировались (и делали совершенно абстрактное от ЯВУ железо, а подгоняли язык), идеал где-то посередине.
[quote="Хищник"] [quote="simne"]В видеокарту много чего встраивают специфического для приложений. Уже доросли до универсального многоядерного процессора.[/quote] Именно что универсального. И разработчики систем более высокого уровня абстрагирования от реализации уже смотрят, как сделать программный движок, используя возможности аппаратуры.[/quote]
В видеокарте универсальный процессор это как раз излишняя сущность (по крайней мере сейчас), и он там появился от того что больше нет вариантов увеличить рыночную стоимость продукта.
В программировании процессор видеокарты крайне неудобен, а ввиду особенностей архитектуры ПК, это решение полезно только в узком круге приложений (шина с большой латентностью и работа с основной памятью ПК только посредством основного процессора, организация видеопамяти и процессора видеокарты оптимизирована под небольшую битовость).
А вот именно из прямо полезного, в видеокартах встроена аппаратная поддержка алгоритма z-буфера, обработки списков (наложение текстуры на область), прозрачности, геометрических преобразований и тп, и фактически это сделано именно в виде аппаратной реализации абстракций геометрических алгоритмов.
|
|
|
|
Добавлено: Ср июл 15, 2009 01:51 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
mOleg писал(а): кстати, вопрос. Под виндовс или линукс 64 битные форты уже есть? (ээм, с открытым кодом)
Кстати, вопрос: а где есть хорошее коротенькое описание x86_64?
- я тут надыбал его упоминание в PFE и пытаюсь понять, он 64-битовые регистры использует или 32-битовые.
[quote="mOleg"]кстати, вопрос. Под виндовс или линукс 64 битные форты уже есть? (ээм, с открытым кодом)[/quote]
Кстати, вопрос: а где есть хорошее коротенькое описание x86_64?
- я тут надыбал его упоминание в PFE и пытаюсь понять, он 64-битовые регистры использует или 32-битовые.
|
|
|
|
Добавлено: Ср июл 15, 2009 01:36 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
simne писал(а): Работа с динамическими структурами это специфика не какого-то конкретного языка а вообще современного программирования. Спорить можно как конкретно это реализовать, но как-то реализовывать надо, потому что нет других способов дальше повышать производительность отдельного ядра на мегагерц - элементарно слишком много тактов универсального процессора тратится на выборку из структур. Это тот случай, когда следует адаптировать реализацию языка под возможности процессора, а не вводить команды с красивой спецификацией, но идущие несколько вразрез с электроникой. simne писал(а): В видеокарту много чего встраивают специфического для приложений. Уже доросли до универсального многоядерного процессора.
Именно что универсального. И разработчики систем более высокого уровня абстрагирования от реализации уже смотрят, как сделать программный движок, используя возможности аппаратуры.
[quote="simne"]Работа с динамическими структурами это специфика не какого-то конкретного языка а вообще современного программирования. Спорить можно как конкретно это реализовать, но как-то реализовывать надо, потому что нет других способов дальше повышать производительность отдельного ядра на мегагерц - элементарно слишком много тактов универсального процессора тратится на выборку из структур. [/quote] Это тот случай, когда следует адаптировать реализацию языка под возможности процессора, а не вводить команды с красивой спецификацией, но идущие несколько вразрез с электроникой. [quote="simne"]В видеокарту много чего встраивают специфического для приложений. Уже доросли до универсального многоядерного процессора.[/quote]
Именно что универсального. И разработчики систем более высокого уровня абстрагирования от реализации уже смотрят, как сделать программный движок, используя возможности аппаратуры.
|
|
|
|
Добавлено: Вт июн 30, 2009 01:16 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Хищник писал(а): Такой подход означает вшивание алгоритмов обработки специфичных для языка структур непосредственно в архитектуру процессора. Что есть сильное несоответствие по уровням существования этих концепций.
Работа с динамическими структурами это специфика не какого-то конкретного языка а вообще современного программирования. Спорить можно как конкретно это реализовать, но как-то реализовывать надо, потому что нет других способов дальше повышать производительность отдельного ядра на мегагерц - элементарно слишком много тактов универсального процессора тратится на выборку из структур. Хищник писал(а): В видеокарту не встраивают отдельную поддержку щупалец для марсиан.
В видеокарту много чего встраивают специфического для приложений. Уже доросли до универсального многоядерного процессора.
[quote="Хищник"]Такой подход означает вшивание алгоритмов обработки специфичных для языка структур непосредственно в архитектуру процессора. Что есть сильное несоответствие по уровням существования этих концепций. [/quote]
Работа с динамическими структурами это специфика не какого-то конкретного языка а вообще современного программирования. Спорить можно [b]как конкретно[/b] это реализовать, но как-то реализовывать надо, потому что нет других способов дальше повышать производительность отдельного ядра на мегагерц - элементарно слишком много тактов универсального процессора тратится на выборку из структур.
[quote="Хищник"]В видеокарту не встраивают отдельную поддержку щупалец для марсиан.[/quote]
В видеокарту много чего встраивают специфического для приложений. Уже доросли до универсального многоядерного процессора.
|
|
|
|
Добавлено: Вт июн 30, 2009 00:15 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
simne писал(а): Хотя кстати вот так бы ИМХО и надо делать современную Форт-машину - чтобы ассемблер был не по современным принципам RISC/плоская память/etc, а по принципам Лисп-машин, с тегированной памятью и с обработкой информации в CPU не битами а структурами.
Вот не надо так делать современную форт-машину. Такой подход означает вшивание алгоритмов обработки специфичных для языка структур непосредственно в архитектуру процессора. Что есть сильное несоответствие по уровням существования этих концепций. В видеокарту не встраивают отдельную поддержку щупалец для марсиан.
[quote="simne"]Хотя кстати вот так бы ИМХО и надо делать современную Форт-машину - чтобы ассемблер был не по современным принципам RISC/плоская память/etc, а по принципам Лисп-машин, с тегированной памятью и с обработкой информации в CPU не битами а структурами. [/quote]
Вот не надо так делать современную форт-машину. Такой подход означает вшивание алгоритмов обработки специфичных для языка структур непосредственно в архитектуру процессора. Что есть сильное несоответствие по уровням существования этих концепций. В видеокарту не встраивают отдельную поддержку щупалец для марсиан.
|
|
|
|
Добавлено: Пн июн 29, 2009 22:34 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
mOleg писал(а): кстати, вопрос. Под виндовс или линукс 64 битные форты уже есть? (ээм, с открытым кодом)
Я встречал реализации Форта на интерпретируемых динамических языках, а эти языки сейчас массово переводят перекомпиляцией в 64-бит, то есть получается очень тормозное решение, но настоящее 64-битовое.
Хотя кстати вот так бы ИМХО и надо делать современную Форт-машину - чтобы ассемблер был не по современным принципам RISC/плоская память/etc, а по принципам Лисп-машин, с тегированной памятью и с обработкой информации в CPU не битами а структурами.
Да, сейчас еще подумал про Ghostscript - его вроде уже сделали нейтивно 64-битовым, но говорят что в стандарте Postscript все равно адресация 32-битовая, так что даже и так 64-битового Форта не получается.
[quote="mOleg"]кстати, вопрос. Под виндовс или линукс 64 битные форты уже есть? (ээм, с открытым кодом)[/quote]
Я встречал реализации Форта на интерпретируемых динамических языках, а эти языки сейчас массово переводят перекомпиляцией в 64-бит, то есть получается очень тормозное решение, но настоящее 64-битовое.
Хотя кстати вот так бы ИМХО и надо делать современную Форт-машину - чтобы ассемблер был не по современным принципам RISC/плоская память/etc, а по принципам Лисп-машин, с тегированной памятью и с обработкой информации в CPU не битами а структурами.
Да, сейчас еще подумал про Ghostscript - его вроде уже сделали нейтивно 64-битовым, но говорят что в стандарте Postscript все равно адресация 32-битовая, так что даже и так 64-битового Форта не получается.
|
|
|
|
Добавлено: Пн июн 29, 2009 20:16 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
кстати, вопрос. Под виндовс или линукс 64 битные форты уже есть? (ээм, с открытым кодом)
кстати, вопрос. Под виндовс или линукс 64 битные форты уже есть? (ээм, с открытым кодом)
|
|
|
|
Добавлено: Пн июн 29, 2009 18:49 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
WingLion писал(а): simne писал(а): В том и дело, что макетный образец это далеко еще не продукт, а в лучшем случае полезный инструмент, точнее часть инструмента. Проблема то в чем? Макеты - приборами не рождаются, они ими становятся... в процессе работы над ними (отладки, пограммирования и т.п.) ..и обязательно продаж, сервиса и тд WingLion писал(а): simne писал(а): Продукт это когда есть образец, со всем софтом для решения задачи, доведенный до возможности массового тиражирования и массовых-же продаж, а также надежной сервисной поддержки.
Потому что нормальному клиенту вобщем фиолетово как и на чем решена его задача, если это решение в рамках среднерыночной (для этого клиента) стоимости и среднерыночной-же надежности.
И во что же превращаются эти тезисы в условиях, когда рынка в данной области просто нет и когда вместо "массовости продаж" имеет место "уникальность выпуска"?
Рынок нужно создавать и защищать. Никто его просто так не даст.
Так, для справки: перед выходом windows 95 МС пооткрывала представительства везде где могли быть массовые продажи, постоянно участие в всяческих выставках, даже в бывшем СССР, раздачи бесплатно бета версий, БГ провел мировое турне с кучей шоу..
[quote="WingLion"][quote="simne"]В том и дело, что макетный образец это далеко еще не продукт, а в лучшем случае полезный инструмент, точнее часть инструмента.[/quote]
Проблема то в чем? Макеты - приборами не рождаются, они ими становятся... в процессе работы над ними (отладки, пограммирования и т.п.) [/quote]
..и обязательно продаж, сервиса и тд :))
[quote="WingLion"][quote="simne"]Продукт это когда есть образец, со всем софтом для решения задачи, доведенный до возможности массового тиражирования и массовых-же продаж, а также надежной сервисной поддержки.
Потому что нормальному клиенту вобщем фиолетово как и на чем решена его задача, если это решение в рамках среднерыночной (для этого клиента) стоимости и среднерыночной-же надежности. [/quote]
И во что же превращаются эти тезисы в условиях, когда рынка в данной области просто нет и когда вместо "массовости продаж" имеет место "уникальность выпуска"?[/quote]
Рынок нужно создавать и защищать. Никто его просто так не даст.
Так, для справки: перед выходом windows 95 МС пооткрывала представительства везде где могли быть массовые продажи, постоянно участие в всяческих выставках, даже в бывшем СССР, раздачи бесплатно бета версий, БГ провел мировое турне с кучей шоу..
|
|
|
|
Добавлено: Пт июн 26, 2009 09:32 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
simne писал(а): В том и дело, что макетный образец это далеко еще не продукт, а в лучшем случае полезный инструмент, точнее часть инструмента. Проблема то в чем? Макеты - приборами не рождаются, они ими становятся... в процессе работы над ними (отладки, пограммирования и т.п.) simne писал(а): Продукт это когда есть образец, со всем софтом для решения задачи, доведенный до возможности массового тиражирования и массовых-же продаж, а также надежной сервисной поддержки.
Потому что нормальному клиенту вобщем фиолетово как и на чем решена его задача, если это решение в рамках среднерыночной (для этого клиента) стоимости и среднерыночной-же надежности.
И во что же превращаются эти тезисы в условиях, когда рынка в данной области просто нет и когда вместо "массовости продаж" имеет место "уникальность выпуска"?
[quote="simne"]В том и дело, что макетный образец это далеко еще не продукт, а в лучшем случае полезный инструмент, точнее часть инструмента.[/quote]
Проблема то в чем? Макеты - приборами не рождаются, они ими становятся... в процессе работы над ними (отладки, пограммирования и т.п.)
[quote="simne"]Продукт это когда есть образец, со всем софтом для решения задачи, доведенный до возможности массового тиражирования и массовых-же продаж, а также надежной сервисной поддержки.
Потому что нормальному клиенту вобщем фиолетово как и на чем решена его задача, если это решение в рамках среднерыночной (для этого клиента) стоимости и среднерыночной-же надежности. [/quote]
И во что же превращаются эти тезисы в условиях, когда рынка в данной области просто нет и когда вместо "массовости продаж" имеет место "уникальность выпуска"?
|
|
|
|
Добавлено: Пт июн 26, 2009 06:03 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
WingLion писал(а): simne писал(а): Плохо. Сейчас не коммунизм, нельзя работать "в стол", если вы конечно не рантье.. А чтобы продавать, нужно делать завершенный продукт. В данный момент он используется в макетном образце разрабатываемого устройства в 16-разрядном виде (больше для задачи управления прибором и не нужно), так что никакой работы "в стол" не наблюдается. А то что этот же процессор может в 32-х и 64-х битный превратиться - не есть избыточность. Это всего лишь возможность на будущее.
В том и дело, что макетный образец это далеко еще не продукт, а в лучшем случае полезный инструмент, точнее часть инструмента.
Продукт это когда есть образец, со всем софтом для решения задачи, доведенный до возможности массового тиражирования и массовых-же продаж, а также надежной сервисной поддержки.
Потому что нормальному клиенту вобщем фиолетово как и на чем решена его задача, если это решение в рамках среднерыночной (для этого клиента) стоимости и среднерыночной-же надежности.
[quote="WingLion"][quote="simne"]Плохо. Сейчас не коммунизм, нельзя работать "в стол", если вы конечно не рантье.. А чтобы продавать, нужно делать завершенный продукт.[/quote]
В данный момент он используется в макетном образце разрабатываемого устройства в 16-разрядном виде (больше для задачи управления прибором и не нужно), так что никакой работы "в стол" не наблюдается. А то что этот же процессор может в 32-х и 64-х битный превратиться - не есть избыточность. Это всего лишь возможность на будущее.[/quote]
В том и дело, что макетный образец это далеко еще не продукт, а в лучшем случае полезный инструмент, точнее часть инструмента.
Продукт это когда есть образец, со всем софтом для решения задачи, доведенный до возможности массового тиражирования и массовых-же продаж, а также надежной сервисной поддержки.
Потому что нормальному клиенту вобщем фиолетово как и на чем решена его задача, если это решение в рамках среднерыночной (для этого клиента) стоимости и среднерыночной-же надежности.
|
|
|
|
Добавлено: Пт июн 26, 2009 03:30 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
simne писал(а): Потому что есть такие практические задачи (и их с каждым днем все больше), где выхода за 32-битовый объем памяти уже достаточно для существенного увеличения производительности. Как правило, больше 4 Гб - это динамическая память, к ней доступ небыстрый. simne писал(а): Тоже вариант. Кстати, 64-битовые процессоры действительно дают ускорение не только за счет большей адресуемой памяти, а также за счет того что активно применяются задачи где нужно 256-битовое умножение и естественно на 64-битовом умножителе 256-битовые умножения получаются существенно быстрее чем на 32-битовом.
Такой большой умножитель - определенная проблема, и непонятно, зачем мог бы понадобиться. Наиболее точно представимые физические объекты (атомные часы) вполне укладываются в 60 бит точности. Разрядность растет для алгоритмов DSP, использующие длинные свертки или фильтры высоких порядков. Может потребоваться их постобработка, например, возведение в квадрат результат Multiple & Accumulate может превратить 36-40 бит аккумулятора в 72-80.
[quote="simne"]Потому что есть такие практические задачи (и их с каждым днем все больше), где выхода за 32-битовый объем памяти уже достаточно для существенного увеличения производительности. [/quote] Как правило, больше 4 Гб - это динамическая память, к ней доступ небыстрый. [quote="simne"]Тоже вариант. Кстати, 64-битовые процессоры действительно дают ускорение не только за счет большей адресуемой памяти, а также за счет того что активно применяются задачи где нужно 256-битовое умножение и естественно на 64-битовом умножителе 256-битовые умножения получаются существенно быстрее чем на 32-битовом.[/quote]
Такой большой умножитель - определенная проблема, и непонятно, зачем мог бы понадобиться. Наиболее точно представимые физические объекты (атомные часы) вполне укладываются в 60 бит точности. Разрядность растет для алгоритмов DSP, использующие длинные свертки или фильтры высоких порядков. Может потребоваться их постобработка, например, возведение в квадрат результат Multiple & Accumulate может превратить 36-40 бит аккумулятора в 72-80.
|
|
|
|
Добавлено: Чт июн 25, 2009 21:45 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
simne писал(а): Плохо. Сейчас не коммунизм, нельзя работать "в стол", если вы конечно не рантье.. А чтобы продавать, нужно делать завершенный продукт.
Никакой продукт в процессе разработки не появляется завершенным из пустоты.
Есть процессор, который компилируется в ПЛИС (программируемую логику), и у его исходного кода есть параметр - разрядность, который можно поставить 16, можно 32, можно 64 и т.д. формально можно сколько угодно разрядов поставить, просто смысл ставить параметр разрядности выше 32 быстро теряется, если к рабочей ПЛИС подключено только 64MB памяти.
В данный момент он используется в макетном образце разрабатываемого устройства в 16-разрядном виде (больше для задачи управления прибором и не нужно), так что никакой работы "в стол" не наблюдается. А то что этот же процессор может в 32-х и 64-х битный превратиться - не есть избыточность. Это всего лишь возможность на будущее.
[quote="simne"]Плохо. Сейчас не коммунизм, нельзя работать "в стол", если вы конечно не рантье.. А чтобы продавать, нужно делать завершенный продукт.[/quote]
Никакой продукт в процессе разработки не появляется завершенным из пустоты.
Есть процессор, который компилируется в ПЛИС (программируемую логику), и у его исходного кода есть параметр - разрядность, который можно поставить 16, можно 32, можно 64 и т.д. формально можно сколько угодно разрядов поставить, просто смысл ставить параметр разрядности выше 32 быстро теряется, если к рабочей ПЛИС подключено только 64MB памяти.
В данный момент он используется в макетном образце разрабатываемого устройства в 16-разрядном виде (больше для задачи управления прибором и не нужно), так что никакой работы "в стол" не наблюдается. А то что этот же процессор может в 32-х и 64-х битный превратиться - не есть избыточность. Это всего лишь возможность на будущее.
|
|
|
|
Добавлено: Чт июн 25, 2009 21:28 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Хищник писал(а): simne писал(а): А покажите мне, пожалуйста, продукт, в котором используются данные процессоры с 64-битовым объемом памяти (ну скажем, 5 гигабайт) и ПО базируется на 64-битовом Форт? А почему, если 64 бита, то обязательно объем памяти? Потому что есть такие практические задачи (и их с каждым днем все больше), где выхода за 32-битовый объем памяти уже достаточно для существенного увеличения производительности. Хищник писал(а): У меня и 128-битный Форт есть, но он обрабатывает не 2^128 ячеек, а 128 бит данных.
Тоже вариант. Кстати, 64-битовые процессоры действительно дают ускорение не только за счет большей адресуемой памяти, а также за счет того что активно применяются задачи где нужно 256-битовое умножение и естественно на 64-битовом умножителе 256-битовые умножения получаются существенно быстрее чем на 32-битовом.
[quote="Хищник"][quote="simne"]А покажите мне, пожалуйста, продукт, в котором используются данные процессоры с 64-битовым объемом памяти (ну скажем, 5 гигабайт) и ПО базируется на 64-битовом Форт? [/quote] А почему, если 64 бита, то обязательно объем памяти? [/quote]
Потому что есть такие практические задачи (и их с каждым днем все больше), где выхода за 32-битовый объем памяти уже достаточно для существенного увеличения производительности.
[quote="Хищник"]У меня и 128-битный Форт есть, но он обрабатывает не 2^128 ячеек, а 128 бит данных.[/quote]
Тоже вариант. Кстати, 64-битовые процессоры действительно дают ускорение не только за счет большей адресуемой памяти, а также за счет того что активно применяются задачи где нужно 256-битовое умножение и естественно на 64-битовом умножителе 256-битовые умножения получаются существенно быстрее чем на 32-битовом.
|
|
|
|
Добавлено: Чт июн 25, 2009 21:22 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
simne писал(а): А покажите мне, пожалуйста, продукт, в котором используются данные процессоры с 64-битовым объемом памяти (ну скажем, 5 гигабайт) и ПО базируется на 64-битовом Форт?
А почему, если 64 бита, то обязательно объем памяти? У меня и 128-битный Форт есть, но он обрабатывает не 2^128 ячеек, а 128 бит данных.
[quote="simne"]А покажите мне, пожалуйста, продукт, в котором используются данные процессоры с 64-битовым объемом памяти (ну скажем, 5 гигабайт) и ПО базируется на 64-битовом Форт? [/quote]
А почему, если 64 бита, то обязательно объем памяти? У меня и 128-битный Форт есть, но он обрабатывает не 2^128 ячеек, а 128 бит данных.
|
|
|
|
Добавлено: Чт июн 25, 2009 20:29 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
simne писал(а): И для них есть 64-битный Форт?
Для форт-процессоров есть даже N-битный Форт.
[quote="simne"]И для них есть 64-битный Форт? [/quote]
Для форт-процессоров есть даже N-битный Форт. :)
|
|
|
|
Добавлено: Чт июн 25, 2009 20:24 |
|
|
|
|