IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Une explication nécessaire : 16 bits, 32 bits, etc.


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2003
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 22
    Par défaut Une explication nécessaire : 16 bits, 32 bits, etc.
    salut,
    je voudrais savoir ce que signifie théoriquement et concretement lorsqu'on dit qu'un programme est d'une version 16 bits, 32 bits, 64 bits, etc.
    Merci pour tout

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 937
    Billets dans le blog
    6
    Par défaut
    je pense que cela tient au jeu d'instructions du processeur d'une part (mais compatibilité ascendante), mais que l'influence la plus grande est liée au mode d'adressage de la mémoire, donc à sa pagination éventuelle.

    à vérifier !
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    Non en fait c'est surtout et essentiellement la taille des entiers de base. En Pascal/Delphi, il s'agit du type Integer. Sous Delphi 1 (16 bits), ce type a une taille de 16 bits - 2 octets - donc peut contenir des valeurs de -65536 à 65535. Sous Delphi 2+ (32 bits), ce type fait 4 octets. En 64 bits, il en fait 8.

    Les entiers de base étant le type le mieux géré par le processeur. On parle donc de processeurs 16 bits, 32 bits ou 64 bits.

    Mais en effet cela a des retombées immédiates sur les paginations mémoire et ce genre de chose. Par exemple, en 16 bits, un tableau ne peut excéder les 65535 octets.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  4. #4
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Bonjour,

    version 16 bits, 32 bits, 64 bits
    A la base, il s'agit de la taille du bus mémoire.
    C'est-à-dire du nombre de bits que le processeur peut charger en faisant un seul adressage mémoire.

    Les programmes sont dits 16, 32 ou 64 bits loorsque les compilateurs exploitent cette largeur de bus pour optimiser les accès, avec les conséquences exposées par sjrd.

  5. #5
    Membre chevronné Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Par défaut
    Citation Envoyé par Graffito
    Bonjour,


    A la base, il s'agit de la taille du bus mémoire.
    C'est-à-dire du nombre de bits que le processeur peut charger en faisant un seul adressage mémoire.

    Les programmes sont dits 16, 32 ou 64 bits loorsque les compilateurs exploitent cette largeur de bus pour optimiser les accès, avec les conséquences exposées par sjrd.
    Ce n'est pas plutot la taille des registres du processeur ( qui n'a pas toujours été égal à la largeur du bus) ?

  6. #6
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Bonjour,

    Ce n'est pas plutot la taille des registres du processeur ( qui n'a pas toujours été égal à la largeur du bus) ?
    Exact, en 1985, l'intel 8088 (bus 8 bits) utilisait un jeu d'instruction 16 bits, celui du 8086 (bus 16bits).

    Celà dit, il existe des instructions fonctionnant sur des paires de registres.
    Exemple : addition 16bits sur processeurs 8 bits.

  7. #7
    Membre éprouvé
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Par défaut
    Citation Envoyé par sjrd
    Sous Delphi 1 (16 bits), ce type a une taille de 16 bits - 2 octets - donc peut contenir des valeurs de -65536 à 65535
    Juste une petite chose, 16 bits, c'est
    soit -32767 à 32768 (entier signé)
    soit 0 à 65535 (entier non signé)

    mais pas -65535 à +65535

    sinon +1 pour tout
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  8. #8
    Membre chevronné Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Par défaut
    En fait c'est le contraire: -32768 à 32767

  9. #9
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 142
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 142
    Par défaut
    @Mushroom7 : + 1 !

    Sinon, juste une précision :
    Ce n'est pas plutot la taille des registres du processeur
    la taille du registre « PC » (Program Counter). Car certains registres peuvent être plus petits.
    Mes 2 cts,
    --
    jp

  10. #10
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    Citation Envoyé par TicTacToe
    Juste une petite chose, 16 bits, c'est
    soit -32767 à 32768 (entier signé)
    soit 0 à 65535 (entier non signé)

    mais pas -65535 à +65535
    Euh oui j'ai pas fait attention Mais comme l'a fait remarquer Mushroom, toi non plus

    Sans rancune
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  11. #11
    Membre éprouvé
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Par défaut
    yep
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

Discussions similaires

  1. [Image] Création d'une image Niveaux de Gris 16 bits
    Par Panthère Bleue dans le forum Calcul scientifique
    Réponses: 9
    Dernier message: 13/07/2006, 19h41
  2. Lire bit à bit une image JPEG
    Par moumoute15 dans le forum Images
    Réponses: 1
    Dernier message: 10/06/2006, 15h13
  3. problème d'affichage d'une image au format DDS (24-bit)
    Par thunderbird dans le forum DirectX
    Réponses: 2
    Dernier message: 22/03/2006, 11h00
  4. Une introduction à l'assembleur 80x86, 32 bits, GNU GCC
    Par pierre.jourlin dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 04/04/2005, 17h34
  5. Réponses: 1
    Dernier message: 28/03/2005, 12h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo