[Article] la logique sequentielle et les ordinateurs dans Starmade

Discussion dans 'Les systèmes logiques' créé par takethispie, 19 Juillet 2014.

  1. takethispie

    takethispie l'Ancien

    voici un article sur la logique séquentielle et les ordinateurs dans starmade, on va d'abord parler de la logique séquentielle: ce que c'est, la différence avec la logique de base dite combinatoire, son utilité dans starmade etc
    ensuite nous parleront des ordinateur (plus précisément CPU) qui sont en quelque sort "l'aboutissement" de la logique séquentielle au maximum de sa complexité.

    n'etant pas un excellent rédacteur à défaut d'avoir une mise en page d'un article type je vais tout faire pour vous faire comprendre et aimer mouahaha ce monde vaste à la foi simple et incroyablement difficile de la Logique !

    commençons par le commencement:
    toi qui lit cet article oui toi là-bas
    derrière ton écran là ! peut-être as-tu déjà entendu parler de la logique peut être même que tu as déjà fait ton hangar automatisé mais ce n'est pas le cas de tout le monde alors on va faire un rapide résumé de ce qu'est la logique combinatoire.

    la logique combinatoire c'est la logique de base , celle qui est la base du calcul
    booléen, et peut être un peu comparé aux opérations mathématique de base: un AND (ET) agira comme la multiplication , un OR(OU) comme une addition , ect à la différence près que le résultat ne peut être que 1 ou 0
    l'exemple le plus flagrant serait le OR avec ces deux entrée à 1, car 1 + 1 =2 mais avec un OR on pourrais dire que 1 + 1 = 1 car dans tout les cas un 2 en binaire, sa
    n’existe pas.


    la logique séquentielle: principe
    venons-en aux choses sérieuse, c'est quoi la différence entre la logique combinatoire et la logique
    séquentielle ?

    sur wiki il est dit que les fonctions logique combinatoire résultent de l'analyse combinatoire des variations des grandeurs d'entrées uniquement et que les fonctions logique
    séquentielle résultent de l'association de plusieurs fonctions logiques combinatoires synchronisées grâce à une "horloge" qui donne le tempo; les valeurs de sorties dépendent non seulement des valeurs d'entrée, mais aussi de l'instant ou elles sont mesurées (avant ou après la synchronisation par l'horloge).

    c'est tout de même une définition compliqué et pas très explicite c'est pourquoi je me suis dit qu'une
    définition à ma sauce, sa serai bien mieux qu'un copier collé de wiki.

    la logique combinatoire c'est de la logique "immédiate" , sur le moment , on veut savoir si un joueur est dans une zone et qu'il appuye sur un bouton ? un petit AND suffit on peut bien sur faire des choses bien plus compliqué qu'un simple AND mais le principe est la: il y a plusieurs evenement qui arrive en même temp et on veut le savoir et realiser une action en consequence, on creer la fonction logique et voilà c'est partit !

    maintenant prenons le problême a l'envers donc pas à quoi sert la logique sequentielle mais qu'est ce qui
    nécessite cette dernière:

    comment savoir si un évenement est déjà arrivé lors de l'execution de la fonction logique ?

    imaginez une sas avec un systeme qui n'ouvre pas la porte tant que la deuxieme porte du sas est ouverte, une personne voulant rentrer
    appuie sur le bouton (comme un vrai bouton c'est a dire on puis off dans un laps de temp court)
    maintenant, la porte exterieur est ouverte mais est entrain de se refermer, une personne arrive et apuie sur le bouton, la porte ne s'ouvre pas tant que la porte extérieur n'est pas fermé
    sauf qu'au moment ou la porte est fermé la personne a déjà appuyée sur le bouton

    essayez de realiser ce circuit, vous n'y arriverez pas, si vous reussissez c'est que vous avez utilisé la logique séquentielle !

    la possibilité la plus intéressante de la logique séquentielle c'est celle de pouvoir prendre en compte des
    événement arrivés avant l’exécution de la fonction logique


    rentrons dans le vif du sujet:

    pour la logique combinatoire les portes logique de bases sont le AND , OR , NOT

    pour la logique séquentielle il s'agit des "latch" ou bascules: RS NOR, RS NAND , JK
    mais il ne faut pas oublié que c'est les porte de la logique combinatoire qui assemblées realisent toutes les fonctions logique séquentielle.
    la RS NOR est la plus commune et simple, utilisée enormement dans minecraft et ce sera (ou c'est déjà) le cas dans Starmade. il s'agit de la plus petite cellule memoire elle peut contenir qu'un seul bit de donnée et est celle qui devait être utilisé pour le problème que j'ai posé plus haut

    elle comporte 2 entrée et 1+1 sortie (la sortie et son inverse)
    R et S en entrée pour Reset et Set , Q et Q avec une barre au dessus

    lorsque l'on active S la memoire passe à 1 et si l'on active R la memoire passe a zero
    une chose intéressante c'est que si on active S la memoire passe à 1 mais ensuite si on desactive , reactive S l'etat de la memoire ne change pas sauf si on active R ou dans ce cas la memoire passe à 0 et c'est la même situation à l'etat 0 et avec l'entrée R ce qui nous amène a une autre caractéristique très très importe et utile de la logique séquentielle:

    contrairement à la logique combinatoire , en logique séquentielle lorsque les signaux d'entrée disparaissent l'etat de la sortie ne change pas.

    c'est donc la solution au problème de sas ! une memoire enrengistre si quelqu'un a appuyé sur le bouton: la porte interieur s'ouvre si la porte exterieur est fermé et que quelqu'un appuie sur le bouton ou a déjà appuyé sur le bouton , il faut bien sur remettre la memoire a zero quand la personne a franchi la porte interieur.

    voilà donc nous avons approfondie un court instant avec la RS NOR mais nous n'allons pas nous attarder sur les autres portes ce serai bien trop long xD

    pour finir avec la logique séquentielle:
    vous voulez faire un ascenseur avec selection d'etage et gestion de plusieurs utilisateurs ?
    faire une affichage lumineux programmable ?
    une gestion de place de hangar libre/occupé automatique ?
    un putain de feux d'artifice avec plein de putain de sequence differentes ?
    un systeme de tir automatique pour votre titan pendant que vous envoyez un message en morse
    au reste de la flotte le tout avec un systeme de message predefinie reprogrammable en temp reel depuis votre poste de pilotage ?
    vous voulez un ordinateur de bord qui gere les degat , les affichant sur une replique 2D ou 3D taille reduite du vaisseau et ferme des sas de securité au niveau des breche dans la coque tout en gerant les départs et arrivés dans les hangar des chasseurs , les dirigeants vers les hangar libre et un espace de docking libre , fermant progressivement des blindage de fenetre (seulement possible si schéma ameliore grandement les performance des portes logique) ?

    LA SEUL REPONSE C'EST: LOGIQUE SEQUENTIELLE !



    les ordinateurs dans starmade:
    une petite partie pour parler des ordinateurs dans starmade:

    actuellement dans starmade il est possible de construire un CPU(processeur) ou, plus adequat, microcontrolleur car toutes les portes logiques de base sont disponible ce qui permet de realiser ainsi tout les systeme sequentielle les plus compliqué pour pouvoir enfin realiser un processeur.
    dans la realité des fait starmade plante car le systeme logique est très mal fait (et je commence a comprendre pourquoi) mais ce n'est pas tout: un processeur un besoin d'avoir tout ces composant synchronisé d'ou l'utilisation d'une horloge malheureusement dans starmade le delay est de 0.5 ou 1 secondes (je ne sais plus) ce qui est bien insuffisant un processeur à cette vitesse ne realiserai que quelques instruction par seconde (pour un vrai processeur sa se chiffre en milliard d'instruction par seconde je le rapelle) mais je vais quand même parler de l'utilité d'un processeur dans starmade au cas où, un jour, le systeme de logique soit aussi performant ou même plus performant que celui de minecraft.


    faire un processeur au premier abord est quelquechose de gratifiant , le fait d'avoir reussit quelquechose que peut de gens savent faire, car ce n'est pas à la portée de tout le monde, ce qui dans ce cas là est en terme de gameplay pas plus utile que le processeur 16bit fait dans minecraft.

    mais il est tout a fait possible de donner une utilité à un processeur , car un processeur ne fait que ce qu'on lui demande l'exemple badass est celui donné plus haut avec l'ordinateur de bord et sa c'est hyper badass !
    la chose la plus importante à savoir c'est qu'un processeur est autonome : on le programme et lui après il marche tout seul (sauf en cas de problème bien sur) on ne touche plus aux entrée de "commande"
    on le lance et il effectue son programme change ses sortie et lit ses entrée "d’événement"
    l'avantage c'est qu'on peut lui faire faire plein de chose en même temp et le reprogrammer !

    sans processeur il faudrai faire un systeme specifique a chaque partie avec de la logique du vaisseau
    installer des portes logique et plein de delay pour avoir des plexdoor d'un hangar qui se ferment et s'ouvrent avec animation, construire un autre systeme pour la gestion des dégats , dans le cas d'un petit vaisseau
    ( < Titan) c'est normal car il n'y a pas assez de place mais pour un gros vaisseau c'est bien plus interessant !
    pourquoi ? car vous n'avez qu'a brancher les sortie sur chaque segment de plexdoor
    brancher des "capteur" sur des entrée du processeur pour gerer les dégats
    rajouter une fonctionnalité est bien plus facile (il reste tout de meme quelques truk a installer bien sur)
    il suffit juste de reprogrammer le processeur pour rajouter ce fameux système de message
    pas besoin d'installer une ram et d'autres composant complexes dans le vaisseau (surtout qu'il n'y aura peut etre plus assez de place)

    puis dire que son vaisseau est geré par un processeur 32bit c'est quand même badass level 10 000 !!
    *bien sur dans le cas utopique ou les processeur deviennent realisable*




    voilà j'espere que cet article vous aura plus , j'ai quand même mis 2 heures à le faire ^^
    Black Shooter et Alphajim aiment ça.
  2. Alphajim

    Alphajim Akksul Barram, leader du Concordat d'Iyssada

    Wah :eek:

    Mais dis-moi, comment on fait un "capteur" de dégâts? :confused:
  3. takethispie

    takethispie l'Ancien

    des porte not juste derriere la coque , elle envoie un signal en continue , sauf quand la coque et detruite et les not avec et à ce moment la y a plus de signal , après tu peut en mettre plusieurs pour une meilleur finesse de detection mais vaut mieux pas trop en mettre, de toute façon c'est pour detecter les dégats majeur ^_^
    Mechanicum aime ça.
  4. Alphajim

    Alphajim Akksul Barram, leader du Concordat d'Iyssada

    Pas mal, je crois que je vais l'utiliser pour un de mes futurs gros ships :p
  5. steph7749

    steph7749 Inge de longue date!

    Sympas le tuto et tres bien expliqué bravo!
  6. Tonner

    Tonner changeforme schizophrène

    comment on fait un Hangar automatisé stp?
  7. Solasis

    Solasis Informaticien en devenir

    Ouep, enfin j'ai beau lire, je comprendrais jamais comment ça marche :/
    Faudrait que tu expliques comment construire un processeur ou des RS et tout avec des screen
    Alphajim et Lamalas aiment ça.
  8. takethispie

    takethispie l'Ancien

    @steph7749 merci sa fait plaisir :)

    @Tonner cherche en utilisant ta matière grise ^^

    @Solasis alors si t'arrive pas a comprendre comment fonctionne une RS NOR t'a pas du tout le niveau pour comprendre comment fonctionne un processeur xD , dans ma video sur la ram j'explique très rapidement comment on fait une rs t'a juste à la construire et après tu regarde comment sa fonctionne en changeant la valeurs des entrée :)
    mais je vais surement faire une video quand même ^^
  9. Solasis

    Solasis Informaticien en devenir

    Je t'emmerde !!!! xD
    Non je ne comprendrais pas pour le processeur :p
    Mais je regarderais ta vidéo x)
  10. Tonner

    Tonner changeforme schizophrène

    @Tonner cherche en utilisant ta matière grise ^^
    je sais comment faire les portes mais les dock j'ai beaux me creusé la cervelle je trouve pas
  11. Solasis

    Solasis Informaticien en devenir

    Tu cherches a faire quoi ?
  12. Tonner

    Tonner changeforme schizophrène

    un system pour que mes drone se dock automatiquement
    j'ai penser a mettre des triger area connecter a l'activation block et 10 block de delay et l'activation connecter au dock
  13. Solasis

    Solasis Informaticien en devenir

    Je ne sais pas si ça marche, mais on peut pas relié un pulseur au core pour qu'il tire le laser de dock ?
  14. Tonner

    Tonner changeforme schizophrène

    pas asser précis
    j'ai penser a mettre des triger area connecter a l'activation block et 10 block de delay et l'activation connecter au dock c'est une bonne idée?
  15. Solasis

    Solasis Informaticien en devenir

    A quoi ça sert de connecter un activation block a un dock ?
  16. takethispie

    takethispie l'Ancien

    non on ne peut pas docker automatiquement des drones ...
  17. Tonner

    Tonner changeforme schizophrène

    autre question
    eceque c'est possible de relié 2 block logique qui sont sur 2 structure différente comme 1 sur un ship et l'autre sur une station?
  18. Alphajim

    Alphajim Akksul Barram, leader du Concordat d'Iyssada

    On t'as dit non Tonner ;)
  19. Tonner

    Tonner changeforme schizophrène

    HORS SUJET IMPORTANT
    N'INSTALLER PAS V9 C'EST UN VIRUS TOUT MES JEUX VIENNE D’ÊTRE SUPPRIMER
    NO FAKE
  20. takethispie

    takethispie l'Ancien

Partager cette page