Transcript
Page 1: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

EEC4133Computer Organization &

ArchitectureChapter 9: Advanced Computer

Architecture

by Muhazam Mustapha, May 2014

Page 2: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Learning Outcome

• By the end of this chapter, students are expected to have the knowledge and understanding of a few advanced level material on computer architecture

Page 3: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Chapter Content

• Advanced Conventional Computing– Instruction Set Optimization– Parallel & Superscalar Computing

• Alternative Computing– Neural Network– Fuzzy & Multi-Valued Logic– Quantum Computing

Page 4: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Instruction Set Optimization

Page 5: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Complex Instruction Set Computer

• Intel in its early times implement Complex Instruction Set Computer (CISC)

• This means the LENGTH of the instruction opcode is variable– The number of bytes to be fetch to get the

complete instruction can only be decided at DECODE stage

• Other companies have the idea to optimize the instruction set by making them all the same size

Page 6: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Complex Instruction Set Computing

• Having all opcode the same size means everything has to be in that piece of opcode

• It also means there is no need for operand fetching – the unknown operands are the reason why we need extra fetching after decode

• Since we cannot fetch opcode, it also means that the instructions have to be all in its simplest form

Page 7: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Reduced Instruction Set Computing

• Computing architecture that works on this non-variable length opcode is the one that we call Reduced Instruction Set Computer (RISC)

• RISC improve the execution time by not requiring operand fetch but complex operations have to implemented manually

• Intel nowadays implement a system that is a hybrid of CISC and RISC

Page 8: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Comparison

CISC RISC

Opcode Size Variable Uniform

Number of Instructions

Large Small

Operand Fetch May Require Not Required

Complex Instruction

Part of Instruction Set

Programmer or Assembler

Implemented

Addressing Mode

May be Complex Simple

Power Consumption

Higher Lower

Control Unit Implementation

Microprogramming Hardwiring

Page 9: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Parallel Computing

Page 10: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Concepts of Parallelism

• Parallel means there are more than 1 interrelated activities take place at the same time

• The activities may or may not share the same resources at the activity level but they serve the common goal at their higher system level that confines them

• For that reason parallelism falls into several concepts and classes

Page 11: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Flynn’s Taxonomy

• Flynn’s Taxonomy classifies parallel computing system based the commonality of instruction and data

• Single Instruction, Single Data stream– No parallelism

• Single Instruction, Multiple Data streams– Array processing

source: http://en.wikipedia.org/wiki/Flynn%27s_taxonomy

Page 12: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Flynn’s Taxonomy

• Multiple Instruction, Single Data stream– Redundant processing for higher fault

tolerance

• Multiple Instruction, Multiple Data streams– Multicore, distributed system, grid computing

source: http://en.wikipedia.org/wiki/Flynn%27s_taxonomy

Page 13: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Flynn’s Taxonomy

source: http://en.wikipedia.org/wiki/Flynn%27s_taxonomy

Page 14: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Superscalar

• A superscalar processor executes more than one instruction simultaneously by dispatching multiple instructions to parallel functional units on a single CPU

• This results in instruction-level parallelism within a single processor

• Hence allows faster CPU throughput at the same clock rate

source: http://en.wikipedia.org/wiki/Superscalar

Page 15: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Superscalar

source: http://en.wikipedia.org/wiki/Parallel_computing

Page 16: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Classes of Parallel Computing

• Multicore– More than 1 instance of microprocessors

being fabricated on the same IC and they work in parallel

• Symmetric Multiprocessing– More than 1 identical microprocessors being

soldered onto the same PCB to run in parallel and being connected via a common bus

source: http://en.wikipedia.org/wiki/Parallel_computing

Page 17: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Classes of Parallel Computing

• Distributed Computing– More than 1 servers / PCs / workstations

setup on the internet to work in parallel to achieve a common goal through the use of web services

• Grid Computing– Distributed computing run transparently at idle

time by a specialized piece of software between OS and network so that a non-standard communication may be achieved

source: http://en.wikipedia.org/wiki/Parallel_computing

Page 18: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Classes of Parallel Computing

• Cluster Computing– Distributed computing performed at a closer

range, e.g. through intranet or local area network (LAN), but the servers / PCs / workstations are still loosely connected and autonomous

source: http://en.wikipedia.org/wiki/Parallel_computing

Page 19: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Neural Network

Page 20: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Alternative Computing

• Alternative computing is the way of performing computing that is different from the way that is done by the sequential computers that exist nowadays

• Many aspects of these ideas are still at research stage and hardly produce a decent replacement to modern computers

• The failures are mainly due to the lack of knowledge in that alternative domain itself

Page 21: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Alternative Computing

• Examples:– Neural Network

• imitating the domain of brain cells

– Multi-Value Logic• expanding the domain of binary logic state

– Fuzzy Logic• logic domain where states have continuous partial

values

– Quantum Computing• computation at quantum mechanics domain

Page 22: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Neural Network

• Artificial Neural Network is an imitation of the work of the living brain cells (neurons)

• It is a huge interconnected of a large number of micro-functioned computing cell that are working in complete parallel

• A single computing cell basically has zero function, but together in numbers, they yield a very impressive computing power

Suggested reading: http://en.wikipedia.org/wiki/Artificial_neural_network

Page 23: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Neural Network

The Brain Cell

The Imitation Block Diagram

Suggested reading: http://en.wikipedia.org/wiki/Artificial_neural_network

Page 24: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Computing Neural Network

Suggested reading: http://en.wikipedia.org/wiki/Artificial_neural_network

• ANN computation includes weightage at inputs with optional bias, summation then threshold function to decide the output level

Page 25: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Computing Neural Network

Suggested reading: http://en.wikipedia.org/wiki/Artificial_neural_network

• ANN can be emulated as software in the conventional sequential computers

• The neuron elements would be declared as objects and the properties would calculated sequentially stage by stage until convergence and stability achieved– The process only imitates parallelism

Page 26: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Computing Neural Network

Suggested reading: http://en.wikipedia.org/wiki/Artificial_neural_network

• A better imitation of ANN can be done using programmable hardware

• FPGA for example can be configured into a system that can perform the required calculation and output

• The registers in the FPGA will be used as programmable weightage in the ANN system

Page 27: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Programming Neural Network

Suggested reading: http://en.wikipedia.org/wiki/Artificial_neural_network

• Programming ANN is done through a process called ‘training’

• The ANN will be given a set of inputs and the expected output, then the values of weights will be adjusted so that the threshold function gives that output

• The process is repeated and redo for all input sets until the output patterns is obtained

Page 28: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Fuzzy and Multi-Valued Logic

Page 29: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Multi-Valued Logic

• Multi-valued logic is the logic system based on more than just two values of 1/0, true/false, etc.

• It may include a third one like X, unknown, undefined, etc.

• This logic, even though still similar to binary system, will require a total revamp of the current Boolean Binary system

source: http://en.wikipedia.org/wiki/Many-valued_logic

Page 30: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Multi-Valued Logic

• Supposedly this system should be able to build a large logic system with less resources

• However, the implementation of such system requires a totally new hardware type that can support the extra states

• The lack of such hardware is source for the failure of this alternative idea

source: http://en.wikipedia.org/wiki/Many-valued_logic

Page 31: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Multi-Valued Logic

• Example of truth table:

source: http://en.wikipedia.org/wiki/Many-valued_logic

Page 32: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Fuzzy Logic

• Fuzzy logic is the kind of continuous multi-valued logic that deals with the degree of a system to be in a particular state that may be binary

• For example, a system may be 70% in state 1 and 30% state 0

• Fuzzy logic finds some successful applications in the field of control system

source: http://en.wikipedia.org/wiki/Fuzzy_logic

Page 33: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Fuzzy Logic

• Fuzzy logic involves the computation of the function for the state transition

• Example:

source: http://en.wikipedia.org/wiki/Fuzzy_logic

Page 34: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Quantum Computing

Page 35: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Quantum Computing

• Quantum computing is the computation based on the quantum mechanical phenomenon like superposition and entanglement

• Most of the ideas are still at theoretical stage

source: http://en.wikipedia.org/wiki/Quantum_computer

Page 36: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Quantum Computing

• The ‘bit’ in quantum computing are called ‘qubit’

• A qubit can have one of the binary states or both – superposition property

source: http://en.wikipedia.org/wiki/Quantum_computer

Page 37: EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014

Quantum Computing

• Quantum computing devices are the devices that can trap particles and put them in one or more quantum states

• Like the conventional computing, quantum computing circuits are built using quantum gates that are defined by 2×2 or 4×4 matrices

source: http://en.wikipedia.org/wiki/Quantum_computer


Recommended