1

Control demain sur le 68k, et il y a quelques trucs que je ne sais pas:

-Est-ce qu'on peut modifier le SR quand on est pas super user?
-Dans mon cours, il y a marqué que l'interruption de niveau 7 ne peut pas être intérrompu. Il se passe quoi quand le masque d'interruption dans le SR est à 7 ?
-MOVE (sans .B .W .L) est de quel taille?
-Qu'est ce qui se passe quand 2 interruptions de même niveau sont déclanchées?

Merci de ne pas répondre si vous n'êtes pas sûr: il vaut mieux savoir qu'on ne sait pas, plutôt que de savoir quelque chose de faux ^^

2

3

4

Merci beaucoup Martial smile

En ce qui concerne les interruptions, je pensais surtout aux interruptions vectorisées (et pas aux interruptions auto-vectorisées), mais je suppose que ça ne change rien.
Ce que je voulais savoir, c'est si pendant (par exemple) une interruption de niveau 4 est en train d'être traitée, est-ce qu'une autre interruption de niveau 4 est ignorée, ou à son tour traitée.

5

6

Jyaif (./1) :
-Est-ce qu'on peut modifier le SR quand on est pas super user?
Oui (via l'instruction move <ae>, sr).
-Dans mon cours, il y a marqué que l'interruption de niveau 7 ne peut pas être intérrompu. Il se passe quoi quand le masque d'interruption dans le SR est à 7 ?
Toute interruption de niveau 7 peut interrompre une interruption de niveau 7.
-MOVE (sans .B .W .L) est de quel taille?
Word (mais peut-être que ça dépend du logiciel d'assemblage...)
-Qu'est ce qui se passe quand 2 interruptions de même niveau sont déclanchées?
La deuxième est inhibée.
Lorsqu'une interruption est perçue, son niveau est comparée au masque du registre d'état. Si le niveau est inférieur ou égal au masque, elle est inhibée. Le niveau 7 n'est pas masquable en revanche.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

7

./5 > Adress Error est une exception, mais pas une interruption.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

8

Sasume (./6) :
Si le niveau est inférieur ou égal au masque, elle est inhibée. Le niveau 7 n'est pas masquable en revanche.


Ça sert à quoi d'avoir un masque de niveau 7 alors? Avoir un masque de niveau 6 suffit, non?

9

Effectivement.
Cependant, 3 bits sont nécessaires tout de même pour coder 6, alors peut-être que ça simplifiait certains trucs internes de mettre un niveau 7.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

10

11

Martial Demolins (./10) :
Euh... neutral truc que je pige pas... tu parles du masque des auto-int là? de quelles interuptions parles-tu?
Des interruptions (de manière générale).
Sasume (./6) :
Jyaif (./1) :
-Est-ce qu'on peut modifier le SR quand on est pas super user?
Oui (via l'instruction move <ae>, sr).

Wow. Le 68kguide se trompe? cheeky
Non, c'est moi ! J'avais oublié de lire le "pas" dans la phrase de jf.
Effectivement, l'exécution de move <ae>, sr déclenche une exception Privilege Violation si on n'est pas super user.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

12

Jyaif (./1) :
-Est-ce qu'on peut modifier le SR quand on est pas super user?

Seulement le CCR, comme ça a été dit.
-Dans mon cours, il y a marqué que l'interruption de niveau 7 ne peut pas être intérrompu. Il se passe quoi quand le masque d'interruption dans le SR est à 7 ?

6 ou 7 ne change rien pour le masque d'interruption.
-MOVE (sans .B .W .L) est de quel taille?

.W
-Qu'est ce qui se passe quand 2 interruptions de même niveau sont déclanchées?

Il me semble que l'interruption est enregistrée et déclenchée dès que le masque le permet. En revanche, les "pending interrupts" ne sont que des flags (là, je suis sûr à 100%), donc s'il y a 2 interruptions de même numéro déclenchées pendant que c'est masqué, une seule sera retenue et exécutée quand on démasque.
Sasume (./6) :
Jyaif (./1) :
-Est-ce qu'on peut modifier le SR quand on est pas super user?
Oui (via l'instruction move <ae>, sr).

C'est faux, tu ne peux pas faire un move to SR en mode utilisateur, on utiliserait ça pour passer en superviseur sinon. wink Tu vas te taper une "Privilege violation" si tu essaies.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

13

ok!
Merci à vous tous. J'aurais peut être d'autres questions d'ici tard ce soir... Mais quand même merci ^^

14

Rien à voir avec le 68k, mais cette question (dont je n'ai pas la réponse) me pose problème:

"Un processeur a un bus d'adresse de 27 bits et il utilise des mots de 32 bits. Quelle est la taille maximum de mémoire qu'il peut adresser?"
(les parties de la question en gras étaient aussi en gras dans l'énoncé)

C'est tout ce que j'ai comme information. A priori je dirais 2^27 octets, mais est-ce que ça serait pas (32/8)*2^27 octets ?

15

Je pense que ce sont effectivement (32/8)*2^27 octets.

J'explique mon raisonnement: Le 68000 a un bus d'adresse de 23 bits, mais il peut addresser 2^24 octets parce qu'il peut lire un word à la fois (et il y a des modes pour lire juste un des 2 octets, mais pas une paire d'octets commençant par une adresse impaire, c'est pour ça qu'il y a les Address Errors).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

16

Pourquoi 32/8 ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

17

Le nombre d'octets dans un mot de 32 bits.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

18

Oui, mais je ne comprends pas comment ça permet d'étendre l'adressage confus (et ton analogie avec le 68k ne me permet pas de comprendre non plus)
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

19

Peut être qu'un processeur qui "utilise des mots de 32 bits" ne peut pas adresser des octets ou 1 par 1 ou même 2 par 2.

20

Au fait, le 68k comprend 23 broches d'adresse, mais il comporte deux broches (UDS et LDS) qui remplissent le rôle d'un 24e bit de bus d'adresse.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

21

!call spectras
--- Call : spectras appelé(e) sur ce topic ...

22

./19 > Mouais. Ça me paraît ambigu tout ça. L'énoncé manquerait de précision ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

23

Sasume (./18) :
Oui, mais je ne comprends pas comment ça permet d'étendre l'adressage confus

Parce que les derniers bits de l'adresse sont toujours présupposés zéro, parce qu'un word de la machine (32 bits dans ce cas) est lu à la fois. Donc alignement obligatoire, sinon Address Error (ou Bus Error sur certaines machines, SPARC par exemple).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

24

Je crayonne Kevin, mais ça dépend peut-être des architectures et des choix faits. J'ai travaillé sur des DSP qui utilisaient des mots de 16 bits (d'ailleurs je me suis rendu compte à un moment que le char faisait 16 bits et que dans leur compilo sizeof(char) == sizeof(short) bang), et on avait bien un mot de 16 bits à chaque adresse.
Ceci dit c'est sans doute un peu tard pour l'exam grin
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

25

"Un processeur a un bus d'adresse de 27 bits et il utilise des mots de 32 bits. Quelle est la taille maximum de mémoire qu'il peut adresser?" (les parties de la question en gras étaient aussi en gras dans l'énoncé)
Ca dépend de la façon dont la mémoire est adressée.

Dans le cas du 68k, comme le faisait remarquer Kevin, le bus d'adresse est relié à deux mémoires, et deux lignes d'activation indépendantes permettent de lire soit l'octet d'une mémoire, soit l'octet de l'autre, soit les deux à la fois.
Ainsi les adresses impaires voient en réalité exactement la même adresse que l'adresse paire inférieure, mais avec l'autre ligne d'activation mise.

Exemple :
-> 42 sur bus d'adresse, bit MSB => lit un octet à l'adresse 84 (42x2 +0).
-> 42 sur bus d'adresse, bit LSB => lit un octet à l'adresse 85 (42x2 +1)
-> 42 sur bus d'adresse, bits MSB et LSB => lit les deux octets précédents simultanément (dont un word à l'adresse 84).
[edit: en relisant un post plus haut, on indique que ces bits se nomment UDS et LDS]

C'est également pour ça qu'il est impossible de lire un word à une adresse impaire.
Avec cette architecture, on peut adresser (taille du bus de données) x (nombre d'adresses sur le bus d'adresse) octets.


Néanmoins cette architecture n'est pas universelle. Les x86 ne fonctionnent pas comme ça, par exemple. Si mes souvenirs sont bons, l'adresse sortie sur le bus d'adresse accès toujours au même octet (et une seule ligne d'activation en régit l'accès). L'avantage c'est qu'il est possible de lire des mots de la taille du bus de données, même non alignés, sans aucun impact sur les performances.
Dans ce cas là, la taille de la mémoire adressable ne dépend que du nombre d'adresses que le bus d'adresse peut exprimer, et absolument pas de la taille du bus de données.

(à noter que même si globalement le x86 fonctionne de cette façon, certaines instructions étendues (SSE2 notamment) nécessitent un alignement sur 128 bits. De plus, l'architecture du Northbridge joue sur les performances lors d'accès non alignés par les procs Intel)



Sinon, pour revenir aux exceptions du 68k, il y a un ordre particulier de priorités. En cas de déclenchement simultané de plusieurs exceptions, elles sont traitées les unes après les autres par ordre de priorité (ce qui veut dire que tu les retrouves en ordre inverse sur la pile superviseur). Cet ordre est assez mal décrit par 2 malheureuses pages dans la doc du 68k.
De plus, la levée d'une exception au cours du traitement d'une exception passe le processeur en mode halt (plus qu'à le réinitialiser). Normalement, ceci ne peut se produire que si l'adresse donnée par le ssp n'est pas accessible (impaire, non mappée, ...)

26

Ok, merci, le controle est passé ^^

27

Et as-tu eu la question du ./14 qui a suscité tant de débats? wink
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

28

29

./27 non smile
Je demanderais peut être au prof cette question plus tard.

./28 Moyen... la partie sur le 68k oui, mais les parties sur les périphériques beaucoup moins... (il fallait connaître la doc sur certaines périphériques par coeur... même si ils sont utilisés "souvent", c'est pas cool sad)

30

C'est quel genre de questions ?
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.