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

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

Embed Size (px)

Text of EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam...

  • Slide 1

EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014 Slide 2 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 Slide 3 Chapter Content Advanced Conventional Computing Instruction Set Optimization Parallel & Superscalar Computing Alternative Computing Neural Network Fuzzy & Multi-Valued Logic Quantum Computing Slide 4 Instruction Set Optimization Slide 5 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 Slide 6 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 Slide 7 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 Slide 8 Comparison CISCRISC Opcode SizeVariableUniform Number of Instructions LargeSmall Operand FetchMay RequireNot Required Complex Instruction Part of Instruction Set Programmer or Assembler Implemented Addressing Mode May be ComplexSimple Power Consumption HigherLower Control Unit Implementation MicroprogrammingHardwiring Slide 9 Parallel Computing Slide 10 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 Slide 11 Flynns Taxonomy Flynns 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 Slide 12 Flynns 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 Slide 13 Flynns Taxonomy source: http://en.wikipedia.org/wiki/Flynn%27s_taxonomy Slide 14 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 Slide 15 Superscalar source: http://en.wikipedia.org/wiki/Parallel_computing Slide 16 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 Slide 17 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 Slide 18 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 Slide 19 Neural Network Slide 20 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 Slide 21 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 Slide 22 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 Slide 23 Neural Network The Brain Cell The Imitation Block Diagram Suggested reading: http://en.wikipedia.org/wiki/Artificial_neural_network Slide 24 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 Slide 25 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 Slide 26 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 Slide 27 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 Slide 28 Fuzzy and Multi-Valued Logic Slide 29 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 Slide 30 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 Slide 31 Multi-Valued Logic Example of truth table: source: http://en.wikipedia.org/wiki/Many-valued_logic Slide 32 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 Slide 33 Fuzzy Logic Fuzzy logic involves the computation of the function for the state transition Example: source: http://en.wikipedia.org/wiki/Fuzzy_logic Slide 34 Quantum Computing Slide 35 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 Slide 36 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 Slide 37 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 22 or 44 matrices source: http://en.wikipedia.org/wiki/Quantum_computer