next up previous contents
suivant: Commandes monter: Pilote de disque dur précédent: Le registre d'erreurs   Table des matières

Échanges de données avec un disque dur

Certaines commandes, typiquement les commandes d'identification, de lecture et d'écriture que nous verrons ensuite, ont besoin d'envoyer (ou de recevoir) des données du disque dur. Quand le disque dur est prêt à envoyer (ou recevoir) des données, le bit d'attente de données (bit 3) de son registre d'état vaut 1. On peut alors envoyer (ou recevoir) des données vers (ou de) le port de données du contrôleur du disque concerné.

Les disques durs sont des périphériques en mode bloc. Ces échanges ne peuvent donc se faire que par tranche de 256 mots. Lorsque l'envoi ou la réception de la quantité de données définie par la commande en cours (qui est toujours un multiple de 256 mots) est terminée, le disque dur remet le bit d'attente de données de son registre d'état à 0. Si on n'envoyait (ou recevait) pas autant de données que prévu, le bit d'attente de données du registre d'état du disque dur ne serait pas remis à 0 et il resterait alors dans un état d'attente. C'est pourquoi lorsque nous souhaitons écrire moins de 256 mots, on doit compléter l'écriture par l'envoi de données nulles (on écrit des 0), et lorsque nous souhaitons lire moins de 256 mots, on continue la lecture jusqu'à 256 mots sans stocker les données qui ne nous intéressent pas.


next up previous contents
suivant: Commandes monter: Pilote de disque dur précédent: Le registre d'erreurs   Table des matières
nicolas 2006-07-30