Avatar billede snuseren.dk Nybegynder
16. juli 2004 - 15:13 Der er 8 kommentarer og
2 løsninger

Hvorfor er programmeringssprog CPU-uafhængige?

Hejsa :D

Har lige et spørgsmål: Hvordan kan det være, at man kan lave programmeringssprog, der er CPU-uafhængige?

Kompilérer man det bare om til flere forskellige Maskinkode/Assembler sprog?

mvh. Anders
Avatar billede Slettet bruger
16. juli 2004 - 15:16 #1
Ja
Avatar billede snuseren.dk Nybegynder
16. juli 2004 - 15:17 #2
Sorry, overskriften skulle vist have været: "Hvordan kan man lave programmeringssprog CPU-uafhængige?".
Avatar billede roenving Novice
16. juli 2004 - 15:18 #3
-- eller har en runtime-ting, som dechiffrerer koden, som f.eks. Java og javascript bruger ...
Avatar billede Slettet bruger
16. juli 2004 - 15:18 #4
Ok, lidt mere uddybning er måske på sin plads ;-)

Man skal have en compiler til hver CPU-type, man ønsker at oversætte til. (Nogle compilere som f.eks. gcc kan oversætte til flere forskellige CPU-typer.)
Avatar billede snuseren.dk Nybegynder
16. juli 2004 - 15:19 #5
ok, så må den samlede kompilerede fil da fylde mange gange mere, da den indeholder kode til mange forskellige CPU'er..? (Pentium, Celeron, Duron osv osv.)
Avatar billede Slettet bruger
16. juli 2004 - 15:23 #6
De nævnte CPUer hører til samme type, nemlig Intel X86-kompatible, så de kan køre samme kode.
Avatar billede Slettet bruger
16. juli 2004 - 15:24 #7
Det er kun hvis koden er skrevet specifikt til en enkelt af dem, at den ikke kan køre på alle de andre.
Avatar billede arne_v Ekspert
16. juli 2004 - 15:27 #8
Altså:
  - enhver processor arkitektur (=familie af CPU'er) har sit eget instruktions
    sæt (a la: 1 = plus, 2 = minus etc.)
  - de fleste compilere oversætter kilde tekst til binær kode i systemets
    instruktions sæt
  - en executable compilet til x86 kan derfor ikke køre på en SPARC og omvendt
  - en linie kode i et høj niveau sprog bliver normalt oversat til mange
    instruktioner
  - en linie assemble rbliver (næsten altid) oversat til en instruktion
    så der er en 1-til-1 relation mellem assemble rtekst og binær maskin
    kode

De mest almindelige processor arkitekturer idag er:
  x86 også kaldet IA-32
  IA-64 også kaldet Itanium
  SPARC
  PowerPC ofte forkortet PPC
  Alpha

80386 - Pentium IV tilhører alle x86 familien. D.v.s. at man kan compile
en executable som kan køre på alle modellerne.

Man kan også angive compile options som gør at compileren genererer instruktioner
som kun findes i f.eks. Pentium II og opefter.
Avatar billede snuseren.dk Nybegynder
16. juli 2004 - 16:27 #9
Ok. Tak for svarene!

Håber det er iorden at jeg deler pointene mellem Arne V, og Sandbox..

mvh. Anders
Avatar billede snuseren.dk Nybegynder
16. juli 2004 - 16:28 #10
Også tak til Roenving.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester