eec4133 computer organization & architecture chapter 9: advanced computer architecture by...
TRANSCRIPT
EEC4133Computer Organization &
ArchitectureChapter 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
Chapter Content
• Advanced Conventional Computing– Instruction Set Optimization– Parallel & Superscalar Computing
• Alternative Computing– Neural Network– Fuzzy & Multi-Valued Logic– Quantum Computing
Instruction Set Optimization
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
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
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
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
Parallel Computing
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
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
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
Flynn’s Taxonomy
source: http://en.wikipedia.org/wiki/Flynn%27s_taxonomy
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
Superscalar
source: http://en.wikipedia.org/wiki/Parallel_computing
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
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
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
Neural Network
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
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
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
Neural Network
The Brain Cell
The Imitation Block Diagram
Suggested reading: http://en.wikipedia.org/wiki/Artificial_neural_network
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
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
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
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
Fuzzy and Multi-Valued Logic
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
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
Multi-Valued Logic
• Example of truth table:
source: http://en.wikipedia.org/wiki/Many-valued_logic
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
Fuzzy Logic
• Fuzzy logic involves the computation of the function for the state transition
• Example:
source: http://en.wikipedia.org/wiki/Fuzzy_logic
Quantum Computing
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
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
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