Ordinateurs non compatibles avec IBM PC

Avec le support de la carte SD, deux grandes questions ont eu lieu à une fois - support matérielle pour le bus SPI et le protocole d'interaction avec la carte elle-même.

En principe, SPI peut être mis en œuvre entièrement par programme, mais je voulais aussi être plus jolie et avec le "matériel" aussi, alors j'étais démarré héroïquement pour dessiner un émetteur d'octets dans la conception du circuit. À ma grande surprise, rien de compliqué dans c'était, et plutôt bientôt, j'ai déjà observé à l'écran de l'oscilloscope les paquets 8 bits montantes contenant exactement ce que je voulais. Au fait, j'ai d'abord apprécié la possibilité d'un nouvel oscilloscope, non seulement montrez un tas de signaux, mais également de les combiner logiquement dans le pneu approprié. Il est beaucoup plus agréable de voir que l'oscilloscope a compris que l'octet A5 est transmis, et non manuellement, dans les endroits nécessaires, il y a des transitions de 0 à 1 et inversement.

Pour simplifier la tâche, je n'ai pas essayé de m'adapter à tous les types et variétés de cartes et limitée à la carte d'origine SD (Not SDHC ou d'autres options). Certaines programmations et maintenant le contenu du 0ème secteur de la carte a commencé à afficher à l'écran. Immédiatement après cela, ces caractéristiques ont apporté ces fonctions à une similarité INT 13H, ajouté à l'infirmation de INT 19H (charge de démarrage) et a vu ce qui suit à l'écran:

Depuis à ce moment-là, lors de la lecture, seul le 0ème secteur a toujours été lu, le chargeur de démarrage initial (juste dans ce secteur) n'a pas trouvé le système d'exploitation à télécharger, qui a rapporté. Mais ce sont les petites choses - l'essentiel est que mon stratagème a commencé lentement à se transformer en un vrai ordinateur et même essayé de démarrer!

Ensuite est allé combat la recalcululation secteurs physiques dans des blocs logiques. Ici, j'ai aussi été assis et au lieu de déterminer les paramètres (image), le disque a simplement marqué les numéros d'une instance spécifique de l'image. Avec cette partie, j'ai dû bricoler - pour une raison quelconque, les calculs ont conduit à des résultats complètement inattendus (du tout jamais aimé l'arithmétique sur l'assembleur). Cependant, après une partie du tourment, les secteurs physiques / cylindres / têtes ont commencé à être correctement traduits en blocs logiques, et il est temps d'essayer de démarrer le plus grave.

Naturellement, le téléchargement n'a immédiatement pas passé, mais je ne m'y attendais pas. À l'avance, sachant que dans mon BIOS n'est pas mis en œuvre de fonctions, je mettais toutes les interruptions de la fiche et, lors de l'accès à la fonction non réalisée, toutes les informations nécessaires ont été affichées - à quelle interruption et avec quels arguments dans leur appel. Ensuite, le processus d'écriture du gestionnaire de la fonction correspondante (et plus souvent - juste une prise d'horaire) et le processus s'est poursuivi. Soudainement, tout s'est arrêté sur une fonction généralement absente dans le PC d'origine est l'une des fonctions INT 2F associées au traitement des événements. J'ai vu que DOS définit le type de PC, et il semble ne pas causer d'interruption manquante sur ce typeMais, néanmoins, cela s'est passé et le processus s'est arrêté. Un simple bouchon n'a pas aidé, mais je ne voulais pas mettre en œuvre toute la fonction du principe.

Maintenant, je ne me souviens pas de tout le cours des pensées (beaucoup de choses ont examiné ce moment dans les sources de DOS et dans le processus de téléchargement), mais une fois de plus sur ce "gel", j'ai décidé d'appeler un tas d'interruptions (à ce moment-là J'ai eu une minuterie sur INT 08H) et appuyé sur touche Majuscule. Soudainement, un miracle s'est produit:

Pour être honnête, je sentais beaucoup les émotions pour moi - de faire la voie de la mise en page avec une paire de puces avant de télécharger DOS pour le mois et même des raids courts (en raison du manque chronique de temps) comme plutôt cool (désolé pour se vanter)!

Au fait, j'ai toujours une énigme non résolue avec ce message. Le fait est qu'après l'achèvement de l'interruption de la minuterie DOS commençait à démarrer sans être suspendus à cet endroit, mais pour une raison quelconque, le message sur la copie de Microsoft n'est pas affiché. Il semble que cela ne s'affiche pas non plus sur le présent ordinateur (malheureusement, pour ne rien essayer). Quelle est la cause première - un mystère recouvert d'obscurité. J'ai essayé de comprendre la logique sur codes source Dos, mais n'a pas vu le rassemblement, et je ne voulais pas passer beaucoup de temps. Néanmoins, la question est toujours tourmentée par lentement ...

Après avoir démarré le DOS, la file d'attente est de stimuler d'autres programmes. Probablement, vous pouvez deviner dont le virage était le premier - naturellement, comme on dit, le bon vieux commandant de Norton. Curieusement, c'était sensiblement plus avec lui qu'avec Dos. NC Lorsqu'il a commencé, causé une quantité sauvage de fonctions et, dans certains cas, il n'a pas été possible de faire avec des bouchons simples, devait écrire au moins un minimum de fonctionnalités.

Néanmoins, les problèmes étaient plus quantitatifs que de haute qualité, et il a été bientôt possible d'apporter le processus de téléchargement NC à une achèvement logique:

Telle "intéressant" apparence Conditionné plusieurs raisons:
- L'adaptateur vidéo n'a pas pris en charge les attributs à ce moment-là
- Je n'avais pas la deuxième partie du monogénérateur, qui contient une pseudographie, donc dans les endroits appropriés, il y avait des symboles du bas de la table de code
- Certaines fonctions int 10h n'ont pas été implémentées.

En général, il a été périodiquement surpris que certaines fonctions soient mises en œuvre dans différents programmesoh (et même dans DOS). Par exemple, la commande CLS appelée la fonction INT 10H qui appelle le changement de fenêtre vers le haut. Dans ce cas, l'ensemble de la zone à l'écran disponible a été indiqué comme fenêtre et il a déplacé au nombre de lignes égales au nombre de lignes à l'écran. Puisque je ne m'attendais pas à ce que quelqu'un utilise les fonctions de travail avec Windows du tout, elle ne se dépêche pas de les mettre en œuvre. Le résultat était évident (ou plutôt sur l'écran). Cependant, aux bizarreries de certains programmes reviendront un peu plus loin ...

Après avoir lancé NC, j'avais un désir naturel de l'amener dans un look divin. De plus, une telle partie du travail est parfois encore plus agréable que d'essayer de faire un appareil mort en général. Il n'y avait aucun problème particulier avec les problèmes pseudographiques - juste assez longtemps sur le dessin manuel de personnages (j'étais juste sous la forme d'un code VHDL). Mais avec des attributs, je devais enfiler un peu.

Même plus tôt, au cours du processus, j'ai commencé à appliquer certains éléments VHDL. Premièrement, presque de force - il était toujours désir d'essayer de nouveau maîtriser cette langue, puis, dans certains cas, il s'est avéré plus pratique que d'utiliser une conception de circuit. Même dans l'adaptateur vidéo lui-même, je devais être inséré dans le code - il a été maintenu à l'origine 43 (ou quelque chose à ce sujet), j'ai également besoin de refaire 25 lignes. Et j'ai d'abord essayé de faire des attributs pour faire une conception de schéma, mais j'ai soudainement commencé à se rendre compte qu'il semble utiliser VHDL pour cela peut être plus facile. Naturellement, tout a déplacé avec beaucoup de difficulté et utilisant les modèles les plus simples de la langue, mais j'ai soudainement commencé à comprendre l'essence de VHDL - tout en restant un peu, mais il suffit de commencer quelque chose à créer quelque chose à créer, et pas seulement à modifier le déjà existant.

Mes brûlures de VHDL ne sont pas allés pour rien, et après un moment, je pouvais voir quelque chose il y a longtemps et familier:

Oui, il était toujours possible de remarquer certains lacunes (tels que l'attribut décalé sur un symbole), mais en général, le texte de couleur 80x25 gagné comme il se doit.

La queue de la file d'attente était le contrôleur d'interruption 8259. Au début, il y avait une pensée pour essayer d'utiliser déjà existant depuis une sorte de projet, mais personne comme moi pour diverses raisons (trop primitives ou, au contraire - je l'ai fait ne comprend pas comment ils travaillent et la documentation était absente). Il y avait même une tentative d'achat d'une IP commerciale (dans ce cas, la propriété intellectuelle n'est pas le protocole Internet, mais la propriété intellectuelle), mais les fabricants ne voulaient pas se soucier de la vente d'un tout ...

En fin de compte, je devais prendre la feuille de papier et le croquis (bloc) du système de contrôleur, qui a ensuite commencé à être mis en œuvre sur VHDL. Pour une compatibilité totale, je n'étais pas poursuivi - j'avais besoin (à ce stade) en soutenant un mode de base d'interruptions prioritaires, la possibilité de masquer les interruptions (masque d'interruption) et d'exécuter la commande EOI (fin de l'interruption). À mon avis, cela devrait suffire à la majorité écrasante des programmes avec ce travail normalement. En ce qui concerne l'avenir, je dirai que pour le jour réel, je n'ai pas trouvé de programme unique qui a essayé de faire avec le contrôleur d'interruption quelque chose sur la fonctionnalité agitée.

Probablement, le contrôleur d'interruption était mon premier projet réel (let et petit) sur VHDL - du début à la fin. Je l'ai écrit avec précaution, je n'ai même pas été paresseux (encore une fois, pour la première fois de ma vie), pour faire un banc d'essai (je ne sais pas comment traduire correctement en russe - en fait, la séquence de signaux pour vérifier le bon fonctionnement de l'appareil). La modélisation dans le simulateur de modèlesIm a montré comme la performance complète du contrôleur, après quoi la suivante a été générée à partir de celui-ci. symbole graphique Et ajouté à mon appareil.

Je n'ai pas encore eu de minuterie normale 8254, pour générer des interruptions de 18,2 Hz, un compteur ordinaire a été utilisé, que j'ai connecté au contrôleur d'interruption. Le comportement de l'ordinateur a montré que tout semble fonctionner - DOS démarré sans avoir à appuyer sur la touche et que l'horloge s'est enfin allée au NC. Il semblait que la prochaine étape ait été terminée, et vous pouvez continuer en toute sécurité.

Comme il s'est avéré, tôt j'étais heureux - à ce moment-là, il a été découvert, peut-être le plus gros problème de l'ensemble du projet. Si quelqu'un se souvient, NC dispose d'un économiseur d'écran intégré - "Star Sky". Laissant mon ordinateur pendant un moment, après son retour, j'ai trouvé cela pour une raison quelconque des étoiles sur l'économiseur d'écran gelé, simplement parler, l'ordinateur planant. Bien que je comprenne qu'il n'y ait pas de tels accidents, je voulais toujours croire en un miracle - que c'est un cas unique. Malheureusement, comme toujours, un miracle n'a pas eu lieu - après réinitialisation complète Et le redémarrage de l'ordinateur va tromper à nouveau après une heure de travail. Il est devenu sans ambiguïté que quelque part il y a un problème, et très fort.

Afin de maximiser la recherche d'un cercle de recherche, j'ai écrit le test de mémoire le plus simple, qui a commencé immédiatement après la réinitialisation du processeur, sans initialiser tous les périphériques de type minuterie inutiles, etc. En principe, j'ai perçu l'indication de l'erreur de mémoire avec un soulagement - au moins le problème était clairement dans la glande. Il reste le cas pour les petits - à comprendre quel endroit. Et donc il s'est avéré être tout du tout.
Le fait est que, en général, le régime impliqué dans le processus de test de la mémoire est assez présenté dans l'essence. Le minimum de la logique est impliqué, en plus du processeur, il n'y a pas d'autres articles programmables complexes. En conséquence, après un certain temps consacré à l'analyse des circuits, j'avais plus ou moins de confiance en ce que ce n'était pas une question d'erreur fondamentale dans le régime, mais dans quelque chose de plus aléatoire - par exemple, en interférence.

De ce côté du circuit, j'étais tout mauvais du tout. Je savais que vous devez mettre plus de condensateurs bloquants et que de longs fils sont un peu mauvais. À ce sujet, ma connaissance s'est terminée. Par conséquent, pour des conseils, j'ai de nouveau fait appel à l'un des forums professionnels. J'ai donné beaucoup de conseils, il était parfois difficile d'expliquer séparément des conseils de ceux qui consultent le principe "Je dirai tout ce que je connais un peu de ce sujet." Pour peindre ici, tout cela n'aura pas été discuté, il pourrait donc s'agir du sujet d'un article séparé. Selon les résultats des discussions, mes frais couvraient presque deux douzaines de condensateurs de blocage et ont complètement perdu l'apparence initiale plus ou moins glamour.

Malheureusement, le prochain lancement du test a montré que le problème n'était pas parti. Peut-être a-t-elle commencé à se manifester un peu moins souvent, mais il est difficile de dire - et avant que l'échec ne puisse se poser après 20-30 minutes, puis dans quelques heures. Maintenant, au minimum, le tableau est parti pour la nuit échec de l'échec. En désespoir de désespoir, je suis revenu à l'analyse des circuits et une étude encore plus attentive des graphiques de travail des pneus de processeur. Dans un endroit où j'avais une certaine pensée, et je suis de nouveau allé au même forum. Au cours de la discussion de mon idée, j'ai une fois de nouveau reçu une partie de conseils utiles (et parfois pas très), j'ai essayé de réaliser certaines choses (tout d'abord liées à un petit retard de certains signaux de contrôle), mais cela n'a pas affecté la présence d'échecs.

Au bout de la route, c'était clairement une impasse spécifique, alors j'ai commencé à vérifier des idées non-sifflées. En particulier, le microcircuit de mémoire lui-même sera-t-il vendu? Pour vérifier, j'ai généré directement à l'intérieur du module RAM FPGA, qui utilisait à la place mémoire externe. Honnêtement, je n'espérais pas le résultat - je viens de faire tout ce qui s'est passé. Mais imaginez ma surprise quand les échecs ont soudainement disparu! En général, je n'étais même pas prêt pour cela, alors je ne comprenais pas bien comment utiliser ces connaissances. Dans le fait que le microcircuit de mémoire est défectueux, on ne croyait pas même à ce moment-là. Il y avait aussi une confiance presque complète que je travaille correctement avec cette puce - sur les signaux de contrôle, tout est simple. Mais le fait est resté un fait - avec la défaillance du microcircuit, il était garanti au plus tard quelques heures de test, tout a fonctionné avec la mémoire interne sans échec pendant plusieurs jours avant d'être fatiguée.

Pour le nettoyage de la conscience, j'ai toujours décidé de tester complètement la mémoire avec un autre schéma, sans utiliser ma carte de processeur. Dans le processus de pensée, de la meilleure façon de le faire, je suis soudainement la pensée à l'esprit - j'ai compris la seule différence significative entre l'utilisation de la mémoire interne et externe. Le fait est que la mémoire externe était asynchrone et l'interne partiellement synchrone, et pour elle, le signal était en outre nécessaire pour lequel l'adresse de la cellule a été cassée dans le tampon interne.
Je n'ai pas compris comment cela pourrait se rapporter au problème des défaillances aléatoires - dans tous les graphiques, il était totalement concrétisé que j'avais beaucoup plus d'adresse que le besoin minimum de mémoire, donc théoriquement, ce n'est pas une raison. Néanmoins, j'ai immédiatement peint dans le quartus un autre registre, déposé l'adresse et cassé-le avec le même signal utilisé pour mémoire interne. La sortie du registre, naturellement, déposée aux lignes d'adresses de la mémoire externe. Comprendre que je fais un non-sens complet, j'ai lancé un test. Et le test a fonctionné avec succès jusqu'à ce que je puissiez le sortir du lendemain. Ensuite, quelques fois de plus avec le registre et sans - il était complètement clair que la présence d'un registre élimine complètement les échecs.

Il était totalement inexplicable - même sur un oscilloscope, j'ai vu que les signaux d'adresse et que cela ne pouvait donc être nécessaire en principe, mais le fait est resté. Après le démontage entier de la production, je craque dessus et j'ai décidé d'accepter cela, comme avec un ...

Donc, DOS chargés, de nombreux programmes qui n'ont pas besoin du régime graphique ont été lancés, il était possible de passer à autre chose. Naturellement, le désir de lancer une sorte de jouet. Mais pour un jouet, en règle générale, un calendrier est requis et je ne l'ai pas encore eu. Et si pour un adaptateur vidéo texte, il était possible de faire du sang bas en retravaillant l'existant, puis pour les graphiques, ce n'était pas si simple.

Ce n'était même pas en l'absence de solutions prêtes à l'emploi. Le problème était que j'avais besoin d'une compatibilité presque complète avec un adaptateur vidéo standard au niveau matériel - après tout, tous les jeux fonctionnent avec des graphiques directement avec du fer, sans utiliser le BIOS. J'ai réalisé qu'il était plus facile de créer un adaptateur vidéo "de zéro" que d'essayer de refaire une sorte de prêt. Et, bien sûr, c'était beaucoup plus intéressant à faire.

Nous écrivons donc votre propre adaptateur CGA - même Ega est plus difficile pour quelques ordres de grandeur, afin que nous ne l'attendions pas. En principe, un peu pour commencer, j'ai toujours espionné - j'ai trouvé, en fait, les croquis du module générant une balayage VGA. Mais c'était une douzaine de lignes et une demi-douzaine, et même pas à la fin du travail. Donc, vraiment, ils ont été utilisés comme modèle pour commencer à écrire - c'était moralement aussi facile.

Naturellement, je n'ai pas de moniteur CGA et n'a pas été planifié. L'idée était donc d'utiliser le mode VGA 640x400, dans lequel le mode changeur de CGA 320x200 a été parfaitement dupliqué par une simple duplication de points à la fois horizontalement et verticalement.
Du tout adaptateur graphique Je me suis révélé de manière inattendue - le cerveau à ce stade a soudainement appris à penser que les catégories de VHDL, plus une compréhension semblaient avoir semblé demander à VHDL et qui n'en vaut pas la peine. En général, la période principale du débogage a été prise à la recherche d'une erreur complètement stupide associée à la décharge de chiffres (deux problèmes de ce type ont été embarrassés les uns sur les autres et ont donné une option très amusante). Sinon, j'ai commencé à profiter de la manière dont les lignes de l'éditeur se transforment en un "fer" pratiquement réel à l'intérieur du FPGA et font exactement ce que je veux.

Au tout début, naturellement, l'adaptateur était loin d'être excellence et de compatibilité, mais Checkit a pu l'identifier et même retirer la première image de test:

Au fait, Checkit était jolie programme utile - Beaucoup de choses qu'il a définis plutôt des moyens de ruse, ce qui a rendu toute la conception de la conception de PC plus compatible. Et puisque Checkit pourrait vérifier tous les nœuds et composants, la compatibilité a également été testée pour toutes les parties du système.

Après avoir fixé les appartements les plus évidents (tels que visibles sur la précédente duplication de photos de l'octet précédent) géré, avec quelques difficultés, pour trouver un jeu qui a même gagné:

Les couleurs de cette image ne correspondent pas à l'original - à ce moment-là, la palette de commutation n'a pas encore été faite, et les couleurs elles-mêmes n'étaient pas du tout configurées.

Les tentatives de trouver des jeux d'exploitation ont montré que les programmes de jeux, dans la plupart des cas, fonctionnent directement avec le «matériel», qui est plus exigeant de la compatibilité que n'importe quel NC ou même QuickBasic. Heureusement, le FPGA a fourni des possibilités presque illimitées d'identifier les faits de circulation du programme aux ports d'intérêt, aux adresses de mémoire, etc. Surtout en même temps que le BIOS, je pourrais également changer à ma propre discrétion, il a donné un excellent mécanisme de débogage. Au fait, à un moment donné (je ne me souviens pas exactement lorsque), gagné et turbo débogueur, qui a également élargi l'arsenal d'outils de débogage.

Il est immédiatement devenu évident qu'au moins la minuterie minimale 8253 devrait être effectuée. Et les programmes ont essayé d'utiliser une minuterie non seulement pour les sons (canal 2), ainsi que le canal 0 reprogrammé activement, modifiant ainsi la fréquence des interruptions de la minuterie et. Également utilisé ce canal pour les définitions des paramètres temporaires.

Après avoir lu la documentation pour 8253, il est devenu un peu triste. Il était nécessaire de faire beaucoup et pas très intéressant. Décider de le faire en quelque sorte plus tard, à ce moment-là, il suffit de grimper dans tous les mêmes opencores et a tiré une paire de modules de minuterie. Un sur Verilog et très simplifié, le second est extrêmement altéré et même sur VHDL. Malheureusement, la minuterie sur VHDL connectée via le bus WISHBONE est une norme ouverte pour les développements FPGA. Avec Wishbone, je ne l'ai jamais rencontrée, j'ai donc décidé de commencer à utiliser le module sur Verilog, que l'interface avait l'air plus facile.

Après une jolie connexion sans douleur de la minuterie, il y avait quelques tests simples sur mon système et nous sommes assurés que le module semble fonctionner. De plus, après une autre petite raffinement du système dans une partie de l'interface avec un haut-parleur, le premier, mais tout à fait le droit du jouet de travail. Tandis que la minuterie pouvait être terminée et passer à autre chose.

Ensuite, je devais prendre une solution cardinale. Jusqu'à ce point, int 10h je me suis écrit. En mode texte, il était toujours possible de supporter cela, mais la nécessité de maintenir ces fonctions dans les régimes graphiques que je me suis contrarié. Considérant que, à ce moment-là, la passion de la programmation sur l'assembleur était pratiquement satisfaite (après tout, le fait qu'il avait déjà dû faire dans des volumes industriels), il a fait sur le principe "si la montagne ne va pas à Muhammed, puis Il lui envoie NAFIG " À savoir, j'ai décidé de rendre votre adaptateur CGA si compatible avec le "matériel" afin que le BIOS original puisse travailler avec elle.

En principe, des difficultés particulières ne se sont pas produites - les registres ne sont pas beaucoup, la fonctionnalité est extrêmement simple. Des choses implicites - je devais imiter un registre de statut dans lequel il y a des signes de la course inverse du cadre et du balayage minuscule. Il s'est avéré assez logique que de nombreux programmes (y compris le BIOS) utilisent activement ce registre pour éviter que la "neige" en essayant de faire appel simultanément à la mémoire vidéo du processeur et de l'adaptateur.

Pour une raison quelconque, le processus d'amenant l'adaptateur vidéo pour moi est très excitant et, finalement, ce nœud s'est avéré être le plus travaillé en termes de compatibilité avec le périphérique d'origine. En chemin, les choses manquantes comme des palettes commutables, des modes 640x200, etc. ont été ajoutés. Au fait, pour tester le mode de 640x200, il s'est avéré être assez difficile à trouver un programme supportant ce mode. La seule chose qui réussit à creuser est les échecs:

À mon avis, ça a l'air assez beau ...

Le manuel Int 10H d'origine a pris un tel adaptateur très sympathique et je soupirai avec un soulagement du manque de besoin d'écrire le type de type de reconnaissance de caractères imprimé dans un emplacement d'écran spécifique en mode graphique.

Le dernier obstacle au chemin d'accès à une compatibilité acceptable avec PC était curieusement, clavier. Bien que ce soit presque la première chose à laquelle j'ai été vissé au projet, mais du point de vue de la compatibilité, le cheval n'était pas couché. Le principal problème était que tous les programmes normaux fonctionnent avec le premier ensemble de codes de numérisation, utilisés encore dans IBM PC. Mais tous les claviers, commençant par PC à, donnent au moins le deuxième ensemble de codes de numérisation, très différents de la première. Seul le contrôleur de clavier à l'intérieur de l'ordinateur convertit ces codes dans l'original, premier ensemble et tous les programmes conventionnels fonctionnent avec elle (même si ces programmes semblent se tourner directement vers le clavier sans utiliser le BIOS). Naturellement, je n'avais naturellement aucun contrôleur (d'ailleurs, dans le PC et même dans le PC XT ultérieur pour cela, un microcontrôleur séparé a été utilisé sur la base 8051). Fonctions INT 09/16 J'ai été mise en œuvre dans la version très minimale et il ne pourrait y avoir aucune opération directe de programmes avec le clavier en général et par discours - ils ne comprennent tout simplement pas un seul code de numérisation.

À ce moment-là, j'ai soudainement ressenti l'euphorie de la propriété de la VHDL - il me semblait que j'avais déjà effrayé la vérité et que je peux généralement tous. Par conséquent, sans délai, un élégant (comme il semblait) le module sur la VHDL, qui transcodait les codes de numérisation. Dans ce module, tout était très beau et bon, à l'exception d'un petit détail - il n'a pas fonctionné. Et je ne pouvais pas comprendre la cause de l'inopérabilité de quelque manière que ce soit, ce qui était bouleversé et causé une désintération - il y avait une douzaine de lignes.

Encore une fois, contourner le forum aux connaisseurs, j'ai reçu une bonne quantité de conseils vraiment explicatifs. De plus, ma compréhension du concept VHDL lui-même elle-même n'a de nouveau presque à la racine modifiée (incl., Une certaine déception est apparue). Les miracles principaux ne se produisent pas. VHDL (ainsi que tous les autres HDL) ne feront pas ce qu'il est impossible de faire dans la méthode conventionnelle des ressources matérielles existantes. Si j'écris une ligne, il semble être correct du point de vue de la syntaxe de la langue, mais en même temps, je ne peux même pas imaginer comment il peut être mis en œuvre dans le matériel, puis il ne sera probablement pas mis en œuvre dans la compilation. Au minimum, cela ne fera pas ce qui est requis de cela. Et pourtant, il est très important d'utiliser des modèles. Il s'avère que de nombreuses conceptions de langue ne se transforment en nœuds matériels corrects que lorsque le compilateur reconnaît le motif correspondant. Bien sûr, une flexibilité spécifique est présente, mais vous devez toujours vous rappeler les styles recommandés de la description de certains nœuds.

Je pense que c'était après ce démontage, j'ai vraiment au moins un peu un peu, mais j'ai vraiment commencé à comprendre l'essence de VHDL (et Verilog, à ce moment-là, a également cessé d'être complètement incompréhensible). Par magie, des manuels scolaires sur ces langues ont soudainement gagné le sens, et pour les mots, il est devenu évident l'essence des choses décrites.

En bref, la fabrication du module de convertisseur est légèrement moins belle, mais elle est beaucoup plus correcte, j'ai reçu des codes à sa sortie dans le premier ensemble. Ensuite, il reste à plaindre ces codes au gestionnaire INT 09H d'origine et à vérifier tout le même checkit, reconnaissant correctement les coups de frappe. Donc, le clavier était également compatible presque à 100% au niveau du matériel.

À ce moment-là, j'ai commencé à ressentir de plus en plus d'inconvénients du fait que le haut niveau du projet que j'ai toujours eu une conception de circuit. La douche finale qui incite à occuper la transition complète vers VHDL a servi de changement d'ordinateur à domicile. Sur la table, j'étais imac rétine avec windows installée. Malheureusement, Quartus est venu au nombre de programmes qui n'étaient complètement pas prêts à travailler avec une telle résolution d'écran. La conception du circuit est devenue totalement illisible et aucune amélioration réelle n'a apporté aucune tentative de configuration des améliorations réelles. Il n'y avait nulle part où aller, j'ai pressé mes dents et j'ai pris l'éditeur de texte.

Curieusement, tout s'est passé plus que doucement. Maintenant, je ne me souviens même pas de savoir s'il était nécessaire de payer au moins quelque chose ou tout gagné immédiatement après retravailler. En tout cas, il y avait définitivement Zatkov, mais il était immédiatement plus pratique de travailler et de plus efficacement. Je me suis immédiatement souvenu des conseils de la série personnes compétentesJe me suis vivement recommandé dès le début d'oublier la conception du circuit et commence immédiatement avec VHDL / Verilog. Au fait, par rapport à VHDL vs Verilog - ne vous disputez pas avec moi, ce qui est meilleur / pire, et pourquoi je me suis arrêté sur VHDL. Supposons que je voulais juste tellement, et c'est presque vrai. Plus sur ce sujet, je ne discuterai pas ...

Lors du passage à VHDL, le dernier module de la conception du circuit est également complètement converti - l'interface SPI. Si vous vous en souvenez, il a fourni une réception / une transmission matérielle d'un octet seulement et autour de celui-ci qu'il était nécessaire de produire un certain nombre d'étapes préparatoires. Avec un processeur lent (et une paresseusement écrit INT 13H), il n'a donné qu'environ 35% de la performance de l'original disque dur PC XT (selon Checkit). Comme je me suis déjà pratiquement ressenti comme un gourou VHDL et généralement de l'électronique numérique, j'ai immédiatement décidé d'écrire une copie de l'interface disponible, mais un module fournissant une transmission de paquets.

Vrai, avec DMA (ou, comme on dit en Russie, le PDP) a décidé de ne pas déranger - contrôleur DMA Ce n'était pas encore, mais immédiatement pour deux nouveaux modules ne voulaient pas, vous ne comprenez pas exactement où exactement le problème. Le débogage du module n'était pas tout à fait lisse - il était nécessaire de bricoler un peu, y compris les canaux numériques d'oscilloscope actifs en tant qu'analyseur du protocole. Au fait, pour une raison quelconque, pendant tout le processus, j'ai pratiquement oublié que le quartus pénètre dans un SignalTap d'analyseur numérique intégré, ce qui serait probablement encore plus pratique. Peut-être que dans le futur mes mains le jetteront (je ne l'ai jamais utilisée), mais pour l'instant, j'aime beaucoup utiliser un morceau de fer séparé pour cela.

Probablement, en tenant compte du nouveau module, il serait possible de réécrire l'int 13h à plus sérieusement, mais j'étais paresseux et je n'ai été séparé que par la modification minimale nécessaire. En conséquence, il s'est avéré pas très beau et complètement inefficace, mais la vitesse fixe avec un nouveau module a augmenté presque 5 fois:

En outre, c'était en partie un processus fastidieux, partiellement fascinant de lancer divers programmes (tout d'abord, jeu) afin de déterminer pourquoi ils ne fonctionnent pas (plutôt que dans mon ordinateur n'est pas compatible). À propos de la recherche de raisons peut être écrit séparé article majeur., Je donne juste quelques exemples:
- Je n'ai pas de DMA. Il s'est avéré que le canal Zero DMA (utilisé pour la régénération de la mémoire sur le PC d'origine) est également utilisé par certains programmes de compteur pour déterminer les intervalles de temps courts. Je devais imiter la partie correspondante des comptoirs du contrôleur DMA
- Habituellement (mais pas toujours) lors de la lecture d'une zone inexistante de la mémoire ou du port d'entrée / sortie, l'octet FF est lu. J'ai été lu sur le contraire - 00. Cela n'a pas aimé le programme qui vérifiait de cette manière (et plus que toute autre chose) la présence d'une joystick, après quoi il avait décidé qu'il était et que tous les boutons étaient avertis
- la manière la plus originale de déterminer la présence de l'adaptateur CGA a été utilisée par le programme qui a enregistré une certaine valeur dans le registre de l'emplacement du curseur, puis lisez la valeur et tordue avec ce qui a été enregistré (puis restauré valeur d'origine). Selon ma documentation, ce registre devrait sembler ne être que pour l'enregistrement, mais redonné pour lire / écrire, après quoi le programme s'est calmé.
- N'est pas lié à mon ordinateur - il a passé un tas de temps pour clarifier les raisons de la prévaut du vieux jeu de parachutroopers le plus simple. Il s'est avéré que, bien que le jeu et l'ancien, mais le fichier que nous avons été pressés par un archiveur auto-extrait de fichiers COM / EXE. Ainsi, cette partie qui a répondu plus tard pour le déballage du programme au démarrage, contenait une commande qui n'est apparue que, en commençant par 286 processeurs. Le problème était que cette équipe n'influenait pas de manière significative le processus de réciprocité et de portailler certains des octets (moins de l'un des milliers). Peut-être que ce désassemblage, j'ai passé le plus de temps.

Donc, lentement, presque tous les jeux que j'avais commencés à être lancé et travaillant sans aucun problème, dans certains d'entre eux, j'ai même essayé de jouer:

Lors du lancement des nombreux jeux, il s'est avéré que le module de minuterie était loin d'être parfait - dans la plupart des cas, les sons n'étaient pas entièrement corrects. Décider qu'elle voudrait toujours comprendre le bus Wishbone, j'ai décidé de fixer la minuterie sur la VHDL, mentionnée précédemment. Pour commencer, j'ai lu la description de Wishbone et perplexe quelque chose comme un adaptateur entre l'interface Wishbone et 8088 bus - rien de compliqué. Malheureusement, la minuterie n'a pas gagné. Je devais retrouver l'oscilloscope et regarder ce qui s'est passé là-bas (tout d'abord, les signaux wishbone ont été créés correctement).

Qui aurait pu penser qu'à ce moment je m'attendrais une excellente découverte ... N'oubliez-vous que lorsque j'ai souffert de défaillances de la mémoire et que j'ai été obligé d'introduire un registre intermédiaire, la nécessité pour laquelle je n'ai pas vu en principe? Donc, sur l'écran de l'oscilloscope, j'ai eu la photo suivante:

Naturellement, la première chose qui s'est précipitée dans les yeux est, c'est une sonnerie terrible du signal 2. et cette sonnerie est déplacée du paramètre quantitatif à haute qualité. Le signal 6 est généré par un compteur à un chiffre, dont l'entrée est classée 2. En fait, pour chaque signal montante du signal 2, le signal 6 est inversé. Mais sur l'oscillogramme, on peut voir que le signal 6 commuté une fois non seulement sur l'avant normal du signal 2, mais à l'avant de la "bague" la plus forte! Ceux. Dans mon schéma, sur certaines lignes, la sonnerie était une telle amplitude qui pourrait causer une fausse commutation de logique. Dis que je suis allé fou - ne rien dire. Je ne pouvais même pas croire qu'avec tout cela, j'ai réussi à atteindre un travail durable du schéma ...

En outre, après une petite analyse du schéma, en tenant compte de nouvelles données, elle est devenue complètement claire pour moi, où les anciens échecs sont apparus et pourquoi ce registre les a guéri. Néanmoins, il était nécessaire de faire quelque chose, car c'était le signal 2, j'étais nécessaire pour travailler avec le nouveau module de minuterie. Et encore l'appel traditionnel aux connaisseurs. Depuis plusieurs conseils sur le forum, une option a été choisie avec une découpe de voiture et une résistance là-bas. Le résultat était loin d'être idéal, mais plus de faux commutateurs de la bague lors du test pendant plusieurs heures, je n'ai pas enregistré:

Malheureusement, pour la performance de la VHDL du module de minuterie, cela n'a pas affecté - il était silencieux. Après un certain temps, la raison a été découverte dans un endroit assez inattendu - dans le module lui-même. Et elle était assez de prose (et souvent trouvée dans la programmation) - le module a traité de manière incorrecte l'une des valeurs extrêmes, à savoir, lorsque le diviseur 0, au lieu de diviser sur valeur maximum (65536) n'a rien fait. J'ai vérifié tout le temps l'initialisation du canal 0, initialisée par le diviseur maximal pour obtenir une fréquence de 18,2 Hz. Lorsque j'ai utilisé le diviseur FFFF pour l'expérience, tout a fonctionné.

J'ai même contacté l'auteur du module, qui (auteur) a déjà oublié qu'il écrivait ce module. Cependant, l'auteur m'a aidé à trouver un endroit spécifique dans lequel une erreur a été commise et j'ai même essayé de résoudre une erreur. C'est ce problème qui a été décidé, mais d'autres ont été découverts, alors je suis toujours resté sur la première version du module, sur Verilog.

À ce stade, la volonté de mon design était telle que j'étais mûr pour l'expérience principale. Le fait est que, dans le distant 86, j'ai lu l'article du magazine "dans le monde de la science", qui est la traduction russe du magazine américain "Scientific American", qui décrivait le dernier produit Microsoft - à savoir le vol du jeu MS. Simulateur. Considérant que, alors que je suis un fan d'ordinateurs, mais j'allais en même temps devenir pilote, vous pouvez comprendre quelles émotions bouillaient dans ma tête (et dans d'autres parties du corps).

Et maintenant, après presque 30 ans, j'ai un désir non compressé de lancer exactement le simulateur de vol historique sur mon ordinateur. L'intérêt a également été chauffé par le fait que cela semble être à ces jours pour tester la compatibilité, deux programmes n'étaient pas officiellement utilisés - le simulateur de vol même, ainsi que Lotus 1-2-3. On a dit qu'ils utilisaient si étroitement les caractéristiques matérielles de l'ordinateur que si ces programmes gagnaient, alors tout le reste et mangerait.

En général, j'ai eu des doutes - je savais toujours quelques pièges dans mon design, mais j'ai toujours décidé de prendre une chance (en particulier pour que rien, naturellement, ne risque pas). Résultat à l'écran:

En passant, la marée de grain mystérieux m'a d'abord causé une suspicion - j'ai immédiatement commencé à réfléchir à une façon très rusé de travailler avec un adaptateur vidéo, qui n'est pas pris en charge par moi. En fait, comme il s'est avéré, Microsoft a donc essayé d'obtenir des couleurs supplémentaires, combinant des points des couleurs existantes. Je remarquerais que, étant donné la résolution de 320x200, le résultat était de la mettre légèrement, douteux.

Aucun problème avec le lancement de Lotus 1-2-3 n'a également pas surgi, de sorte qu'une expérience puisse être examinée. Néanmoins, j'ai passé un certain nombre de petites finitions et des rebondissements, après quoi ils ont commencé à commencer et absolument normal de travailler en général tous les programmes que j'ai pour le moment. Seul nouvelle fonctionnalitéJ'ai ajouté après ceci était EMS. Je n'ai tout simplement pas donné de repos, ce qui disparaît plus que les mégaoctets de la mémoire disponible (pour être honnête, cela voulait juste faire autre chose), j'ai donc trouvé la description de la carte EMS avec le conducteur et écrivit un module qui émule le travail de ces frais. Pilote Mémoire avec succès identifiée:

L'altération des frais de processeur est devenue la dernière course. Je n'ai absolument pas aimé ce cauchemar, qui se passait avec la forme de signaux et je voulais aussi pratiquer l'aigle à nouveau. En conséquence, 4 couches ont été divorcées circuit impriméAvec laquelle une des couches internes a été allouée sous le sol, la seconde sous les deux tensions d'alimentation. En outre, le moment le plus significatif était l'élimination des boucles - les connecteurs sont définis de manière à ce que mon conseil soit directement bloqué dans la carte de débogage FPGA (si vous êtes très précis, puis dans le port GPIO du tableau de bord de la FPGA, telle matryoshka):

Il y avait également quelques changements schématiques - supprimé le formateur total de la séquence d'horloge 8284 (j'ai décidé de pouvoir le supprimer facilement à l'intérieur du FPGA, sans appliquer la compatibilité légèrement des signaux de pneu) et le registre-loquet sur l'adresse / l'autobus de données (également enlevé à l'intérieur du FPGA). Chèque rapide Formes de signaux sur nouveau conseil a montré que les signaux sont devenus presque parfaits:

Donc, le chemin de la LED clignotant sur la couche secrète à tout ordinateur normal Il a été adopté dans quelques mois, tandis qu'une énorme quantité de plaisir a été obtenue, ainsi que des connaissances dans un certain nombre de domaines. À la sortie, un ordinateur avec une compatibilité assez bonne avec IBM PC, sur lequel tous les programmes que je n'avais pas à vous utiliser sans commentaires fonctionnent, y compris Et ceux qui sont considérés comme extrêmement exigeants de la compatibilité du "fer". Sur l'ordinateur presque complètement (à l'exception d'un gestionnaire INT 13H) utilise la version 3ème du BIOS de IBM PC.

En ce qui concerne le budget de projet, quelque chose de défini est presque impossible. Pour commencer, il n'y a que quelques chips (impliquant que l'installation peut être fabriquée par l'OHM, la carte FPGA et les instruments de la configuration, ainsi que tous, allant des cartes de fabrication supérieures, achetant une carte de débogage de FPGA spécifiquement pour cela. Projet et fin avec pas l'oscilloscope le moins cher?

Types spécifiques de microcircuits et tout le reste de l'article que j'ai semblé indiquer, alors tout le monde peut voir ce que tout cela le coûtera dans sa version. Naturellement, il n'est pas nécessaire d'utiliser précisément DE2-115, pour une ligne directrice que j'apporte les ressources FPGA requises:

Il convient de noter qu'il reste encore un tas d'artefacts utilisés pour le débogage et le code lui-même est pratiquement optimisé.

Que faire avec tout cela (et s'il faut faire quelque chose du tout) - pas tout à fait sûr. Au cours du processus, il est de nouveau de nouveau devenu clair que, bien que dans l'enthousiasme et l'érudition, vous pouvez également réaliser quelque chose, la connaissance formelle des bases permettrait tout d'accélérer, d'éviter de nombreux rousses, et surtout - plus concentré sur la créativité, et non l'invention du vélo avec des roues carrées. Donc, jusqu'à présent, il y a un gros désir de remplir une méthode expresse de la couteau (ou plutôt des trous béants) dans la connaissance des fondations de l'électronique et des circuits en général et VHDL en particulier. Pour autant qu'il arrive, nous verrons - il y a toujours un problème dans la motivation et la disponibilité de temps libre.

Nous ne devrions pas oublier que bien que IBM PC - ordinateurs compatibles Et sont les plus populaires, occupant la part de marché du lion, il y a et développe de manière dynamique des cosazopers dans lesquels il n'y a pas de processeur de la ligne X86. En particulier, les ordinateurs qui ne sont pas compatibles avec IBM PC sont des ordinateurs portables et des ordinateurs personnels de poche (PDA) avec des processeurs Motorola et IBM et IBM Development, les préfixes de jeu de la marque PlayStation ont une architecture interne complètement différente et sont collectées sur des jetons conçus spécifiquement pour eux. Bien que externe, par exemple, de distinguer un ordinateur portable sur un processeur Intel Corporation de l'ordinateur portable de marque d'Apple, qui utilise le processeur de Motorola Corporation est presque impossible.

De plus, vous devriez mentionner sur console de jeux PlayStation 3, qui à l'automne 2007 est apparu en quantités de masse. Il utilise la Corporation Corporation Corporation Corporation Corporation Corporation Société de Cellule Cell Cell Cell Cell Cell Cell. Avec un prix et des dimensions modestes, sa capacité à créer un monde virtuel sur l'écran du moniteur ou la télévision est nettement supérieure à celle des ordinateurs personnels les plus fissurés avec les processeurs de la ligne X86.

Régime structurel Microprocesseur

Le diagramme structurel du modèle de base du microprocesseur est représenté sur la Fig. une.

Figure. 1. Schéma microprocesseur structural

Le microprocesseur conditionnellement peut être divisé en deux parties: une unité exécutive (unité d'exécution - UE) et un système de jumelage avec le système Mainstream (unité d'interface de bus - VIU).

Dans le bloc exécutif, il y a: Bloc arithmétique et registres. L'unité arithmétique comprend un dispositif logique arithmétique, des registres de support pour le stockage des opérandes et le registre des drapeaux.

Huit registres de l'unité exécutive MP (AH, WX, CX, DX, SP, BP, SI, DI), qui ont une longueur égale à la machine, sont divisées en deux groupes. Le premier groupe consiste en des registres à usage général: AH, BX, CX et DX, chacun d'une paire de registre, composée de deux registres d'une longueur de 0,5 du mot machine.

La batterie ou le registre AH consiste en des registres EN et AL. Registre de base (registre de base) de la WA consiste à enregistrer des registres et bl. Compteur (registre de compte) comprend des registres CH et CL. Registre des données (registre des données) DX contient des registres DH et DL. Chacun des registres courts peut être utilisé indépendamment ou dans le cadre de la paire de registres. Noms conditionnels (batterie, registre de base, compteur, registre des données) Ne limitez pas l'utilisation de ces registres - ces noms parlent de l'utilisation la plus fréquente d'eux ou des fonctionnalités de l'utilisation d'un registre dans une commande particulière.



Le deuxième groupe consiste en des registres d'adresses SP, BP, SI et DI (dans les modèles seniors, le nombre de registres ciblés est augmenté). Ces registres sont activement utilisés en fonction de l'objectif fonctionnel et, à d'autres fins, ils ne sont pas recommandés. Leur objectif principal est de stocker des valeurs numériques mises en œuvre dans la formation d'adresses opératoires.

Le système de conjugaison avec l'autoroute système contient des registres de contrôle, un convoyeur de commande, une commande ALU, un dispositif de contrôle exécutif MP et une interface de l'interface de mémoire (connectant l'autoroute MP interne avec l'ordinateur principal du système).

Régistateurs de contrôle BIU: CS (pointeur de segment de commande), pointeur de segment de données DS), SS (pointeur de segment de pile), ES (pointeur de segment optionnel), etc. Servir pour déterminer les adresses physiques des opérandes et des commandes op-opérandes. Le registre IP (pointeur d'instruction) est un pointeur à l'adresse de commande qui sera sélectionné dans le convoyeur des équipes comme une autre commande (dans la littérature nationale, un tel appareil est appelé Mètre de commande). Le convoyeur de commande MP stocke plusieurs commandes, ce qui vous permet de combiner la préparation de la commande suivante lors de la réalisation de programmes linéaires avec l'exécution de l'actuel.

Le registre des drapeaux appartient au registre MP, dont chaque décharge présente un objectif strictement défini. Habituellement, les rejets du registre du drapeau sont installés du matériel lors de l'exécution d'une autre opération en fonction du résultat obtenu en AllU. Dans le même temps, de telles propriétés du résultat obtenues, comme résultat zéro, un nombre négatif, un débordement du maillage de décharge par allu, etc. Mais certains décharges du registre du drapeau peuvent être installés sur des équipes spéciales. Certains décharges ont un objectif purement officiel (par exemple, ils stockent la décharge, qui est tombée d'Alu pendant un quart de travail ou qui sont sauvegardes (c'est-à-dire non utilisées).

Alors, pourquoi les ordinateurs de bureau modernes (à l'exception des ordinateurs Apple) Magnifiez toujours IBM-compatible, bien que la part des PC fabriquées directement par la société IBM elle-même suffit? Le fait est que seule l'entreprise IBM à l'aube de la production d'équipements informatiques personnels dans sa version de l'ordinateur a parcouru le principe de "architecture ouverte". Cela signifiait que IBM, contrairement à tous les autres fabricants, n'était pas destiné à faire un secret de ce qu'il était dans son personnel.
les ordinateurs, et surtout - elle a ouvertement encouragé d'autres entreprises à produire des composants pour les ordinateurs compatibles IBM et à produire exactement les mêmes ordinateurs appelés IBM compatibles à partir de ce moment.

C'est grâce à une telle politique, les ordinateurs compatibles IBM ont étroitement occupé le marché, absorbant tous les concurrents à cette époque, qui était pas mal: beaucoup
un complément accidentellement produit ses propres ordinateurs personnels, dont l'architecture était complètement fermée - Commodore, Olivetti ...

Cependant, le paradoxe était que, donnant aux ordinateurs mondiaux compatibles IBM, la société elle-même a rapidement perdu la position dominante dans leur production. Profitant de l'architecture entièrement ouverte et bien documentée de ces machines, divers fabricants ont commencé à produire leurs propres modifications, qui étaient souvent beaucoup meilleures que les modèles IBM, avec le résultat que de telles entreprises bien connues telles que Compaq, Hewlett Packard, ACER, Dell et d'autres sont sortis dans l'arène.

En outre, l'ouverture de l'architecture a entraîné l'émergence des ordinateurs dites non nominaux (noms non nominaux), qui, comme ordinateur jouet, étaient composés de composants de fabricants complètement différents et non bien connus. Cependant, il convient de noter que presque tous les soi-disant nom de marque (marque-Neim - une marque bien connue) sont collectés à partir de composants de diverses entreprises. Et la tâche de la société qui met sa marque est de garantir la sélection de ces composants et un contrôle de haute qualité.

Il existe cependant un type d'ordinateurs personnels tout seuls, complètement séparé, qui n'est pas compatible IBM. Ce sont des ordinateurs Apple qui produisent seulement elle. Les ordinateurs Apple sont souvent utilisés comme voitures personnelles, mais leur objectif principal est l'éditeur et l'impression.




IBM est une grande entreprise, développement aujourd'hui et la livraison logiciel et d'autres produits de haute technologie. Pour plus de 100 ans d'histoire, elle a apporté de nombreux nouveaux produits sur le marché. C'est grâce aux ordinateurs IBM parues dans presque toutes les maisons.

Démarrer

IBM est apparu à l'époque où un ordinateur personnel était même difficile à imaginer. En 1896, elle fonda que la société name a ensuite reçu TMC et était engagée dans la production de machines d'analyse dénombrables, qui ont été vendues principalement aux organisations gouvernementales.

Au début de son histoire, la société a reçu une ordonnance énorme du ministère des Statistiques et, en raison de cela, a immédiatement classé une position importante sur le marché. Cependant, le fondateur et le propriétaire due aux problèmes de santé devaient encore vendre la société au célèbre Genius Financier Charles Flint. Le millionnaire a payé pour l'entreprise un montant énorme de 2,3 milliards de dollars à l'époque.

Apparence IBM

Après avoir reçu le contrôle de la société TMC, Charles Flint a immédiatement commencé son association avec d'autres actifs, par exemple, ITRC et SCC. En conséquence, un prototype d'un "géant bleu" moderne a été créé - CTR Corporation.

La société éduquée a pris la libération de l'équipement le plus diversifié correspondant à cette époque. Parmi lui, des échelles, des systèmes comptables du temps de travail et, surtout, des équipements cardiques. C'était le dernier qui a joué un rôle important dans la transition de la société pour la fabrication d'ordinateurs.

Pour la première fois, la marque IBM est apparue en 1917 sur le marché canadien. C'est ainsi que la société a décidé de montrer qu'il est devenu une société internationale. Après suffisamment de succès du nouveau nom, la division américaine en 1924 a également modifié le nom sur IBM.

Plusieurs années suivantes, la société continue activement d'améliorer ses propres technologies en créant un nouveau type de performance avec la carte Name IBM. En outre, la Société reçoit à nouveau un accès à de grandes commandes d'État, ce qui lui permet de ne pas réduire pratiquement à réduire la période de la grande dépression.

IBM et Seconde Guerre mondiale

IBM a activement coopéré avec le régime fasciste en Allemagne. En 1933, après le territoire de l'Allemagne, la Société a même lancé sa propre usine. Cependant, la société, comme la plupart des autres entreprises américaines, ne déclare que pour la vente de voitures et ne considère pas ce soutien du régime.

Sur le territoire des États-Unis pendant la guerre, la Société est principalement engagée dans la fourniture du front à l'ordre d'État. Elle était engagée dans la production de sites pour jeter des bombes, des fusils, des parties de moteurs et d'autres produits militaires nécessaires. Dans le même temps, le chef de la Société fixe ensuite le montant nominal de bénéfices dans 1%, qui a été envoyé non aux actionnaires, mais pour répondre aux besoins des fonds d'assistance.

Le début de l'ère des ordinateurs

Le premier ordinateur IBM a été publié en 1941-1943 et s'appelait "Mark-i". Peser la voiture impressionnante de 4,5 tonnes. Après avoir testé, son lancement officiel n'a eu lieu qu'en 1944, après transfert à l'Université de Harvard.

En fait, Mark-I était un arithmomètre très amélioré, mais par des capacités d'automatisation et de programmation, il s'agit de la première machine informatique électronique.

La coopération de la Société internationale et du développeur principal s'est avérée extrêmement infructueuse. Les ordinateurs IBM ont continué à se développer sans cela. En 1952, la société a publié le premier composé de la lampe.

À la fin de 1950, les premiers ordinateurs IBM basés sur des transistors ont été créés. C'est grâce à cette amélioration qui a réussi à améliorer la fiabilité. machines informatiques Et créer sur leur base le premier système de défense d'une grève de fusée. Dans le même temps, le premier ordinateur série IBM apparaît avec disque dur. Vrai, le lecteur indiqué par le chef soviétique en 1958, a tenu deux grandes armoires et était de 5 Mo. Les prix IBM ont également installé des alternatives. Le premier prototype du disque dur valait environ 50 000 $ aux prix de l'époque. Mais c'était seulement le début.

La première apparition du système IBM

En 1964, de nouveaux ordinateurs IBM ont été présentés. Ils ont considérablement changé et ont demandé des normes pendant de nombreuses années à venir. La famille a reçu le nom IBM System / 360. Ce sont les premières machines autorisées à augmenter progressivement la puissance de calcul en modifiant le modèle et non à modifier le logiciel. C'était dans ces ordinateurs centraux que la technologie de microcode a été utilisée pour la première fois.

Créé IBM Ordinateurs a reçu une architecture très réussie, qui est devenue la norme réelle pendant de nombreuses années. Et aujourd'hui, la série System z, qui est une continuation logique de la ligne System / 360, est utilisée très activement.

Premier pc

Dans IBM, les ordinateurs personnels ne considéraient pas comme un marché prometteur. Cependant, en 1976, le premier ordinateur de bureau de la série IBM 5100 a été présenté. Il était signifié plus pour les ingénieurs et un peu approché pour le travail de bureau ou un usage personnel.

Le premier ordinateur personnel de masse "Blue Gigant" présenté uniquement en 1981. En fait, la société n'a pas vraiment espéré son succès. C'est pourquoi la plupart de ses composantes acquises d'autres entreprises. Le nouvel ordinateur a été inclus dans la famille IBM 5150 et a reçu le nom du PC.

IBM PC Popularité

Le nouveau processeur d'Intel a demandé qu'une jeune entreprise fondée par Bill Gates ait été offerte avec succès.

Le facteur le plus important qui a apporté la popularité de PC était l'ouverture de l'architecture. Dans la société, pour la première fois, ils ont refusé les nombreuses années de principes et n'ont pas loué aux composants ou au BIOS appliqué. Cela a permis de nombreuses entreprises tierces basées sur des spécifications publiées pour établir rapidement l'assemblée "Clones".

L'architecture ouverte a fourni d'autres avantages, tels que la capacité de réparation et de la mise à niveau de manière indépendante d'un ordinateur. À l'avenir, cela a donné le développement d'ordinateurs personnels.

Cependant, IBM lui-même au marché des ordinateurs domestiques n'a pratiquement pas atteint le marché. Le modèle initial de IBM PC était assez coûteux. De plus, ce kit de base devait acheter un contrôleur de disque flexible et les entraînements eux-mêmes. Les concurrents sur ce fond semblaient plus prometteurs.

Cependant, la société a tenté d'exécuter un certain nombre de modèles et pour les utilisateurs domestiques. L'un d'entre eux, appelé IBM PCJR, était parmi les 25 pires appareils informatiques. Mais la production de ce modèle a été rapidement arrêtée.

Le segment d'entreprise IBM s'est traditionnellement senti très bien, y compris sur le marché informatique personnel. Cela a été réalisé par une reconnaissance élevée de la marque, marketing réfléchi. Le résultat du succès était l'apparition de IBM PC / XT et IBM PC / sur des machines.

Premier ordinateur portable

Malgré une mauvaise attitude initiale suffisante envers les ordinateurs personnels, le géant a été contraint de penser. Tout d'abord, cela a été influencé par le succès magnifique du PC IBM. Au fait, le plan de vente semestriel du premier ordinateur personnel a été effectué en moins de 30 jours.

IBM Convertible a été mis en vente au début de 1986 et, malgré suffisamment de caractéristiques modestes, a été produite jusqu'en 1991. Dans les innovations, cet appareil était le premier PC d'une société gigantesque fournie avec un lecteur de 3,5 pouces.

90 ans

Dans les années 90, une société géante a rapidement perdu sa position sur le marché des ordinateurs personnels, mais pendant longtemps, a continué de produire de nouveaux ordinateurs fixes et mobiles.

Au début, en 1990, IBM a introduit un nouvel ordinateur sur le marché, ayant une architecture complètement nouvelle et incompatible sur le matériel et la partie du programme avec les générations passées.

Le nouvel ordinateur a reçu un bus de données moderne et de nombreux composants ont changé de manière à ce qu'ils ont été pratiquement impossibles à reproduire leurs petites entreprises d'Asie pour des raisons technologiques et autorisées. Mais l'architecture s'est avérée être échouée. Bien que certaines innovations appliquées dans ces ordinateurs existaient suffisamment longtemps, par exemple, des connecteurs de souris et de clavier, et le clavier PS / 2 est parfois utilisé dans les machines modernes.

Dans le même temps, la société a produit une série d'ordinateurs compatible avec la dernière génération appelée PS / 1, et plus tard - APTIVA.

C'étaient les derniers ordinateurs personnels produits par le géant bleu. En 1996-1997, la production de voitures pour ce segment de marché a été minimisée.

2000e et soins finaux du marché de l'ordinateur

IBM, malgré la cessation du développement et de la production de PC stationnaires, a continué de libérer et de vendre suffisamment sur le marché des ordinateurs portables. Certains utilisateurs ont même continué à envisager des ordinateurs de production IBM avec des références.

En 2004, la Société a pris une décision difficile, de suite, l'ensemble des activités de production d'ordinateurs personnels et d'ordinateurs portables a été vendue par la société chinoise Lenovo. La société elle-même s'est concentrée sur un marché géant beaucoup plus intéressant des serveurs et des services de soutien. Un IBM légèrement plus ultérieur a vendu d'autres unités qui le lient à la production de PC, par exemple, le ministère engagé dans la libération des disques durs a procédé à Hitachi.

IBM Long History a permis à la société d'accumuler une expérience formidable dans la création d'équipements informatiques et de logiciels. Aujourd'hui, même malgré le départ du marché de l'ordinateur, la société a un impact assez fort sur le développement de l'ensemble de l'industrie.

Tout d'abord, il est nécessaire de déterminer avec précision les tâches pour lesquelles votre future unité système sera utilisée. Si l'achat d'équipement de jeu est planifié, il est nécessaire de porter une attention particulière à la carte vidéo et de graphique. poste de travail Le rôle fondamental est joué par la puissance du processeur et le volume mémoire vive. Les systèmes de bureaux sont les moins exigeants en termes de performance. Vous n'aurez même pas besoin d'ajouter une carte vidéo extérieure, car elle suffira et l'intégré. Tout d'abord, sélectionnez le processeur. Cet élément affecte les performances globales de l'ensemble du système et plus de noyaux (et plus leur fréquence de travail est élevée), plus les opérations seront exécutées.

Ensuite, le configurateur PC vous aidera à choisir votre carte mère. Il doit être compatible avec la CPU et maintenir la RAM de la fréquence requise. Payer votre attention sur toutes les machines à sous et connecteurs nécessaires, ainsi que la taille du plus carte mère (ATH, MICRO ATX, MINI ATX, etc.). Habituellement, tous d'entre eux présentent déjà un réseau intégré et carte son. Les designer du site de magasin en ligne sélectionneront automatiquement des options appropriées, une fois que vous avez choisi un processeur, et ne convient pas à exclure. L'ordinateur de jeu est nécessairement équipé d'une carte vidéo externe. Si vous voulez jouer à des jeux modernes régulièrement et oublier la modernisation de votre système pendant une longue période, vous ne devez pas économiser. Cela s'applique également au volume de la RAM, cela n'affectera pas particulièrement le prix du PC, mais cela affectera considérablement la performance. Du volume du disque dur, la quantité d'informations que vous pouvez simultanément stocker sur l'ordinateur dépend. Mais pour augmenter la vitesse du système, il est recommandé d'installer en outre un lecteur SSD. Il sera localisé, programmes et applications.

Pour travail pratique Avec transporteurs de données externes, unité système, facultatif, personnel lecteur optique et lecteur de carte. L'un des éléments importants du système est l'alimentation électrique. Son puissance doit être transparente après le volume global de composants de consommation d'électricité. En outre, laissez le stock sur 100-200 W pour un fonctionnement fiable à des charges élevées sur le processeur et la carte vidéo. Le designer ne vous laissera pas vous tromper avec le choix de l'alimentation, car vous prendrez en compte les composants que vous choisissez et ne fournissez que des boîtiers appropriés avec des alimentations.

Configuration puissante ordinateur de jeu Prévoit la disponibilité système supplémentaire Le refroidissement qui est sélectionné automatiquement, en fonction du processeur sélectionné. Il reste à tout collecter dans le cas. Il peut être assez simple et simple si l'unité système que vous envisagez d'installer sous la table, où elle ne le verra pas, ou d'avoir un rétroéclairage et une fenêtre au néon sur le côté, vous permettant de surveiller le fonctionnement des options du système (des joueurs). . Il s'agit d'une question de goût, mais notez que la coque du jeu PC devrait être spacieuse et avoir une bonne influenciation afin que les composants ne surchauffent pas sur des charges de pointe.

Avoir des difficultés?

Pour la commodité des clients, il est possible d'envoyer la configuration résultante à imprimer. Et si les difficultés sont survenues, cela vaut la peine d'utiliser l'aide de notre ingénieur qui vous dira quels composants sont plus corrects pour obtenir des spécifications optimales.
Décider de collecter l'ordinateur de nous, vous obtenez les meilleurs prix et service. Nous garantissons une livraison rapide, mais soignée de votre unité système.

Avez-vous aimé l'article? Partager avec des amis: