Postgraduate Review: Principles of Computer Composition (1)

1.1 Classification of computers and their characteristics

Computers are generally divided into three categories: Personal Computers Servers Embedded Computers

Personal Computer: Serving a Single User

Server: Serving multiple users running large programs

Embedded computer: A computer embedded in other equipment that executes a program or set of programs that have been predetermined

1.2 Post-PC Era

Personal Mobile Device PMD: Smartphone, Tablet, etc.

1.3

In the 1960s and 1970s, the main limitation of computer performance was memory

Multicore Microprocessor: A microprocessor with multiple cores on one integrated circuit

The performance of a program mainly depends on: 1. The algorithm 2. The compiled program 3. The effectiveness of the machine instructions executed by the computer

2 Eight Great Ideas of Computer System Architecture

2.1 Design for Moore's Law

Moore's Law The number of chips on an integrated circuit will double every 18-24 months

2.2 Using abstract design

The upper layer can only see the abstract model of the lower layer and cannot see the details

2.3 Parallelism

computer parallel operation

2.4 Pipeline

A special case of parallelism

2.5 Prediction

Use forecasting when the forecast is wrong and the cost is small and the forecast accuracy is high

2.6 Memory Hierarchy

Small and fast go up, big and slow down

2.7 Using Redundancy

Add redundant components to improve system reliability

2.8 Accelerating high probability events

Accelerating high-probability events is far more effective than optimizing low-probability events

3 Getting Started with Program Concepts

Application software system software hardware

The most important thing about the system software is: the operating system and the compiler

Operating system: The interface between user software and hardware provides users with various services and monitoring functions

The main role of the operating system: handle simple input and output, allocate memory and external memory, and provide services for multiple applications to share computer resources

Operating system: a monitoring program that manages computer resources in order to make the program work better on the computer

Compiler: A program that compiles a high-level language into machine language that a computer can understand and obey

4 Getting Started with Hardware Concepts

5 Classic Components: I/O Memory Calculator Controller

The arithmetic unit and the controller are also called the processor (CPU)

The processor fetches instructions and data from memory

Input puts data into memory Output fetches data from memory

The controller sends command signals to the datapath memory input and output components

The basic hardware of any computer must be completed: input data output data processing data storage data

Integrated Circuit: Also called a chip, a device that connects dozens or even millions of transistors

Central processing unit (Central process unit): CPU also called processor includes data path (calculator) and controller

Datapath: The part of the processor that is responsible for logical operations

Controller: The part of the processor that directs the datapath memory and I/O devices according to program instructions

DRAM: dynamic random access memory

Memory: composed of multiple DRAMs to store running programs and data required by running programs

Another storage device is used inside the processor (cpu): the cache (cache)

Cache: SRAM technology is faster but less integrated than DRAM SRAM

The cache is small and fast as a memory buffer

Instruction Set Architecture: Also called architecture is an abstract interface built by low-level software and hardware that contains all the information needed to write a machine language that runs correctly. It includes instructions, registers, storage, access, and I/O.

Application binary interface: The instructions of the user part plus the operating system interface called by the application programmer define the computer standard for binary level portability

Volatile storage: DRAM stores data only when powered up

Non-Volatile Storage: Memory that retains data even if the TV is turned off

Volatile memory is also called main memory Non-volatile memory is called secondary memory

Secondary memory forms the lower level below the memory hierarchy

Disk: Also called hard disk, a non-volatile memory used to store data

Flash memory: Non-volatile semiconductor memory price performance is between DRAM and hard disk

5 Manufacturing Technology of Processors and Memory

Transistor: a simple switch controlled by an electrical signal

VLSI: Circuits made up of hundreds of thousands to millions of transistors

6 Performance

Response time: also known as execution time is the total time it takes for a computer to complete a task, including hard disk access, memory access, IO activity, operating system overhead, and CPU execution time

Throughput: Also known as bandwidth, it indicates the number of tasks completed per unit of time

Anything that affects the response time will affect the throughput rate. When the task volume is too large and the processing rate is slow, resulting in queuing, the throughput rate will affect the response time.

Maximize performance: Minimize response time performance = 1/response time

6.2 Measure of performance

CPU execution time: referred to as CPU time to perform a task and the time spent on the CPU

CPU execution time includes: user CPU time system CPU time

User CPU time: CPU time spent in the program itself

System CPU time: CPU time spent on the operating system for executing programs

System Performance: Response time of no-load system

CPU Performance: Indicates the user's CPU events

Computers use clocks to drive various things that happen in the hardware

The time between clocks is called the clock period, the inverse of the clock period is the clock frequency, and the clock period is usually a constant

Clock Length: The length of time that each clock cycle lasts

6.3 CPU performance and its influencing factors

CPU execution time of a program = CPU clock cycles of a program * clock cycle time

6.4 Performance of Instructions

The average number of clock cycles required per instruction is called CPI

CPU Clock Cycles = Instructions * CPI

CPU execution time of a program = number of instructions of a program * CPI * clock cycle time

10 Fallacies and Pitfalls

MIPS The time required to execute millions of instructions The execution speed expressed by MIPS

MIPS = number of instructions / (execution time * pow(10,6) )

MIPS = Number of Instructions / (Number of Instructions * CPI * Clock Cycles * pow(10,6)) = Clock Frequency / (CPI * POW(10,6))


Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325390988&siteId=291194637