Linux O & M-essential professional knowledge: von nuoman System

Source: Internet
Author: User

Linux O & M-essential professional knowledge: von nuoman System

Abstract: Von noriman architecture, also known as the Princeton structure, is a computer design conceptual structure that combines program instruction memory and data storage. It describes a computing device that implements a universal Turing machine and a referential model that is relative to parallel computing ).

This structure vaguely guides the concept of separating a storage device from a central processor. Therefore, the computer designed based on this structure is also called a storage program computer.

Keywords:Feng nuoman's system, Feng nuoman's theory, computer, binary

Von noiman System

I. Development Background

The earliest computing machine only has a fixed purpose program. Some modern computers still maintain this design approach, usually for simplicity or educational purposes. For example, a calculator has only a fixed mathematical computing program. It cannot be used as a text processing software, or used as a game. To change the program of this machine, you must change the line, change the structure, or even redesign the machine. Of course, the earliest computers were not designed to be programmable. At that time, the so-called "rewrite program" is likely to refer to the steps of designing the program on paper and pen, then formulating the engineering details, and then constructing the Circuit Wiring or structure of the machine.

The concept of a stored procedure computer has changed everything. This machine is more flexible by creating a set of Instruction Set Structures and converting so-called operations into running details of a string of program commands. By using commands as a special type of static data, a stored procedure computer can easily change its program and change its computing content under a program-controlled control. The structures and storage program computers of von noriman are common terms and their usage will be as follows. The Harvard structure is a design concept that separates program data from common data, but it does not completely break through the Von noriman architecture.

The storage program concept allows you to modify the computing content of a program when the program is running. One of the design motivations of this concept is to allow the program to add content or change the memory location of program commands, because early design requires manual modification. However, as index latches and indirect location access become necessary mechanisms for the hardware structure, this function is not as important as ever. The feature of program self-modification has also been abandoned by modern programming, because it will cause difficulties in understanding and debugging, in addition, the pipeline and high-speed cache mechanism of the modern central processor will reduce the efficiency of this function.

On the whole, the concept of instruction as data enables the implementation of assembly languages, compilers, and other automatic programming tools; these "automatic programming programs" can be used ", write a program in a way that is easier for humans to understand [1]; from a local perspective, I/O-intensive machines, such as Bitblt, want to modify the image pattern, in the past, we thought that we could not do it without customized hardware. However, it is shown that these functions can be effectively achieved through the "compile in running" technology.

This structure is of course flawed, except for the Von noiman bottleneck described below, modification programs are likely to be very harmful, whether unintentional or design errors. On a simple storage program computer, a poorly designed program may hurt itself, other programs, or even the operating system, leading to a crash. Cache overflow is a typical example. The ability to create or change other programs also results in the emergence of malware. With cache overflow, a malicious program can overwrite the Call stack and rewrite the code, and modify other program files to cause chain damage. Memory protection mechanisms and other forms of access control can protect unexpected or malicious code changes.

Ii. Architecture

2.1 Architecture

(1) using the storage program method, commands and data are stored in the same storage without distinction (data and programs are no different in the memory, they are all in the memory data, when the EIP Pointer Points to the CPU, the data in the memory will be loaded. If the instruction format is incorrect, the CPU will be interrupted incorrectly. in the current CPU protection mode, each memory segment has its descriptor, which records the access permission (readable, writable, and executable) of this memory segment ). this essentially specifies which memory stores commands and data)

Both commands and data can be sent to the compiler for computation, that is, programs composed of commands can be modified.

(2) memory is a one-dimensional linear addressing structure accessed by address, and the number of digits of each unit is fixed.

(3) commands consist of operation codes and addresses. The operation code specifies the operation type of this instruction, and the address Code specifies the operations and addresses. The operand itself does not have a mark of the data type, and its data type is determined by the operation code.

(4) execute commands to directly send control signals to control computer operations. Commands are stored in the memory in the execution order. The instruction counter specifies the Unit Address of the command to be executed. There is only one instruction counter, which increases sequentially, but the execution order can be changed based on the calculation result or the external conditions at that time.

(5) The data transmission between the I/O device and the memory must go through the memory.

(6) data is expressed in binary.

2.2 Feng? Noriman architecture example

Let's think about this: the Cpu controller has 32 changed bits. How can it communicate with the memory?

The Cpu needs to communicate with the memory, and each other must be connected through a media.

Think about how we need to ship a box of goods to another place. We need to pull it by car and then carry it through the road so that we can transport it to our destination.

The same is true for the Cpu. We need to ship the Cpu by line.Bus). You can understand it as a line

Is that line very slow, a little more, two days of parallel, then we can send two pieces of data in the past, then how big is our bus? Each of the 32 bus is connected with an addressing bit, which can achieve 4G addressing capability. On this bus, it actually reads data and commands from our memory.

The locations where data and commands are placed in the cpu are different. The data is operated by the calculator, and the commands are controlled by the Controller, and their registers are different.

So existingData Bus,Command BusTo avoid complexity, the bus is merged and reused. For the cpu, both read data and commands are implemented through the bus. The bus for data exchange between the cpu and memory is calledFront-End bus.

The speed of Cpu and memory is different. This speed is called bandwidth. The speed does not match.

The clock cycle of the Cpu, that is, the operation frequency, for example, 3.0 GHz.

Memory frequency, for example, 1333 MHz

We all know that frequency (Hz) is a change in unit time, driven by time. Therefore, the cpu drive capability is achieved by the passage of time. You should remember this, therefore, most operations on computers are time-driven.Clock driver.

This raises another question. When I take a table, I can clearly know the current time, but if I have two tables, the time of the two tables is inconsistent, is it difficult for me to know exactly the current time. This is the watch theorem.

Similarly, the cpu has its own frequency and the memory has its own frequency, because the cpu and memory frequency do not match. In this way, the calculation method is different,Therefore, in order to ensure that the cycle is consistent, or that the time length is consistent, the motherboard or various chips need to calculate the time at a fixed frequency under a crystal oscillator.

These have nothing to do with linux and are the basic knowledge of computers.

2.3 cpu computing 1 + 1 instances

Take cpu computing 1 + 1 as an example:

Excuse me: when we want to calculate 1 + 1, how does the cpu know that we want to calculate 1 + 1?

Cpu itself is not a smart center. We need to calculate 1 + 1. How does the cpu know that we want to calculate 1 + 1? Why not 1*1? Think about it.

So, this means that we need to calculate 1 + 1. Then we need to turn 1 + 1 = into an independentProgramWhat is a program? To put it bluntly, it can be automatically loaded by the cpu, and there is an entry for the cpu to automatically execute its command set.

Everyone needs to know that the cpu is in the internal, and the cpu manufacturer is either IBM, intel or AMD. the CPUs they produce all have some microcode (assembly language) in their bodies, which can perform intelligent operations in a certain sense. This intelligent operation includesA program can be loaded from a specific location and run on it. Therefore, each chip has a built-in intelligent interface provided through microcode (assembly language,

In addition, the program must follow a certain format and must beBinaryFormat, starting from the entry-out. This meansControllerTo tellTimerWhich of the following operations does the program start.

Then our program must tell the controller where "1" is and where "+" is,Therefore, when reading program commands, the controller knows that data needs to be read at a specific address and loaded in,

Therefore, the controller controls the operation process and sends commands to the memory through the bus. The memory places the address data (assuming "1" data) on the address bus, the cpu obtains the data ("1" data ). Similarly, "1" and "+" are read in, so the controller controls the calculator for calculation.

Remember this,A clock cycle (that is, a Hz) is required to read the increment. A clock cycle is required to read the increment. The read operation also requires a clock cycle, which ends after calculation by the iterator in a cycle, after a period, the generator places the calculation result on the bus.

Therefore, even if the process is 1 + 1, it takes n cycles inside the cpu. Pay attention to this. All of this depends on the controller.

The computation is completed by the calculator. When the Controller reads data, it cannot be calculated immediately. Therefore, it must read "1", "1", "+" in order to calculate the computation, therefore, there is a temporary storage space calledRegister,Temporary data storage. When all the operation data is read, the operation can be performed.

Features 2.4

(1) data and commands processed by computers are expressed in binary.

(2) sequential execution Program

During computer operation, the program to be executed and the data to be processed are first stored in the main memory. When the computer executes the program, commands are automatically and sequentially extracted from the master memory for one-by-one execution. This concept is called an ordered execution program.

(3) the computer hardware consists of the host, controller, memory, input device, and output device.

Iii. Impact

Feng. the noriman architecture is the foundation of modern computers, and most computers are still Feng. the organizational structure of noiman computer has only been improved, and it has not fundamentally broken through the limitations of Feng's architecture. Feng nuoman is also known as the "father of computer ". However, due to the inherent limitations of the traditional computer architecture, the development of computers is fundamentally limited.

A Computer Based on the noriman architecture must have the following functions: Send the required programs and data to the computer. It must be capable of long-term memory programs, Data, intermediate results, and final computing results. Ability to complete various arithmetic, logical operations, data transmission, and other data processing capabilities. Ability to control the program direction as needed and to control the machine according to instructions

Von noriman Architecture

Von noriman Architecture

Coordinates all parts of the tool. The processing result can be output to the user as required.

The command and data are stored in the memory at the same time. It is one of the characteristics of the noriman computer solution. A computer consists of a controller, a memory, a storage device, an input device, and an output device, laid the foundation of the modern computer structure concept

4. Other Structures

4.1 Harvard Structure

(English:Harvard architectureIs a storage structure that separates program command storage from data storage. The central processor first reads the content of the program instruction in the program instruction storage device, decodes the content, obtains the data address, reads the data in the corresponding data storage device, and performs the next operation (usually executed ). Program command storage and data storage are separated. Data and commands can be stored at the same time, so that commands and data have different data widths, for example, the program instruction of Microchip's PIC16 chip is 14-Bit Width, while the data is 8-bit width.

The Harvard structure microprocessor usually has a high execution efficiency. The program commands and data commands are organized and stored separately. The next command can be read in advance during execution.

Before Linux O & M, we need to understand many basic computer problems, such as the Von noiman system and Harvard structure.

January 5, 2014

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.