LINUX.ORG.RU

Ответ на: комментарий от aedeph_

Нужен букварь и учебник по математики для дошкольников.

Это я знаю. В школе по математике не учился вообще.

VadimAlexeev
() автор топика
Ответ на: комментарий от VadimAlexeev

Ну, мне незнание ассемблера не мешает никак. Главное — архитектуру знать и понимать, во что компилятор преобразует твой код. При желании можно промежуточный (ассемблерный) вариант проверить — там на интуитивном уровне все понятно.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от urxvt

Через эмуляторы доступно любое железо. Да хотя бы через Ikarus Verilog.

anonymous
()
Ответ на: комментарий от Macil

Сложно сразу-сходу...

Зато полезно. Кто сказал, что вообще будет легко? Программирование - дело непростое, мозгов требует.

Даже Cortex-M сложно.

Оно вообще ни разу не открытое.

Кстати, а где дают полноценные, открытые, дешевые и доступные SoC?

http://opencores.org/openrisc,orpsocv2

http://milkymist.org/mmsoc.html

anonymous
()
Ответ на: комментарий от Macil

Культовой книгой для IBM PC была Финогенов

Как что-то локальное, русскоязычное, в принципе может быть «культовым»?!?

anonymous
()

Какие нужны знания об архитектуре компьютера для изучения ассемблера?

Никаких. В подходящем учебнике по ассемблеру будут попутно изложены все необходимые сведения об архитектуре.

Manhunt ★★★★★
()
Ответ на: комментарий от anonymous

<br/> Ахренеть! А что прямее?

Писец. Вот и выросло поколение неадекватов.

Про старые, классические CISC слышал? VAX, или, постарше, PDP/11?

Про современные, прямые RISC слышал? MIPS, ARM?

Полностью открытые, Open Source архитектуры не видел? OpenSparc, or1k, LM32

x86 - ублюдство, нагромождение кривизны, налепленной в угоду бинарной совместимости, тянущейся аж от 8080.

anonymous
()
Ответ на: комментарий от Dark_SavanT

Сначала микроконтроллеры.

Если и так, то только открытые. На кой изучать проприетарщину? Ты ведь так и не узнаешь, как она внутри устроена.

С изучением открытых SoC проблема наличия.

Ключевое слово - изучение. Зачем тебе железо?

Нет открытых SoC в железе.

И не надо. Есть симуляторы (даже icarus тянет), есть FPGA.

Для врубающегося в verilog может и интересно, но с нуля курить... нафиг такое.

Не нафиг, а обязательно. Verlog или VHDL вообще должен быть первым языком. Заодно, как дополнительный плюс, после этого уже никогда не будешь бояться параллельного кода.

anonymous
()
Ответ на: комментарий от anonymous

Ну давай, продемунстрируй нам на примере популярного среди простолюдинов ARM - покажи нам чем он прямее интеловской архитектуры.

Слышь, грязи кусок, ты сначала напиши хоть немного приличный компилятор под x86, с его ничтожным количеством регистров (и кучей специальных функций и условий на каждый регистр якобы «общего назначения»).

Надо быть конченным куском говна, чтобы считать, что архитектура с кучей ублюдочных режимов адресации прямее чем полноценный load/store RISC.

anonymous
()
Ответ на: комментарий от Eddy_Em

Ну, мне незнание ассемблера не мешает никак.

Ну так ты тогда и не программист вообще.

Главное — архитектуру знать и понимать, во что компилятор преобразует твой код.

Как ты это будешь понимать, не понимая ассемблера? А в наше время и без понимания тонкостей железа не обойтись. Про те же hazards знать обязательно, чтобы понять, насколько оптимальный код выдал компилятор и что надо в нем подправить, если он все еще недостаточно оптимален.

там на интуитивном уровне все понятно.

Бредишь, бедняжка. Посмотрел бы я на того, кому «интуитивно» понятны read after write hazards (без знания о глубине pipeline) или расстановка команд по pipeline-ам в VLIW.

anonymous
()
Ответ на: комментарий от anonymous

Надо быть конченным куском говна, чтобы считать, что архитектура с кучей ублюдочных режимов адресации прямее чем полноценный load/store RISC.

Это вся твоя аргументация?

anonymous
()
Ответ на: комментарий от anonymous

Ну так ты тогда и не программист вообще.

А я и не говорю, что я — программист. И в профиле у меня написано так.

Как ты это будешь понимать, не понимая ассемблера?

Логически ☺

Посмотрел бы я на того, кому «интуитивно» понятны read after write hazards (без знания о глубине pipeline)

Понятия не имею, что это.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

Про современные, прямые RISC слышал?

Да, у меня случайно тут осталось несколько серверов на па-рисках, ещё не все клиенты перешли на интеловскую архитектуру. А вот ты, похоже, просто сам не понимаешь о чём рассуждаешь.

anonymous
()
Ответ на: комментарий от anonymous

А этого недостаточно, ничтожество ты безграмотное?

Знаешь, какой длины pipeline у современных x86? А соответственно, и латентность и наказание за неправильное предсказание перехода. А все почему? Потому, что ублюдочные инструкции с ублюдочными режимами адресации переписываются в RISC, с нормальным load/store, и только потом исполняются. x86 - это уродливая надстройка над полноценным RISC, и существует она только для идиотской бинарной совместимости.

anonymous
()
Ответ на: комментарий от anonymous

Да, у меня случайно тут осталось несколько серверов на па-рисках, ещё не все клиенты перешли на интеловскую архитектуру. А вот ты, похоже, просто сам не понимаешь о чём рассуждаешь.

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

anonymous
()
Ответ на: комментарий от Eddy_Em

А я и не говорю, что я — программист.

Ну а ТС-то хочет быть программистом. Зачем непрограммист тогда дает ему глупые советы?

Логически ☺

Для того, чтобы логически получить правильный вывод, надо исходить из правильных предпосылок. Иначе логика не работает, есть у нее такой недостаток.

Не зная устройства железа ты не сможешь получить правильные выводы.

Понятия не имею, что это.

Соответственно ты не понимаешь и того, что за херню такую генерит компилятор.

anonymous
()
Ответ на: комментарий от anonymous

Ну а ТС-то хочет быть программистом

Лучше бы трижды подумал сначала: нужна ли ему такая скучная работа.

Не зная устройства железа ты не сможешь получить правильные выводы.

А как ты можешь знать устройство насквозь проприетарного железа?

Соответственно ты не понимаешь и того, что за херню такую генерит компилятор.

Ну, например, sdcc для PIC'ов генерирует элементарный ассемблерный код, т.к. инструкций у PIC'ов — раз, два — и обчелся! И никаких непонятных фиговин, что ты говорил, там нет.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

Так, на минуточку, я занимаюсь разработкой железа.

Слесарем что-ли работаешь? Ну тогда понятно отчего на тему процессоров мы слышим от тебя исключительно неаргументированные выкрики, сопровождаемые бранью в адрес собеседников.

anonymous
()
Ответ на: комментарий от anonymous

Слесарем что-ли работаешь?

Нет, GPU разрабатываю.

Ну тогда понятно отчего на тему процессоров мы слышим от тебя исключительно неаргументированные выкрики, сопровождаемые бранью в адрес собеседников.

Да ты, похоже, или троллоло или на всю тупую бестолковку безграмотная школота.

Изволь, школота, ответить четко и конкретно по всем пунктам. Начни с количества регистров общего назначения, ответь по поводу длины pipeline и того факта, что x86 это надстройка над RISC, добавляющая весьма недетские накладные расходы на декодирование инструкций.

anonymous
()

Умницы, анонимы. Запасаюсь попкорном.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Лучше бы трижды подумал сначала: нужна ли ему такая скучная работа.

Кому программирование кажется скучным, тем, конечно же, вообще не место в профессии.

А как ты можешь знать устройство насквозь проприетарного железа?

По спецификации. Как минимум латентность операций, устройство pipeline, всяческие связанные с hazards констрейны - все всегда публикуют. Без этой информации невозможно было бы и компиляторы писать для таких платформ.

т.к. инструкций у PIC'ов — раз, два — и обчелся! И никаких непонятных фиговин, что ты говорил, там нет.

Вранье. Их там есть. http://www.pictutorials.com/Instruction_Pipeline.htm

anonymous
()
Ответ на: комментарий от anonymous

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

Вот зачем матюкаешься? Я, например, ни слова не знаю из этого — но железяки у меня работают без затыков. А в скором времени планирую ARM начать осваивать, если меня не пошлют любители AVR, желающие у меня кусок шабашки оторвать.

Вранье. Их там есть. http://www.pictutorials.com/Instruction_Pipeline.htm

Ага 0 целых 0 десятых

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Я, например, ни слова не знаю из этого — но железяки у меня работают без затыков.

Это только до первой же проблемы с производительностью кода, который компилятор Си выдал.

Ага 0 целых 0 десятых

Кто ж тебе виноват, что у тебя линух кривой и флеша не умеет?

anonymous
()
Ответ на: комментарий от anonymous

Если и так, то только открытые. На кой изучать проприетарщину? Ты ведь так и не узнаешь, как она внутри устроена.

А использовать ты будешь сферического коня в вакууме?

Ключевое слово - изучение. Зачем тебе железо?

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

не надо. Есть симуляторы (даже icarus тянет), есть FPGA.

Напомнить сколько плисина стоит? Особенно в сравнении с копеечным контроллером или околокопеечной отладкой под него?

Не нафиг, а обязательно. Verlog или VHDL вообще должен быть первым языком. Заодно, как дополнительный плюс, после этого уже никогда не будешь бояться параллельного кода.

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

Dark_SavanT ★★★★★
()
Ответ на: комментарий от anonymous

Это только до первой же проблемы с производительностью кода, который компилятор Си выдал

У меня были такие проблемы. Смотрел ассемблерный код — а компилятор слишком «оптимизировал» сишный. Приходилось директивы препроцессора использовать активно.

линух кривой и флеша не умеет?

Еще мне в рабочий браузер ваш говенный быдлофлешь ставить! Фу!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

Нет, GPU разрабатываю.

Ground Power Units? Ну что же, это тоже хорошая, ответственная работа.

Ну тогда понятно отчего на тему процессоров мы слышим от тебя исключительно неаргументированные выкрики, сопровождаемые бранью в адрес собеседников.

Изволь, школота, ответить четко и конкретно по всем пунктам. Начни с количества регистров общего назначения, ответь по поводу длины pipeline и того факта, что x86 это надстройка над RISC, добавляющая весьма недетские накладные расходы на декодирование инструкций.

Сначала ты требовал чтобы я написал компилятор как условие для того, чтобы ты аргументировал свои высказывания. Теперь снизил требования. Прогресс налицо :)

anonymous
()
Ответ на: комментарий от Dark_SavanT

А использовать ты будешь сферического коня в вакууме?

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

Изучать без железа бессмысленно.

Чушь и бред. Без железа, представь себе, даже разрабатывают компиляторы, драйверы и тому подобное. В том же Интеле, например.

Пока живьём не пощупаешь как оно работает, и не пройдёшься по основным граблям - толку не будет.

Чушь и бред.

Напомнить сколько плисина стоит?

Копейки.

Особенно в сравнении с копеечным контроллером или околокопеечной отладкой под него?

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

Verilog обычному программисту не впился ни разу.

Тупому быдлокодеру - да, не впился. Ему вообще ничего не впилось, кроме «Java за 21 день». А хороший программист обязан знать хотя бы один HDL.

А параллельного кода бояться не нужно, его надо просто уметь писать. Или уметь не писать параллельный код, а обходиться асинхронным.

А Verilog как раз поможет этому научиться.

anonymous
()
Ответ на: комментарий от Eddy_Em

Не увидел, как структура pipeline влияет на выбор последовательности инструкций?

anonymous
()
Ответ на: комментарий от anonymous

Сначала ты требовал чтобы я написал компилятор как условие для того, чтобы ты аргументировал свои высказывания. Теперь снизил требования. Прогресс налицо :)

Ответь конкретно и по теме, безграмотное ничтожество. Да, я требовал, чтобы ты хотя бы описал, как ты будешь писать эффективный компилятор при такой ублюдочной архитектуре файла регистров. И сейчас этого требую - ты обязан обосновать, почему вдруг архитектура с такими уродливыми регистрами лучше чем RISC.

anonymous
()
Ответ на: комментарий от anonymous

Странно. Ты сделал следующие утверждения:

1. Интеловская архитектура уродлива

2. RISC лучше чем интеловская архитектура уродлива

С какого это хрена я «обязан обосновать, почему вдруг архитектура с такими уродливыми регистрами лучше чем RISC»?

Я усомнился в обоснованности этих твоих суждений и попросил привести аргументацию. Ыидя как ты всячески пытаешься уйти от этого, я делаю вывод что ты брякнул что-то, что слышал от других слесарей, которые чинят Ground Power Unit вместе с тобой, а сам в обсуждаемом предмете нихрена не понимаешь.

anonymous
()
Ответ на: комментарий от anonymous

Школоло, у тебя мозг есть? Ты, ничтожное школоло, читать вообще умеешь?

Я утверждаю, что архитектура x86 уродливая и устаревшая, поскольку, во первых, не допускает эффективной компиляции в силу нехватки регистров общего назначения (как результат - ТОРМОЗА от спиллов в стек) и при реализации в железе выливается в уродливую и тяжеловесную надстройку над нормальной архитектурой (RISC, то есть), и как результат - ТОРМОЗА и расход энергии.

Я усомнился в обоснованности этих твоих суждений и попросил привести аргументацию.

Обоснование было приведено. Но ведь ты же школоло, то есть, существо тупое и безмозглое, и потому не поняло и половины слов в обосновании.

Повторяю вопрос для тупой школоты: обоснуй, мразь, преимущество длинного pipeline, большая часть которого занимается исключительно декодированием инструкций, над коротким pipeline любого приличного RISC.

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

anonymous
()
Ответ на: комментарий от anonymous

Чушь и бред. Без железа, представь себе, даже разрабатывают компиляторы, драйверы и тому подобное. В том же Интеле, например.

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

Напомнить сколько плисина стоит?

Копейки.

Ну покажи мне плисину за копейки в которую влезет тот же OpenRISC который как тебе нравится полностью открытый. Уточняю - Cyclone IV и дальше. Минимум за отладку который я вообще видел - это 150 евро на том же OpenCores, но там штука унылая во всех отношениях, хотя для обучения сойдёт.

Тем не менее - 150 евро это уже копейки?

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

Смотри выше какие копейки с какими копейками сравниваются. STM32F100**** серия стоит порядка 3-7 баксов за штуку в зависимости от количества. FPGA ты за такие деньги не найдёшь.

Ладно, хрен с ним, сравниваем отладки - простенькая отладка стоит около 30$. LPC Expresso, STM discovery и прочая мелкая фиговина. Из более интересных - DIHALT'овская отладка(easyelectronics.ru) , там уже около 100$ но и фарша там ощутимо больше.

Я сравниваю навскидку вообще самые дешёвые решения. Если брать девборды от производителя, то там всё ещё более грустно.

А хороший программист обязан знать хотя бы один HDL.

Если не занимается низкоуровнево железом - нахрен оно не надо.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

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

И что? Программист без мозгов не нужен. Программист с мозгами справится.

А учиться без железа ещё и скучно. Даже светодиодом не помигать.

Интересно. На waveform в gtkwave посмотреть можно вместо светодиодов. А светодиодами можно на fpga board поморгать.

Ну покажи мне плисину за копейки в которую влезет тот же OpenRISC который как тебе нравится полностью открытый.

Да всякие младшие модели от digilent, например.

Тем не менее - 150 евро это уже копейки?

Естественно, копейки. По сравнению даже с более-менее приличным PC - и то копейки, хотя и PC нынче копеечные.

STM32F100**** серия стоит порядка 3-7 баксов за штуку в зависимости от количества.

Разница между 7 и 150 евро несущественная. Тебе же нужна ровно одна штука, а не сотни или тысячи.

Если не занимается низкоуровнево железом - нахрен оно не надо.

Надо. Для общего развития, как минимум. Недоразвитые программисты не нужны.

anonymous
()
Ответ на: комментарий от anonymous

поскольку, во первых, не допускает эффективной компиляции в силу нехватки регистров общего назначения (как результат - ТОРМОЗА от спиллов в стек) и при реализации в железе выливается в уродливую и тяжеловесную надстройку над нормальной архитектурой (RISC, то есть), и как результат - ТОРМОЗА и расход энергии.

Странно, а я вот смотрю люди массово переходят с па-рисков на ia64 и никаких тормозов не наблюдают, даже наоборот. Да что там, даже в бытовой технике куда ни плюнь - если АРМ, то тормоз.

Повторяю вопрос для тупой школоты: обоснуй, мразь, преимущество длинного pipeline, большая часть которого занимается исключительно декодированием инструкций, над коротким pipeline любого приличного RISC.

Да что же ты на меня всё время стрелки переводишь. Возьми платку на интеловском камне и на арме с той же тактовой частотой, например, и продемонстрируй насколько быстрее линупс будет грузиться на АРМе. В результаты практического эксперимента я поверю чем в умоиспражнения какого-то слесаря.

Я, конечно же, догадываюсь, что школота не знает, что такое pipeline, не подозревает о разнице в стоимости обращения к регистру и обращения к кешу, и не знает о том, что происходит с pipeline при ошибочном предсказании ветвления.

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

anonymous
()
Ответ на: комментарий от anonymous

И что? Программист без мозгов не нужен. Программист с мозгами справится.

Анонимус с зашкаливающим ЧСВ не нужен.

Интересно. На waveform в gtkwave посмотреть можно вместо светодиодов. А светодиодами можно на fpga board поморгать.

можно на голую бабу посмотреть и на мониторе. Вживую её можно ещё и потрогать

Да всякие младшие модели от digilent, например.

От 180$.

Естественно, копейки. По сравнению даже с более-менее приличным PC - и то копейки, хотя и PC нынче копеечные.

Да вы, батенька, мажор если

Разница между 7 баксов и 150 евро несущественная.

Недоразвитые программисты не нужны.

Повторюсь Анонимус с зашкаливающим ЧСВ не нужен"

Всё знать не получится.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от anonymous

Странно, а я вот смотрю люди массово переходят с па-рисков на ia64 и никаких тормозов не наблюдают, даже наоборот. Да что там, даже в бытовой технике куда ни плюнь - если АРМ, то тормоз.

Аргументация на уровне школоло. Ты сравнивай RISC и x86, работающие на одинаковых частотах и выполненные по одинаковой технологии, идиот.

если АРМ, то тормоз.

ARM на той же частоте всегда уделывает x86 и по производительности, и по энергопотреблению.

Возьми платку на интеловском камне и на арме с той же тактовой частотой, например, и продемонстрируй насколько быстрее линупс будет грузиться на АРМе

Скорость загрузки лялиха никакого отношения к производительности CPU не имеет. Это скорее память и переферия. А по численным бенчмаркам ARM всегда уделывает x86 на той же частоте.

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

Идиот. Повторяю для тупых ничтожеств: доступ к регистровому файлу быстрее чем доступ к кешу. Вопрос для тупого школоло: сколько портов у регистрового файла, сколько портов у кеша, и сколько ALU pipeline-ов у типичного современного суперскалярного ядра? Еще не готов убить себя, ничтожество?

Ну и последнее: ты посмел проигнорировать тот факт, что все современные x86 - это RISC ядро, вокруг которого навешана тяжелая и тормозная обертка, единственная функция которой - обеспечение бинарной совместимости. Если ее убрать, то очевидно же, что производительность будет лучше.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.