Caractéristiques de la conception de systèmes à l'aide d'outils basés sur un microprocesseur. Manuel des systèmes de microprocesseurs modernes. L'essence de l'architecture et des principes

Ministère de l'Enseignement Général et Professionnel

Fédération Russe

Université d'État de Toula

Département d'ordinateurs électroniques

Note explicative

pour un projet de cours dans la discipline « Systèmes à microprocesseurs »

Conception d'un système à microprocesseur pour identifier un objet contrôlé

Spécialité : 220100

Désignation KP : K2.006.106

Chef de travail : Ventslavovitch Yu.R.

INTRODUCTION

Le projet de cours est conçu pour acquérir des compétences pratiques dans la conception de systèmes simples à microprocesseurs à des fins diverses. Le projet s'appuie sur la partie théorique de la discipline « Systèmes à microprocesseurs ». Le devoir du projet de cours est délivré par le chef de projet.

Le projet de cours est réalisé dans le but de consolider les connaissances du cours « Systèmes à microprocesseurs » et de développer des compétences pour la conception indépendante de systèmes à microprocesseurs spécialisés pour un type spécifique d'informations.

Les objectifs du projet de cours sont :

· maîtrise pratique de la méthodologie de conception de systèmes à microprocesseurs ;

· analyse des options de solutions de conception et sélection de la solution optimale en fonction de celle-ci ;

· synthèse d'un schéma fonctionnel d'un système à microprocesseur basé sur l'analyse des données initiales et de la solution optimale adoptée ;

· acquérir des compétences dans le développement de matériel et de logiciels pour un système à microprocesseur ;

· développement ultérieur des compétences en matière de conception fonctionnelle-logique, de circuits et de conception, d'exécution et de publication de la documentation de conception conformément à GOST.

Pour résoudre ces problèmes, vous avez besoin de connaître non seulement le cours « Systèmes à microprocesseurs », mais également un certain nombre de disciplines connexes, ainsi que la capacité d'utiliser les informations réglementaires et de référence.

TÂCHE TECHNIQUE

1. Algorithme de traitement des données d'entrée.

Le modèle objet est donné par l’équation :

où : ai (i=1,…,r) et bi (i=1,…,l) sont des paramètres inconnus ;

xn - bruit inobservable ;

xn-i et zn-i sont des variables observées.

Les estimations des paramètres sont déterminées par la procédure itérative de filtre de Kalman :


où : j = T

q = T

s02 - variance du bruit indépendant non observable xn

1. Caractéristiques des informations d'entrée :

nombre de sources d'informations d'entrée - 8 ;

niveau min/max de changement des signaux d'entrée - 3/4 ;

variance minimale de l'erreur de mesure, ґґ10-2 - ssи2 = 5 ;

dispersion maximale de l'erreur de mesure, ґґ10-2 - ssc2 = 50 ;

1. Caractéristiques requises des informations de sortie :

nombre de consommateurs d'informations de sortie - 1 ;

limitation du temps de retard des informations de sortie par rapport à l'entrée (temps de formation de la réponse), ms - 0,15 ;

2. Caractéristiques générales requises du MPS :

type de connexion avec la source des informations d'entrée - série ;

type de communication avec le consommateur des informations de sortie - série ;

3. Paramètres de conception :

Boîtier de bureau - 152x533x419mm

type de planche - Baby-AT 8,57x13,04 pouces

type de moniteur - SVGA 15"

alimentation - 250 W

4. Groupe d'exploitation - transportable et portable, destiné au transport à long terme par des personnes en plein air ou dans des structures aériennes et souterraines non chauffées, travaillant et ne travaillant pas en déplacement.

Facteurs climatiques

changement de température ambiante

basse température, Co -50

temps de maintien, heure 2-6

température élevée, C 60

temps de maintien, heure 2-6

humidité élevée

humidité relative, % 93

température, C 40

temps d'exposition, heure 72

basse température

limite -50

travailler -10

température élevée

limite 50

travailler 60

basse pression

température -10

pression, Pa 6,1*104

temps de maintien, heure 2-6

précipitation

intensité de la pluie, mm/min 3

temps de maintien, heure 0,33

brouillard marin

température 27

temps de maintien, heure 48

Mécanique

vibrations à la même fréquence

fréquence, Hz 20

accélération, g 2

temps de maintien, heure 0,5

vibrations dans la gamme de fréquence

plage de fréquences, Hz 10-70

accélération, g 0,8-3,8

plusieurs coups

nombre par minute 40-80

accélération, g 15

nombre total de coups 12000

ANALYSE D'UN ALGORITHME INFORMATIQUE

Sur la base des spécifications techniques, vous pouvez construire le schéma de circuit suivant pour connecter le système à microprocesseur en cours de développement :


Les informations d'entrée dans ce projet de cours sont les valeurs d'entrée et de sortie des paramètres de l'objet identifié (xn et zn). Graphiquement, l'algorithme de calcul du vecteur d'estimations q = est présenté sur la Fig. 2.

À l'aide de l'algorithme décrit, un programme a été écrit en langage C, simulant le processus de calcul produit par le MPS. Le listing du programme est en Annexe 1, le résultat de la simulation est donné en Annexe 2.

DÉTERMINATION DE LA COMPOSITION DES MPS

La partie centrale de la structure développée du système à microprocesseur est le processeur central, construit sur la base d'un microprocesseur (MP) et remplissant les fonctions principales du processus de traitement de l'information et du contrôle de ce processus. La mémoire interne du MPS (pour stocker les programmes et les données) est de type semi-conducteur, située sur la même carte que le CPU, elle se présente sous forme de modules en lecture seule (ROM). Le microprocesseur est contrôlé par un générateur d'horloge (G). Le système contient également un coprocesseur mathématique (FPU).

Le MPS est connecté à l’environnement par le biais de sources d’informations d’entrée et de consommateurs d’informations de sortie. Des capteurs qui mesurent les valeurs des variables de l'objet observé, par exemple un processus technologique, sont utilisés comme sources de Sn. Des actionneurs de différents types (vannes, vannes, convertisseurs et amplificateurs de signaux, etc.) peuvent servir de consommateurs Dn.

Les canaux d'entrée et de sortie d'informations convertissent les signaux entrants sous la forme requise et assurent la communication entre l'environnement externe et le MPS via des ports d'entrée/sortie.

Dans le même cycle de fonctionnement du MPS, les informations d'entrée sont entrées dans le MPS et sorties du MPS. La limitation du cycle est déterminée par les caractéristiques temporelles de l'objet. Le décalage inévitable dans de tels cas entre l'information de sortie (actions de commande) et l'information d'entrée (état de l'objet) doit être limité par une valeur également déterminée par les caractéristiques de l'objet (ses fonctions de transfert, marges de stabilité en amplitude et phases, etc.). Par conséquent, le choix des paramètres des éléments MPS est effectué en tenant compte de ces restrictions.

La durée du cycle Tc est déterminée à partir des expressions :

1. Capacité du CAN

1. L'arrondi du résultat est optimal


où h est le pas d'échantillonnage par niveau de signal

1. Précision des conversions


1. Temps de conversion

1. Durée du cycle

où tn est le temps nécessaire pour convertir la valeur du signal en code numérique,

m est le nombre de sources d'informations d'entrée.

Après avoir déterminé la limitation de la durée Tc, vous pouvez déterminer la limitation de la durée du cycle du processeur


DÉVELOPPEMENT DE LOGICIELS

Une liste du programme d'estimation des paramètres des objets est donnée en annexe 3.

L'ensemble du programme est situé en ROM et se compose de deux blocs fonctionnels : le bloc d'initialisation MPS (configuration du processeur, coprocesseur selon les besoins, initialisation des variables) et la partie de travail, qui reçoit et traite les données en temps réel (l'algorithme de traitement des entrées les informations sont présentées dans la figure 2).

Tous les logiciels sont compilés dans le langage assembleur du MP sélectionné, ce qui permet d'obtenir directement des codes de commande binaires (« objet »), qui sont ensuite écrits dans la ROM. À la mise sous tension ou via un signal RESET, le contrôle est transféré au module d'initialisation, qui remet le système à son état initial.

Le programme gère indépendamment la situation de division par zéro. Une panne de courant ou d'autres événements urgents, tels qu'une panne matérielle, n'ont pas d'impact critique sur le MPS et ne peuvent pas le désactiver. D'où nous pouvons conclure que MPS ne nécessite pas de gestionnaires d'interruptions.

L'échange avec l'environnement externe s'effectue via des ports d'entrée/sortie série 8 bits dans un cycle d'entrée et de sortie, respectivement. Le logiciel est optimisé pour la vitesse d'exécution du microprocesseur sélectionné et tire parti du traitement des données 32 bits et de l'interaction avec des périphériques externes.

SÉLECTION DES MPC ET DÉVELOPPEMENT DE L'ARCHITECTURE MPS

Le choix a été fait entre une MPC basée sur le processeur 8086 et une MPC basée sur le processeur Intel 80386. Pour estimer la latence des données de sortie, nous calculons le nombre de cycles d'horloge nécessaires à chaque processeur pour effectuer les calculs. Les résultats de la comparaison sont présentés dans le tableau 1.

Tableau 1


A une fréquence de synchronisation de 33 MHz, la durée d'un cycle d'horloge est de 30 ns, ce qui signifie que le temps nécessaire pour recevoir, traiter et émettre le résultat est :

*4892 = 146760 ns = 0,147 ms,

avec un temps de retard acceptable de 0,15 ms.

Ainsi, un kit de microprocesseur basé sur le microprocesseur Intel 80386 avec une fréquence de 33 MHz a été sélectionné, qui répond le mieux aux exigences et restrictions. Ce MPC est un microprocesseur monopuce avec un jeu d'instructions et une architecture fixes. À l’aide de LSI d’interface et d’un logiciel d’application, le MPS est configuré pour une classe donnée d’algorithmes. Lors de la conception d'un MPS, des outils de préparation et de débogage des programmes sont nécessaires.

Le microprocesseur fonctionne à 33 MHz ; traite les données d'entrée d'un type entier au format octet. Les informations entrant dans le MPS sont stockées sous forme de vecteur (tableau unidimensionnel), certains des résultats intermédiaires et constantes sont stockés sous forme de tableaux de dimensions correspondantes.

Le MPS, pour mettre en œuvre ses tâches, contient l'ensemble de LSI suivant :

· Processeur i80386 ;

· Coprocesseur arithmétique i80387 ;

· générateur de fréquence d'horloge 82384 ;

· émetteur-récepteur de données 8286 ;

· loquets d'adresse 8282 ;

· RAM statique MS KM185RU8, ROM MS KR556RT20 et un ensemble de MS qui génèrent des signaux de contrôle (1533ID3, 1533ID14, 1533LA3) ;

· Émetteur-récepteur synchrone-asynchrone universel MS (KP580BB51A), conçu pour le protocole d'échange de données série.

CONCEPTION D'UN PROCESSEUR MPS

conception de logiciels de microprocesseur

A ce stade, le processeur est développé. La première information lors du développement d’un processeur est son architecture. Sur cette base, la structure du processeur et son interface avec le bus système sont développées.

Lors de la conception de processeurs basés sur des MPC avec des MP monopuces, les problèmes de développement d'outils de synchronisation, d'une interface de bus de données, d'une adresse et d'un bus système ont été résolus ; des moyens pour contrôler et synchroniser les opérations de lecture/écriture sur le bus système ; des moyens d'accès au bus système ; moyens de prendre en charge les modes de fonctionnement du processeur.

La composition et la structure de l'interface du bus système sont déterminées en fonction de l'organisation et de la largeur des bus de données et d'adresses ainsi que de leur capacité de charge requise. L'interface de bus d'adresses est implémentée par un registre tampon d'adresses, et l'interface de bus de données est implémentée par un pilote de bus. Le courant de charge des pilotes de bus et des registres tampon de l'interface détermine la capacité de charge du bus système.

Pour synchroniser les opérations de lecture/écriture, une méthode synchrone est utilisée, pour laquelle l'intervalle de temps de lecture/écriture est déterminé par la durée des signaux de commande. La méthode fournit le débit de bus système le plus élevé. Une méthode d'échange synchrone est utilisée avec une durée contrôlée de l'intervalle d'échange, et la modification de la durée de l'intervalle n'est possible que dans le sens de son augmentation sous le contrôle des signaux de confirmation d'échange générés par la mémoire et l'unité de contrôle. Pour augmenter la durée de l'intervalle d'échange sur le bus système, le mode veille du processeur est utilisé.

La composition des moyens d'accès au réseau est déterminée par le type de bus. Le MPS en cours de développement est monoprocesseur et utilise un SSH mono-utilisateur. Dans ce cas, le bus est contrôlé par le processeur lui-même et aucun outil de gestion supplémentaire n'est requis.

L'interface de bus d'adresses est implémentée par un registre tampon d'adresses, et l'interface de bus de données est implémentée par un pilote de bus. Le courant de charge des pilotes de bus et des registres tampon de l'interface détermine la capacité de charge du bus système.

Calcul de la capacité de charge du bus d'adresses :

Parce que un module RAM ou un module ROM peut fonctionner en même temps.

Iout182 = max(4* IinROM1, 4* IinROM1) = max(4*4×10-5, 4*0.04) = 0,16 mA £ 32 mA

Iout082 = max(4* IinROM0, 4* IinROM0) = max(4*0,25, 4*0,45) = 1,8 mA £ 5 mA

Calcul de la capacité de charge du bus de données :

Parce que un module RAM ou un port de sortie peut fonctionner en même temps.

Iout186 = max(IinRAM1, IinIOP1) = max(0,04, 0,0007) = 0,04 mA £ 32 mA

Iout086 = max(IinRAM0, IinIOP0) = max(0,3, 0,05) = 0,3 mA £ 5 mA

Calcul de la capacité de charge des lignes CS pour RAM et ROM à partir du décodeur :

Iout1DC = max(4* IinROM1, 4* IinROM1) = max(4*4×10-5, 4*0.04) = 0,16 mA £ 0,4 mA

Iout0DC = max(4* IinROM0, 4* IinROM0) = max(4*0,25, 4*0,9) = 3,6 mA £ 8 mA

Calcul de la capacité de charge des lignes W/R pour RAM à partir du MS 8282 :

Iout182 = 4* IinRAM1 = 4*0,04 = 0,16 mA £ 32 mA

Iout082 = 4* IinRAM0 = 4*0,45 = 1,80 mA £ 5 mA

Le calcul de la capacité de charge des bus de données, d'adresses et de contrôle a montré que la connexion proposée des puces mémoire et des ports ne nécessite pas de microcircuits supplémentaires pour augmenter la capacité de charge des lignes.

Le générateur d'horloge 82384, utilisé dans les systèmes basés sur le i80386 MP, génère des signaux d'horloge pour effectuer des opérations synchrones de divers composants du système. À la sortie CLK2 du circuit générateur, des impulsions sont générées avec une fréquence égale à la fréquence du quartz externe (33 MHz) et à la sortie CLK - avec une fréquence moitié inférieure. Les signaux à la sortie CLK et les signaux de synchronisation internes du MP sont en phase. Les phases de ces signaux sont alignées à l'aide des tranches du signal RESET.

Le signal RESET est utilisé pour réinitialiser le MP et d'autres composants du système et est généré par le générateur à partir d'un circuit RC externe. Le signal ADS# fournit les temps de configuration et de maintien requis pour le signal CLK2, et le signal ADS0# est utilisé conjointement avec CLK pour contrôler les périphériques. La broche F/C# est mise à la terre car Un résonateur à quartz est utilisé.

Les registres à verrouillage d'adresse 8282 remplissent les fonctions d'interface de bus d'adresse, ce qui augmente la capacité de charge du bus d'adresse. Les données dans les registres sont verrouillées sur le front du signal ADS# provenant du générateur d'horloge. Le signal d'entrée OE# - désactivant le troisième état des sorties, est à l'état actif.

Les pilotes de bus 8286 remplissent les fonctions d'une interface de bus de données pour augmenter la capacité de charge des bus de données. Signal d'entrée T - définit la direction du transfert de données. Le signal d'entrée OE# - désactivant le troisième état des sorties, est à l'état actif.

Le coprocesseur arithmétique 80387 est conçu pour fonctionner de manière entièrement synchrone ou pseudo-synchrone avec le MP 80386. En mode pseudo-synchrone, la logique d'interface du coprocesseur 80387 fonctionne sur le signal d'horloge du 80386 MP, tandis que sa logique interne fonctionne sur un signal d'horloge différent. Lorsque le 80386 MP fonctionne avec le coprocesseur 80387, il effectue toutes les boucles de mémoire principale et les transferts de données nécessaires vers et depuis le 80387. Tous les transferts avec le coprocesseur 80387 sont en 32 bits.

Les connexions suivantes sont disponibles entre le 80386 MP et le coprocesseur 80387 :

· les sorties BUSY#, ERROR#, PEREQ du coprocesseur 80387 sont connectées aux broches correspondantes du MP 80386 ;

· l'entrée RESET du coprocesseur 80387 est connectée à la sortie RESET du générateur d'horloge 82384 ;

· Les entrées de sélection de puce du coprocesseur arithmétique 80387 (CS1#, CS2) sont directement connectées aux sorties M/IO# et A31, respectivement. Pour les cycles avec coprocesseur, le signal A31 est toujours haut et le signal M/IO# est toujours bas ;

· L'entrée de commande du coprocesseur 80387 (CMD0#) sépare les données des commandes. Cette entrée est connectée à la sortie A2. Le MP 80386 produit l'adresse 800000F8h lors de l'écriture d'une commande et l'adresse 800000FCh lors de l'écriture ou de la lecture de données ;

· les 32 lignes (D31-D0) du bus de données MP 80386 sont directement connectées au bus de données du coprocesseur 80387 ;

· les entrées READY#, ADS#, W/R# du coprocesseur 80387 sont connectées aux broches correspondantes du MP 80386. Le coprocesseur 80387 utilise les signaux READY# et ADS# pour surveiller l'activité du bus et le moment en moment où les signaux W/R#, CS1 peuvent être interrogés #, CS2 et les signaux d'activation d'état (STEN) ;

· Le signal STEN est le signal de sélection de la puce 80387. Il peut être réglé sur un niveau de tension élevé. Si le même 80386 MP fonctionne avec plusieurs coprocesseurs 80387, alors le signal STEN peut être utilisé pour activer l'un d'entre eux à un moment précis ;

· La sortie Prêt (READYO#) est une sortie supplémentaire. Il peut être utilisé pour générer l'état d'attente requis par le coprocesseur.

Si le 80386 MP détecte une commande du coprocesseur, il génère automatiquement un ou plusieurs cycles d'E/S aux adresses 800000F8H et 800000FCH. Le processeur effectue toutes les boucles et transferts de mémoire nécessaires vers et depuis le coprocesseur 80387. Toutes les communications avec le coprocesseur 80387 sont en 32 bits. Si, pour une raison quelconque, un sous-système de mémoire 16 bits est utilisé, le 80386 MP effectue automatiquement des conversions avant de transférer des données vers ou depuis le coprocesseur arithmétique.

Le transfert de données du coprocesseur 80387 vers le 80386 MP nécessite au moins un état d'attente. Les cycles d'écriture sur le coprocesseur 80387 ne nécessitent pas d'états d'attente. L'interface avec le 80386 MP étant toujours synchrone, la broche CLK2 du coprocesseur 80387 doit être connectée à l'entrée CLK2 du 80386 MP. L'état de l'entrée SCM du coprocesseur 80387 détermine dans lequel des deux modes il fonctionne.

En mode pseudo-synchrone, le signal SCM est faible. Une source d'horloge doit être connectée à l'entrée CLK2 du coprocesseur 80387. Seule la logique d'interface du coprocesseur 80387 est synchrone avec le MP 80386. La logique interne du coprocesseur 80387 fonctionne à partir de la source de fréquence d'horloge de l'entrée 80387 CLK2.

En mode synchrone, le signal SCM est haut et l'entrée 80387 CLK2 n'est connectée nulle part. Le coprocesseur 80387 fonctionne à partir du signal d'horloge principal CLK2. Les opérations du coprocesseur arithmétique sont complètement synchrones avec le fonctionnement du MP 80386.

Le coprocesseur 80387 utilise deux méthodes pour interagir avec le MP 80386. La première est utilisée lorsque les opérations avec le coprocesseur sont initiées par le MP 80386. Cela se produit lors de l'exécution d'une commande du coprocesseur (commande ESC) et est effectuée sous le contrôle de le programme. La deuxième méthode de communication se produit lorsque le coprocesseur utilise le signal PEREQ pour demander au 80386 MP de commencer à transférer des opérandes vers ou depuis la mémoire système. Ces transferts s'effectuent à la demande du coprocesseur, ils sont donc asynchrones avec l'exécution des commandes MP 80386. Les transferts de données pour le coprocesseur ont la même priorité sur le bus que les transferts de données sous contrôle programme.

ORGANISATION DU MICROPROCESSEUR

Le 80386 dispose de deux bus distincts : le bus d'adresses et le bus de données. Le bus de données est 32 bits et bidirectionnel. Dans la plupart des modules utilisés pour le bus local haut débit, 32 bits d'adresse sont utilisés, transmis sur le bus d'adresse, dont les 2 bits de poids faible sont décodés en 4 signaux stroboscopiques de données (chacun de ces signaux autorise ou désactive la transmission du octet de données correspondant, signaux BE0#-BE3#), et les 30 bits restants représentent le code binaire de l'adresse. Pour contrôler l'échange sur le bus d'adresses et le bus de données, des signaux de commande correspondants sont utilisés.

La largeur variable (bit) du bus de données permet au processeur d'interagir avec les bus externes 32 et 16 bits en mode synchrone.

Broches du microprocesseur :

Signal d'horloge (CLK2)

CLK2 fournit l'horloge principale du 80386. Cette vitesse d'horloge est divisée en deux pour former la vitesse d'horloge du processeur interne, qui est utilisée lors de l'exécution d'instructions au sein du processeur.

Bus de données (D0-D31)

Les lignes de bus de données bidirectionnelles à trois états déplacent les données du 80386 vers d'autres appareils. La présence d'un niveau de tension élevé aux entrées/sorties du bus de données indique la présence d'un code logique "1" au niveau de ces broches. Le bus de données peut transférer des données sur des bus 32 et 16 bits car il est possible de modifier la taille du bus de données ; La taille du bus de données est déterminée par la valeur du signal d'entrée BS16#. Pendant toute opération d'écriture (y compris les cycles d'arrêt et d'arrêt), le 80386 transfère toujours les 32 bits de données, même si le cycle actuel a une largeur de 16 bits.

Bus d'adresses (BE0#-BE3#, A2-A31)

Ces sorties à trois états fournissent un adressage de la mémoire physique ou un adressage des périphériques d'E/S. Le bus d'adresses fournit 4 Go d'espace d'adressage de mémoire physique (00000000H à FFFFFFFFH) et 64 kilo-octets d'espace d'adressage d'E/S (00000000H à 0000FFFFH) pour accéder aux périphériques d'E/S.

Les valeurs des signaux d'échantillonnage de données BE0#-BE3# déterminent respectivement les octets du bus de données 32 bits impliqués dans la transmission en cours. Ceci est particulièrement pratique pour interagir avec des équipements externes.

Signaux de détection de type de cycle de bus (W/R#, D/C#, M/IO#, LOCK#)

Ces sorties à trois états déterminent le type du cycle de bus actuel. En fonction de la valeur de W/R#, tous les cycles sont divisés en cycles d'écriture et cycles de lecture. D/C# divise tous les cycles en cycles d'échange de données et cycles d'échange de signaux de commande. M/IO# distingue les cycles d'accès à la mémoire des cycles d'accès aux périphériques d'E/S. Le signal LOCK# distingue les cycles avec un bus bloqué.

Pointeur de bus 16 bits (BS16#)

Le signal BS16# permet au 80386 de communiquer directement avec les bus de données 32 bits et 16 bits. Le réglage du niveau actif de cette entrée aura pour conséquence que dans le cycle de bus en cours, l'échange sera effectué uniquement sur la moitié inférieure du bus de données (D0-D15) conformément aux valeurs de BE0# et Signaux BE1#. L'influence supplémentaire du signal BS16# (mis à l'état actif) n'apparaîtra pas si dans le cycle en cours seuls les signaux BE0# ou BE3# sont actifs, l'action du signal BS16# (niveau actif) forcera le processeur 80386 effectuer les commutations nécessaires à la transmission correcte du ou des octets supérieurs sur les lignes D0-D15.

Dans ce travail, ce signal est toujours mis à un état passif et seules des données de 32 bits sont échangées avec la mémoire.

Signaux d'interruption INTR, NMI

Peut interrompre ou suspendre l'exécution par le processeur de l'ensemble d'instructions en cours. Puisque la gestion des interruptions n’est pas requise, ces signaux ne sont pas utilisés.

· Signal de réinitialisation (réinitialisation) (RESET).

Ce signal d'entrée arrête toute opération en cours et met le 80386 dans un état appelé état de réinitialisation. Le 80386 est réinitialisé en gardant le signal RESET actif pendant 15 périodes CLK2 ou plus. Le signal RESET peut être asynchrone par rapport à CLK2. Si nécessaire, la phase de l'horloge interne du processeur ainsi que l'état complet du 80386 peuvent être entièrement synchronisés avec les circuits externes.

Description du fonctionnement du bus Le 80386 dispose de bus parallèles séparés : un bus d'adresses et un bus de données. Le bus de données est 32 bits et bidirectionnel. La largeur du bus d'adresse est de 32 bits : dont 30 bits de poids fort sont l'adresse de l'opérande et 2 bits sont formés à partir de 4 signaux d'échantillonnage de données, dont chacun est utilisé pour sélectionner l'octet correspondant dans l'opérande. Le type de chaque cycle de bus est déterminé par trois signaux : M/IO#, W/R# et D/C#. Simultanément à ces signaux, une adresse valide est établie sur les lignes BE0#BE3# et A2-A31. Le signal stroboscopique d'adresse indique que le processeur 80386 a émis un nouveau type de cycle de bus et une nouvelle adresse. En fonctionnement, le bus effectue l'un des cycles de bus suivants :

Tableau 1. Définition du cycle de bus

TYPE DE TRANSMISSION

Accusé de réception d'interruption

Cycles spéciaux BE0-BE3

Lecture des données depuis les E/S

Écriture de données dans les E/S

Prélecture (lecture) des instructions de la mémoire

(réservé)

Lire des données de la mémoire

Écrire des données en mémoire


DÉVELOPPEMENT DU SOUS-SYSTÈME DE MÉMOIRE MPS

Lors de la conception de la mémoire MPS, les problèmes de développement d'un circuit de stockage d'informations et d'un circuit d'interface entre la RAM et la ROM avec le bus système ont été résolus.

Le besoin en RAM est déterminé à l'aide du programme assembleur :

· données pour variables temporaires - 688 octets ;

· La quantité de mémoire pour le code de programme est de 928 octets.

La particularité de la conception des modules de mémoire pour le microprocesseur 80386 est qu'un bus de données de 32 bits est utilisé pour accéder aux données (c'est-à-dire que l'échange s'effectue en 4 octets, l'octet souhaité est sélectionné à l'aide des signaux de sélection d'octet BE0#- BE3#). Sur cette base, les modules de mémoire sont constitués de quatre banques d'une largeur de 1 octet.

Le dispositif de stockage RAM est construit sur la base de microcircuits KM185RU8 de type statique d'une dimension de 256´8, avec un temps d'écriture/lecture de 45 ns, Рсс = 915 mW. Le lecteur ROM est construit sur la base de microcircuits 556PT17 d'une dimension de 512´8, avec un temps de lecture de 50 ns, Рсс = 998 mW.

Des chronogrammes donnés en annexe 4, il résulte que l'organisation de cycles d'attente lors de l'accès à la mémoire n'est pas nécessaire, car les cycles de lecture/écriture respectent les limites de temps - deux cycles de processeur T1 + T2 = 1/33 MHz + 1/33 MHz = 61 ns.

La sortie d'adresse MP A11 et la sortie M/IO# sont utilisées pour sélectionner l'un des espaces adressables, et les signaux BE0#, BE1#, BE2#, BE3# sont utilisés pour sélectionner l'octet adressable dans les modules RAM ou ROM.

La quantité de mémoire a été choisie en fonction des besoins du système et l'espace d'adressage MPS est divisé et disponible pour utilisation comme suit :

Plage d'adresses

Espace adressable

Ports E/S

1 Ko de RAM

ROM de 2 Ko


DÉVELOPPEMENT DU SOUS-SYSTÈME D'ENTRÉE-SORTIE

Le sous-système d'entrée/sortie MPS est un ensemble de canaux d'entrée/sortie, dont chacun dessert des ordinateurs individuels. Le canal contient des moyens d'interface avec le SB (interface du dispositif) et des moyens de contrôle d'entrée/sortie et est implémenté en matériel et en logiciel.

Étant donné que le MPS reçoit des informations de huit capteurs, lors de la procédure de saisie, avant de commencer à recevoir des données, l'hôte avec lequel l'échange sera effectué est sélectionné séquentiellement. Le capteur souhaité est précisé dans le cycle en écrivant son numéro dans le registre DX. Grâce à ce numéro, le matériel (décodeur d'adresse et commandes) permet la réception d'une source avec un numéro donné. L'interface de canal est implémentée sur la base de ports d'entrée/sortie.

Connexion du port série MS.

Les interfaces de canal d'E/S série sont implémentées sur une interface de communication série programmable LSI, par exemple KR580VV51A.

LSI KR580VV51A est un émetteur-récepteur de communication série synchrone-asynchrone universel qui remplit les fonctions de réception et de conversion de formats parallèles de mots de données en formats série avec des symboles de service pour la transmission sur le CS (canal de communication) et les formats série reçus du CS des mots de données en un format parallèle pour l'entrée dans le CPU. Le LSI peut être programmé pour fonctionner selon 5 modes : émission asynchrone, réception asynchrone, émission synchrone, réception synchrone avec synchronisation interne, réception synchrone avec synchronisation externe. Erreurs dans les mots de données reçus pour la parité ou l'impair, erreurs dans la structure du code lors de la réception asynchrone qui surviennent en raison de l'absence de bits d'arrêt, ainsi que des erreurs de superposition qui surviennent à la suite d'une violation de la synchronisation d'échange lorsque le mot suivant arrive avant le précédent est lu et surveillé. Vitesse d'échange jusqu'à 64 000 bauds.

Contrôle des transmissions.

Le contrôle de transmission régule toutes les activités liées à la transmission de données série. Il reçoit et produit les signaux suivants, tant externes qu'internes, pour remplir cette fonction :

· TxRDY (Transmitter Ready) : Cette sortie signale à l'unité système que l'émetteur est prêt à recevoir un caractère de données. TxRDY est automatiquement réinitialisé sur le front montant de la sortie WR lorsqu'un caractère de données est chargé depuis l'unité système ;

· TxC (Transmit Clock) : L'horloge de transmission contrôle la vitesse à laquelle un caractère doit être transmis. En mode synchrone, le nombre de bits par seconde est égal à la fréquence TxC. Le front descendant du signal TxC décale les données série.

Transfert de données.

Pendant la transmission synchrone, la sortie TxD est constamment au niveau du marqueur jusqu'à ce que le système envoie son premier symbole, qui est le symbole de synchronisation KR580BB51A. Tous les bits avancent sur le front descendant de TxC.

Une fois le transfert démarré, le flux de données en sortie TxD doit continuer au débit TxC. Si le système ne fournit pas au KR580BB51A des symboles de données avant que le tampon de transmission ne soit vide, les symboles de synchronisation seront automatiquement insérés dans le flux de données. Dans ce cas, le bit TxE dans le registre d'état est mis à l'état haut pour signaler que le KR580BB51A est vide et que des symboles de synchronisation sont en cours de transmission. TxE ne descend pas lorsque le symbole de synchronisation avance. Le bit d'état TxE est automatiquement réinitialisé lorsqu'un caractère de données est écrit sur le KR580BB51A.

Gestion de la réception.

· RxRDY (Receiver Ready) : Cette sortie indique que le KR 580ВВ51А contient un caractère prêt à être transmis à l'unité système ;

· RxC (Receiver Clock) : La fréquence de l'horloge du récepteur contrôle la fréquence à laquelle un caractère doit être reçu. Le débit binaire est égal à la fréquence RxC réelle.

Réception de données.

Le récepteur reçoit les données série, les convertit au format parallèle, vérifie les bits ou les caractères qui dépendent de la méthode de communication et envoie le caractère traité à l'unité système. L'entrée de données série va à la broche RxD et est cadencée sur le front montant de RxC.

Procédure de programmation pour KR580VV51A.

Le KR580BB51A est chargé d'un ensemble de mots de contrôle qui définissent l'environnement de communication. Les mots de contrôle se présentent sous deux formats : instruction de mode et instruction de commande. Les instructions et commandes de mode doivent suivre une séquence spécifique pour que l'appareil fonctionne correctement. L'instruction de mode doit être insérée immédiatement après l'opération de réinitialisation, avant d'utiliser le KR580VV51A pour la communication. Les symboles de synchronisation requis pour la méthode de communication sélectionnée sont ensuite chargés dans le KR580BB51A. Tous les mots de contrôle écrits dans KR580VV51A après l'instruction de mode indiqueront une instruction de commande. Le KR580VV51A est interfacé avec les bus système du processeur via les broches du bus de données D7-D0, contrôlées par les signaux d'échantillonnage, de lecture et d'écriture LSI fournis aux entrées CS, C/D, RD, WR. L'entrée C/D est contrôlée depuis la ligne A2.

Pour lire/écrire des données à partir des ports d'E/S, il vous suffit d'accéder à l'espace d'adressage correspondant.

DÉVELOPPEMENT DE TEZ

Structurellement, un préprocesseur pour une taille donnée de cartes peut être implémenté sur une TEZ. En plus des microcircuits, TEZ comprend :

· 1 connecteur type SNP34-90 ;

· 1 connecteur de type PS9 - pour l'alimentation et la mise à la terre ;

· condensateurs de filtrage : 2 électrolytiques et 6 (1 pièce - pour 5 microcircuits) céramiques KM-51-N90-0.05, installés sur la carte à proximité immédiate des microcircuits ;

· Résonateur à quartz et circuit oscillant à 33 MHz.

· Pour fournir le niveau « 1 » dans ce travail, au lieu de résistances d'une valeur nominale de 1K, on ​​utilise des lignes « supplémentaires » de l'élément logique 2I-NOT, dont les entrées sont alimentées par « 0 ».

Pour se protéger des vibrations et des chocs, il est nécessaire d'utiliser des structures à haute résistance et des supports spéciaux, qui servent également de dissipateurs thermiques pour l'évacuation de la chaleur (les principales sources de chaleur sont le processeur et le coprocesseur).

Les conditions thermiques sont assurées par un refroidissement naturel par air, et la planche est réalisée sur une base métallique qui dissipe la chaleur. Afin de protéger les éléments et le circuit imprimé de l'humidité, le TEZ est recouvert de vernis PFL-86.

CONCLUSION

Le logiciel suivant a été utilisé lors de la conception du système à microprocesseur :

· Borland C++ 3.1 et Turbo Assembler 3.1 - pour estimer la taille du programme MPS ;

· Système de conception assistée par ordinateur Visio 4.5 et Microsoft Word 2000 - pour préparer la documentation de conception.

À la suite du projet de cours, un MPS a été construit sur la base du microprocesseur i80386DX33 pour lequel les caractéristiques techniques suivantes peuvent être évaluées :

· profondeur de bits - 32 ;

parce que largeur du bus de données - 32 bits

· performances (RG-RG), op/s : - 6,6*106 ;

parce que Le MP 80386 exécute une commande en moyenne sur 5 cycles d'horloge, ce qui donne des performances déterminées par : 33 MHz / 5 = 6,6 * 106 opérations/s

· volume de mémoire interne, Ko : - RAM - 1, ROM - 2 ;

· vitesse maximale d'échange de données, Kbauds : - 64 ;

· consommation électrique, W : - 17,25 ;

· tension d'alimentation, V (Hz) : - 220 (50),

Au cours du projet de cours, les problèmes de conception MPS suivants ont été résolus :

· modélisation des sources d'informations d'entrée, d'un algorithme donné et des consommateurs d'informations de sortie ;

· détermination des paramètres des éléments MPS sur la base des résultats de modélisation ;

· synthèse et développement de diagrammes fonctionnels et schématiques de MPS ;

· développement de logiciels MPS ;

· élaboration de la conception et de la documentation de conception du projet (dessins et notes explicatives).

Le critère de qualité du système est égal à :

LISTE BIBLIOGRAPHIQUE

· Microprocesseur 80386 : Répertoire /K. Pappas, W. Murray/M. : Radio et communications, 1993.-320 p.

· Processeur 80386DX dans un circuit informatique personnel / Polyakov A.V. -M.:IKS, 1994.

· Microprocesseurs et ensembles de microprocesseurs de circuits intégrés : Annuaire. En 2 volumes/Ed. V. A. Shakhnova. - M. : Radio et Communications, 1988. - 368 pp. : ill.

· CI logiques KR1533, KR1554 : ouvrage de référence. En 2 volumes /Ed. I. I. Petrovsky, BINOM, 1993, avec illus.

· Application des puces mémoire dans les appareils électroniques, O. N. Lebedev, M. : Radio et Communications, 1994. - 216 pp. : ill.

· GOST 2.743-91 ESKD. Désignations graphiques conditionnelles dans les schémas. Éléments de technologie numérique.

· GOST 2.708-81 ESKD. Règles de mise en œuvre des circuits électriques des équipements électriques numériques.

· GOST 2.755-87 ESKD. Désignations graphiques conditionnelles dans les schémas. Appareils de commutation et connexions de contacts.

· Tokarev V. L. Systèmes à microprocesseurs : lignes directrices pour effectuer des travaux de laboratoire et un projet de cours pour les étudiants de la spécialité 220100 d'études de jour et de soir. - Toula : TSU, 1997. - 48 p.

· Matikashvili T.I. Préparation de documents sur la programmation et l'électronique numérique Tula : TSTU, 1994. -44 p.

ANNEXE 1

Listing du programme de modélisation de l'objet d'observation et du MPS

#inclure

#inclure

#inclure

(();();= 0.0;= 0.0;(O, 0, sizeof(float)*(R+L));(fi, 0, sizeof(char)*(R+L));(r, 0, taille de (float)*(R+L)*(R+L));(i=0; i

((i=R-1; i>0; i--) fi[i] = fi;(i=R+L-1; i>R-1; i--) fi[i] = fi; = z; fi[R] = x;= ((float)rand()/RAND_MAX)*sigma;= ((float)rand()/RAND_MAX)*2-1;= 0.0;(i=0; i

((j=i+1;j

(= r[i][j]; r[i][j] = r[j][i]; r[j][i] = tmpr;

)(chisl, 0, sizeof(float)*(R+L)*(R+L));(i=0; i

((j=0;j

((l=0; l

([i][j]+=chline[l]*r[l][j];

)(i=0; je

((j=0;j

([i][j]-=chisl[i][j]/znam;

)(i] = rfi[i]/znam;

)= 0,0;(je=0; je

ANNEXE 2

Résultats de la modélisation de l'objet d'observation et du MPS

Étape 1 : fi = [ 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 ]= 0,405= [ 0,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000 ]2 : fi = [ 0. 40 5 0,022 0,000 0,000 0,000 0,000 0,000 0,000 ]= 0,578= [ 0,930 0,413 0,000 0,000 0,000 0,000 0,000 0,000 ]3 : fi = [ 0,627 0,653 0,022 0,000 0,000 0,000 0,000 0,000 ]= -0,322= [ 0,322 0,021 -0,001 0,000 0,0 00 0,000 0,000 0,000 ]4 : fi = [ 0,696 -0,774 0,653 0,022 0,000 0,000 0,000 0,000 ] = -0,092= [ 0,303 0,005 -0,001 -0,001 0,000 0,000 0,000 0,000 ]5 : fi = [ 0,048 0,973 -0,774 0,653 0,022 0,000 0,000 0,000 ]= 0,386= [ 0,8 21 0,377 -0,409 0,030 0,704 0,000 0,000 0,000 ]6 : fi = [ 0,853 -0,425 0,973 -0,774 0,653 0,022 0,000 0,000 ]= 0,091= [ 0,875 0,411 -0,429 0,033 0,765 -0,305 0,000 0,000 ]7 : fi = [ 0,835 0. 225 -0,425 0,973 -0,774 0,653 0,022 0,000 ]= -0,242= [ 0,467 0,233 -0,247 -0,026 0,375 -0,109 0,007 0,000 ]8 : fi = [ 0,225 0,266 0,225 -0,425 0,973 -0,774 0,653 0,022 ]= -0,028= [ 0,485 0,220 -0,242 -0,0 18 0,348 -0,126 0,054 -0,202 ]9 : fi = [ 1,007 -0,375 0,266 0,225 -0,425 0,973 -0,774 0,653 ]= -0,008= [ 0,491 0,212 -0,238 -0,020 0,336 -0,103 0,020 -0,259 ]10 : fi = [ -0,216 -0,940 -0. 375 0,26 6 0,225 -0,425 0,973 -0,774 ]= [ 0,836 0,46 2 -0,436 -0,218 0,702 -0,320 0,297 -0,439 [ 0,533 -0,762 -0,970 0,817 -0,940 -0,375 0,266 0,225 ]= -0,020= [ 0,522 0,260 -0,247 -0,071 0,436 -0,138 0,026 -0,289 ]14 : fi = [ 0,117 -0,969 -0,762 -0,970 0,817 -0. 940 -0,375 0,266 ]= 0,023= [ 0,343 0,263 -0,251 -0,073 0,239 - 0,135 0,019 -0,291 ]15 : fi = [ 0,939 0,325 -0,969 -0,762 -0,970 0,817 -0,940 -0,375 ]= -0,204= [ 0,330 0,176 -0,220 -0 0,037 0,259 -0,124 0,04 8 -0,136 ]16 : fi = [ 0,648 -0,632 0,325 -0,969 -0,762 -0,970 0,817 -0,940 ]= 0,048= [ 0,343 0,272 -0,217 -0,043 0,247 -0,112 0,052 -0,237 ]17 : fi = [ 0,75 3 0,478 -0,632 0,32 5 -0,969 -0,762 -0,970 0,817 ]= 0,552= [ 0,765 0,439 -0,471 -0,201 0,673 -0,355 0,232 -0,404 ]18 : fi = [ 0,559 -0,946 0,478 -0,632 0,325 -0,969 -0,762 -0. 970 ]= 0,023= [ 0,776 0,44 2 -0,450 - 0,203 0,675 -0,358 0,225 -0,410 ]19 : fi = [ 0,974 -0,256 -0,946 0,478 -0,632 0,325 -0,969 -0,762 ]= -0,030= [ 0,767 0,419 -0,408 -0,212 0. 673 -0,359 0,229 -0,404 ]20 : fi = [ 0,954 0,139 -0,256 -0,946 0,478 -0,632 0,325 -0,969 ]= -0,368= [ 0. 517 0,275 -0,246 -0,015 0,438 -0,150 0,006 -0,256 ]21 : fi = [ 1,736 0,134 0,139 -0,256 -0,946 0,478 -0,632 -0,325 ]= -0,045= [ 0,502 0,26 7 - 0,248 -0,065 0,441 -0,150 0,056 -0,258 ]22 : fi = [ 0,679 -0,488 0,134 0,139 -0,256 -0,946 0,478 -0,632 ]= 0,222= [ 0,664 0,329 -0,357 -0,126 0,545 -0,222 0,103 -0,349 ]23 : fi = [ 0,68 5 0,531 -0,488 0,134 0,139 -0,256 -0,946 0,478 ]= 0,176= [ 0,675 0,341 -0,357 -0,115 0,558 -0,236 0,122 -0,346 ]24 : fi = [ 1,015 -0,361 0,531 -0,488 0,134 0,139 -0,256 -0,946 ]= -0,220 = [ 0,587 0,294 -0,397 -0,122 0,442 -0,245 0,111 -0,217 ]25 : fi = [ 0,755 0,111 -0,361 0,531 -0,488 0,134 0,139 -0,256 ]= -0,173= [ 0,546 0,277 -0,362 -0,136 0,499 -0,218 0,071 -0. 25 1 ]26 : fi = [ 0,420 0,660 0,111 -0,361 0,531 -0,488 0,134 -0,139 ]= 0,310= [ 0,596 0,297 -0,314 -0,118 0,516 -0,186 0,091 -0,296 ]27 : fi = [ 1,239 -0,775 0,660 0,111 -0,361 0. 531 -0,48 8 -0,134 ]= 0,119= [ 0,615 0,321 - 0,276 - 0,078 0,532 -0,152 0,114 -0,301 ]28 : fi = [ 0,242 -0,715 -0,775 0,660 0,111 -0,361 0,531 -0,488 ]= -0,093= [ 0,610 0,315 -0,297 -0 .096 0,52 6 -0,163 0,102 -0,302 ]29 : fi = [ 0,610 -0,327 -0,715 -0,775 0,660 0,111 -0,361 0,531 ]

ANNEXE 3

Liste du programme du micrologiciel ROM

Segment TEXT octet public "CODE"cs:_TEXT, ds:_TEXT 100h

; Procédure d'initialisation

; Remise à zéro O

;di,offset Oax,dses,axax,axcx,16stoswstart:mot ptr x,0mot ptr x+2,0mot ptr z,0mot ptr z+2,0

; r -> matrice d'identité

mov mot ptr i,0

@1@58:bx,mot ptr icl,5bx,clax,mot ptr icl,2ax,clbx,axword ptr r,16256mot ptr r,0mot ptr iword ptr i,8 court @1@58

; Configuration des ports d'E/S

@1@581:dx,4al,11110101B ; asynchrone.,

; 6 bits de caractères, parité paire

mov al,00111110B ; récepteurdx,al@1@581dx,4al,11111101B ; asynchrone.,

; 8 bits de caractères, parité paire

mov al,00110011B ; émetteurdx,al

; Traitement de l'information

mouvement cx,8dx,0bx,0

@1@1599:dx,4al,dxbyte ptr fi,albx@1@1599

; Réinitialisation du RFI

;di,décalage rfiax,axcx,16stosw

; calcul RFI

@1@198:mot ptr j,0

@1@226:bx,mot ptr jal,octet ptr fiah,0mot ptr temp,axword ptr tempbx,mot ptr icl,5bx,clax,mot ptr jcl,2ax,clbx,axdword ptr rbx,mot ptr ibx,cldword ptr rfibx ,word ptr ibx,cldword ptr rfiword ptr jword ptr j,8short @1@226word ptr iword ptr i,8short @1@198

;mot ptr znam+2,0mot ptr znam,0

; Calcul du znam

;mot ptr i,0si,sicl,2si,clsi,offset rfi

@1@450:bx,mot ptr ial,octet ptr fiah,0mot ptr temp,axword ptr tempdword ptr dword ptr znamdword ptr znamsi,4mot ptr isi,offset rfi+32short @1@450

;ax,word ptr sigmaword ptr temp,axword ptr tempdword ptr znamdword ptr znam

; Transposer r

@1@590:ax,mot ptr iaxmot ptr j,ax@1@674

@1@618:bx,word ptr icl,5bx,clax,word ptr jcl,2ax,clbx,axax,word ptr rword ptr temp,axax,word ptr rword ptr temp+2,axdx,bxbx,word ptr jcl,5bx ,clax,mot ptr icl,2ax,clbx,axax,mot ptr rword ptr temp+4,axax,mot ptr rword ptr temp+6,axax,mot ptr tempword ptr r,axax,mot ptr temp+2mot ptr r,axbx ,dxax,mot ptr temp+4mot ptr r,axax,mot ptr temp+6mot ptr r,axword ptr j

@1@674:mot ptr j,8@@28@1@618

@@28:mot ptr imot ptr i,8@@29@1@590

; Réinitialiser le burin

;di,chislax décalé,axcx,128stosw

; Calcul de la ligne de conduite

@1@814:bx,word ptr jal,byte ptr fiah,0word ptr temp,axword ptr tempbx,word ptr icl,2bx,cldword ptr rfibx,word ptr jbx,cldword ptr chlineword ptr jword ptr j,8short @1@814

; Calcul du ciseau

@1@926:mot ptr l,0ax,mot ptr icl,5ax,cldx,mot ptr jcl,2dx,clax,dxsi,ax

@1@982:bx,word ptr lcl,5bx,clax,word ptr jcl,2ax,clbx,axdword ptr rbx,word ptr lbx,cldword ptr chlinedword ptr chisldword ptr chislword ptr lword ptr l,8short @1@982word ptr jword ptr j,8short @1@926word ptr iword ptr i,8@@30@1@786

; Calculer r

@1@1206:mot ptr j,0

@1@1234:bx,word ptr icl,5bx,clax,word ptr jcl,2ax,clbx,axdword ptr chisldword ptr znamdword ptr rdword ptr rword ptr jword ptr j,8short @1@1234

; Calculer k

;bx,word ptr icl,2bx,cldword ptr rfidword ptr znamdword ptr kword ptr iword ptr i,8@@31@1@1206

;mot ptr e,0mot ptr e+2,0

; Calcul e

;mot ptr i,0si,sicl,2si,clsi,offset O

@1@1486:bx,mot ptr ial,octet ptr fiah,0mot ptr temp,axword ptr tempdword ptr dword ptr edword ptr esi,4mot ptr isi,offset O+32short @1@1486

;al,byte ptr fiah,0word ptr temp,axword ptr tempdword ptr edword ptr e

; Calcul O

@1@1850:bx,word ptr icl,2bx,cldword ptr kdword ptr edword ptr Odword ptr Oword ptr iword ptr i,8short @1@1850

;ax,100mot ptr temp,axax,0mot ptr temp+2,axcx,8bx,0

@1@1860:dword ptr Odword ptr tempword ptr temp+4al,byte ptr temp+420h,albx,4@1@1860calc

;db 2 dup (?)db 2 dup (?)db 2 dup (?)dd 0,5db 4 dup (?)db 4 dup (?)db 4 dup (?)db 256 dup (?)db 32 dup (? )db 32 dup (?)db 8 dup (?)db 8 dup (?)db 4 dup (?)db 32 dup (?)db 4 dup (?)db 256 dup (?)db 32 dup (?)

TEXTE termine l'initialisation

ANNEXE 4

Chronogrammes du fonctionnement du système

Figure 1. Cycle de lecture à partir de la RAM

Figure 2. Cycle d'écriture RAM

Figure 3. Cycle de lecture à partir de la ROM

Signification

La logique d'interruption mémorise le niveau de priorité de l'interruption traitée. Lorsqu'une instruction RET est exécutée, le niveau de priorité est maintenu et seule l'interruption avec le niveau de priorité le plus élevé peut être traitée ensuite. L'instruction RETI diffère de l'instruction RET en ce sens qu'elle réinitialise le niveau de priorité, permettant ainsi de traiter les demandes d'interruption de faible priorité.

À les opérations conditionnelles typiques incluent des commandes JZ et JNZ, JC

Et J.N.C. Les deux derniers sont inclus dans le groupe « Booléen ». Dans la commande CJNE, deux octets sont d'abord comparés, selon les règles de soustraction d'entiers

Et Conformément au résultat de la comparaison, le drapeau C est défini. Ensuite, s'ils ne correspondent pas, un branchement est effectué.

Dans l'instruction DJNZ, non seulement l'un des registres du banc de registres courant Rn, n=0...7, mais également une cellule mémoire de données directement adressable DSEG peuvent être utilisés comme compteur. Lorsqu'une commande est exécutée, le compteur est d'abord décrémenté et, si le compteur n'est pas nul, bifurqué.

3. Conception de systèmes à microprocesseurs

La technologie de conception de MPS basée sur des microcontrôleurs est pleinement conforme au concept de continuité du processus de conception et de débogage des composants matériels et logiciels, adopté dans la technologie des microprocesseurs. Une caractéristique importante de l'utilisation des microcontrôleurs est le fonctionnement en temps réel, c'est-à-dire réponse garantie aux événements extérieurs dans un certain délai. Il est évident que résoudre le problème du débogage conjoint des composants matériels et logiciels en temps réel avec une structure et une conception de circuit arbitraires d'un système à microprocesseur est un travail très complexe, coûteux et de longue haleine.

3.1. Étapes de conception

La particularité des MPS est qu'ils sont eux-mêmes construits (intégrés) dans un objet. Cela suppose que le développeur d'un MPS de ce type soit confronté aux tâches d'un cycle de conception complet, commençant par le développement d'un algorithme fonctionnel et se terminant par des tests complets dans le cadre du produit, et éventuellement même par un support pendant la production. Les principales étapes de la conception du MPS sont présentées dans la Fig. 28.

Les pré-requis techniques commencer le cycle de conception MPS. La possibilité de programmer un système à microprocesseur incite le client à lui attribuer le maximum de fonctions. Le critère de sélection doit être la faisabilité économique de toute augmentation du volume de matériel, déterminée à la suite d'une étude de marché pour les appareils de ce type, et l'amélioration maximale de l'indicateur prix/fonctionnalité.

sti. À ce stade, les exigences de type sont formulées explicitement ou implicitement.

le microprocesseur ou le microcontrôleur utilisé.

Étape de développement de l'algorithme est le plus responsable

puisque des erreurs à ce stade sont détectées lors du test de la loi -

produit fini et conduisent à un traitement coûteux de l'ensemble du MPS.

Plusieurs variantes de l'algorithme sont en cours de développement pour garantir

satisfaction des exigences techniques en utilisant des

modules précédemment fonctionnels-topologiques. Principales options

diffèrent par le rapport entre le volume de logiciels et de matériel

Exigences techniques pour un système à microprocesseur

Correction

algorithme

gestion

Développement d'algorithmes

Bibliothèque

fonctionnel

Développement de la structure du matériel et

topologique

logiciel

Correction

Développement de programme

Développement matériel

Correction

original

(texte original)

(schémas de circuits,

topologie de la carte)

topologie

Diffusion du programme

Mise en page

Débogage du programme

Débogage hors ligne

sur le modèle

équipement

Débogage conjoint des logiciels et du matériel

outils système en temps réel

Intégration d'un système à microprocesseur dans un produit

Tests de produits

Système à microprocesseur correspondant aux spécifications techniques

les pré-requis techniques

taux. Le critère de sélection est la mise en œuvre du nombre maximum de fonctions dans le logiciel aux coûts matériels les plus bas, garantissant les indicateurs de performance et de fiabilité spécifiés dans toute la gamme des impacts opérationnels. Souvent, l'exigence déterminante est la capacité de placer le code du programme dans la mémoire interne du microcontrôleur, ce qui lui permet d'être protégé contre tout accès non autorisé. A ce stade, le type de microcontrôleur et les circuits de cadrage les plus importants (mémoire, FPGA, interface, ADC, etc.) sont enfin déterminés.

Au stade de l'élaboration de la structure de l'IPS détermine enfin-

Il s'agit de la composition des modules matériels disponibles et à développer, des protocoles d'échange entre modules, des types de connecteurs. Le MPS étant intégré au produit, une conception préliminaire des cartes est effectuée. En termes de logiciel, la composition et les connexions des modules de programme et le langage de programmation sont déterminés. Ici, vous pouvez sélectionner des outils de conception et de débogage.

Étape de création du programme forme un cycle interne qui se répète fréquemment. Il comprend les étapes d'élaboration du texte source, de traduction, de débogage du programme sur le modèle et de correction du texte source. Le contenu de ces étapes dépend fortement des outils système utilisés. Actuellement, les ressources des microprocesseurs et des microcontrôleurs sont suffisantes pour prendre en charge la programmation dans des langages de haut niveau. Cela vous permet de tirer pleinement parti de la programmation structurée et de développer des logiciels en tant que projet à l'aide de modules traduits séparément. Actuellement, les moyens les plus puissants de développement de logiciels pour microprocesseurs et microcontrôleurs sont des systèmes de programmation croisée intégrés dans des langages de haut niveau tels que Pascal et C. Par exemple, le système de développement logiciel intégré Pascal-51 contient un éditeur de texte, un compilateur avec un éditeur de liens, une bibliothèque de fonctions d'exécution standard et un débogueur. De tels systèmes peuvent réduire considérablement le temps passé à exécuter cette boucle interne. Cependant, les programmes écrits dans des langages de haut niveau sont plus volumineux et plus lents que les programmes similaires écrits en langage assembleur. Par conséquent, le langage assembleur continue d’être largement utilisé, en particulier lorsque les ressources MPS sont limitées et qu’il est nécessaire de garantir une exécution à intervalles contrôlés.

À ces étapes, les erreurs syntaxiques et logiques du programme sont détectées et éliminées. Les erreurs de syntaxe sont associées à la violation de la syntaxe des commandes, des directives du traducteur et à l'utilisation d'étiquettes et de noms auparavant non définis. Les erreurs logiques provoquent un dysfonctionnement du programme. Ils sont associés à des erreurs de programme (transition de branche incorrecte spécifiée, non enregistrée

cette commande, etc.) et les erreurs d’algorithme. Le contenu de ces étapes lors du développement de programmes en langage assembleur est donné ci-dessous.

Étape de création d'équipement représente une autre boucle interne fonctionnant en parallèle avec la première. Il contient l'élaboration d'un schéma général de circuit, le tracé de la topologie de la carte, l'installation du tracé et son débogage autonome. Ces étapes peuvent être considérées comme terminées une fois que le bus système MPS « prend vie » et grâce à lui, vous pouvez accéder à la mémoire et aux périphériques d'entrée/sortie. Le temps nécessaire pour terminer cette étape dépend de l'ensemble disponible de modules fonctionnels-topologiques testés et des qualifications du développeur. Les systèmes de conception courants utilisés pendant la phase d'entrée schématique et de développement de la topologie sont

PCAD et OrCAD (CAO - conception assistée par ordinateur - conception assistée par ordinateur). L’efficacité de leur utilisation dépend en grande partie du volume de bibliothèques d’éléments utilisées dont dispose le développeur.

Étape de débogage conjoint du matériel et des logiciels en temps réel est le plus exigeant en main d'œuvreet nécessite nécessairement l'utilisation d'outils aussi performants qu'un émulateur en circuit, un émulateur ROM et un analyseur logique. Le choix de l'un des outils répertoriés est déterminé par la méthode de débogage utilisée. À ce stade, les erreurs dynamiques résultant de l'interaction du logiciel et du matériel en temps réel sont identifiées. Ces erreurs sont causées par divers retards dans la propagation des signaux le long des lignes du réseau fédérateur du système et par des interférences mutuelles entre les lignes qui surviennent lorsqu'elles sont mal positionnées. Les erreurs dynamiques sont beaucoup plus difficiles à détecterà cause de irrégularité de leur aspect.

Les analyseurs logiques sont utilisés pour localiser les erreurs dynamiques. Les niveaux logiques des signaux du bus système ou des bus et lignes individuels en mode réception sont constamment enregistrés dans la mémoire de type FIFO. L'enregistrement est arrêté lorsqu'un événement sélectionné se produit (correspondance des adresses spécifiées et réelles sur le moteur pas à pas, codes de commande sur le moteur pas à pas ou apparition d'une courte impulsion parasite). A cet instant, la mémoire contient toutes les informations précédant l'événement. En analysant le contexte de l'événement enregistré en mémoire, il est possible de déterminer la cause du dysfonctionnement dans le fonctionnement du MPS. Les informations affichées peuvent être présentées graphiquement, sous forme de code binaire, de code hexadécimal ou de mnémoniques de commande. Les analyseurs d'état logique effectuent un enregistrement à la fréquence d'horloge MPS. Pour capturer les processus qui se produisent rapidement, des analyseurs logiques temporaires sont utilisés, dans lesquels la fréquence d'horloge d'écriture en mémoire dépasse considérablement la fréquence d'horloge du MPS.

Le débogage conjoint du matériel et des logiciels en temps réel est effectué à l'aide d'émulateurs ROM et d'émulateurs en circuit contrôlés par un ordinateur instrumental.

Les changements qualitatifs et quantitatifs dans la base élémentaire des équipements VT ont conduit à

changer les principes établis de leur conception (tels que les

structure, direction centrale cohérente, organisation hiérarchique

mémoire et l'incapacité d'adapter la structure informatique aux particularités

problème en cours de résolution).

Les principes classiques de Von Neumann d'organisation des systèmes informatiques ont été remplacés par les idées d'orientation des problèmes des MPS, de traitement de l'information parallèle et pipeline, d'utilisation de méthodes tabulaires de traitement des données, de principes de régularité et d'homogénéité des structures MPS ; devient réel

possibilité de créer des systèmes reconfigurables de manière adaptative, ainsi que

implémentation matérielle des fonctions logicielles. Par conséquent, à l'heure actuelle

moment de la conception de systèmes informatiques basés sur les MPS reçus

application du principe dit « 3M » : modularité, goulotte,

microprogrammabilité.

Le principe de l'organisation modulaire implique la construction de systèmes informatiques et

piloter MPS à partir d’un ensemble de modules : structurels, fonctionnels et

des appareils informatiques électriquement complets qui vous permettent de gérer de manière indépendante

ou en combinaison avec d'autres modules pour résoudre des problèmes de cette classe. Modulaire

approche de la conception de micro-ordinateurs et de systèmes permet (lorsqu'elle est mise en œuvre comme

modules universels et spécialisés) pour assurer la création de familles

(rangées) de MPS, différant par leurs fonctionnalités et leurs caractéristiques,

couvrant une gamme importante d'applications, contribue à réduire

coûts de conception, et simplifie également l'expansion de la capacité et

reconfiguration des systèmes, retarde l'obsolescence de l'informatique

Méthode principale d’échange d’informations contrairement au mode d'organisation

des connexions arbitraires (selon le principe « tout le monde avec tout le monde ») permettent d'organiser et

minimiser le nombre de connexions dans le MPS. Il facilite l'échange d'informations entre

modules fonctionnels et structurels de différents niveaux utilisant

autoroutes reliant les bus d’entrée et de sortie. Il y en a un, deux,

connexions à trois et multilignes. Il faut noter la relation

conception de circuits et solutions structurelles qui apparaissent lors de la mise en œuvre

cette méthode d'échange sous la forme de création d'un tampon bidirectionnel spécial

cascades avec trois états stables et utilisation de temporaires

multiplexage des canaux d'échange.

Contrôle du micrologiciel offre la plus grande flexibilité d’organisation

modules multifonctionnels et permet une orientation vers les problèmes

MPS, et utilisez également des opérations de macro, ce qui est plus efficace que d'utiliser


routines standards. De plus, transmission de mots contrôlés sous la forme

les séquences de codes cryptées correspondent aux conditions de minimisation

nombre de broches VLSI et réduire le nombre d'interconnexions dans les modules.

En plus des principales caractéristiques de conception MPS énumérées ci-dessus, il doit être

notons le principe de régularité, qui présuppose un naturel

répétabilité des éléments de la structure du MPS et des connexions entre eux. Application de ceci

Le principe permet d'augmenter la densité intégrale, de réduire la longueur des liaisons

sur puce, réduit le temps de conception topologique et de circuit

conception de LSI et VLSI, réduire le nombre d'intersections et les types de fonctionnalités

et des éléments structurels.

Lors du développement de l'architecture MPS (étape système), il est nécessaire de résoudre les problèmes suivants

Décrire la structure conceptuelle du comportement fonctionnel du système avec

positions de prise en compte des intérêts de l'utilisateur lors de sa construction et de son organisation

processus informatique qu'il contient ;

Déterminer la structure, la nomenclature et les caractéristiques de la construction de logiciels et

outils de microprogrammes ;

Décrire les caractéristiques de l'organisation interne des flux de données et du contrôle

information;

Effectuer une analyse de la structure fonctionnelle et des caractéristiques du physique

mise en œuvre des périphériques système du point de vue de l'équilibre logiciel,

microprogramme et matériel.

Les principales étapes de conception d'un MPS sont présentées dans la Fig. 3.1.

Au stade initial de la conception, le MPS peut être décrit dans l'un des

les niveaux conceptuels suivants : « boîte noire », structurel, programme,

logique, circuit.

Au niveau de la « boîte noire », le MPS est décrit par des spécifications externes, où

les caractéristiques externes sont répertoriées.

Riz. 3.1. Étapes de conception du MPS

Le niveau structurel est créé par les composants matériels du MPS, qui

décrit par les fonctions des appareils individuels, leurs interconnexions et leurs informations

ruisseaux.

Le niveau logiciel est divisé en deux sous-niveaux (instructions du processeur et

langage) et le MPS est interprété comme une séquence d'opérateurs ou

commandes qui provoquent l’une ou l’autre action sur une certaine structure de données.

Le niveau logique est inhérent exclusivement aux systèmes discrets et se divise en

deux sous-niveaux : circuits de commutation et transferts de registres.

Le premier sous-niveau est formé de portes (circuits de combinaison et éléments mémoire) et d'opérateurs informatiques construits sur cette base. Le deuxième sous-niveau se caractérise par un degré d'abstraction plus élevé et représente une description des registres et du transfert de données entre eux. Il comprend deux

parties : information et contrôle : la première est constituée de registres,

opérateurs et chemins de transmission de données, le second assure en fonction

signaux horaires qui lancent le transfert de données entre les registres.

Le niveau circuit est basé sur une description du fonctionnement des éléments discrets du dispositif.

Dans le cycle de vie d'un MPS, comme de tout système discret, il y a trois étapes :

conception, fabrication et exploitation.

Chaque étape est subdivisée en plusieurs phases pour lesquelles il existe des probabilités de défaillances structurelles ou physiques. Les défauts sont classés selon leurs causes : physiques, si la cause est un défaut des éléments, et subjective, si la cause est une erreur de conception.

Les défauts subjectifs sont divisés en conception et interactif. Conception

les dysfonctionnements sont causés par des déficiences introduites dans le système à différentes étapes

mise en œuvre de la tâche initiale. Des défauts interactifs se produisent dans

pendant le travail en raison de la faute du personnel de service (opérateur). Le résultat

les manifestations d'un dysfonctionnement sont une erreur, et un dysfonctionnement peut

provoquer un certain nombre d'erreurs, et la même erreur peut être provoquée

de nombreux dysfonctionnements.

Il y a aussi le concept de défaut - un changement physique des paramètres

composants du système qui dépassent les limites autorisées. Les défauts sont appelés

les échecs s’ils sont temporaires et les échecs s’ils sont permanents.

Un défaut ne peut être détecté que lorsque les conditions de

la survenance d'un dysfonctionnement qui lui est dû, dont la conséquence devrait être, dans son sens

file d'attente, passée à la sortie de l'objet étudié afin de faire

dysfonctionnement observable.

Le diagnostic de panne est le processus qui consiste à déterminer la cause d'une erreur en

résultats de test.

Le débogage est le processus de détection des erreurs et de détermination

sources de leur apparition en fonction des résultats des tests effectués lors de la conception du MPS.

Les outils de débogage sont des appareils, des complexes et des programmes. Parfois sous

Le débogage fait référence à la détection, à la localisation et à l'élimination des défauts. Succès

le débogage dépend de la façon dont le système est conçu, que ce soit

propriétés qui le rendent pratique pour le débogage, ainsi que des outils utilisés

pour le débogage.

Pour effectuer le débogage, le MPS conçu doit avoir

propriétés de contrôlabilité, d’observabilité et de prévisibilité.

Contrôlabilité – propriété d'un système dans lequel son comportement est susceptible de

gestion, c'est-à-dire Il est possible d'arrêter le fonctionnement du système en

certain état et redémarrez le système.

Observabilité– une propriété d’un système qui permet de surveiller son comportement

système, à l’origine du changement de ses états internes.

Prévisibilité– une propriété système qui permet au système d’être installé dans

un état à partir duquel tous les états ultérieurs peuvent être prédits.

Les MPS peuvent varier considérablement dans leur complexité, leurs exigences et leurs fonctions.

paramètres opérationnels, volume de logiciel, type

ensemble de microprocesseurs, etc. À cet égard, le processus de conception peut

varient en fonction des exigences du système.

Le processus de conception est un processus itératif. Les dysfonctionnements détectés lors de la phase de test de réception peuvent conduire à une correction des spécifications, et

donc au début de la conception de l’ensemble du système. Trouver

les défauts doivent être détectés le plus tôt possible ; pour cela, vous devez contrôler

l'exactitude du projet à chaque étape de développement. Les méthodes suivantes existent

contrôle de l'exactitude de la conception : vérification (méthodes formelles

preuve de l'exactitude du projet); la modélisation; essai.

Récemment, de nombreux travaux sont apparus sur la vérification des logiciels

logiciel, firmware, matériel. Cependant, ces travaux sont toujours

de nature théorique. Par conséquent, dans la pratique, la modélisation est plus souvent utilisée

comportement des objets et tests à différents niveaux abstraits

représentations du système.

Au stade de la formalisation des exigences du système, contrôle de l'exactitude du projet

particulièrement nécessaire car de nombreux objectifs de conception ne sont pas formalisés ou

ne peut en principe être formalisée. La spécification fonctionnelle peut

analysés par une équipe d’experts ou simulés et testés en

expérimentalement pour identifier la réalisation des objectifs souhaités. Après approbation

la spécification fonctionnelle commence le développement des programmes de tests,

conçu pour établir le bon fonctionnement du système conformément aux

sa spécification. Idéalement, les tests sont développés entièrement

basé sur cette spécification et permettant la vérification de tout

mise en œuvre d'un système déclaré capable d'exécuter les fonctions

précisé dans le cahier des charges. Cette méthode est à l’opposé des autres,

où les tests sont construits en relation avec des implémentations spécifiques. Or, en pratique

le développement de tests reçoit souvent une priorité moindre que

projet, donc les programmes de test apparaissent beaucoup plus tard que lui

Un système d'acquisition de données par microprocesseur doit répondre aux exigences suivantes : offrir des performances élevées et être simple à mettre en œuvre, doit garantir un fonctionnement stable et sans problème, être relativement bon marché et consommer peu de ressources. Pour effectuer les tâches assignées et conformément aux exigences de base, le microcontrôleur de la série K1816BE51 convient.

Figure 3 - Schéma fonctionnel d'un système d'acquisition de données par microprocesseur.

puce d'algorithme de programme de microprocesseur

Le système à microprocesseur (MPS) se compose des blocs suivants : microcontrôleur (MC), mémoire vive (RAM), mémoire morte (ROM), minuterie programmable (PT), interface programmable parallèle (PPI), analogique-numérique convertisseur (ADC), convertisseur numérique-analogique (DAC), multiplexeur (MUX), contrôleur d'interruption programmable (PIC).

Le MK forme un bus d'adresses (ABA), un bus de données (SD) et un bus de contrôle (CC). Les blocs RAM, ROM, PT, PPI, PKP sont connectés aux bus.

La RAM est conçue pour stocker les données d'enquête par capteur, ainsi que les données intermédiaires. La ROM est conçue pour stocker le code du programme et diverses constantes.

PT est conçu pour compter l'intervalle de temps qui sera nécessaire pour exécuter les commandes MK. Avant que l'opération ne soit effectuée, le PT est démarré. Si l'opération réussit, le MK réinitialise le PT. Si aucune commande de réinitialisation du compteur n'est reçue du MC (un gel s'est produit), le PT, à la fin du comptage de l'intervalle de temps, génère un signal de réinitialisation du MC.

PPI est destiné à connecter des périphériques externes. Un ADC, un multiplexeur discret et un DAC sont connectés au SPI.

L'ADC est conçu pour convertir un signal analogique provenant de capteurs et un code numérique, qui est transmis au MK via le PPI. Les capteurs analogiques sont connectés à l'ADC via un multiplexeur analogique.

Les données des capteurs discrets sont reçues via un multiplexeur discret.

Le DAC est conçu pour générer une action de contrôle.

Le panneau de commande est conçu pour gérer les interruptions externes.

Ministère des Sciences et de l'Éducation de la République du Kazakhstan

Collège multidisciplinaire

Université d'État du Kazakhstan du Nord

nommé d'après l'académicien M. Kozybaev

Note explicative

pour le projet de cours

dans la discipline : « Appareils numériques et systèmes à microprocesseurs »

sur le thème : « Conception d'un système à microprocesseur basé sur le microprocesseur I 8086 »

Option n°16

Complété par : étudiant gr. RES-k-09

Safronov S.V.

Vérifié par : enseignant

Mikhaïlova A.N.

Petropavlovsk 2010

1. Introduction

2. Structure générale du ministère des Chemins de fer

3. Microprocesseur i8086 16 bits

3.1 Système de commande

4. Structure interne

5. Périphériques de mémoire

6. RAM. Principes de construction

7. Mémoire en lecture seule (ROM)

8.Convertisseurs numérique-analogique (DAC)

9.Élaboration d'un schéma fonctionnel d'un module d'entrées/sorties

10Conclusion

Bibliographie

Annexe A

1. Introduction

L'objectif de la discipline « Appareils numériques et microprocesseurs » est d'étudier les principes de construction d'appareils numériques de complexité fonctionnelle variable - des éléments logiques aux microprocesseurs et micro-ordinateurs.

La « mémoire » microélectronique compacte est largement utilisée dans les équipements électroniques modernes à diverses fins. Dans un PC, la mémoire est définie comme une partie fonctionnelle conçue pour enregistrer, stocker et émettre des commandes et des données traitées. Un ensemble de moyens techniques qui mettent en œuvre la fonction de mémoire est appelé périphérique de stockage (dispositif de stockage). Pour assurer le fonctionnement d'un processeur (microprocesseur), il faut un programme, c'est-à-dire une séquence de commandes, et des données sur lesquelles le processeur effectue les opérations prescrites par les commandes. Les commandes et les données pénètrent dans la mémoire principale de l'ordinateur via un périphérique d'entrée, à la sortie duquel elles reçoivent une forme de représentation numérique, c'est-à-dire la forme de combinaisons de codes O et 1. La mémoire principale, en règle générale, se compose de deux types de mémoire : opérationnelle (RAM) et permanente (ROM).

La RAM est conçue pour stocker des informations variables ; elle permet à son contenu de changer à mesure que le processeur effectue des opérations de calcul avec les données. Cela signifie que le processeur peut sélectionner (mode lecture) le code d'instruction et les données de la RAM et, après traitement, placer le résultat obtenu dans la RAM (mode écriture).

Ce travail de cours est consacré à l'étude du bloc mémoire. À savoir, la tâche consiste à créer un espace mémoire d’une taille et d’une configuration données.

2. Structure générale du ministère des Chemins de fer

Microprocesseur (MP) - la partie centrale de tout système à microprocesseur (MPS) - comprend une unité arithmétique-logique (ALU) et une unité de contrôle centrale (CCU), qui met en œuvre le cycle de commande. Le MP ne peut fonctionner que dans le cadre d'un MPS, qui comprend, en plus du MP, de la mémoire, des dispositifs d'entrée/sortie, des circuits auxiliaires (générateur d'horloge, contrôleurs d'interruption et accès direct à la mémoire (DAM), pilotes de bus, registres à verrouillage, etc. .

Dans tout MPS, les parties principales (sous-systèmes) suivantes peuvent être distinguées :

    module processeur ;

  • périphériques externes (stockage externe + périphériques d'entrée/sortie) ;

    sous-système d'interruption ;

    sous-système d’accès direct à la mémoire.

Figure 1 – Structure du MPS avec l'interface « Common Bus »

La communication entre le processeur et d'autres appareils MPS peut être effectuée en utilisant les principes des connexions radiales, d'un bus commun ou d'une méthode combinée. Dans les MPS monoprocesseurs, en particulier ceux 8 et 16 bits, le principe de communication « Common Bus » est devenu le plus répandu, dans lequel tous les appareils sont connectés à l'interface de la même manière (Figure 1).

Tous les signaux d'interface sont divisés en trois groupes principaux : données, adresse et contrôle. De nombreux types d'interfaces « Common Bus » assurent la transmission sur des lignes séparées ou multiplexées (bus). Par exemple, l'interface Microbus, sur laquelle fonctionnent la plupart des MPU i8080 8 bits, transmet l'adresse et les données sur des bus séparés, mais certains signaux de contrôle sont transmis sur le bus de données. L'interface Q-bus utilisée dans les micro-ordinateurs de DEC (analogique domestique - microprocesseurs de la série K1801) possède un bus d'adresses/données multiplexé, à travers lequel ces informations sont transmises par répartition dans le temps. Bien entendu, s'il existe un bus multiplexé, il est nécessaire d'inclure dans les lignes de commande un signal spécial qui identifie le type d'informations présentes sur le bus. Les informations sont échangées via l'interface entre deux appareils, l'un actif et l'autre passif. Le périphérique actif génère des adresses de périphérique passif et des signaux de commande. Le périphérique actif est généralement le processeur et le périphérique passif est toujours la mémoire et certains ordinateurs.

Cependant, il arrive parfois que des périphériques hôtes à haut débit agissent en tant que maître (périphérique actif) sur l'interface, contrôlant les échanges avec la mémoire. Le concept « Common Bus » suppose que l'accès à tous les appareils MPS se fait dans un seul espace d'adressage, cependant, afin d'augmenter le nombre d'objets adressables, dans certains systèmes les espaces d'adressage de la mémoire et de la mémoire, et parfois même de la mémoire programme et mémoire de données, sont artificiellement séparées.

Microprocesseur i8086 3,16 bits

Intel a lancé le premier processeur 16 bits i8086 en 1978. Fréquence - 5 MHz, performances - 0,33 MIPS pour les instructions avec des opérandes 16 bits (les processeurs 8 et 10 MHz sont apparus plus tard). Technologie 3 microns, 29 000 transistors. Mémoire adressable 1 Mo. Un an plus tard, le i8088 est apparu - le même processeur, mais avec un bus de données 8 bits. L'histoire de l'IBM PC a commencé avec lui, inextricablement liée à tout développement ultérieur des processeurs Intel. La distribution massive et l'ouverture de l'architecture IBM PC ont conduit à un rythme semblable à celui d'une avalanche de l'émergence de nouveaux logiciels développés par les grandes, moyennes et petites entreprises. entreprises, ainsi que des passionnés individuels. Le progrès technique d'hier et d'aujourd'hui serait impensable sans le développement des processeurs, mais étant donné l'énorme volume de logiciels existants pour PC, le principe de la compatibilité logicielle ascendante est déjà apparu : les anciens programmes devraient fonctionner sur de nouveaux processeurs. Ainsi, toutes les innovations dans l’architecture des processeurs ultérieurs devaient être rattachées au cœur existant.

Le MP i8086 16 bits était un développement ultérieur de la gamme de MP monopuce lancée par le i8080. En plus d'augmenter la capacité en bits, le i8086 implémente un certain nombre de nouvelles solutions architecturales :

le système de commande a été enrichi (par l'ensemble des opérations et des méthodes d'adressage) ;

L'architecture MP est axée sur le fonctionnement multiprocesseur. Un groupe de LSI auxiliaires (contrôleurs et processeurs spécialisés) a été développé pour organiser des systèmes multimicroprocesseurs de diverses configurations ;

un mouvement s'est amorcé vers une combinaison dans le temps de l'exécution de diverses opérations. MP comprend deux appareils fonctionnant en parallèle

informatique et communication avec l'autoroute, qui permet de combiner dans le temps les processus de traitement de l'information et de sa transmission le long de l'autoroute ;

une nouvelle organisation de la mémoire (par rapport au i8080) a été introduite, qui a ensuite été utilisée dans tous les anciens modèles de la famille INTEL - la segmentation de la mémoire. Pour maintenir la continuité du modèle avec le i8080, le i8086 propose deux modes de fonctionnement - « minimum » et « maximum », et dans le mode minimum, le i8086 fonctionne simplement comme un i8080 16 bits assez rapide avec un système de commande étendu (le l'architecture du MPS basée sur le i8086-min ressemble à l'architecture sur la base du i8080).

Le mode maximum vise à faire fonctionner le i8086 dans le cadre de systèmes multimicroprocesseurs, dans lesquels, en plus de plusieurs processeurs centraux i8086, des processeurs d'entrée/sortie spécialisés i8089 et des coprocesseurs arithmétiques flottants i8087 peuvent fonctionner. Définissons plus clairement les concepts introduits ci-dessus :

Processeur central - maintient son propre cycle de commande, exécute un programme stocké dans la mémoire système ; lors de la réinitialisation du système, le contrôle est généralement transféré au processeur central (ou à l'un des processeurs, s'il y en a plusieurs dans le système). Processeur spécialisé - maintient son propre cycle d'instructions, exécute un programme stocké dans la mémoire système, mais n'est initialisé que par une commande du CPU et, une fois le programme terminé, informe le CPU qu'il a terminé son travail. Le coprocesseur ne prend pas en charge son propre cycle d'instructions, il exécute les commandes sélectionnées pour lui par la CPU à partir du flux de commandes général. Essentiellement, un coprocesseur est une extension du CPU.

3.1 Système de commande

Il y avait 98 instructions dans le système d'instructions du microprocesseur 8086 : 19 commandes de transfert de données, 38 commandes de traitement de données, 24 commandes de branchement conditionnelles et inconditionnelles diverses et 17 commandes de contrôle du processeur.

Chaque instruction se composait d'un code d'opération (appelé opcode) et d'opérandes. Généralement, l'opcode était alloué au premier octet de la commande et aux trois bits du milieu du deuxième octet, ou (dans le cas d'une commande à un seul octet) à la partie haute du premier octet de la commande. Au total, le i8086 propose près de 4 000 options de commande différentes.

Selon leur destination, les commandes du microprocesseur I8086 sont réparties en 6 groupes :

1 Commandes de transmission de données : MOV, XCHG, PUSH, POP, PUSHF, POPF, LEA, LDS, LES, LAHF, SAHF, XLAT, IN.

2 commandes arithmétiques : ADD, ADC, INC, AAA, DAA, SUB, SBB, DEC, NEG, CMP, AAS, DAS, MUL, IMUL, DIV, IDIV, AAM, AAD.

3 commandes logiques : NOT,SHL / SAL,SHR,SAR,ROL,ROR,RCL,RCR,

ET, TEST, OU, XOR.

4 Commandes de manipulation de chaîne : CMPS, LODS, MOVS, REP, SCAS, STOS.

5 Commandes de transfert de contrôle : JMP, CALL, RET, LOOP/LOOPE, LOOPZ, LOOPNE/LOOPNZ, JCXZ, JE/JZ, JNE/JNZ, JL/JNGE, JLE/JNG, JB/JNAE, JBE/JNA, JP/JPE , JNP/JPO, JO, JNO, JS, JNS, JG/JNLE, JGE/JNL, JA/JNBE, JAE/JNB.

6 commandes de contrôle du processeur : CLC, CMC, STC, CDL, STD, CLI, HLT WAIT, ESC, LOCK

4. Structure interne

Le schéma fonctionnel du i8086 MP est illustré à la Fig. MP comprend trois appareils principaux :

UOD - dispositif de traitement des données ;

USM - dispositif de communication avec l'autoroute ;

UUS - dispositif de contrôle et de synchronisation.

L'UOD est conçu pour exécuter des instructions et comprend une ALU 16 bits, des registres système et d'autres circuits auxiliaires ; bloc de registre (RON, base et index) et bloc de contrôle du microprogramme.

L'USM assure la formation d'une adresse mémoire physique de 20 bits et d'une adresse hôte de 16 bits, la sélection des commandes depuis la mémoire, l'échange de données avec la mémoire, l'hôte et les autres processeurs via le bus. L'USM comprend un additionneur d'adresses, un bloc de registres de file d'attente de commandes et un bloc de registres de segments.

L'UUS assure la synchronisation du fonctionnement des appareils MP, la génération de signaux de commande et de signaux d'état pour l'échange avec d'autres appareils, l'analyse et la réponse appropriée aux signaux provenant d'autres appareils MPS.

Le MP peut fonctionner dans l'un des deux modes suivants : « minimum » (min) et « maximum » (max). Le mode minimum est conçu pour implémenter une configuration MPS à processeur unique avec une organisation similaire à celle du MPS basé sur i8080, mais avec un espace d'adressage accru, une vitesse plus élevée et un jeu d'instructions considérablement étendu. La configuration maximale suppose la présence de plusieurs MP et d'une unité d'arbitrage de bus spéciale dans le système (l'interface Multibus est utilisée).

Les broches externes du MP i8086 utilisent largement le principe du multiplexage des signaux - transmission de différents signaux sur des lignes communes avec répartition dans le temps. De plus, les mêmes broches peuvent être utilisées pour transmettre des signaux différents selon le mode (min - max).conception matérielle... projet de cours mis en œuvre microprocesseur système sur base du microcontrôleur - ... fonctionnement de l'appareil Sur base fonctions de l'appareil...

  • Conception microprocesseur appareils de traitement de données

    Autre >> Informatique, programmation

    Cours conception est système collecte et traitement des données, mis en œuvre sur base base d'élément moderne - microprocesseur ... sur base les autres MP sont similaires, bien qu'ils présentent certaines fonctionnalités associées à des différences d'architecture microprocesseurs ...

  • Microprocesseur systèmes

    Rapport de pratique >> Informatique

    Selon la pratique pédagogique" Microprocesseur systèmes" Option n°1 Exécuté... Ordinateur pour automatisé conception, recherche scientifique, ... qui a besoin de savoir les bases organisation et fonctionnement de l'universalité... curseur à droite sur un poste. Sur symbole...

  • Matériel périphérique et logiciels systèmes collecter les relevés des compteurs de chaleur

    Résumé >> Informatique

    Comparable au 16 bits microprocesseurs et microcontrôleurs pour la performance et... l'informatique conception sur base ordinateurs fiables... méthode de construction par soudure microprocesseur systèmes sur base AVR est une acquisition...