Elementaire computerinstructies.
-
- Berichten: 2.589
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.
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.
- Berichten: 4.810
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.
-
- Berichten: 2.589
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.
- Berichten: 4.810
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.
-
- Berichten: 21
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!
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!
-
- Berichten: 2.589
Re: Elementaire computerinstructies.
Bedankt voor de reacties.
En dus heeft het niets te maken met de cpu?DMA wordt geïmplementeerd in de hardware bus (ISA, PCI) en het apparaat zelf
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?Overigens is de x86 architectuur volledig gedocumenteerd, en is alle documentatie ook
- Berichten: 5.679
Re: Elementaire computerinstructies.
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.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?
In theory, there's no difference between theory and practice. In practice, there is.
-
- Berichten: 2.589
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?
Vind ik ergens wat uitleg hoe drivers werken en hoe je ze eventueel zelf maakt?
- Lorentziaan
- Berichten: 5.079
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
Any sufficiently advanced technology is indistinguishable from magic.
There is no theory of protecting content other than keeping secrets Steve Jobs
- Berichten: 5.679
Re: Elementaire computerinstructies.
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.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?
In theory, there's no difference between theory and practice. In practice, there is.