Architecture, structure, organization, function, instruction, coding, interface, heritage, processing, storage, movement, control, peripherals, Central Processing Unit (CPU), Main Memory, System Interconnection (System Bus), Input, Output, Register, Arithmetic and Login Unit, Control Unit, Sequencing Login, Decoder
Definition 1.Architecture of the Computer System(CS) is a specification of its interfaces, which determines data processing and includes: methods of data coding, system of instructions, principles of software-hardware interaction. It is also determined as a set of information, which is necessary and sufficient for programming in the machinery code.
Definition 2.The operational units and their interconnections that realize the architecture of the CS is the Organization of the CS.
? All Intel x86 family share the same basic architecture
? The IBM System/370 family share the same basic architecture
This gives code compatibility, software succession
Organization differs between different versions
Architecture is more conservative than organization
z Structure is the way of merging (uniting) components of some subsystem in one (whole) unit.
zFunction is an operation of individual component as a part of the structure.
z All computer functions are:
Data processing, 2.- Data storage, 3. - Data movement, 4. ? Control
Multilevel computer organization.
Electronic circuits of every computer can identify and execute a limited set of simple (primitive) instructions. That is why all the programs must be transformed in a sequence of simple ones. These primitive instructions in totality compose a language in which people communicate with a computer. Such language is called the machine language.It is very difficult and tiresome to use such languages. In order to overcome these difficulties series of abstract levels were constructed (an abstraction of the higher level is build over of the lower one, here under abstraction a set of convenient for user languages is meant). This approach is called multilevel computer organization.
Languages, levels and virtual machines.
Let the new (more convenient for user) instructions in totality form a language L1. The machine language we letter as L0 (the computer can execute only these instructions). In order to run the program in L1 language it is necessary to replace each instruction of this program by an equivalent set of instructions in the language L0. As a result we?ll get a program, which can be executed by the computer. This technology is called translation.
Let?s assume that there is a special program (in L0), which ?takes? programs in L1 as data, considers each instruction in turn and immediately chooses the equivalent set of instructions in language L0 and executes them. Such technology is called interpretation. (The program, which executes interpretation is called an interpreter).
Let?s imagine an existence of a virtual machine, which has a machine language L1 and letter it as M1, and virtual machine with a language L0 as M0. In fact M1 may be built, but with large expenditures. So, it is possible to create programs for virtual machines and don?t worry about translation and interpretation. It is possible to create such languages, which are mostly oriented on users: L2, L3, . . . , Ln, which are machine languages for virtual machines M2, M3 and so on. Invention of new languages may continue till the last will satisfy user?s demands. Each of these languages will use previous as a base, that is why it is possible to consider computer as a system, which consists of levelsseries.
There is an important relation between the language and the virtual machine. Every machine has got certain machine language, and the machine indeed determines the language. We will use terms ?level? and ?virtual machine? as synonymous . It is important to remember that only program in L0 can be executed by the computer without translation. Programmers are usually interested in language Ln only, but for those , who wont to understand how does the computer work it is necessary to know all the levels.
Contemporary multi-levels machines.
The majority of contemporary computers include two and more levels (up to six levels). The zero level is hardware (its electron circuits execute programs in language of the first level). In fact there is one more level below zero one, but it belongs to the sphere of electronic engineering and we will not consider it here (it is a level of physical devices).
The zero level is the digital-logic level(its objects are gates; everygate is constructed from some transistors; a group of gates forms 1 bit of memory; groups of gates are united in another groups and form registers).
The first level is called micro architecture level.There are 8 or 32 registers andALU (arithmetic-logic unit) on this level, the registers form local memory.ALU performs simple logic and arithmetic operations. Memory registers and ALU altogether form data tract(data tract consists in selection of one or two registers, ALU executes some operations with data of these registers and places result in some of the registers). The tract may be controlled by a special micro instructionor by the hardware facilities. For machines in which the data tract is controlled by the micro program the last is called an interpreter for instructions for the second level?s programs.
The second level is thelevel of system instructions architecture. It includes instructions which are executed by the micro program interpreter or by hardware.
The third level is called the operation system level. It may include instructions which belong to the lowest levels. The peculiarity of this level: the presence of new instructions; the use of another memory organization; the ability to execute many programs simultaneously and others. So, a part of instructions of the third level (new instructions) is interpreted by the operational system, and the other one (instructions identical to instructions of the second level) is interpreted by micro program (that is why this level has a hybrid character).
The forth level is the level of assembly language. This level represents a symbolic form (not digital) of one of the languages of lower levels. On this level it is possible to write programs in an acceptable to users form. These programs are translated first on some of languages of levels 1, 2 or 3, and after this they are interpreted by corresponding virtual or really existed machine (most of the programs of 4th level are supported by a translator; programs of 2nd and 3rd levels are interpretable). The program which fulfills the translation is called assembler.
The fifth level is theHigh Level Languages. This level consists of languages which were created for the applied programmers. Programs in such languages are usually translated into the 4th or 3rd level. Translators, which processed these programs are called compilers (sometimes the method of interpretation is used; e.g. programs in Java language are usually interpreted).
Inference: computer is usually designed as a hierarchy structure of levels each of which is built over the preceding. Every level represents a certain abstraction with different objects and operations.
The set of data types, operations and specifications of every level is called architecture.
At the end of 50-th the IBM company decided, that manufacturing of computer families, where every computer executes the same instructions, has many preferences as for the company, so for customers. In order to describe the level of compatibility of such computers the IBM introduced the term architecture. The new family of computers should have the same common architecture and many different elaboration, which are distinguished by prices and velocities (with it all they can perform the same set of programs). It was realized with help of interpretation. The hardware instead of interpretation was used in the most expensive computers.
Development of multilevel machines.
Hardware consists of tangible objects: integration circuit boards, cables, power supply, storage units, input/output devices.
Software consists of detail sequences of instructions and their computer presentations (i.e. programs).
At first there was a legible border between hardware and software. Eventually this border has become obliterated.
In reality hardware and software are logically equivalent: any operation which is executed by software can be mounted in hardware (it is advisable after it has been carried out), and vice versa.
The decision of hardware-software functions disintegration is based on such facts as: cost, velocity and frequency of anticipated changes, but there are some strict regulations which determine what must belong to hardware and what to software.