BG Development


Страници: (11) [1] 2 3 ... последна »  ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Различен ли е машинния език на всеки процесор?
georgib1
Публикувано на: 09-01-2017, 13:39
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 838
Регистриран на: 26.09.16



Заглавието?И ако е - преди като са писани на машинни езици програмите на различните pc-та не са ли отказвали?
PMEmail Poster
Top
dvader
Публикувано на: 09-01-2017, 13:50
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 3561
Регистриран на: 12.07.05



Ъъъ, какви "различни PC-та"?
Именно, писали са за всяка машина отделно.


--------------------
I find your lack of faith disturbing
PM
Top
georgib1
Публикувано на: 09-01-2017, 13:54
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 838
Регистриран на: 26.09.16



QUOTE (dvader @ 09-01-2017, 13:50)
Ъъъ, какви "различни PC-та"?
Именно, писали са за всяка машина отделно.

Това имах предвид.Щото, ако на всеки процесор е различна командата, когато го напишеш на твоя компютър, а идеш да го продадеш на съседа с различен процесор - бам, не работи.Това исках да питам, всеки процесор дали има различен машинен език.Мерси!
PMEmail Poster
Top
Stilgar
Публикувано на: 09-01-2017, 13:56
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 11150
Регистриран на: 13.05.08



Ми то и сега е така ако продаваш binary.


--------------------
Опитахме се да го направим както трябва, но стана както винаги.
PMEmail PosterUsers Website
Top
georgib1
Публикувано на: 09-01-2017, 14:01
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 838
Регистриран на: 26.09.16



Е добре де, като напишем кода и транслаторът като преведе кода на машинен език, който процесора да разбере.След това като пратим .exe-to на някой нали е преведено на машинния език на нашия компютър, а при него работи също?Как става тоя номер?

Това мнение е било редактирано от georgib1 на 09-01-2017, 14:05
PMEmail Poster
Top
TrustHavic
Публикувано на: 09-01-2017, 14:07
Quote Post



Име: Станимир
Група: Потребител
Ранг: Активен

Мнения: 255
Регистриран на: 30.04.14



Нали за това е ОСто
PMEmail Poster
Top
frozener
Публикувано на: 09-01-2017, 14:08
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 899
Регистриран на: 30.01.11



QUOTE (georgib1 @ 09-01-2017, 14:01)
Е добре де, като напишем кода и транслаторът като преведе кода на машинен език, който процесора да разбере.След това като пратим .exe-to на някой нали е преведено на машинния език на нашия компютър, а при него работи също?Как става тоя номер?

И аз не го знам това. icon_lol.gif За какво въобще почнах с указатели и шитаци като не са ми обяснили основни неща за компютрите? icon_lol.gif
PMEmail Poster
Top
martinradev
Публикувано на: 09-01-2017, 14:10
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 221
Регистриран на: 06.08.14



Очевидно не на всеки процесор.
Има различни архитектури. Някои предлагат супер сетове на дадена архитектура под формата на специализирани instruction sets. Това е едно от предимството да имаш компилатор -> в даден случай с твоя помощ може да използва някои специализирани инструкции (i.e. gcc vector hints вместо да инлайнваш асембли или да ползваш intrinsics). Когато ги няма, ще го напише под каквато форма може.
Отделно някои архитектури имат специални изисквания, за това след колко цикъла ще е готов резултата и след това примерно не можеш да го четеш или поне ще е undefined. И примерно компилаторът би вкарал nop-ове.
Под други архитектури ще има някакви по-специални изисквания за четене / писане в паметта. Примерно може да изисква супер много цикли докато бъде доставена. В такъв случай компилаторът би наредил инструкциите по такъв начин, че да се получи един вид latency hiding (примерно колкото се може по-рано -> gpu-та... cough cough...)

То що питаш всъщност?
PMEmail Poster
Top
stewie
Публикувано на: 09-01-2017, 14:11
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2345
Регистриран на: 14.07.16



Затова измислиха .NET и Java, кодът се компилира до т.н междинно ниво (MSIL в .NET, byte code в Java), после т.н. виртуалните машини (CLR в .NET JVM в Java), които са инсталирани в ОС-а виждат какво искаш да стартираш и хващат междинният код и го компиларт до т.н. native код, който се разбира от текущата архитектура (x86, x64, amd64, arm). Мисли като това да имаш "брокер"(въпреки, че мразя тази дума и всеки, който се нарича брокер е дребен тарикат) във всяка ОС. Сега за C++ не знам как е положението, навремето като съм писал на Borland C++ под DOS, нямаше проблеми, защото то и машините, на които съм пускал все бяха интелски. А ако пишеш на C++ под VS (демек любимията на някои съфорумници виндоус) ще тръгне на всяка машина с виндоус. Но C++ не съм пипал от държавният си изпит, така че няма да коментирам за него.
PM
Top
Stilgar
Публикувано на: 09-01-2017, 14:12
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 11150
Регистриран на: 13.05.08



QUOTE (georgib1 @ 09-01-2017, 14:01)
Е добре де, като напишем кода и транслаторът като преведе кода на машинен език, който процесора да разбере.След това като пратим .exe-to на някой нали е преведено на машинния език на нашия компютър, а при него работи също?Как става тоя номер?

Не буквално ВСЕКИ процесор. Процесорна архитектура (демек тип процесор). Като компилираш за x86 и го пуснеш на таблета с ARM няма да стане.


--------------------
Опитахме се да го направим както трябва, но стана както винаги.
PMEmail PosterUsers Website
Top
0 потребители преглеждат тази тема в момента (0 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (11) [1] 2 3 ... последна » Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2015 | BG Development | All Rights Reserved
RSS 2.0