Hardware and software setup

Characteristics of modern methods of designing microprocessor systems. Design of microprocessor control system

The process of designing microprocessor systems includes three stages (Fig. 1.1): 1) system; 2) functional-circuitry; 3) debugging and performance evaluation.

Rice. 1.1. Stages of MPS design

At the stage of system design, a system analysis of the task assigned to the MPS is first carried out, the purpose, main properties, needs, ideas for implementation, the amount of funding and other features sufficient to make a decision on the design paths are identified. Then the functional behavior of the system and the requirements for it are formulated from the standpoint of ensuring the set of functions performed, the necessary performance, identifying critical functions, determining the composition peripheral equipment systems, structures of input and output data, characteristics of data flows and control information. An enlarged algorithm for the functioning of the system and a formalized description of the algorithm for the operation of the MPS are being developed. The next step at the system design stage is to determine the number of levels of the MPS hierarchy, the links between them and the external environment or system. The requirements for the system architecture are determined, the distribution of functions implemented by hardware and software tools, the requirements for interfaces are substantiated. It is necessary to balance the requirements for the hardware and software of the system, taking into account the given speed and the possibility of reducing complexity and cost, and reducing development time. The more functions implemented in hardware, the higher the performance, but the system architecture is more complex and the development time is longer.

Currently, in connection with the development of LSI and VLSI capabilities, there is a tendency to assign to hardware such functions that until recently were performed only in software. Integration software features in hardware designs, mainly in the form of ROM microprograms or "mathematical" crystals - a direction that is increasingly used in microprocessor systems. Many functions of the operating system are already beginning to be implemented by the hardware method by placing programs in ROM chips. Perhaps the turn will come and the hardware implementation of the functions of programming languages.

An important point system design phase is the choice element base, the base IPC, i.e. type of microprocessor family, and other LSI. Based on this stage, a technical task(TK).

The stage of system design is mainly heuristic, and its result is a block diagram of the microprocessor system and technical specifications, which indicate all the requirements that the developed MPS must satisfy.

The functional circuitry stage is divided into three areas: hardware development, software development and development of auxiliary tools, which in turn contain both hardware and software parts. The salient features of this stage are as follows:

1) the need for joint development and debugging of hardware and software focused on a specific structure of hardware;

2) the use of fundamentally new methods and tools for developing and debugging microprocessor systems, such as in-circuit emulators, logic and signature analyzers, debugging complexes and programming automation tools;

3) strong interconnection and even integration of design stages, in which the developer must simultaneously have experience in designing microprocessor systems, as well as understand a specific area of ​​their application.

At the stage of functional circuit design based on block diagram MPS develops functional and schematic diagrams of technical means, algorithms and modules application programs. This stage is characterized by a wide use of standard circuit and software solutions and a strong interdependence of hardware and software, the development of which should be carried out in parallel at all stages. The stage ends with the integration of hardware and software, which begins the stage of debugging the entire MPS as a whole.

Debugging the MPS is the most time-consuming stage, so the development of built-in control tools and the methodology for using standard debugging tools should be given the same attention as the development of hardware and software. Debugging requires built-in tools, software and hardware, as well as special devices such as logic and signature analyzers, debugging complexes, and internal emulators. Embedding diagnostic and control tools somewhat stretches and increases the cost of developing the system, but greatly facilitates its debugging and further operation.

The design of the system is completed by experimental testing of the developed MPS in the system for which it was intended, by evaluating the obtained characteristics. If the assessment results do not meet the requirements of the TOR, then an analysis of the causes is performed and, on its basis, the individual modules of the MPS or the entire system as a whole are redesigned.

The design ends with the development of methodological support containing recommendations for the rational use of the designed MPS and all the necessary documentation.

The considered stages are carried out, as a rule, in the form of research work with the participation of a relatively small number of highly qualified specialists.

Further design stages are usually carried out in the form of development work and require the involvement of a large number of performers.

1. functioning,design and architecturemicroprocessor devicesand systems

1.1. Are commoninformation about microprocessor technology

Basic concepts anddefinitionsmicroprocessor technology

Microprocessors and microcomputers are mass products of the electronics industry. Knowledge of the basics of microprocessor technology is necessary for engineers of any profile, especially system engineers, design engineers, process engineers of computer systems (CS).

Microprocessors (MP) are widely used in modern aircraft and radio electronic devices (REU), technological control systems, flexible automated and other industries. The use of MP has a positive effect on increasing labor productivity, improves the quality of equipment for various purposes. Thanks to the use of MP and microcomputers in technical systems, the functionality of the equipment has expanded, its reliability and stability of operation have increased, and the quality of information processing has improved.

The prospects and possibilities of using MPs and microcomputers in computing systems have not yet been fully disclosed. The production technologies and architecture of the MP are constantly being improved. So, the bit depth of modern single-chip MP reaches 64 bits. When using MP and microcomputers, developers should be able to evaluate the capabilities of their architecture and specifications, as well as to know programming languages ​​of different levels. Assembly language is widely used to create system software. In order to ensure high productivity of programmers, data processing tasks are solved using high-level languages ​​(for example, C). Modern engineers - specialists in computer technology need knowledge in the field of both MP architecture and programming of electronic devices in languages ​​of different levels.


The basic concepts in microprocessor technology are such concepts as: "microprocessor", "IC", "IC", "LSI", "VLSI", "microprocessor set of LIS", "microprocessor device", "microprocessor system", "microprocessor equipment”, “microcomputer” (general purpose and specialized), “embedded microcomputer”, “personal computer”, “household personal computer”, “professional personal computer”, “microcontroller”, etc.

In addition, in microprocessor technology, concepts related to computer technology are used, and in particular "backbone", "bus", "interface", "system interface", "peripheral interface", "adapter", "protocols", "interface line " and etc.

When studying software tools in microprocessor technology, general concepts are used that coincide in name with the concepts of describing software tools in computer technology, in particular, “algorithm”, “program”, “ software" and etc.

One of the main basic concepts microprocessor technology, is a "microprocessor".

Microprocessor- it complicatedsoftware controlled device,intended for processing digital information andprocess control of this processing, made in the form of one or more integratedmicrocircuits of the increased degree of integration (BIC or SBIWITH).

Integrated circuit (IMS) is a microelectronic device that performs a certain function of converting, processing signals and (or) accumulating information, which has a high internal packing density of electrically connected elements (or elements and components) and (or) crystals and is considered in the aspect of testing, delivery and operation requirements electronics products as a whole.

Semiconductor IC- an integrated microcircuit, all elements and interelement connections of which are made inside and on the surface of the semiconductor.

Digital IC- an integrated circuit designed to convert and process signals that change according to the law of a discrete function.

Degree of integration- an indicator of the degree of complexity of the IC, which is characterized by the number of elements and components that are contained in it. The degree of integration is determined by the formula k= log N, where k- coefficient that determines the degree of integration, the values ​​of which are rounded to the largest integer; N- the number of elements and components of the IC.

Large integrated circuit (BIWITH)- an integrated circuit that contains 500 or more elements manufactured using bipolar technology, or 1000 or more elements manufactured using MOS technology, extra large integralscheme (SBIWITH)contains over the elements.

SetBIS- a set of LSI types that perform a variety of functions that are compatible in architecture, design, electrical parameters and provide the possibility of their sharing in the manufacture of microprocessor technology.

microprocessor kit (IPC)- a set of microprocessor and other ICs that are compatible in architecture, design and electrical parameters and provide the possibility of their joint use.

The microprocessor is described by numerous parameters inherent in both electronic devices (speed, power consumption, dimensions, weight, number of power levels, reliability, cost, case type, temperature range, etc.), and computing facilities(capacity, instruction or microinstruction execution cycle, number of internal registers, presence of a microprogram level, type of stack memory, software composition, etc.).


microprocessor device ( MPU) - functional and constructivea finished product, which is a schematic and constructiveconnection of several microcircuits, including one or more microprocessorsdesigned to perform one ormultiple functions: receiving, treatment,transfer, transformation of information and management.

MPU has unified connecting characteristics (interface, design, etc.) and functions as part of a specific technical system.

Microprocessor system ( MPS) - it a large number offunctional devices, one ofwhich have a microprocessor.

The microprocessor is the core of this system and performs the functions central unit control and device for arithmetic-logical data conversion. All MPS devices have a standard interface and are connected to a single information highway.

Microprocessor technology - microprocessors and computing devicestechnology (VT) and automation, made on their basis.

These are the most general concepts computer science. Today, almost all VT is built on the basis of microprocessor devices.

General purpose microcomputer - it microcomputers that have largeoperational resources adapted to handle a variety ofnumerical and textual data and intended for use in computingcenters.

This is the most common class of microcomputers, which is the base for personal computers.

Specialized computers - it computers designed to implement a specificspecific algorithm:Fourier transforms, correlation calculationsfunctions andothers

They are narrow-profile computers with a limited number of system commands.

built-in microcomputer (microprocessor device) - processing unitdata andcontrols intended for use in domesticinstruments, process control systems orcontrol, computer peripherals, office equipment, etc.

Most of these computers are used in household appliances (TVs, radios, washing machines, etc.)

Personal computer (personal computer) - dialogue systemfor personal use, implemented onbased on microprocessormeans, small-sized external storagedevices and data recording devices,which provide access to all computer resources using a developed programming system in high-level languages.

This is a small in size and cost universal microcomputer designed for individual use. Household personal computers act as a home information center. Professional personalcomputers designed to automate various operations of processing large amounts of information at the workplace of a specialist.

microcontroller- controlled device, made on one or more chips, the functions of which are logical analysis and control.

Classification of microprocessors and their main parameters

By the number of LSIs, single-chip, multi-chip and multi-chip sectioned MPs are distinguished.

Single-chip MP implement all the hardware of the processor in the form of a single LSI or VLSI. A single-chip MP has a fixed bit depth, a set of commands, and is structurally made in the form of a single integrated circuit (IC). All operations carried out by it are determined by a set of MP commands. A feature of a single-chip MP is the presence of an internal highway for transmitting internal information data and control signals. The capabilities of these MPs are limited by the hardware resources of the crystal and package, but with an increase in the degree of crystal integration and the number of package pins, the parameters of the MP are continuously improved.

V lotcrystal MP the logical structure is divided into functionally complete parts, which are implemented as separate LSI and VLSI or separate crystals in one VLSI.

Multichip partitioned MP consist of a set of microprocessor sections.

microprocessor section- it microprocessor integrateda circuit that implements a part of the MP and has the means of a simple functionalassociationswith the same type or other microprocessor sections for building complete MP, MPU or microcomputers.

Sectioned MPs are controlled by firmware. Sectioned MPCs include LSI series: K1800, KR1802, KM1804, etc. Their main purpose is to create high-performance multi-bit MPs and MPCs, on the basis of which various control computer systems are implemented.

The basis of the IPC BIS is the basic set of ICs of one series. It can consist of a single-chip MP IC with a fixed bit depth and a set of commands or a set of single-chip MP LSI. To expand the functionality of the MP, the basic MPC LSI is supplemented with other types of LSI: RAM, ROM, PROM, interface integrated circuits, external device controllers, etc.

According to the type of processed signals are distinguished digital and analog MP. In both types of MT, information processing is digital. In digital MPs, purely digital signals are processed, while in analog MPs, an analog-to-digital device (ADC) and a digital-to-analog converter (DAC) are built-in for processing analog signals. In them, the input analog signals are transmitted to the MP through the ADC, processed in digital form, converted to analog form in the DAC and output.

Choice of microprocessor kit

for the design of computing devicesand systems

Choosing an IPC for a specific computing device or system is the most difficult task. This is due to the constant increase in the number of IPCs and LSIs in them.

When choosing an MPC, the equipment must meet certain requirements: work in real time; increased reliability; noise immunity; ease of maintenance; the presence of a fixed set of tasks that are solved repeatedly throughout the life of the equipment.

The choice of the IPC is carried out according to three main criteria:

1) in the aspect of software development, it is necessary to analyze the bit depth, the number of general-purpose registers available for use, the set of commands and addressing methods, the presence and organization of the stack;

2) regarding system design, it is necessary to determine: the type of MP architecture (sectioned or single-chip), the type of control organization (microprogram or with hard logic), the presence of logically joint LSI from other sets, the speed of the MP, the possibility of interruption and direct access to memory, the availability of an automated design;

3) from the point of view of the development of MPS hardware, it is necessary to take into account: the electrical compatibility of the LSI, the number of power sources and power dissipation, the size and type of package, the number of pins, the operating temperature range, etc.

The choice of an RPC for a particular application is often made on the basis of the technology by which it is manufactured.

Questions and tasks

1. What factors determine the use of MP and microcomputers in production systems?

2. How do single-chip MPs differ from multi-chip ones (non-sectioned and sectioned)?

3. What are the general parameters characterize MP, MPU and MPS?

4. On what grounds are MPs characterized?

5. Name the main parameters of modern MT.

6. What are the criteria for choosing microprocessor sets when designing computing devices and systems?

1.2. General issuesorganizations andfunctioningmicroprocessor devicesand systems

Structure of microprocessor devicesand systems

Any MPS consists of an MP, a memory system, an information input-output system, and a system for interfacing with an object of control or control.

microprocessor and plays the role of a central control device and a device for arithmetic-logical data transformations.

Memory is physically implemented as a system that consists of several levels.

Persistent storage devices (ROM) are intended for long-term storage of pre-recorded data and are used only in read-out mode. They are energy independent.

Random Access Memory (OZP) work in the modes of online writing and reading data with a speed that approaches the speed of the processor. They are energy dependent.

External storage devices (Inmemory) perform the functions of storing large amounts of information, contain drives on flexible and hard magnetic disks, CDs (laser), etc.

Devicesdata entry (ID) designed to transfer data from the outside to MP registers or memory. Among them are a keyboard, various control panels, magnetic and laser disks, etc.

Data output devices (UVv) designed to accept data transmitted from MP registers or memory cells. These are displays, printing devices, VZU, control panels, plotters (plotters), etc.

To interface the object of control or control with the MPU or MPS, the equipment must include sensors and actuators. To connect them to the MPU, whether the MPS use blocksconjugation, that perform interface matching functions. Sometimes these blocks are called communication devices with the object (USO).

Interfaces of microprocessor devicesand systems

The architectural capabilities of the MPS largely depend on the type of interface.

Unified interface is a set of rules thatunified principles of interaction between MPS devices.

The interface includes hardware for connecting devices (connectors, connections), specification of the nomenclature and characteristics of connections, software, descriptions of the nature of the interface signals and their timing diagrams, as well as a description of the electrophysical parameters of the signals.

The main task of the interface is, on the basis of unification, to ensure the compatibility of hardware, software and constructive means that predetermine the given quality of automatic interaction of different functional elements in a single process of information processing in the MPS at the stages of collecting, converting, saving and issuing results and control actions.

The MPS architecture is mainly defined by three interface layers: system, machine-to-machine, and small interface (peripheral device interface).

System interface ensures the integration of the main modules (blocks) of the MPS into a single system for equal exchange of information with the processor and OZP.

System interfaces are divided into concentrated (PC interfaces), locally concentrated (Q-bus) and local (Unibus).

Machine to machine interface provides the construction of multiprocessor systems and local and distributed systems and networks.

Small interfaces take into account the difference in the physical principles of operation of groups of peripheral devices and ROM. Small interface controllers provide access to the system interface. In this case, the controllers of peripheral devices and ROM go to the corresponding small interface.

Management of microprocessordevices (systems)

Temporal coordination of information signals in the MPU is carried out using special signals coming from the MP control device. MPU or MPS operates synchronously with the advent of clock signals. The simplest action that is performed in the MPU (MPS) is called state. It covers one period of the clock signal - clockedinterval or beat.

A certain number of clock intervals is machinecycle. A single memory or I/O device access requires one machine cycle. In one cycle, the instruction or data is fetched, as well as the address code (possibly the instruction or data byte and the address code byte).

Machine cycle- part of the team (sometimes the whole team). With the beginning of each machine cycle, a synchronization signal appears on the synchronization pin of the MP. It is transferred to the storage device (memory) and (or) to the input/output device (I/O) and “notifies” about the beginning of a new machine cycle, as a result of which the timing of the action of these devices with the work of the MP is achieved.

Scheme 1. Team Structure

Team Cycle- the time interval required to fetch the command from memory and execute it. It consists of one or more machine cycles. their number, as a rule, is equal to the number of MT accesses to the memory or to one of the ICUs. The command structure is shown in Diagram 1.

control device performs the functions of control and synchronization, that is, it controls the change in the states of the MP in the required sequence, coordinating them with the signals of the clock generator. It consists of a control finite automaton designed to control processes inside the MP, and a circuit that, receiving signals from outside, generates signals that control the system.

The command code is decrypted, turning into binary signals that act on the MP modules and blocks involved in the execution of this command.

The command cycle is divided into two phases: the fetch phase and the execute phase.

Sampling phase- the automaton sets the beginning of the next cycle, according to which the number in the program counter is transferred to the address buffer register. From there, via the address bus, the instruction's address code is sent to memory, where it is decrypted. After the “read” signal from the memory cell, the command word is read and transmitted over the data bus to the buffer data register, from which it is transferred to the command register, and then decrypted.

Execution phase- the control device generates a sequence of signals necessary to execute the command. During this time, the counter data is incremented by one. This forms the address of the next instruction to be executed.

Reading or writing a word occurs over a certain time interval, which is called the access time. The time interval that is spent accessing the memory and receiving a ready signal from it is called the ready waiting cycle. It forms part of the machine cycle.

The exchange of information between the MP, the memory and the IUV is implemented mainly in three modes: program-controlled exchange, exchange in the interrupt mode, exchange in the direct access mode.

Software-controlled exchange. In this mode, the MP determines whether the memory or peripheral device (PU) is ready to perform an I / O operation, to start software data transfer. Air-blasters must have hardware for generating signals about the internal state. The MP reads this information and, based on the analysis of the result, concludes that the device is ready to exchange information. In the future, in accordance with the interface protocol, data is exchanged.

interrupt mode. It is used when it is necessary to immediately transfer data between air-blast and MP (reaction to unexpected occurrence of external conditions). In this case, the MP must interrupt the operation of the main program and start executing the program for servicing the external device. This mode is called interrupt. MP interrupts are only possible when the MP is allowed to respond to interrupt requests.

After receiving the interrupt signal, the MP completes the current operation, transfers all the information of the internal data and control registers to memory, and proceeds to the interrupt service routine. After the end of the exchange of information on the interrupt, the state of the MP is restored, which existed at the beginning of the interrupt.

There are three types of interrupts: simple, vector and priority.

Simple interrupt notifies that some input/output device requires MP service.

Vector interrupt makes it possible to recognize the type (level) of the interrupt required by the peripheral. The vector specifies the specific address of the device.

Priority interrupt consists in the fact that, in addition to interrupt recognition, the priority in servicing interrupting devices is determined.

Direct Modememory access. Sometimes there is a need to exchange information outside the MP. This is due to a decrease in the time spent on exchanging data arrays. In this case, the hardware of the MPP or MMS includes a direct memory access controller that manages data transfer, freeing the MPU from these functions.

DMAs are connected in parallel to the processor. The separation of these channels is carried out using the tri-state logic of controlling the state of the MPS buses. The MP during direct memory access transfers its original circuits to a high-impedance state and is isolated from the system, which is similar to breaking the information channel. The state of the internal registers is preserved as it was at the time of the direct access channel request.

There are several ways to implement direct memory access. All of them provide the highest data exchange rate in comparison with the program-controlled exchange mode. Most often, the direct memory access mode is implemented with the stop of the MP and the increase (lengthening in time) of the MP cycle.

Stop Method is based on the fact that in this state the MP is disconnected from the system buses for the duration of the data transfer. Before entering the stop state, the MP completes the execution current team and lingers in this state for several cycles, until the tires are released. According to this scheme of direct memory access, the MP, being disconnected from the buses, does not respond to interrupts, which in some cases may be unacceptable for the MPS.

Capture method consists in serial data exchange. High-speed air-blasters exchange only one word; their service request is satisfied by delaying the execution of the current instruction by one machine cycle while the MP is in a state of transition from one machine cycle to another. In this DMA mode, the MP pauses for only one machine cycle to transfer each data word, after which control returns to the MP.

address space. Mechanism and methods of addressing

Address space MPU (MPS) - set of operational addressesmemory andROM that is available to programs executed by the MP.

The size of the address space of the MP RAM is one of the quantities that significantly affect the performance of the MPS as a whole.

Address space size - value,which is determined by the maximumaddress size and is expressed in units of the minimumthe number of memory elements that are addressed - in bytes, or in largeunits (KB, MB, GB).

If the address in the MPU is formed as a 16-bit word, then the address space is 64 KB, 20-bit - 1 MB, etc. Sometimes, to simplify information links between the components of the MPU and to facilitate the programming of I / O procedures in the address space place the addresses of the registers MP and UHV. There are no input/output commands as such. Addresses to the MP and UVV registers are identical to access to memory cells.

When a word, a 2-byte address, is formed, the byte with an even (lower) address is called the lower one, and the byte with the odd address is called the higher one.

Often, the LPA address space is represented as a diagram, which indicates the general range of addresses. This range can be divided into sub-ranges that correspond to the standard sizes of structural modules, chips, different types memory (RAM, ROM, etc.) or their specific purpose.

In the MP command system, address commands occupy a significant place.

Address command - the team in whichone or both of its operands arein working memory.

One of the reasons for such an organization of the instruction is that it is impossible to write the full physical address directly in one operand of the instruction due to restrictions on the length of the instruction. Therefore, only a certain value is placed in the operand, with the help of which the actual address of the instruction is calculated.

In general, the addressing mechanism is largely determined by the capabilities of the MPU (MPS) to efficiently process information with a minimum number of accesses to the RAM. In MPU (MPS), commands of two or more words are often used.

To limit the length of the address word, various addressing methods are used, which make it possible to:

1) determine the full address of the memory cell with fewer bits than the length of the command is reduced;

2) access memory cells whose addresses are calculated during processing, which provides access to memory expansion devices;

3) calculate data addresses relative to the position (current address) of the instruction so that the program can be loaded into any memory location without changing the address in the program.

All addressing modes can be divided into two groups:

1) modes in which the execution address is determined by one code value in the command;

2) commands that use the contents of the address part of the command and one or more registers to form the execution address.

The first group includes direct, direct register, indirect, indirect register, direct, auto-increment and auto-decrement addressing, and the second group includes basic, relative, stack, virtual addressing.

direct addressing. Operands are fetched from memory (registers) at the address written in the instruction. However, specifying a direct address requires many bits to describe in a large address instruction. To reduce it, some microcomputers use short direct addressing, providing access to a limited part of the address space. If the addresses in the command are not symbolic (specified by links), but absolute, then such direct addressing is called absolute.

Direct register addressing. V The instruction code stores the name of the register in which the operand is located. Direct addressing is not flexible enough, because it does not allow you to perform the address modification procedure necessary to ensure the movement of programs in memory and the convenience of working with arrays.

indirect addressing. The operand from memory is selected indirectly - through a memory cell. The instruction code contains a memory address pointer. When executing instructions with such addressing, memory is accessed twice: first, the address is selected, and then the operand. Thus, without changing the command code, it is possible to change the address stored in the memory area pointed to by the command code field.

Indirect register addressing. In terms of speed, it approaches direct addressing, since the indirect address is selected from the processor's internal register and does not require an additional memory cycle. In this addressing scheme, a register or register pair contains the address of the operand. The registers are loaded using commands with direct addressing. The use of the indirect register addressing mode makes it possible to calculate the memory address during program execution, which is necessary in data transfer procedures, when viewing array elements, etc.

direct addressing. The operand is in the instruction code. Commands in this case can consist of two or three words.

Autoincrement and autodecrement addressing. The executable address is calculated in the same way as with indirect register addressing, and then the contents of the register are incremented. In a byte-addressed microcomputer, the contents of the register must be increased by 1 to indicate the next byte, and by 2 to indicate the address of the next word, with the size of the operand determined by the opcode. In auto-decrement mode, the operand address is formed by subtracting 1 or 2 from the address register. The difference from auto-increment addressing is that the subtraction occurs before the contents of the register are used as the execution address. The combination of auto-increment and auto-decrement modes makes it possible to effectively use any register as a stack pointer. This addressing is also used when organizing loops and in operations with string variables.

base address. Programs that contain instructions with absolute addresses cannot be moved in memory without modifying the addresses. You can ensure the movement of programs in memory using basic addressing, with the help of which the address of the operand is calculated by adding the contents of the base register - a positive or negative offset and the address located in the instruction code.

Relative addressing. The executable address is formed by adding the base address to the instruction's address field. As the base address, the content of the program counter is used. Using relative addressing makes it possible to build programs that move independently in memory due to the fact that they always specify an offset relative to the contents of the program counter. The offset is interpreted as a two's complement signed integer that provides a jump in either direction.

stack addressing. Indirect register addressing with auto-increment or auto-decrement (auto-increment or auto-decrement), in which the register with the operand address pointer is specified implicitly (there are such instructions where the location of the operands and the result is fixed - implicit addressing). The memory location pointed to by the contents of an implicitly defined register (stack pointer) is called summit stack. Stack addressing provides special access to a piece of memory called stack, which is based on the principle of “last in, first out”. To access the stack, instructions are used that write information to and from the stack. If the instructions that write information to the stack decrement the contents of the stack pointer, and the instructions that remove information from the stack increment, then we say that the stack works to decrease, otherwise - to increase.

virtual addressing. Each user of memory (operating system or person), while solving an applied problem, manipulates virtual addresses, due to which the illusion of memory of unlimited capacity is created, although the real RAM system has a limited capacity. The illusion is created due to the virtual addressing mechanism, which is based on the dynamic redistribution of memory pages between the system's main memory (OZP) and external memory.

For each user, the operating system creates a table of correspondence between virtual and physical pages. If a physical page is accessed that is not in the main memory, then it is removed from the external memory and loaded into the main one, and the unnecessary page is “hidden” in the external memory. Virtual memory, or simply system memory, can be divided into segments in which information is stored according to functional features. For example, in one segment - commands, in the second - data, in the third - a section of the stack. Or, in one segment, in which writing is prohibited, - the operating system kernel, and in the second, in which writing and reading are allowed, - user programs. Thus, with the help of the segmentation mechanism, the problems of memory protection are solved.

Segmentation was implemented in the K1810VM86 MP, and virtual addressing was implemented in the IAPX286 MP (Intel) and 68010 (Motorola).

command system. In general, a command is understood as a single step in the operation of an executive device in the form of an instruction in machine language. The command defines the operation to be performed and its attributes: the type of operation to be performed in the given work cycle; address of one or two operands involved in the operation; location of the result of the operation; the location of the next command. Due to the small capacity of the MP, such information is difficult, and sometimes impossible, to indicate in one machine word. Therefore, a command can consist of several machine words.

In general, the following types of commands are distinguished:

1) transfer - unidirectional (register-register, memory-register, register-memory, memory-memory), exchange (register-register, memory-register, memory-memory), input / output commands;

2) arithmetic;

3) logical;

4) processing bits;

5) those that change the sequence of calculations - jumps (unconditional, conditional), calls to subroutines, returns from subroutines, software interrupts.

Questions for self-examination

1. Describe the generalized structure of MP and MPS.

2. On what grounds are the MPU and MPS interfaces classified?

3. What functions does the MP perform when processing a command (instruction) during the sampling phase, the execution phase?

4. Under what circumstances is the exchange of information between the MP and storage devices carried out in the mode of interruption or direct access to memory?

5. On what parameters of the MP does the size of the address space depend?

6. Using appendix 1, give examples of address commands with direct, indirect, immediate, base, relative, auto-increment, stack, and virtual addressing.

7. What information does the command code carry in the MP command system?

1.3. Process Formalizationdesignmicroprocessor devicesand systems

Aspects and levels of design

When designing MPU and MPS, in many cases they use block-hierarchical approach, in which The system being designed is divided into hierarchical levels. At the highest level, the most undetailed view is used, where only the general features and features of the system being designed are displayed. At the next levels, the level of detail increases. In this case, the MPS is considered as a set of individual blocks. At each level, tasks of a certain complexity are formulated and solved, which are implemented using the design tools available at this level. The block assignment should be such that the documentation for each individual block is understandable to one designer.

So, the block-hierarchical approach makes it possible to distribute the complex tasks of designing a large-scale MPS into groups of small-scale tasks, and within the group, different tasks can be solved in parallel.

In accordance with ESKD, when designing devices and systems, structural, functional and schematic diagrams are used.

It is conditionally possible to distinguish horizontal and vertical levels in the simulated design scheme (Table 1). The vertical levels are called aspects. There are such aspects of the design of MPU and MPS: functional, algorithmic, design and technological.

Functional aspect consists of three horizontal levels (2nd, 3rd and 4th): system (structural), functional-logical and circuitry-component. At the system level, a block diagram of the MPU or, MPS is designed, at the functional-logical level - functional and schematic diagrams of the MPU or all devices that are part of the MPS.

At the circuitry sublevel of the circuitry-component level, the fundamental electrical circuits integrated circuits or LSI fragments (VLSI). The elements in this case are components of electronic circuits: resistors, capacitors, diodes, transistors, etc. At the component sublevel, individual IC components are developed, which consist of elements-sections of a semiconductor crystal.

Algorithmic aspect also contains three horizontal levels (1st, 2nd and 3rd): the level of development of the scheme of operation of the MPU or MPS, the architectural level and the firmware level. At the 1st level, they develop schemes for the functioning of the MPU or MPS, determine the tasks that will be solved by the microprocessor part of the MPS, plan software systems and develop block diagrams of algorithms. Further development of software modules.

The main task of the 2nd (architectural) level is the choice of the architecture of the microprocessor part of the MPS. Sometimes it is considered as one of the tasks of the system level, that is, the architectural and system levels are combined into one aspect of functional design.

Table 1.Horizontal and verticaldesign levels

Horizontal level

Aspects (vertical levels)

Functional

Algorithmic

Design

Technological

Development of laws for the functioning of LPA (MPS); algorithm design; module programming

Systemic (structural)

Architectural (machine)

Riser, pa-nel

Concept development technological process

Functional-logical

micro software

TEZ, modul

Development of technological process routes

Circuit-technical-component-ny

IC Crystals

Design of technological operations

The 3rd (microprogram) level is intended for designing microprograms of operations and procedures that are performed in the MPU microprocessor or MPS in hardware.

Design aspect contains horizontal hierarchical levels of designing risers, panels, TEZ_v, modules and crystals (chip_v) ІС (2nd, 3rd, 4th equal).

Technological aspect consists of three horizontal levels - 2nd, 3rd and 4th. At the 2nd level, a scheme of the technological process for manufacturing MPU or MPS is developed, that is, the composition and sequence of stages for manufacturing MPU (MPS) are determined. At the 3rd level, the routes of the technological process for the manufacture of MPU (MPS) are developed, that is, they determine the composition and sequence of operations for the manufacture of the product, select the types and groups of technological equipment. At the 4th level, the technological operations of manufacturing are designed constituent parts MPU (MPS).

The main tasks of design levels

System and architecturaldesign levels:

1) determination of the principles of organization of LPA (MPS);

2) development of a block diagram, that is, the definition of the composition of a device or system and the method of interaction of its components in the process of functioning of the equipment;

3) selection of the microprocessor (microprocessor) set of LSI (VLSI);

4) determination of requirements for the parameters of a device or system and the formation of a technical task (TOR) for the development of individual MPS devices.

ToR for the development of individual MPS devices contains: enumeration of all functions performed by each device; operating conditions of the device; requirements for its input and output parameters; data on the content and form of information exchanged with other devices of the equipment; element base to create a device.

Functional-logical and firmwaredesign levels:

1) detailing the functions of each device;

2) algorithmic implementation of functions that are performed programmatically, and the presentation of algorithms in one of the accepted algorithmic languages;

3) the choice of principles for the organization of LPA (MPS) and the development of its concept;

4) development of microprograms that serve as the basis for each command or set of microcommands and the sequence of their execution;

5) synthesis of functional and circuit diagrams digital devices, which are part of the MPS;

6) synthesis of monitoring and diagnostic tests for MPP or MPS;

7) formulation of TOR for the circuit design level.

The main design criteria for complex MPP andMPS:

1) design quality;

2) design cost;

3) terms of development;

4) the number of employed specialists-developers.

According to the possibilities of formalizing the design process and its iterative nature, preference is given to the choice of computer-aided design of MPP or MPS. Today, due to the great complexity of the MPP and MPS, the complete development of the microprocessor part is generally impossible without the use of computer-aided design methods.

Question. Task

1. Explain the essence of the block-hierarchical approach to the design of MPP and MPS.

2. What do aspects represent in the simulated MPP design scheme?

3. At which of the horizontal levels is the MPP designed as a TK and what aspect corresponds to this?

4. Name the main tasks of the system level of designing the MPP.

5. What are the features of the architectural level of the MPP design?

6. What is the essence of the functional-logical level of designing the MPP and MPS?

7. What are the main tasks solved at the microprogram level of the MPP?

1.4. Architecturemicroprocessordevices and systems

Essence of architecture and principles

development of microprocessor devices and systems

Essence of architectureMPU and MPS.

microprocessor architecture reflected in the functionality of its constituent electronic components used to representdata, machine operations,descriptions of algorithms and computational processes.

The architecture combines hardware, firmware and software of computer technology and makes it possible to clearly identify what, when creating a specific MPS, must be implemented by the user in software and additional hardware.

Otherwise, the architecture of the MP is its logical organization, due to the capabilities of the MP regarding the hardware or software implementation of the functions that are assigned to the designed MPU or MPS. It displays the structure of the MP, methods of representation and data formats, a set of commands, formats of control words, methods of accessing all elements of the structure accessible to the user, and the response of the MP to external signals.

The MP architecture can be viewed as a set of its properties and characteristics from the user's point of view. It describes the methodology for the optimal combination of a combination of hardware, software and firmware of the LPU or MSM with respect to the properties that are used by developers and user programmers.

When developing architectureMPU, as well as for MP, the data and command formats, the command system and addressing methods are determined, the types of addressing, requirements for interfaces are substantiated. Right choice architecture makes it possible to optimize the computational process that implements the algorithms for the functioning of the MPU.

Architecture microcomputer - an abstract concept of a microcomputer in terms of functional units, main computer modules, data structures. The architecture does not specifically define the features of the hardware, the execution time of commands, the degree of parallelism in the implementation of the program, and other similar characteristics. It displays aspects of the microcomputer structure, in particular: a system of commands, addressing modes, data formats, a set of registers available to the user. The term "architecture" is used to describe the capabilities that a microcomputer provides, while the term "organization" defines how these capabilities are implemented.

Architecture Description is a microcomputer model, understanding of which is important not only for a programmer. It can be used as an initial base for a potential developer of a new microcomputer: in this case, the developer transforms the elements of the architecture that represent a certain logical scheme, a set of necessary interconnected components.

All microcomputers contain function blocks, having their own internal micro-architecture: 1) the processor, consists of an arithmetic logic unit and a control unit; 2) memory is a set of storage elements (cells) and a control unit; 3) information input and output devices are also complex devices that incorporate mechanical and electronic modules. These functional blocks are combined using a bus system: data bus, through which information is exchanged between microcomputer units; the address bus, which is used to transfer addresses to software-controlled devices, and the control bus, to transfer control words.

Definition computer architecture, as a universal microcomputer, does not differ in meaning from the definition of microcomputer architecture in general.

Computer architecture , from a programmer's point of view, an abstract representation (or definition) of a computer system as a set of complex hardware and software. In essence, architecture is information about the functional (logical) organization of a computer.

Architecture MPS - definition of the functions implemented by the system at its individual levels, and the exact definition of the boundaries between these levels. It defines the principles of organization of the MPS and the functions of its components, in particular the processor, memory, etc. The architecture of the MPS does not reflect the design features of logical structures and modules and the technology of their production.

Development principlesMPU and MPS

From the very beginning, in the design and development of microcomputers, the following basic principles were mainly used: modularity, backbone, microprogrammability and regularity of the structure.

Principle modular organization provides for the construction of microcomputers and MPS based on a set of modules.

Module - constructively, functionally and eelectrically finisheddevice,which makes it possible, alone or in combination with othermodulessolve computational or control problemsgiven class.

Distinguish functional and constructive modules. The modular approach makes it possible to standardize elements of higher levels and reduces the cost of designing MPU and MPS, simplifies capacity building and system reconfiguration.

The connection between modules and their elements is carried out mainly according to two principles: a) principle of arbitraryconnections, which implements the "each with each" rule, and b) principleordered connections- trunk, allowing to minimize the number of connections. They provide information exchange between functional and constructive modules of different levels using highways connecting input and output buses.

Most microcomputers and MPS have a multilevel organization of program control.

Principle firmware control provides the greatest flexibility in the organization of multifunctional microprocessor modules and, through a certain combination of microcommands, makes it possible to carry out the problem orientation of the microcomputer. Thanks to this principle, it is possible to use macro operations in MPS and execute commands and programs more efficiently than when using subroutines.

Firmware control provides:

Greater device flexibility due to the ability to change firmware,

Increases the regularity of the structure of devices through the widespread use of matrix structures such as memory,

Provides a parallel solution to the problems of distributed control and distributed memory,

Increases the reliability of devices through the use of memory chips,

Simplifies the control of the functioning of devices, since the control of the microprogram control unit is reduced to control of the contents of the storage device.

The principle of regularity predetermines the repeatability of the elements of the structure and the relationships between them.

The regularity of the system, as a rule, is considered at different levels of its organization. The main ways to increase the regularity of the structure of the MPP and MPS are:

1) widespread use of memory devices;

2) refusal to assign certain micro-operations to registers;

3) use of register structures;

4) production of general purpose registers and other registers in the form of memory cells;

5) application of the main method of information exchange;

7) using the principle of microprogram control;

8) development of parallel MPS.

Classification of architectures of microprocessor devices and systems

There are several classifications of MPU and MPS architectures, which mostly coincide with descriptions of the generalized computer architecture.

ClassificationM. Flyna. This is one of the successful classifications, which shows the architectural differences between computers. The architectural features of the computer are described in terms of the flow of commands (instructions) and data flow. This approach makes it possible to assign computer architectures to one of the specific classes (Table 2, Scheme 2).

table 2 Flynn's classification of computer architectures

Command flow

Single Data Stream

Multiple Data Stream (MD)

Single (OK)

OKOD (SISD) (single-processor computers)

SIMD (computers with parallel or associative processors)

Multiple (MK)

MKOD (MISD) (conveyor main computers)

MKMD (MIMD) (multiprocessor or multimachine complexes)

The classification is carried out in terms of not the structure of machines, but in terms of how in a computer its machine instructions interact with data. Nevertheless, Flynn's classification is very general, that is, it refers all parallel computers, except for multiprocessor ones, to the same class and does not indicate any difference between a pipelined computer and an MP matrix.

Other classifications of architectures are also used, in particular, the systematics of F. Shar, the structural systematics of R. Hockney and C. Jeshope, which uses special structural notations.

Structural systematics R.Hockney and C. Jesshope. At the first level, all computing systems are divided according to the principle of multiplicity (quantity) into single-computer and multi-computer systems. Computing systems with one computer, in turn, are divided into computers with one conveyor MP and many MPs.

The first of them are traditional serial computers, and the second form a class of parallel computers, which are divided into pipelined, non-pipelined and microprocessor matrices.

Scheme 2. Illustration of Flynn's classification of computer architectures

An example of one of the first non-pipelined computers with parallelism can be the CDC-6600 computer, built on the basis of several scalar processors.

Pipeline computers are divided into those that perform only scalar instructions, such as CDC-7800, FPC AP-120B computers, and those that execute vector instructions. Computers that use vector instructions are divided, in turn, into computers with a specialized pipeline, such as CRAY-1, and with a universal pipeline - the CYBER 205 computer.

Machine class computers with a matrix of processors they are classified according to the connectivity of processors in the matrix, according to their capacity, etc. The first machines of this type were ILLIAC-IV, BSP, STA-RAN, ICL DAP, OMEN, etc.

By purpose, computers are divided into two main groups: universal and specialized .

Architecturevon Neumann

Universal computers have the traditional "von Neumann" architecture (or scalar architecture).

Basic principles of building program-controlled computers.

In 1946, the famous American mathematician J. von Neumann for the first time formulated the basic principles for constructing program-controlled computers, which were supplemented and refined over time:

1) the principle of program control is that a computer can automatically convert the source data in accordance with a given program;

2) the principle of conditional transition provides flexibility and versatility to programs, providing the opportunity in the process of solving a problem to carry out a transition to a certain section of the program, depending on the results of intermediate calculations or initial data;

3) the principle of persistence (security) of the program is that the program is placed in the storage device of the computer;

4) the principle of random access to memory elements;

5) the principle of using the binary number system;

6) the principle of multilevel (hierarchical) memory.

These principles are also relevant for modern computers, but with the creation of new generations and families of machines, they were supplemented and refined.

In a computer, starting from third generation, in addition, the following principles apply:

- multiprogramming- joint execution of different commands of the same or different, independent one from one, programs that are stored in RAM;

- information and software compatibility- makes it possible to run existing programs on different models of the family;

High level of technical standardization- common nomenclature of external and other devices for all machines;

Opportunity organization of multi-stage work on the creation and improvement of computers.

Fourth generation machines built on the principles of:

- multiprocessing- switching of several processors when working with shared memory;

Organizations virtual memory- providing an almost unlimited amount of RAM address space;

wide use of BIC and VLSI and macromodular structure, which is based on the idea of ​​building functionally flexible computing systems from large standardized blocks (macromodules);

Use of internal high level languages.

Fifth generation machines differ:

A significant increase in the intellectual level of processors;

Further development of the input-output function of graphics, images, documents, programming languages;

Possibility of interactive processing of information using natural language;

The ability to self-learning, to associative constructions and drawing conclusions.

Programming languages ​​in the process of forming programs can implement a natural interface between a person and a machine. Super-high-level languages ​​provide:

High level of intelligence of user interaction with computing system at different levels of access to databases to select the necessary information and to knowledge bases to obtain new ideas necessary to solve unfamiliar tasks;

Use of existing software funds oriented to traditional computer architecture.

Specialized computers are designed to greatly improve performance when solving certain typestasks. This was achieved at first through the use of parallel computing. Over time, machines appeared that were based on the parallel execution of various functions or on the duplication of arithmetic devices, in particular processor matrices.

Parallel architectures

Parallelism developed in two directions:

1) improving the structure of the computer by reducing the differences between the speed of the processor and the speed of access to RAM;

2) repetition of computer devices of the same type, combined according to a certain topology.

Parallelism was applied at several hierarchical levels, in particular:

1) the level of tasks - between tasks that are performed on a computer, or between phases of a task;

2) program level - between parts of the program (for example, within the boundaries of cycles);

3) command level - between the phases of command execution (processor instructions);

4) arithmetic and bit levels - between elements of a vector operation inside logic circuits arithmetic device.

Fundamental waysintroduction of parallelism computer architecture can be divided into the following groups:

- functional processing- providing several devices with the ability to perform different functions, in particular, operations of logic, addition, multiplication, etc.

- pipeline processing- the use of the conveyor principle in order to increase the efficiency of the processor device;

- matrix processing- the use of a matrix of identical processor elements with a common control system, where all elements perform the same operation, but with different data;

- multiprocessing- carried out by several processors, each of which executes its own instructions, and all of them interact through a common RAM.

Signal and msingle microprocessors

Signal Matrix Processors - processors,which are based onmanagement principleby the stream itselfdata.

Instructions start executing as soon as their operands become available. In this case, the arrival of data from neighboring processors is interpreted as a state change and initiates a certain action.

Signal processors work like signal propagation. They are a distributed global asynchronous matrix computing system.

media system - processor network,that perform rhythmiccalculations and data transmission by the system.

Each processor regularly pumps data at every moment of time, performing certain short calculations so that a data stream is regularly stored in the network. Each of these processors is focused on only one class of tasks and therefore belongs to the class of specialized computers.

At the hardware level, these computers have global synchronization, which predetermines the occurrence of such problems as clock synchronization, increased power consumption, reduced reliability, etc.

For general-purpose streaming multiprocessor systems, conflicts associated with the use of shared memory and the interaction of processors are significant. These problems were solved by replacing stream systems with modular and local ones (which is implemented in signal matrix processors).

Many specialized computers use "harvard architecture" , the essence of which is that instruction memory spaceseparated from memory spacedata in order to simultaneously fetch commands and data.

RISC computer architecture

Computers with a reduced set of instructions/commands ( RISC - reduced instruction set computer).

Basic properties of computersWith RISC-architecture:

1) use of fixed length commands with a small number of format types;

2) regularity, which makes it possible, due to the simplicity of commands, to use the same hardware devices to execute almost all commands;

3) execution of most commands in one machine cycle (cycle);

4) focus on registers - all data operations are performed in registers, except for load and write commands, the implementation of which is associated with memory access.

Advantages RISC-architecture:

1) comparable simplicity of hardware implementation;

2) fast decryption of commands;

3) short duration of the cycle and, accordingly, fast execution of commands;

4) the ability to create an efficient command pipeline.

Flaws RISC-architecture:

1) relatively low exchange rate of operands and RAM cells;

2) Additional requirements to the software.

The performance of modern matrix and parallel computers is quite high and reaches billions of operations per second on 64-bit operands when performing floating point operations. When solving applied problems, their performance is significantly reduced and approaches the performance of modern universal computers.

Among modern pipelined and matrix MPS, supercomputers such as Cray MP and others should be mentioned.

Question. Task

1. What does the MPU (microcomputer) architecture display and how does it differ from the MP architecture?

2. Explain the essence of the principles of modularity, backbone, micro-programmability and structure regularity, which are used in the development of MPU, microcomputer and MPS.

3. On what basis are computer architectures classified?

4. What is the essence of von Neumann's computer architecture?

5. What is the essence of computer Harvard architecture?

6. List ways to introduce parallelism into computer architecture.

7. Explain the essence multiprogramming computers.

8. What is the operating principle of the MP media network and signal matrix MP, what are their differences?

9. What is the essence of the RISC-architecture of computers, what advantages and disadvantages does it have in comparison with previously considered architectures?

Literature.

1. Microprocessor and microEOM in virobnicheskih systems: Posibnik. - K.: Vidavnichiy center "Akademiya", 2002. - 368 p. (Alma mater).

2. Korneev computing systems.- M.: "Knowledge", 199p.

3., Kiselev microprocessors.- M.: "Knowledge", 199p.

Debugging Tools Features

The timing and quality of system debugging depend on debugging tools. The more perfect the devices at the disposal of the development engineer, the sooner you can start debugging hardware and programs and the faster you can detect errors, localize sources, the elimination of which will cost more at a later stage of design.

Debugging tools should:

1) control the behavior of the system or/and its model at various levels of abstract representation;

2) collect information about the behavior of the system or / and its model, process and present at various levels of abstraction;

3) transform systems, give them testability properties;

4) to model the behavior of the external environment of the designed system.

By controlling the behavior of a system or its model, we understand the definition and supply of input actions to start or stop the system or its model, to transfer the latter to a specific state. To determine the location of a subjective fault that can be introduced at any stage of the design, it is necessary to be able to collect information about the behavior of the system and present it in the forms that are accepted for this project. For example, these can be timing diagrams, circuit diagrams, register transfer language, assembler, etc.

In the general case, it is impossible to localize the source of the error of the designed system, having information about the behavior of the system only on its external outputs, therefore, the designed system is transformed. For example, before manufacturing a single-crystal microcomputer with various "hardware" ROMs, programs are debugged on an emulation chip, in which the main line is connected to external contacts and RAM is installed instead of ROM.

Microprocessor systems in their complexity, requirements and functions can differ significantly in reliability parameters, the amount of software, be uniprocessor and multiprocessor, built on one type of microprocessor set or several, etc. In this regard, the design process can be modified depending on the requirements for systems. For example, the process of designing MPS, differing from one another in the content of the ROM, will consist of the development of programs and the manufacture of the ROM.

When designing multiprocessor microprocessor systems containing several types of microprocessor sets, it is necessary to solve the issues of organizing memory, interacting with processors, organizing exchange between system devices and the external environment, coordinating the functioning of devices with different operating speeds, etc. Below is an approximate sequence of stages , typical for creating a microprocessor system:



1. Formalization of system requirements.

2. Development of the structure and architecture of the system.

3. Design and manufacture of hardware and software of the system.

4. Comprehensive debugging and acceptance testing.

Stage 1. At this stage, external specifications are compiled, system functions are listed, the terms of reference (TOR) for the system are formalized, and the developer's intentions are formally stated in official documentation.

Stage 2. At this stage, the functions of individual devices and software are determined, microprocessor sets are selected on the basis of which the system will be implemented, the interaction between hardware and software, and the temporal characteristics of individual devices and programs are determined.

Stage 3. After determining the functions implemented by the hardware and the functions implemented by the programs, circuit designers and programmers simultaneously begin to develop and manufacture a prototype and software, respectively. The development and manufacture of equipment consists of the development of structural and circuit diagrams, the manufacture of a prototype, and offline debugging.
Software development consists of developing algorithms; writing the text of source programs; translation of source programs into object programs; offline debugging.

Step 4. See Complex Debugging.

At each stage of the design of the MPS, people can introduce faults and make incorrect design decisions. In addition, defects may occur in the equipment.

By clicking on the "Download archive" button, you will download the file you need for free.
Before downloading this file, remember those good essays, control, term papers, theses, articles and other documents that are unclaimed on your computer. This is your work, it should participate in the development of society and benefit people. Find these works and send them to the knowledge base.
We and all students, graduate students, young scientists who use the knowledge base in their studies and work will be very grateful to you.

To download an archive with a document, enter a five-digit number in the field below and click the "Download archive" button

Similar Documents

    Analysis of options for design solutions and selection of the optimal solution based on it. Synthesis of a functional diagram of a microprocessor system based on the analysis of initial data. The process of developing hardware and software for a microprocessor system.

    term paper, added 05/20/2014

    Theoretical foundations for the development of a microprocessor system based on a microcontroller and a reader e-books, analysis of their technical and economic indicators and comparison with analogues. Basic norms for labor protection when working with a computer.

    thesis, added 07/13/2010

    The feasibility of using an MP device. Architecture of the microprocessor system. Structural organization of LSI BT with insulated tires. The content and possible direction of the microcontroller. Generalized structure of a simple embedded microcontroller.

    abstract, added 04/28/2011

    The structure of the microprocessor system, the algorithm for its control and signal transmission. Address distribution map. Development of an electrical circuit diagram and selection of the element base. Calculation of current consumption, power supply, software.

    term paper, added 01/22/2014

    Distribution of functions between the hardware and software parts of the microprocessor system. The choice of a microcontroller, the development and description of the structural, functional and circuit diagram. Choice of programming environment, algorithm scheme and program listing.

    term paper, added 08/17/2013

    Purpose and device of the microprocessor control system. Description of the functional diagram of the microprocessor control system. Payment static characteristic measurement channel. Development of an algorithm for the functioning of a microprocessor control system.

    term paper, added 08/30/2010

    General concept of microcontrollers, their use and purpose. Development of a project for a microprocessor-based data acquisition system using stands SDK 1.1 and SDX 0.9. Creation of software and its loading into the laboratory stand SDK-1.1.

    term paper, added 01/31/2014

are refracted differently at different stages of their existence.

Development stage is the most responsible, time-consuming and requires highly qualified developers, since errors made at this stage are usually detected only at the stage of testing the finished sample and require lengthy and expensive reworking of the entire system.

One of the main tasks of this stage is distribution of functions performed by a microprocessor system between its hardware and software parts. The maximum use of hardware simplifies development and provides high system performance as a whole, but is usually accompanied by an increase in cost and power consumption. At the same time, an increase in the specific weight of software makes it possible to reduce the number of system devices, its cost, increases the ability of the system to adapt to new application conditions, but leads to an increase in the required memory capacity, a decrease in performance, and an increase in design time.

The process of redistributing functions between the hardware and software parts of the MPS is iterative in nature. Selection criterion here is the possibility of maximum implementation of the specified functions by software, provided that the specified indicators are provided (speed, energy consumption, cost, etc.).

From point of view control and diagnostics The MPS this stage has the following features:

  • there are no proven test programs: the design of the MPS hardware always goes in parallel with the development of programs, and sometimes the hardware for it testing and debugging ;
  • construction test programs and the analysis of the results is carried out by the developer manually based on his ideas about the principles of operation and the structure of the system being developed;
  • there is a high probability of occurrence of several faults at the same time; there may be malfunctions associated with both defects in electronic components and errors of installers and programmers;
  • the uncertainty of the cause of the malfunction associated with the previous provision: failures in the equipment or errors in the program;
  • possible developer errors: the system can absolutely correctly perform the actions prescribed by the developer, but these prescriptions themselves were incorrect.

All these reasons make tasks control and diagnostics at the stage of development of the MPS, the most difficult, and the requirements for the qualifications of personnel are very high.

Instrumental means of control and diagnostics at this stage must meet the following requirements:

  • the ability to measure both digital and analog signals;
  • a variety of operating modes and quick adjustment to a given mode;
  • efficiency and clarity of presentation of measurement results;
  • the ability to work with both hardware and software.

    At the production stage microprocessor system The requirements come first:

    • high performance,
    • completeness control,
    • high automation in order to reduce the requirements for the qualification of service personnel.

    Control at this stage is carried out using the used test programs. Testing is carried out on specially designed control stands (in the case of a sufficiently large production volume), designed to issue test effects and automatically analyze reactions to them. As a rule, at this stage only control performance of the system according to the principle "good - no good". Determining the location and nature of the fault is carried out by more highly qualified personnel in a separate process.

    Control during operation, as a rule, is easier than in the previous stages, for the following reasons:

    • the probability of occurrence of two or more malfunctions at the same time is very small;
    • usually required control correct operation only when solving specific problems, while the tests are supplied with the product itself.

However, the requirements for tools intended for the operational maintenance of the MPS are very contradictory.

On the one hand, this is a requirement for compactness, and often even portability of these tools, on the other hand, the requirements for versatility and automation of the process. control to be able to employ low-skilled personnel.

Now let's take a look at the actual tools. control and debugging microprocessor systems.

The accuracy with which a particular test localizes faults is called its resolution. The required resolution is determined by the specific test objectives. For example, when debugging a prototype, it is necessary first of all to determine the nature of the malfunction (hardware or software). In the factory, it is desirable to carry out diagnostics faults down to the level of the smallest replaceable element to minimize repair costs. When testing equipment during operation for its repair, it is often necessary to establish which plug-in unit of the product has a malfunction.

Facilities control and debugging must:

  • control the behavior of the system and/or its model;
  • collect information about the behavior of the system and / or its model, process and present at a level convenient for the developer;
  • to model the behavior of the external environment of the designed system.

Timing and quality debugging systems depend on funds debugging. The more advanced the tools at the disposal of the development engineer, the sooner you can start debugging hardware and programs and the faster you can find and eliminate errors that are much more expensive to detect and eliminate at later stages of design.

As experience in the development, production and operation of MPS shows, the final control performance should be carried out on real equipment and on working clock speeds. Therefore, the tools should provide a solution to the problems of generating input actions and registering output reactions in real time. The presence of bidirectional buses in the MPS requires the ability to switch control equipment from transmission to reception within one period clock frequency. Timing control requires very fast tools. In addition, a significant length test programs causes the need to use RAM, external device controllers, power supply, clock generator, etc.

With autonomous debugging equipment may require instruments capable of:

  • perform analog measurements;
  • give impulses of a certain shape and duration;
  • apply a sequence of signals simultaneously to several inputs in accordance with a given timing diagram or a given functioning algorithm equipment;
  • store the values ​​of signals from many lines for a period of time determined by the specified events;
  • process and present the collected information in a form convenient for the developer.

For offline debugging equipment at the circuit level are widely used oscilloscopes, voltmeters, ammeters, frequency meters, pulse generators, signature analyzers. For more high level use in-circuit emulators, ROM emulators, logic analyzers, development boards, as well as special debugging tools that are built into the LSI at the stage of their development.

Liked the article? Share with friends!
Was this article helpful?
Yes
Not
Thanks for your feedback!
Something went wrong and your vote was not counted.
Thank you. Your message has been sent
Did you find an error in the text?
Select it, click Ctrl+Enter and we'll fix it!