Springen naar inhoud

Elementaire computerinstructies.


  • Log in om te kunnen reageren

#1

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 19 november 2008 - 19:24

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.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Cycloon

    Cycloon


  • >1k berichten
  • 4810 berichten
  • VIP

Geplaatst op 19 november 2008 - 19:48

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.

Veranderd door Cycloon, 19 november 2008 - 19:49


#3

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 19 november 2008 - 20:00

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.

#4

Cycloon

    Cycloon


  • >1k berichten
  • 4810 berichten
  • VIP

Geplaatst op 19 november 2008 - 21:57

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.

#5

acronica

    acronica


  • 0 - 25 berichten
  • 21 berichten
  • Gebruiker

Geplaatst op 20 november 2008 - 10:43

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!

Veranderd door acronica, 20 november 2008 - 10:45


#6

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 20 november 2008 - 11:27

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?

#7

Rogier

    Rogier


  • >5k berichten
  • 5679 berichten
  • VIP

Geplaatst op 20 november 2008 - 11:37

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.

#8

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 20 november 2008 - 12:58

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?

#9

qrnlk

    qrnlk


  • >5k berichten
  • 5079 berichten
  • Lorentziaan

Geplaatst op 20 november 2008 - 13:41

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

#10

Rogier

    Rogier


  • >5k berichten
  • 5679 berichten
  • VIP

Geplaatst op 20 november 2008 - 13:57

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.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures