Computer Principles and Differences from Industrial Control Computers

Computer Principles

The basic principle of a computer is the stored program and program control. Instructions (called programs) that command the computer on how to operate and raw data must be delivered to the computer’s memory through input devices. Each instruction specifies from which address to fetch data, what operation to perform, and where to send the result.

When a computer is running, it first retrieves the first instruction from memory, decodes it through the controller, fetches the data from memory to perform specified calculations and logical operations, and then sends the result back to memory at a specified address. This process continues with the next instruction under the control of the controller until a stop instruction is encountered.

Programs and data are stored similarly, and the computer automatically completes the operations specified by the instructions one step at a time, following the order of the program. This principle was first proposed by Hungarian-American mathematician John von Neumann in 1945, hence it is called the Von Neumann principle.

A computer system consists of two main parts: the hardware system and the software system. The basic structure of modern computers was established by John von Neumann, known as the Von Neumann architecture, characterized by:

1) Using a single processing unit to perform calculations, storage, and communication tasks.

2) Storage units are organized in a fixed-length linear manner.

3) Storage space units are directly addressable.

4) Using low-level machine language, instructions are completed through operation codes.

5) Centralized sequential control of calculations.

6) The computer hardware system consists of five main components: the arithmetic logic unit, memory, controller, input devices, and output devices, which define their basic functions.

7) Data and instructions are represented in binary form.

8) When executing programs and processing data, programs and data must be loaded from external storage into main memory before the computer can automatically adjust to fetch and execute instructions from memory.

The computer performs fast calculations and processing of data according to predetermined arrangements. These arrangements are expressed through a series of instructions (commands from the operator), known as a program. An instruction specifies a basic operation for the computer to execute. A program specifies a complete task for the computer to complete. A set of different instructions that a computer can recognize is called its instruction set or instruction system. In microcomputer instruction systems, single-address and two-address instructions are mainly used, where the first byte is the operation code, specifying the basic operation to be performed, and the second byte is the operand. Computer instructions include the following types: data processing instructions (addition, subtraction, multiplication, division, etc.), data transfer instructions, program control instructions, and status management instructions. The entire memory is divided into several storage units, each capable of storing 8 bits (byte addressed). Each unit can store data or program code, and to effectively access the contents stored in the unit, each unit is assigned a unique identifier, known as an address.

According to the Von Neumann stored program principle, when executing a program, the computer must first load the relevant program and data into memory. During execution, the CPU retrieves instructions based on the current program counter’s content and executes them, then retrieves the next instruction and executes it, continuing this cycle until the program’s end instruction is reached. The work process involves continuously fetching and executing instructions, ultimately placing the calculated results into the memory address specified by the instruction. The computer hardware components involved in this process include memory, instruction registers, instruction decoders, calculators, controllers, arithmetic units, and input/output devices, which will be emphasized in subsequent content.

Hardware typically refers to the physical devices that make up a computer. A computer’s hardware system should consist of five basic parts: the arithmetic logic unit, controller, memory, input, and output devices. Modern computers also include a central processing unit and bus devices. These five parts communicate operations conveyed by instructions through the system bus. After receiving instructions, the controller directs the transfer of data from input devices to memory for storage, and then transfers the data needed for calculations to the arithmetic logic unit, where processing occurs, and the results are output through output devices.

Central Processing Unit

The CPU (central processing unit) is the core device of a computer system, consisting of the controller, arithmetic logic unit, and registers, usually concentrated on a single chip. The computer operates around the CPU, controlling the data transfer and processing between input and output devices and memory through the CPU. The central processing unit of a microcomputer is also known as a microprocessor.

Controller

The controller analyzes the input instructions and coordinates the various components of the computer to complete specific tasks. It typically consists of the instruction register, status register, instruction decoder, timing circuits, and control circuits. The computer operates by executing programs, which are specific sequences of instructions designed to complete a task. Various instruction operations are arranged in a specific time relationship, and the controller generates command signals for the most basic indivisible micro-operations, known as microcommands, to direct the orderly operation of the entire computer. When a computer executes a program, the controller first obtains the instruction’s address from the instruction register, stores the next instruction’s address in the instruction register, retrieves the instruction from memory, decodes it through the instruction decoder to produce control signals that drive the corresponding hardware to complete the instruction operation. In short, the controller coordinates and directs the operation of various components of the computer, with the basic task of generating relevant microcommands based on the needs of the instruction types and the logical and timing conditions involved.

Arithmetic Logic Unit

The arithmetic logic unit (ALU) is primarily responsible for performing various arithmetic and logical operations. Arithmetic operations refer to numerical computations such as addition, subtraction, multiplication, and division. Logical operations involve non-numerical logical judgments, such as AND, OR, NOT, comparisons, and shifts. All computations performed by the computer occur within the arithmetic logic unit, which retrieves operands from storage or registers based on the addressing mode specified by the instruction, computes, and returns the results to the registers specified by the instruction. The core components of the arithmetic logic unit are the adder and several registers, where the adder is used for calculations, and the registers store various data involved in calculations and the resulting outputs.

Memory

Memory is divided into internal memory (commonly referred to as RAM or main memory) and external memory (commonly referred to as external or auxiliary memory). External memory can also serve as input/output devices. Computers store the programs and data to be executed in memory, which is generally made up of semiconductor devices. Semiconductor memory can be divided into three main categories: random access memory (RAM), read-only memory (ROM), and special memory. RAM is characterized by its ability to read and write, with the same access time for any unit, retaining its contents while powered but losing it immediately when power is off. RAM can be further divided into dynamic (DRAM) and static (SRAM) types. Dynamic RAM uses MOS circuits and capacitors as storage elements, needing periodic recharging to maintain correct storage due to capacitor discharge, hence the term dynamic memory. Static RAM uses bipolar or MOS circuit flip-flops as storage elements, avoiding refresh issues caused by capacitor discharge. As long as it is powered correctly, the flip-flops can stably store data. DRAM is noted for its high integration density, mainly used for large-capacity storage, while SRAM is noted for its fast access speeds, mainly used for buffer storage. ROM is read-only memory, which can only read its original content and cannot be overwritten by users. The originally stored content is written and permanently preserved by the manufacturer. ROM can be divided into programmable (PROM), erasable programmable (EPROM), and electrically erasable programmable (EEPROM) types. For example, the content stored in EPROM can be erased by ultraviolet light, allowing it to be changed repeatedly. Special solid-state storage includes charge-coupled devices, magnetic bubble memory, and electron beam storage, mainly used in specialized information storage fields. Additionally, common units used to describe internal and external storage capacities include: ① Bit: the smallest unit in memory, representing a binary digit (0 or 1), corresponding to a transistor in computers. ② Byte: the most commonly used basic unit in computers, equal to 8 bits (1 Byte = 8 bits). ③ Kilobyte (KB): memory capacities in computers are often expressed in kilobytes, where 1 KB = 1024 Bytes. ④ Megabyte (MB): hard drives and memory in popular microcomputers in the 1990s were usually measured in megabytes, where 1 MB = 1024 KB. ⑤ Gigabyte (GB): currently, the hard drives of popular microcomputers on the market reach specifications such as 430 GB, 640 GB, 810 GB, and 1 TB, where 1 GB = 1024 MB. ⑥ Terabyte (TB): 1 TB = 1024 GB. The concept of petabyte (PB) has emerged, where 1 PB = 1024 TB.

Input/Output Devices

Input devices are used to accept raw data and programs from users and convert them into binary forms that the computer can recognize and store in memory. Common input devices include keyboards, mice, scanners, and light pens. Output devices are used to convert the results processed by the computer stored in memory into forms that are acceptable to users. Common output devices include monitors, printers, and plotters.

Bus

A bus is a set of common signal lines for data transmission between system components. It has functions such as gathering and distributing data signals, selecting sending and receiving components, and establishing and transferring bus control rights. Typical microcomputer systems usually adopt a single bus structure, generally dividing the bus into three groups based on signal types: the address bus (AB), data bus (DB), and control bus (CB).

Differences from Industrial Control Computers

In modern control, industrial control computers (ICCs) are increasingly used across various industrial control fields. Some ICCs are combined with specialized function boards, while others merely perform functions similar to ordinary computers, leading to the question of why we should use ICCs instead of standard computers in interchangeable situations. Simply put, ordinary home or office computers are consumer-grade, while ICCs are industrial-grade, which have special requirements in structure and other aspects.

From an appearance perspective, ordinary computers are mostly open, featuring many ventilation holes, with only one power supply fan blowing air out of the case for cooling. In contrast, the chassis of an ICC (taking the standard 19-inch example) is fully enclosed and significantly heavier than that of a standard computer, indicating that it uses thicker materials that are sturdier. Inside, there is not only a power supply fan but also a larger internal fan to maintain positive pressure within the chassis. This structural design provides dust resistance (which I have explained in related articles) and shields against electromagnetic interference.

Regarding power supplies, standard ICC power supplies differ from ordinary power supplies, utilizing resistors, capacitors, and coils with much higher levels of impact resistance and anti-interference capabilities compared to standard home power supplies. The load capacity is also much larger. A small incident at work can illustrate this; in my previous office, I was working on an office computer while simultaneously running a program control experiment on an ICC. My neighboring office was filled with many office computers, all operational, and at that time, our computer room had no voltage stabilization devices. When I was experimenting with the control program for the mixing station, I suddenly heard a commotion from next door; it turned out there was a voltage fluctuation causing all the office computers to restart, and some people lost unsaved work. I noticed that my office computer also restarted, while my ICC continued to work normally. This illustrates the ICC’s strong resistance to power fluctuations; upon opening both power supplies, I found that the ICC power supply contained larger inductors at the same load capacity.

There are also noticeable differences in internal structure; ordinary computers usually have only one motherboard with standard components such as CPU sockets and memory slots, while additional components like dedicated graphics cards are inserted into expansion slots on the motherboard, typically PCI slots. ICCs, however, have a larger motherboard, also known as a passive backplane, which contains fewer integrated circuits and more expansion slots. The CPU motherboard must be inserted into a special slot on this backplane, and other expansion boards must also be inserted onto the backplane rather than the motherboard. This design allows for better shielding from external interference, as ICCs often operate in harsh environments with significant interference, ensuring more reliable operation of the main components. Additionally, the larger backplane makes it easier to expand with other plugins, giving designers more options when developing systems without worrying about space constraints.

ICCs also have other advantages, such as how optical drives are vibration-resistant and how aging processes are designed differently, which I will detail in subsequent sections.

Leave a Comment