Bert F
Artikelen: 0
Berichten: 2.589
Lid geworden op: vr 15 aug 2003, 20:37

Elementaire computerinstructies.

Sinds een paar weken ben ik een boek aan het lezen over de 80386 architectuur, hierin behandeld men zaken zoals paging virtueel, reële en protected mode. Ook al de mogelijk register kommen naar voor kortom het geen ik op het eerste gezicht als computer architectuur zou beschrijven.

Echter toevallig botste ik op een artikel waarin stond uitgelegd hoe dma werkt, dynamisch memory acces, tot mijn verbazing vind ik hier niets van terug in een boek die de 80386 architectuur zou willen beschrijven.

Behoort dit dan niet tot de architectuur? En bestaan er complete referentie, normen wat voor hardware componenten in een bepaalde architectuur verborgen zitten met bijhorende wijze van aansturing?

Kortom als ik een ‘normale’ computer heb en ik wil die op hardware niveau bestuderen zonder enige vorm van software (dus zonder een bestaand besturingssysteem) waar vindt ik dan al de mogelijkheden, eventueel in machine taal of assembly, van aansturing van die hardware.

Groeten.
Gebruikersavatar
Cycloon
Artikelen: 0
Berichten: 4.810
Lid geworden op: ma 24 jan 2005, 20:56

Re: Elementaire computerinstructies.

Kortom als ik een ‘normale’ computer heb en ik wil die op hardware niveau bestuderen zonder enige vorm van software (dus zonder een bestaand besturingssysteem) waar vindt ik dan al de mogelijkheden, eventueel in machine taal of assembly, van aansturing van die hardware.


Alle hardwarefabrikanten maken natuurlijk info over de instructies die ze aan boord hebben. De vraag is alleen of die fabrikant die ook wil delen met Jan van de straat. Hier en daar zal je dus wel info over specifieke hardware vinden, maar je zal er zeker voor op zoek moeten gaan.
Bert F
Artikelen: 0
Berichten: 2.589
Lid geworden op: vr 15 aug 2003, 20:37

Re: Elementaire computerinstructies.

Dus een grootte jongen zoals micosoft koopt die informatie? Of wordt die niet zomaar vrijgegeven? Als je een product verkoopt, bvb een moederbord dan wil je toch dat je klant er mee kan werken. Ik weet wel dat, dat werken in de meeste gevallen gebruik maken van standaard besturingssystemen is maar als je dat nu net niet wilt en iets anders doen met die hardware kan je dan die informatie niet krijgen? Groeten.
Gebruikersavatar
Cycloon
Artikelen: 0
Berichten: 4.810
Lid geworden op: ma 24 jan 2005, 20:56

Re: Elementaire computerinstructies.

Microsoft doet niet aan het laten werken van hardware. Het is vooral de producent van de hardware zelf die zorgt dat zijn hardware kan aangesproken worden en dan kom je bij de drivers uit. Het makkelijkste voorbeeld is misschien wel een grafische kaart. De reden dat bv heel veel nvidia kaarten niet werken onder linux is omdat er geen driver voor handen is die aanroepen van Linux vertaalt naar de specifieke aanroepen die de hardware vereist. Vaak komt de open-source community dan om de hoek kijken die met vallen en opstaan zelf een driver in mekaar probeert te futselen (in de vorm van trial and error). Nu, stel dat de kaart wel werkt (bv onder windows) dan zal er software zijn die bepaalde dingen vraagt aan de GPU om te verwerken. Nu is het zo dat deze software de driver zal aanspreken en niet de hardware op zich. Microsoft komt hier dus helemaal niets bij zoeken, het OS zorgt enkel voor het beheer van het systeem (in de vorm van dat processen correct worden afgehandeld, dat ieder stukje software een deel van de resources krijgt enz...) en niet voor de werkelijke interactie met de hardware, want die levert de hardwareproducent zelf. De reden dat dit alles kan werken is omdat er op voorhand wordt vastgelegd wat de functie-aanroepen zijn die de driver moet kunnen beantwoorden (bv de kaart is DirectX compatibel), hoe de hardware die functie-aanroep dan verwerkt maakt het OS niet meer uit. Je zal dus nauwelijks iets te zien krijgen van de werking van de hardware. De enigste mensen die toegang krijgen tot zulke zaken zijn de personen die de drivers maken of bepaalde instellingen die bv de hardware willen gebruiken voor bepaalde specifieke zaken en zelf hun eigen driver in mekaar willen steken.
acronica
Artikelen: 0
Berichten: 21
Lid geworden op: wo 09 jan 2008, 16:09

Re: Elementaire computerinstructies.

DMA (wat overigens staat voor Direct Memory Access) staat niet in een x86 boek omdat het niets met de CPU te maken heeft. Het idee achter DMA is dat een apparaat direct naar het geheugen kan lezen/schrijven, zonder tussenkomst van de CPU.

Overigens heeft Wikipedia een goed artikel over DMA: Wikipedia - DMA

DMA wordt geïmplementeerd in de hardware bus (ISA, PCI) en het apparaat zelf (netwerkkaart, videokaart), en de beschrijving hiervan staat dus in de handleiding van de hardware bus en van het apparaat. Met wat googlen kun je waarschijnlijk wel een handleiding vinden van ISA of PCI.

Overigens is de x86 architectuur volledig gedocumenteerd, en is alle documentatie ook Gratis beschikbaar!
Bert F
Artikelen: 0
Berichten: 2.589
Lid geworden op: vr 15 aug 2003, 20:37

Re: Elementaire computerinstructies.

Bedankt voor de reacties.
DMA wordt geïmplementeerd in de hardware bus (ISA, PCI) en het apparaat zelf
En dus heeft het niets te maken met de cpu?
Overigens is de x86 architectuur volledig gedocumenteerd, en is alle documentatie ook
Bedankt voor de link. ik kende die al, maar nieuwere procesoren hebben toch meerdere mogelijkheden? zijn die ook zo ergens beschreven of zijn die identiek en alleen sneller?
Gebruikersavatar
Rogier
Artikelen: 0
Berichten: 5.679
Lid geworden op: di 27 apr 2004, 13:40

Re: Elementaire computerinstructies.

Bedankt voor de link. ik kende die al, maar nieuwere procesoren hebben toch meerdere mogelijkheden? zijn die ook zo ergens beschreven of zijn die identiek en alleen sneller?
De nieuwe mogelijkheden omvatten vooral SIMD dingen, zoals de MMX en SSE(2/3/enz) registers en bijbehorende instructies. Die staan op talloze plaatsen beschreven, hier MMX bijvoorbeeld.
In theory, there's no difference between theory and practice. In practice, there is.
Bert F
Artikelen: 0
Berichten: 2.589
Lid geworden op: vr 15 aug 2003, 20:37

Re: Elementaire computerinstructies.

hoe zit het met de hard drve cd rom en floppy disk bestaan daar specifieke afspraken rond, deze worden al tijdens het booten aangesproken dus toch zonder driver?

Vind ik ergens wat uitleg hoe drivers werken en hoe je ze eventueel zelf maakt?
Gebruikersavatar
qrnlk
Lorentziaan
Artikelen: 0
Berichten: 5.079
Lid geworden op: vr 14 jul 2006, 14:35

Re: Elementaire computerinstructies.

De meeste hardware wordt tegenwoordig via Memory-mapped I/O aangesproken.
Any sufficiently analyzed magic is indistinguishable from science.

Any sufficiently advanced technology is indistinguishable from magic.



There is no theory of protecting content other than keeping secrets – Steve Jobs
Gebruikersavatar
Rogier
Artikelen: 0
Berichten: 5.679
Lid geworden op: di 27 apr 2004, 13:40

Re: Elementaire computerinstructies.

Bert F schreef:hoe zit het met de hard drve cd rom en floppy disk bestaan daar specifieke afspraken rond, deze worden al tijdens het booten aangesproken dus toch zonder driver?

Vind ik ergens wat uitleg hoe drivers werken en hoe je ze eventueel zelf maakt?
Ik heb er weinig ervaring mee (ooit in een grijs DOS-verleden met boot sectors lopen klooien), maar ik denk dat je wel wat vindt als je googled op de termen IDE, ATAPI, boot, "boot sector", "master boot record", e.d.
In theory, there's no difference between theory and practice. In practice, there is.

Terug naar “Informatica en programmeren”