目录

Computer Organization and Architecture Introduction


Computer Organization and Architecture

Introduction

content

It includes two parts: computer composition principle and computer architecture

  • The principle of composition mainly discusses the various components of computer systems and their working mechanisms

  • Architecture studies computer instruction sets, I/O mechanisms, addressing techniques, and more

Preface

The characteristics of this course:

  • core basic course of computer major

  • Fundamental

  • Abstractness

  • Modularization

  • Relevance

  • Hierarchy

  • One of the required subjects for postgraduate entrance examination

Outline

  • Introduction of Computer and this course

  • Why Study Computer Organization and Architecture?

  • Organization and Architecture

  • Structure and Function

Introduction of Computer and this course

Main parts of the computer

  • Network card

  • sound card

  • GPU

  • memory

  • CPU

  • air fan

  • mainboard (motherboard)

  • Data line

  • Optical Disk Driver

  • Hard disk

  • floppy disk drive

Computing devices then

EDSAC

$EDSAC$: Electronic Delay Storage Automatic Calculator,University of Cambridge, UK, 1949

  • First stored program

  • About 3000 vacuum tubes ,arranged on 12 cabinets, covering an area of 5 × 4 meters

  • Power consumption 12 kW

  • Consists of five parts: arithmetic unit (ALU), controller, memory, input and output

  • About 650 instructions per second

Rapid Change of Underlying Technology

With the continuous improvement of the integration of integrated circuits, more components can be packed into chips of the same size

Computers becomes

  • Performance :faster

  • Memory capacity :larger

  • Volume :smaller

Computer technology

  • Integrated circuit technology

  • Parallel organization

  • ……

Development trend of computer

$Gordon\ Moore, Electronics, 1965\newline$

$\downarrow \downarrow \downarrow \downarrow\newline$

  • Number of transistor on the chip doubles every certain time

  • Processor performance is getting stronger and smaller

Content of this course

How does computer work?

  • How does a basic instruction execute in CPU?

Example $\rightarrow$​ Add R1, R2 (add content of R1 and content of R2, place result in R1)

Execution steps of Add R1,R2

The “possible” micro-execution steps are:

  1. $ALU_1 \leftarrow\ [R1]$ {content of R1 is moved to ALU1 }

  2. $ALU_2 \leftarrow [R2]$ {content of R2 is moved to ALU2 }

  3. $ADD$ {content of ALU1 + ALU2 = ALU3 }

  4. $R1 \leftarrow [ALU_3]$ {Result of addition is moved to R1}

If, each micro-step is executed in “one” clock-cycle, then this Add instruction needs 4 clock-cycles

How to reduce execution time?
  • Need 4 clock-cycles

  • Data transfer takes 75% of the time (1, 2, 4)

  • With single bus, it is slow, since in each “clock” only one transfer could be executed


  • Is there any other way to “improve” the speed?
    • Dual bus processor may be faster
    • Additional processor cost
Dual bus processor
/img/Computer Organization and Architecture/chapter1-1.png
Solve(Dual bus processor)
How about CPU-Memory Connection?

Problem:

  • CPU can transfer 16/32/64 bit data or instruction (from one CPU unit to another) in less than one nanosecond$ (for\ CPU\ with > 1\ Ghz\ clock) \newline$

  • Memory unit/system, transfers 16/32/64 bit data or instruction in 40 to 60 nanoseconds (for memory w/40-60 nanosecond cycle time)

CPU has to wait more than 50 CPU clocks, waiting for data/instruction from memory to be available


Solve the problem:

  • We can overcome (partly) the CPU-Memory bottleneck by inserting cache memory between CPU and Main Memory
/img/Computer Organization and Architecture/chapter1-2.png
Solve(Cache)

Other way to improve speed

  • Is there any other way to improve instruction execution speed (increasing performance)? Pipelining

  • Are these improvements need extra cost? $(cost\ vs\ performance\ issue)\newline$

  • Balance

Main content of this course

  • PART ONE: OVERVIEW

  • PART TWO: THE COMPUTER SYSTEM

  • PART THREE: THE CENTRAL PROCESSING UNIT

  • PART FOUR: THE CONTROL UNIT

  • PART FIVE: PARALLEL ORGANIZATION

Why Study Computer Organization and Architecture?

In this course, we will learn

  • What parts does the computer consist of?

  • How does each part work?

  • How are these parts connected?

  • What are the key factors affecting computer performance?

  • What methods are used to improve the performance of the computer?

Example:

  • Balance

    • Inserting cache memory

    • Selection of the number of registers: not only enough, but also not too many

    • cost vs performance

  • Parallel

    • Internal of CPU: pipeline, superscalar

    • On chip: multicore

    • Internal of machine: SMP,NUMA

    • Multi-machine: cluster

After this course, we will know

  • We are able to analyze the inter relation among design of instructions, its implementation in a processor and the performance issues

  • Learn about the computer design and organization issues, namely hardware of a computer

What is the context of this course?

$UML\newline$

/img/Computer Organization and Architecture/chapter1-3.png
course(UML)

Significance of this course

  • The computer lies at the heart of computing. Without it most of the computing disciplines today would be a branch of theoretical mathematics

  • To be a professional in any field of computing today, one should not regard the computer as just a black box that executes programs by magic

  • All students of computing should acquire some understanding and appreciation of a computer system’s functional components, their characteristics, their performance, and their interactions. There are practical implications as well


  • We need to understand computer architecture in order to structure a program so that it runs more efficiently on a real machine

  • In selecting a system to use, we should to able to understand the tradeoff among various components, such as CPU clock speed vs. memory size

Role of the computer architect

  • Look backward : examine old code

  • Look forward : Listen to the dreamers

  • Look Up : Nature of the problems

  • Look down : predict the future of the technology

Organization and Architecture

Architecture

  • Architecture is those attributes visible to the programmer

    • Instruction set , number of bits used for data representation, I/O mechanisms, addressing techniques

    • e.g. Is there a multiply instruction?

    • How best is memory handled by the OS?

Organization

  • Organization is how features are implemented

  • Control signals, interfaces, memory technology

  • e.g. Is there a hardware multiply unit or is it done by repeated addition?

  • What type of non-volatile memory is used to store the BIOS?

Importance of the distinction

  • A family of computer models: All with the same architecture but with differences in organization

    • The different models in the family have different price and performance characteristics

    • The organization of a particular architecture changing with changing technology

Example

  • All Intel x86 family share the same basic architecture

  • The IBM System/370 family share the same basic architecture

  • This gives code compatibility at least backwards

  • Organization differs between different versions

Definition of architecture

Traditional definition——ISA-only

The term architecture is used here to describe the attributes of a system as seen by the programmer, i.e., the conceptual structure and functional behavior as distinct from the organization of the dataflow and controls, the logic design, and the physical implementation ——Gene Amdahl, IBM Journal of R&D, April 1964

ISA + implementation

The science and art of designing, selecting, and interconnecting hardware components and designing the hardware/software interface to create a computing system that meets functional, performance, energy consumption, cost, and other specific goals

Organization and Hardware

  • Operation units and their interconnection to realize structural specifications

    • Internal CPU,including Arithmetic, logic, branch, data transfer are implemented

    • Memory system


  • Hardware used to refer to specific of a machine

    • Detailed logic design

    • Packaging technology of machine

Structure and Function

Hierarchical thought

  • The modern computer uses the hierarchical to design, and the hierarchical characteristics are the basis of designing and describing them

  • In each layer, the system consists of a set of components and their interrelations

  • The behavior of each layer only depends on the simpler abstract features of the next layer of the system

  • Designers care about the structure and function of each layer

Hierarchical method - Bottom up

Bottom up: build a complete description from the bottom up. It starts from the most basic part of the system implementation, from simple to complex, build up layer by layer, until finally get the required system

Hierarchical method – Top down

Top down: starting from the top level, decompose the system into several sub parts. The essence is to decompose complex big problems into relatively simple small problems, find out the key and key points of each problem, and then describe the problem qualitatively and quantitatively with accurate thinking. Its core essence is “decomposition”

Top-down approach is the clearest and most effective.

Structure & Function

  • Structure is the way in which components relate to each other

  • Function is the operation of individual components as part of the structure

Function

All computer functions are

  • Data processing

  • Data storage

  • Data movement

  • Control

Function View

Operation type 1 — data movement

Operation type 2 — storage

Operation type 3 — processing from/to storage

Operation type 4 — processing from storage to I/O

Structure - Top level

/img/Computer Organization and Architecture/chapter1-4.png
Structure(Top Level)

Structure - CPU

/img/Computer Organization and Architecture/chapter1-5.png
Structure(CPU)

Structure – Control Unit

/img/Computer Organization and Architecture/chapter1-6.png
Structure(Control)

Key terms

Computer Computer Organization Computer Architecture Family of Computer models
Hierarchical System Structure Function Peripheral
Data Processing Data Storage Data Movement Control
Central Processing Unit Main Memory I/O System Interconnection
Control Unit Arithmetic and Logic Unit Registers CPU Interconnection

summarize

  • Organization and Architecture

    • Architecture is those attributes visible to the programmer

      • Instruction set , number of bits used for data representation, I/O mechanisms, addressing techniques
    • Organization is how features are implemented

      • Control signals, interfaces, memory technology
  • Structure & Function

    • Structure is the way in which components relate to each other

    • Function is the operation of individual components as part of the structure

  • The top level functions of a computer include data processing, data storage, data movement, and control.

  • The components of a computer include: CPU, memory, I/O, interconnect bus.