Vinnaren i pepparkakshustävlingen!
2021-12-29, 08:44
  #1
Medlem
DrDoaks avatar
Alla vet att nackdelen med assembler är att det är tillverkarspecifikt beroende på dess hårdvara, det vill säga olika processorer har olika inställningar.

Samtidigt är det ju i mångt och mycket samma operationer som utförs. Inom till exempel byggbranschen har vi kommit långt med standardisering av rörstorlekar, så att oavsett vilket märke du har, så är det likvärdiga dimensioner. Borde inte hårdvarutillverkare kunna skapa liknande standarder för assembler?

Jag förstår att antalet bitar påverkar vissa saker, men om man ändå ska ha kommandon på kanske fem tecken så borde det ju ändå kunna lösas av en kompilator, eller hur?
Citera
2021-12-29, 09:30
  #2
Medlem
tnems avatar
Man använder exempelvis inte samma rörstorlekar, bara jämför USA med Europa så använde de tum och vi metriska dimensioner.

Sedan byggar man lite olika, det finns olika krav och regler. Krav på tätskikt i badrum skiljer exempelvis.
Citera
2021-12-29, 11:28
  #3
Medlem
mikaelss avatar
Citat:
Ursprungligen postat av DrDoak
Alla vet att nackdelen med assembler är att det är tillverkarspecifikt beroende på dess hårdvara, det vill säga olika processorer har olika inställningar.

Samtidigt är det ju i mångt och mycket samma operationer som utförs. Inom till exempel byggbranschen har vi kommit långt med standardisering av rörstorlekar, så att oavsett vilket märke du har, så är det likvärdiga dimensioner. Borde inte hårdvarutillverkare kunna skapa liknande standarder för assembler?

Jag förstår att antalet bitar påverkar vissa saker, men om man ändå ska ha kommandon på kanske fem tecken så borde det ju ändå kunna lösas av en kompilator, eller hur?
Det är ju vad en kompilator gör, översätter till maskinkod, och maskinkoden är ju naturligtvis maskinberoende. Beroende på processorarkitektur, minnesmodell, antal register, CISC/RISC etc så ser ju instruktionssetet olika ut, och därav även maskinkoden. Det handlar inte om processorns 'inställningar', utan om dess egenskaper.
Det var ju därför man skapade högnivåspråk.
Citera
2021-12-29, 12:36
  #4
Medlem
JohannesSnajdares avatar
Standardiserat är ju precis vad man har gjort genom att införa högnivåspråk som abstraherar bort hårdvaran (till lite olika hög grad) genom kompilatorer & interpreterarer.

ADA/C är fortfarande tämligen maskinnära - Javascript är väl bland de längst bort i den andra änden av spektrat.

Att det finns olika processorer har ju en del förklaringar. Dels att viss arkitektur är lämpligare för vissa sorters uppgifter (RISC vs. CISC), dels tradtioner & "religion" - det finns ett antal spelare på marknaden som alla har "pinkat in sitt revir", t.ex. Intel.

Att de frivilligt skulle övergå till någon konkurrents modell är inte troligt - de är helt enkelt för stora. AMD seglade ju upp som ett billigare alternativ och tillverkade i början rena Intel-kloner. Numer har de sina egna varianter av cpu:er som kräver sina egna speciella kompilatorer.
Citera
2021-12-30, 00:46
  #5
Medlem
Citat:
Ursprungligen postat av DrDoak
Alla vet att nackdelen med assembler är att det är tillverkarspecifikt beroende på dess hårdvara, det vill säga olika processorer har olika inställningar.

Samtidigt är det ju i mångt och mycket samma operationer som utförs. Inom till exempel byggbranschen har vi kommit långt med standardisering av rörstorlekar, så att oavsett vilket märke du har, så är det likvärdiga dimensioner. Borde inte hårdvarutillverkare kunna skapa liknande standarder för assembler?

Jag förstår att antalet bitar påverkar vissa saker, men om man ändå ska ha kommandon på kanske fem tecken så borde det ju ändå kunna lösas av en kompilator, eller hur?
Alltså, för det första så måste jag säga att idéen är ju väldigt "bra"... Men så kommer ju delen där faktum fortfarande kvarstår att varje processor/"integrerad krets" är en egen krets i sig och därmed har ett eget tillvägagångsätt för att göra si eller så... Så, vad du efterfrågar är något ganska omöjligt.

EDIT: Måste dock hålla med den som nu än postade ovanför mig! Hen gör sig mycket förstådd och kan formulera bättre än mig (som suger på att språka)...

Denna människa har också rätt i att C, Java, Python och andra "högnivå"-språk faktiskt används inom många fält.
__________________
Senast redigerad av xiz 2021-12-30 kl. 00:50.
Citera
2021-12-30, 00:56
  #6
Medlem
Citat:
Ursprungligen postat av JohannesSnajdare
Standardiserat är ju precis vad man har gjort genom att införa högnivåspråk som abstraherar bort hårdvaran (till lite olika hög grad) genom kompilatorer & interpreterarer.

ADA/C är fortfarande tämligen maskinnära - Javascript är väl bland de längst bort i den andra änden av spektrat.

Att det finns olika processorer har ju en del förklaringar. Dels att viss arkitektur är lämpligare för vissa sorters uppgifter (RISC vs. CISC), dels tradtioner & "religion" - det finns ett antal spelare på marknaden som alla har "pinkat in sitt revir", t.ex. Intel.

Att de frivilligt skulle övergå till någon konkurrents modell är inte troligt - de är helt enkelt för stora. AMD seglade ju upp som ett billigare alternativ och tillverkade i början rena Intel-kloner. Numer har de sina egna varianter av cpu:er som kräver sina egna speciella kompilatorer.
Detta finns att läsa om i till exempel bilagor så som: https://www.amd.com/system/files/TechDocs/43366.pdf som är en specifik manual för just den typen av processorer ifrån AMD. Jag hade en gång en AMD-processor jag tyvärr ej minns namnet på, men som hade en jävligt cool funktion jag hittade i ett sådant .pdf-blad... ... Man kunde stänga av 3/4 cores, dvs. att processorn kördes på 1 core endast vilket var cirka 1,8Ghz i max-läge och 900Mhz i Min-läge typ, men det sjuka var att batteri-sparningen var som "State S06" - DET VILL SÄGA MINST 6-8 TIMMAR BATTERI-TID ISTÄLLET FÖR BARA CIRKA 2-2.5 TIMMAR!!!
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback