Updated the, 02/01/2020
Visiteurs
N°
Home |
Summaries |
Microcomputers |
Physical |
Technologies |
Mathematical Forms |
Access to all our Products |
Overview of all our Products |
Our Lessons in PDF Formats |
Data Processing |
Forums |
Miscellaneous and others |
The Registers at Computers | Footer |
Programs - Phases of Information Processing by Computer :
3. - PROGRAMS
On the physical side, the program is not considered part of the computer ; it is the software (or logiciel) and is the "tool" essential for the operation of the computer.
Some programs are purchased directly with the machine, others apart to extend the processing capacity of the system.
The most important program, usually provided directly at the time of the purchase of a computer, is a language translator ; it translates into binary code (code or machine language), the instructions expressed in a symbolic or mnemonic language so that the computer understands them. There are different types of translators : assemblers, interpreters, compilers ; we will see later, in more detail, these various translators.
The language most used by computers is BASIC which is part of a family of very advanced languages and easy to use. BASIC interpreters of different versions are available which differ in the number and power of the instructions.
4. - PHASES OF PROCESSING INFORMATION BY THE COMPUTER
To explain how a computer works, consider one of the elementary arithmetic operations : addition. For this we need to instruct the computer to perform the proposed operation.
In imagining, performing an addition in a traditional way, we can describe the operation simply with a single phase :
add the number A to the number B.
Or, we can break down the operation into various phases :
bring a sheet
take a pencil
write the number A
enter the number B
make the addition
Each phase can, in turn, be decomposed ; for example, for A = 164, phase 3 can be further subdivided as follows :
a - write 1
b - write 6
c - write 4
Each phase understandable and executable by the CPU is an instruction.
Depending on the type, a CPU is able to understand a number of instructions that ranges from about 40 to 200.
We know that computers, and therefore the CPU too, are formed by digital circuits and that they work by alternately occupying two states : 0 or 1. The instructions must be sequences of 0 and 1. For example, for a machine, the binary number 1011 0010 may represent an addition. This number will be called an operation code and will be written in a memory location to allow us to take our first steps in creating a program (Figure 6).
In two other locations of the memory, the two numbers that will be added are written in binary code : for example 164 and 22.
The number 164 which is 1010 0100 in binary form is placed at the address 0000 0100 0010 0100 ; in the same way, the number 22 whose binary code is 0001 0110 is written at the address 0000 1110 0011 0011 (Figure 7).
We know that the words formed with "0" and "1" reported in Figure 7 are the only language that the machine understands, but such a language is not practical for the operator who can easily exchange a "0" with a "1" or vice versa.
In addition, each computer has its own particular language and the same instruction may have a different operation code depending on the type of machine.
To eliminate any reference to a specific machine, a symbolic or mnemonic means will be used to indicate the same operation code ; we will therefore use the term ADD (which means to additionner) for the operation code of the addition.
Since the addresses are also long enough to write, they will be designated in a symbolic way : the first address will be X, the second Y. We thus introduced the symbolic addresses.
This way of indicating instructions and addresses is very important because, as we will see later, in addition to offering a facility of writing of the programs, it is the base of a symbolic language, known under the name of language assembler.
Now back to the addition. The computer does not have all the necessary information yet ; in fact, in the memory, is an instruction that tells him to add two numbers that are written in other memory locations. But it can contain other information.
The instruction, for the moment, does not tell us where the numbers to be added are. It is therefore necessary to add this information simply by writing following the operation code of the instruction, the addresses of the two terms of the sum and the address where the result must be stored as shown in Figure 8.
Using the symbolic and mnemonic form, the instruction is as follows :
ADD X, Y, Z, W
and the computer includes :
- take the data contained in the cell whose address is X, add it to that contained in the address Y and put the result at the address Z. Continue reading the instruction whose operation code is located at the address W.
It is important to note that the instruction consists of several parts : an operation code and four addresses.
This solution was adopted by the first computers called 3 + 1
Addresses that had the advantage of placing instructions and data in any part of the memory. But such a process was counterbalanced by a great waste of memory and this structure was soon abandoned in favor of the one with three addresses.
Indeed, the information relating to the address W, in which is the next instruction to be executed, becomes useless if it is required that all the instructions must succeed each other one after the other in the memory, as shown in Figure 9.
Since an instruction does not say where the next instruction is, it is necessary that a device take into account the instructions as they are made, so as to continually indicate to the computer how much of the instruction. program it turns out.
This is a special register, called program counter, abbreviated PC, which are the initials of the English terms Program Counter.
Remember that a register is a set of flip-flops, each of which can keep a bit, that is, a "0" or a "1".
The program counter is in the computer CPU. For the moment, it is not necessary to know other details about its operation, which can be very complex when you have to jump from one part to another of the program.
In symbolic notation, a statement with three addresses will be written :
ADD X, Y, Z
which means : add the number contained in the cell of address X to the number contained in address Y and put the result at address Z.
One can go one step further by saving an address, simply by positioning the result obtained in the memory cell where is the second number to be added ; this one will then disappeared and yielded its place to the result (Figure 10).
In such a case, the instruction of the addition will be as follows :
ADD X, Y
that is to say, add the number contained in the address cell X to the number contained at the address Y and store the result at the address Y.
A program structure of this type allows a remarkable saving of memory : it is adopted by many computers of medium and large powers.
The Microcomputers still save memory through instructions at a single address that indicates where the first term is.
It is clear that the computer must know where the second term is ; in practice, it must always be in a specific place known to the computer. It is a special register called accumulator (Figure 11).
The result of the operation remains in the accumulator. In symbolic form, the instruction becomes :
ADD X
that is to say add to the content of the accumulator, the content which is at the address X.
Sometimes we write this instruction in the form :
ADD A, X
where A is the accumulator.
It is very important never to confuse the addresses and their contents. Figure 12 shows such a difference, taking 164 + 22 as an example.
Always remember that in this case, the second part of the ADD instruction X never indicates the number to be added but only the address where it is stored.
The instructions of this type are very brief and in the case of addition, occupy two memory locations ; it still results in programs that contain more instructions, as we will see.
If for example we add the number 164 which is stored at the address Y to the number 22 which is at the address X and that we put the result at the address Y, we obtain the structure of the program of the Figure 13.
With computers that work with two addresses, we simply write :
ADD X, Y
thus, this instruction occupies three memory locations.
The computer performs the addition by sending the two numbers to the Arithmetic and Logic Unit (ALU), as seen in Figure 14. It therefore takes the result obtained in the UAL and stores it in the Y address, as shown in Figure 15.
In the case of computers with instructions to a single address, the program becomes longer since it is necessary to first change the desired data, here the first term of the addition, in the accumulator.
For that, we use a new instruction which carries out the displacement, it is the instruction :
LOAD
English word meaning "Charger". The first instruction of the program will be :
LOAD A, Y
that the computer interprets :
Load in the accumulator A the data contained in the memory location whose address is Y.
The situation before execution of the instruction is shown in Figure 16, whereas that in Figure 17 shows the state of the accumulator and the memory after execution.
After having transferred the number 164 into the accumulator, that is to say after having carried out the instruction LOAD A, Y, the addition instruction ADD X can be executed.
The computer sends to the UAL the number contained at address X (Figure 18) which adds it to the contents of the accumulator ; the result is stored in the same accumulator (Figure 19) thus taking the place of the first member of the addition (164) that was there.
Now, if we want to obtain the same situation as that which exists in computers using instructions with two addresses, that is to say here that the result of the addition is stored at the address Y, it is necessary to use another instruction.
It must transfer the result of the sum contained in the accumulator to the address memory location Y, it will be indicated as follows :
LOAD Y, A
that is to say :
load the contents of the accumulator into the address memory cell Y.
In this way, we obtain the situation of Figure 20.
In the light of what we have just seen, we see that the single-address instruction of the type ADD X takes less space in memory than a statement with two addresses of the type ADD X, Y but the number memory cells needed to perform the complete program of addition of the two given numbers is much larger in the first case.
THE COMPUTERS A REGISTERS
We have seen how a simple addition of two numbers asks the computer for different steps and moving data from the CPU to the memory and vice versa.
It takes a certain time for each move, in addition, the corresponding instruction (LOAD A, Y or LOAD Y, A) must contain the address of the memory cell in question.
To speed up these operations, many computers, among others the most advanced 8 bits microprocessors (Z80, 8080, etc.) have some internal registers to the CPU ; the computer can access it more easily and quickly.
NOTE :
In this lesson, we have seen the organization and general functioning of the computer. In particular, we have observed how UC works with memory.
In this one, there is the program which indicates to the microprocessor which operations it must carry out ; in addition, it contains the data to be processed.
Each program is divided into successive steps, called instructions. The type and number of possible instructions determine the power of the computer.
By following the different phases of the program, we saw what were the fundamental elements of the CPU and their operation was described in a basic way by sentences of the following type : "the data is transferred from the memory to the accumulator or the UAL adds the two numbers and stores the result in the accumulator".
For this to work, there must be a group of circuits which distributes the orders to the different organs, this is the role of the Control Unit, as shown in Figure 21 on which the CPU is represented.
It should be known that this organization is only an example and that there are other variants. In addition, the operation of the CPU is not so simple, as we have seen so far ; in addition to the registers considered, there are others which will be discussed in the following lessons.
Test your knowledge on this 2nd theory before continuing the other lessons by clicking here..
Click here for the next lesson or in the summary provided for this purpose. | Top of page |
Previous Page | Next Page |
Send an email to Corporate Webmaster for any questions or comments about this Web Site.
Web Site Version : 11. 5. 12 - Web Site optimization 1280 x 1024 pixels - Faculty of Nanterre - Last modification : JANUARY 02, 2020.
This Web Site was Created on, 12 JUNE 2019 and has Remodeled, in JANUARY 2020.