Help, pls

57 отговора 4 прегледа
в отговор на Masklin #41

добре

Обясни ми какво означава "чипа да се програмира така, че да изпълнява код за някой от споменатите или други процесори". Как става?
Отговор
в отговор на МиГ-31 #42

добре

Абе, Гриша, ти за микроинструкции не си ли чувал?
Отговор
в отговор на Potencialen emigrant #43

Pascal?

Виж сега да те светна нещо--- през март тази година в Испания на една Делфи-конференция беше демонстрирана версия на Делфи, работеща под Linux. Там направиха две форми с ListBox-чета (въобще доста шарени форми), компилираха програмата и тя тръгна... Сега доколкото знам доизкусурват нещата...... Пожелавам ви приятно чакане на Delphi за Linux (а то ще дойде съвсем скоро) :)))
Отговор
в отговор на Azazel #44

не съм

дай да чуем
Отговор
в отговор на Джейн #45

Джейн ?

още ли ти се иска това ? драсни два-три реда ако искаш - има и по-леки неща за собствени нужди - чак от академичните основи няма смисъл май да почваш ...
Отговор
в отговор на МиГ-31 #46

Обяснявам

Изпълняването на програма на машинен код представлява (много грубо) следното: процесора чете байт (или два, или четири ... дължината няма значение) с кода на следващата операция, която трябва да изпълни. Кода се анализира, инструкцията се разпознава и при нужда от паметта се изтеглят операндите. След това операцията се изпълнява - например двата операнда се умножават и резултата се записва на определеното място. С това цикъла за изпълняване на една инструкция завършва и започва следващата итерация .... и така до края на света (или докато спре тока - което от двете стане първо:). Значи ключовия момент, който различава процесорите един от друг е какви операции разпознават и как ги изпълняват. Момчетата от Transmeta са направили ядро, което изпълнява да кажем 50 операции. Съществува начин да заредиш програма в процесора, състояща се (грубо) от отделни функции (да речем 150 на брой), всяка от които е написана с няколко от тези 50 операции. Добавяш описание на машинния език на съответния процесор - например на Pentium IV (вече има такова животно) и работата на процесора на Transmeta представлява следното: извличаме кода на операцията (за pentium-а), гледаме коя от от споменатите 150 фукции отговаря на нея и викаме тази функция. Тя (функцията де) изпълнява същото, което би направил pentium-а, ако срещне тази функция със същите операнди. Резултата е, че процесора на Transmeta работи точно както би работил процесора на Intel. Предварително казвам, че да, това е точно интерпретиране, но и в Intel-ския процесор има такива неща, само че не са програмируеми, а са забити в чипа. Не мога да кажа какво е съотношението скорост на Transmeta/скорост на Intel, но при всички случаи гъвкавостта е невероятна. А и не смятам, че скоростта пада драстично. Та идеята ми беше, че всъщност границата интерпретатор/компилатор е много неясна и размита - какво е C-то, което компилира до код, който Pentium-а интерпретира? Ще кажете: ама за какво му е на процесора да интерпретира, не може ли директно да изпълни инструкцията си? Е там е работата, че не може. Всичко в него представлява преминаване на ток оттук-там според някакви определени състояния и зависимости, тоест така наречените логики. Така че, ако в процесора няма схеми, реализиращи всички негови операции (а то рядко има), трябва да се извършат няколко по-прости операции, за да се постигне желания резултат. Работата на създателите на процесори (и по-точно на презрените математици) е да измислят такива схеми, при които изчисленията да стават най-бързо. Една от причините процесорите напоследък да стават с все повече транзистори е, че за реазлизацията на бързи изчисления се използват огромни структури от логически елементи, така че да не се налага да се изпълняват няколко стъпки (например за умножение), а всичко да става на една стъпка. Всъщност (извини ме, Джейн, ако все още следиш тази дискусия - то стана къде го чукаш, къде се пука :), повечето хора, незапознати добре с технологията на информатиката като цяло, тръгват по погрешен път - хайде първо да направим хардуера, а след това ще утъкмисаме някак и софтуера. Да, преди 20 години е било точно така - хардуера е бил много скъп и всички са се справяли както могат, но сега ... Правилната стратегия е следната - първо решаваме какво ни е нужно като възможности на хардуера - а това става с внимателен анализ на нуждите на хората, алгоритмите с които реализираме програмите и създаване на подходящ език - и след това правим необходимия ни хардуер. Така печелим страшно много - програмистите не се съобразяват с тъпи ограничения, хардуера не пречи на софтуера и въобще - рай. Правени са много такива опити - самия аз съм участвал в един от тях в СУ (така наречената L-система, която разбира се умря) - но доскоро технологиите бяха твърде слаби. Последния (засега) много силен опит да се направи нещо такова е Java - измислена страхотна дефиниция на компютър, в който със симбиоза между хардуер и софтуер получаваш невероятен език за програмиране. Какво ще стане - поживем, увидим.
Отговор
в отговор на Масклин #47

нямаше нужда

Аз си мислех, че ще науча нещо ново а то... хехе
Отговор
в отговор на МиГ-31 #48

Трябваше да се сетя...

.... че няма как да научиш на нещо някой, който е роден научен. Нищо, дано писанията ми да са полезни на някой друг.
Отговор
в отговор на Масклин #49

хехе

Не може да е полезен човек, който взима джавата насериозно:)
Отговор
в отговор на Масклин #50

Обяснявам

Малко уточнение - обикновено микроинструкциите са 10-11 на брой
Отговор
в отговор на МиГ-31 #52

хехе

Grisha, a ako vzimam napr. Prologa naseriozno, pich li sym ili ne? :-PP
Отговор
в отговор на Potencialen emigrant #53

я не се излагай

а се заеми с нещо сериозно:) трябва да тъ връщам един диск, сега се сещам
Отговор
в отговор на Potencialen emigrant #54

да

чувал съм, но, както се досещаш, не съм писал софтуер за него та какво толкова?
Отговор
в отговор на Джейн #55

Help, pls

viz tuk:[линк] moze bi tova shte ti pomogne da uchish daze v USA /viz business/
Отговор
в отговор на МиГ-31 #56

да

Pyrvata mashina, pochti preki naslednici na koyato sa dneshnite. Pri neya se vyvejda mikrokodyt takyv, kakyvto beshe i v procesorite na Intel do 486, vkl. Az pyk sym pisal. I to na C, kolkoto i neveroyatno da zvuchi :-)))
Отговор
в отговор на МиГ-31 #57

я не се излагай

Seriozno e. Nyakoy den (sled 2-3 meseca) shte ti demonstriram predimstvata (diplomnata mi rabota, nali seseshtash). Za diska - mi nyakoya vecher v Djildata na po bira...
Отговор