Logicielsmoto.com

Nous sommes le 22 Oct 2021, 01:30

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 277 messages ]  Aller à la page Précédente  1 ... 15, 16, 17, 18, 19
Auteur Message
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 03 Avr 2021, 19:18 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1522
Localisation: Brest
Attention, les appels en ROM du MO sont aussi différent de ceux du TO. Plus courts en nombre d'octets, ils sont aussi plus lent, et ne fonctionnent pas 100% à l'identique entre les deux (les codes d'échappement de PUTC ne sont pas strictement les mêmes et PUTC ne régit pas pareil sur CHR$(0) par exemple.)

Mission Liftoff n'utilise pas le timer. Préhisto fait tout par comptage des cycles. Il n'a dit dans son message d'explication sur le forum.

Pourquoi on peut pas changer l'IRQ du MO5 ? Parce que le MO5 n'a pas du tout de timer.

L'irq timer MO5 est +/- branchée sur la période du secteur. Du coup, je suppose qu'en branchant un MO5 aux Etats-Unis, l'IRQ timer serait 20% plus rapide (différence entre le 60hz et le 50hz du secteur). Reste à trouver une rallonge de plus de 6000km. :lol: :tourne: [EDIT] Non c'est une bêtise (j'ai loupé le 1er avril :bouffon: ), elle est branchée sur le signal VBL qui est totalement défini par le quartz de la machine et l'automate d'affichage. Donc branchée sur du 60hz, ca n'ira pas plus vite. Désolé. :L

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 18 Avr 2021, 19:19 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 420
bonjour,

voila je voulais mettre 58 valeurs par FCB dans mon tableau, c'est possible ?
mais j'ai une erreur si je mets plus de 33 valeurs (ici 34)!

FCB 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2

erreur compilation c6809 :

(5791)0:PACFCB1.ASS Missing Operand
5791 FCB 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2>>

000001 Total Errors
Abort trap: 6

merci.

[EDIT] : bon je pense que je vais mettre les valeurs des tableaux dans un fichier .BIN et le charger dans une BANK

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 18 Avr 2021, 20:37 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1522
Localisation: Brest
Ben tu split le FCB en deux, sur plusieurs lignes !

Après oui des data binaires c'est encore mieux.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 18 Avr 2021, 22:42 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 433
Citation:
Oui un Hitachi dans les machine de seconde génération et on aurait assurément fait des trucs aussi bien

Citation:
L'irq timer MO5 est +/- branchée sur la période du secteur.

Sam, stp ... :q

Toi, t'as pas lu mon post dans l'autre fil ou j'explique que le 6309 est sorti des années après la conception des TO8/8D/9+ et au moment où Thomson arrêtait la micro.

Heureusement que tu t'es corrigé de toi même pour le timer :) . Le 50 Hz est produit par le gate-array, comme toutes les sous-horloges (sérialisation vidéo, E et phi (ou Q)). Tout est absolument synchrone dans un Thomson et tout est dérivé de l'horloge système à 16 MHz.

Et pourquoi cette fréquence n'est pas réglable ? Parce ce n'est pas un PIA 6846 qui la produit. Et pourquoi il n'y a pas de 6846 ? Pour une double raison de coût (le MO5 est une version low-cost du TO) et d'obsolescence (Thomson a commis l'erreur de conserver le 6846 des protos 6800 sur le T9000 alors que cette puce entrait déjà dans sa phase d'obsolescence).

Du reste, pour les TO8/8D/9+, Thomson a commencé par recycler des 6846 produits pour TO9 et TO7/70 (la partie ROM n'étant plus utilisée) puis a pris en charge la prod du chip en interne (à travers sa filiale EFCIS) car il était devenu impossible de s'en procurer.

Et en vérité, le timer programmable c'est bien, mais c'est pas d'une utilité fabuleuse. Les MO prouvent qu'on peut s'en passer en usage courant et il n'a été gardé sur les machines de troisième génération que pour la compatibilité. Sa ROM de 2 Ko n'est plus utilisée et il ne gère plus que des fonctions historiques indispensables. Déjà en passant du TO7 au TO7/70, Thomson a dégagé plusieurs signaux sur le bus d'extension et notamment une ligne externe de déclenchement de son timer.

Enfin pourquoi les MO et les TO sont "presque" compatibles, mais en fait pas du tout. Ca c'est une question qui n'est pas vraiment tranchée, mais le MO5 est un dérivé low-cost du TO et le développement s'est fait en parallèle par deux groupes distincts dans l'équipe R&D. Outre les choix techniques permettant le low-cost, il est probable qu'il y ait eu une volonté de ne pas cannibaliser de facto les ventes du TO7/70, sorti en même temps.

Encore une fois, je repète pour Neotenien qui ne veut pas lâcher l'affaire, un 6809 à 2 MHz, super, alors fais-le directement tourner à 1 GHz et l'affaire sera définitivement réglée. Comme j'ai tenté de l'expliquer sur l'autre fil de discu, ce n'était techniquement pas possible de le faire à l'époque. Un point c'est tout. Donc si ce n'était pas possible, ça ne sert a rien de vouloir réécrire l'histoire. Anachronisme quand tu nous tiens ...

Précisons enfin pour rebondir sur la remarque de Daniel qu'en mode natif sur 6309, on gagne certes 15% à fréquence égale, même sans utiliser les instructions supplémentaires, mais ça tourne vite vinaigre, parce qu'à cause des registres et des interruptions supplémentaires, la pile ne se gère plus de la même manière et certains vecteurs d'interruptions ne sont pas correctement fixés. Il faut donc réécrire la ROM Thomson et bon nombre de logiciels.

Le seul exemple réel qui existe, c'est le TO9+ de Jacques qui tourne OS-9 optimisé pour le 6309. Et faut reconnaitre que ca tourne franchement pas mal. J'ai aussi un 6309E dans mon MO5, mais devinez quoi ... je ne m'en sers pas. Ou plus exactement, uniquement en mode émulation 6809E. Précisément pour les raisons citées plus haut.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 19 Avr 2021, 07:16 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 433
Et au fait, le Z80 un RISC qui utilise un pipeline ? Quelles sont tes sources pour affirmer cela ? Ca m'intéresse. A mon humble avis, tu fais un gros et malencontreux amalgame avec les Z180 et eZ80. Mais je veux bien qu'on me prouve le contraire.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 19 Avr 2021, 08:12 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 435
Localisation: France
Il y a bien un (petit) pipeline sur le Z80, il est capable de fetcher une instruction pendant le dernier cycle d'exécution de la précédente.

Voir par exemple ici: http://www.msxarchive.nl/pub/msx/mirror ... m#fig_2.25

Avantage annulé sur l'Amstrad CPC car le Z80 ne peut pas accéder à la mémoire pendant ce cycle (c'est le tour du contrôleur vidéo d'utiliser la mémoire, et en partie sur le ZX spectrum (même principe que sur le CPC, sauf que le contrôleur vidéo ne bloque le CPU que s'il a vraiment besoin d'accéder à la mémoire, donc pas pendant l'affichage de la bordure ou du blanking, et de plus sur le ZX le ralentissement n'affecte que certaines zones de la mémoire et.. pas les mêmes selon les modèles du ZX Spectrum).

Pour accélérer le CPU il n'y a qu'une seule solution: ne pas partager la RAM entre le CPU et la vidéo. C'est le cas sur le MSX par exemple, ou sur le VG5000.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 19 Avr 2021, 08:57 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 433
Ton (petit) pipeline porte un nom, ca s'appelle un prefetch. C'est l'ancêtre du pipeline.

Dans un pipeline instruction, on décompose l'exécution d'une instruction en sous-tâches plus petites, si bien que dans certaines situations, on peut commencer l'exécution d'une ou plusieurs instructions suivantes pendant que l'instruction courante se termine. Tout le game consiste ensuite à développer un jeu d'instruction optimisé pour cette technique. Attention, cela n'a rien à voir avec l'architecture superscalaire - on les confond souvent - puisque le pipeline est sériel et le superscalaire consiste à avoir plusieurs unités d'exécution en parallèle. Les deux techniques présupposent l'existence d'un microcode, or le Z80 était câblé avec un automate d'état, comme tous les processeurs 8 bits de cette époque.

Pour les personnes qui souhaiteraient approfondir cette notion, je recommande l'étude du pipeline du processeur Alpha, un chef d'oeuvre d'orchestration. Mais sa complexité grandissante est aussi devenue son pire ennemi avec le temps. On a fait beaucoup plus complexe depuis, chez Intel notamment, mais avec les emm* en conséquence (je pense aux failles de sécurité type Spectre/Meltdown).

Citation:
Pour accélérer le CPU il n'y a qu'une seule solution: ne pas partager la RAM entre le CPU et la vidéo. C'est le cas sur le MSX par exemple, ou sur le VG5000.

Il n'y a pas que ça, il y a aussi le problème des cycles de rafraichissement de la RAM. D'ou le fameux "0 wait state" dont on a tant fait la publicité à partir des derniers 386 et d'où la mémoire cache à partir des 486, qui est statique - donc pas de cycle de rafraichissement.


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 277 messages ]  Aller à la page Précédente  1 ... 15, 16, 17, 18, 19

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 7 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com