|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 10:08 pm
Основни положения при писане на С за ПИК
| Автор |
Съобщение |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Основни положения при писане на С за ПИК
Тук пак някакъв спор се заформя ... ако искаш да издоиш процесорчето на 100% няма как да стане на С, нито като перформънс още по-малко като размер на кода. Да обаче при малките процесори идва и друг момент, доколко тази оптимизация е оправдана, дали ако сложиш някой с повечко мозък няма да свършиш работата по-бързо от колкото да пишеш на ниско ниво.
|
| Пет Окт 04, 2013 3:10 pm |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
 Re: Основни положения при писане на С за ПИК
Ми не баш. Асемблерът е просто мнемоника, която се транслира. "Компилиране" е доста неправилно в този контекст, дори макро-асемблерите не "компилират" в традиционния смисъл.
|
| Пет Окт 04, 2013 3:53 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
 Re: Основни положения при писане на С за ПИК
Така е, аз затова на мойто VPA току се чудя как да му викам, асемблер ли, компилатор ли  . Второто е по-вярно разбира се - един ред текст генерира от една до колко бяха, гледам 17 инструкции са за делене 64/32 (но някои FP сложнотии може да генерират и повече), ама пък нали яде и чист 68k асемблерски сорс та изпадам в такива раздвоения  .
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Пет Окт 04, 2013 4:08 pm |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
 Re: Основни положения при писане на С за ПИК
|
| Пет Окт 04, 2013 4:20 pm |
|
 |
|
IvoDimitroff
Ранг: Минаващ
Регистриран на: Пет Апр 20, 2012 2:28 pm Мнения: 24
|
 Re: Основни положения при писане на С за ПИК
Ако не е компилатор как ще определи преходите към адрес?!?!? Ако няма първи пас, как да стане това?!! Едва на втория пас на компилатора се знаят адресите. Никой не може да отгатне кой лейбъл на кой адрес отговаря.
|
| Пет Окт 04, 2013 5:26 pm |
|
 |
|
Vesko
Ранг: Популярен
Регистриран на: Пон Мар 22, 2010 8:52 pm Мнения: 328
|
 Re: Основни положения при писане на С за ПИК
Асемблера да не е еднопасов?  А С компилатора е поне 3 пасов (или поне бяха)
|
| Пет Окт 04, 2013 5:40 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Основни положения при писане на С за ПИК
Иво - не се ядосвай - тука е така  Автора на темата питаше как да накара С компилатора ма микрочип да започне да компилира без да го оплюва с тонове грешки. После беше предложен компилатора на микроелектроника. И най-вероятно аз съм виновен за последващия спор, щото споменах тия компилатори колко безсмислен код правят за дреболии. Не е работата в основните неща на компилатора - той тях си ги прави както трябва - проблема му е в работата с перифериите. Давам прост пример - "лесна" настройка на уарт (или I2C) - компилира се около 1к. код който в рънтайм "разгадава" честотата на ядрото (като е с външен кварц не знам как точно го прави), след което извършва всичките сметки дето ги пише в даташита и след това зарежда контролните регистри със съответните стойности - тва според мен е супер тъпо, щото още в началото на проекта се задава работна честота - и какво му пречи с един макрос да сметне стойностите и да си ги сложи в генерирания асемблер? Това съм го ровил защото останах втрещен как може една команда за настройка на една периферия да глътне толкова много код - рових в генерирания асемблер и не можах да повярвам на ущите си... Това нещо би било полезно ако процесора работи на някаква незнайна честота, ама аз поне не съм виждал подобни изпълнения. Естествено може да се вземе 24хх512xxxxx - той има достатъчно за разхищение. Та така. Извинявам се за предизвикания спор.
|
| Пет Окт 04, 2013 5:49 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
 Re: Основни положения при писане на С за ПИК
И аз не съм виждал еднопасов асемблер. VPA-то е на три паса, но на първия прави много малко. Мисля някой ден да вкарам там едни оптимизации. Всъщност мислех преди 10+ години като го писах, оттогава те стават все по-излишни... [все по-малка част от кода е оригинален 68к асемблер където има място за тия оптимизации, примерно като види move.l d0,d1 да не бърника непременно CC-та, carry и т.н. ако някой ще ги промени след това преди да потрябват; като пиша за vpa директно просто му казвам move.l- (- да не пипа нищо само да муви) или move.l+ (да нагласи Z,N и кво беше но да не пипа C (в power то е в отделен регистър и за него отива още една инструкция). ]
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Пет Окт 04, 2013 5:56 pm |
|
 |
|
Vesko
Ранг: Популярен
Регистриран на: Пон Мар 22, 2010 8:52 pm Мнения: 328
|
 Re: Основни положения при писане на С за ПИК
VPA? Май ми е неизвестно какво е 
|
| Пет Окт 04, 2013 6:25 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Основни положения при писане на С за ПИК
Vesko, за да не ти се налага да четеш целия форум : tgi си има писан негов си ОС (DPS), негови си компилатори, асемблери, Spice, платкаджийска програма, и не знам още какво - всичко изцяло затворен код работещ на машините които той прави. Дал си е имена на програмите, които ние няма от къде да знаем, щото само той си ги ползва - не се търкалят свободно из нета, а и да се търкаляха едва ли някой има подходящия хардуер на който да ги подкара. Така че - не се шашкай като видиш някакво наименование дето никога не си го чувал.
Примерно ако търсиш DPS в гугъл ще видиш освновно "Движение за права и свободи" или руската полиция...
|
| Пет Окт 04, 2013 6:35 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Основни положения при писане на С за ПИК
Търкаля се бре, на доста моторолски трябва да тръгне без особенни грижи.
|
| Пет Окт 04, 2013 6:49 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Основни положения при писане на С за ПИК
"трябва" и "без особени грижи" значи че все пак ще има изненади 
|
| Пет Окт 04, 2013 6:53 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Основни положения при писане на С за ПИК
E така е да.
|
| Пет Окт 04, 2013 6:54 pm |
|
 |
|
Vesko
Ранг: Популярен
Регистриран на: Пон Мар 22, 2010 8:52 pm Мнения: 328
|
 Re: Основни положения при писане на С за ПИК
Много е удобно да си имаш собствена развойна среда. Винаги ще работи точно както очакваш 
|
| Пет Окт 04, 2013 6:57 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: Основни положения при писане на С за ПИК
Не си виновен ти... виновен е тоя (тия) дето са ти наложили тоя начин на мислене. Винаги ми е било любопитно защо толкова пикоборци вярват в мита, че компилаторите настройват периферии, стартират процесори и т.н.? И в други архитектури съм виждал среди дето пробутват код, ама няма такова мислене. Да не говорим за GNU дето пък е точно обратната крайност. Там Ц/Ц++ компилатора не ти слага нито един байт без да си му дал код за това. Нещо повече компилаторът е ограничен само до неща, които се свеждат до съществуващи инструкции. Примерно ако проца няма инструкция за деление GCC *не може* или по-точно не кодира делението. Трябва ти външна библиотека, а тя не е част от компилатора  Та така от една страна има компилатори дето не винаги могат да компилират израз от типа "Х/10" без външна помощ, а от другата компилатори дето перат готвят и мият чинии 
|
| Пет Окт 04, 2013 10:24 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 2 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|