2015-12-06 1 views
0

Le champ COND ou le mot de micro-instruction est de 2 bits avec quatre codes différents possibles:Bit d'état de débordement ALU & adresse COND

00 pour aucun saut; 01 pour le saut si N = 1; 10 pour le saut si Z = 1; 11 pour sauter toujours.

Si l'un de ces codes était nécessaire pour tester un bit d'état de débordement ALU nouvellement mis en œuvre, lequel des quatre codes me recommanderiez-vous de sacrifier? Aussi, j'aimerais entendre pourquoi.

Merci!

+0

Ce champ COND est-il dans une instruction de branchement/saut ou dans une instruction de non-branch/jump (et indique que l'instruction ne s'exécutera que si la condition est vraie)? Je pose la question parce que la terminologie est ambiguë et que 00 "no jump" n'a aucun sens dans une instruction de branchement/saut, et que 00 ou 11 n'a aucun sens dans une instruction non-branch/jump. Quel serait le but d'une instruction qui ne fait rien? Si vous avez besoin d'une telle instruction comme remplisseur de code sans effets secondaires, vous pouvez probablement trouver une solution plus efficace que les bits gaspillés dans le codage d'instruction. –

+0

@AlexeyFrunze Le champ COND est dans une instruction branch.jump. J'essaie de comprendre une question d'une affectation qui inclut un code 00 pour ne pas sauter. Donc, si je vous comprends bien, il y a une façon différente de procéder. Cependant, je dois l'implémenter avec des bits. Alors 00 serait la solution, car il n'y aurait pas d'effets secondaires? Merci. –

Répondre

1

Une instruction de saut qui ne saute jamais est pratiquement inutile. OTOH, il y a beaucoup de conditions souhaitables pour les sauts conditionnels, plus de 4 (pensez à 8-16), donc en supporter plus directement est une bonne chose. Vous pourriez réutiliser 00 pour la condition de débordement.

+0

Génial. Votre explication va au-delà de la mission, et j'apprécie cela parce que j'aime apprendre pour l'avenir, et pas seulement une classe. Je vous remercie! –