140 likes | 294 Views
Architectures of Digital Information Systems part 5: Special and weird ‘processor’ types. dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital Information Systems. A single superinstruction, > 100 bits long:. integer 1. integer 2. load/store. floating pt. jump/call.
E N D
Architectures ofDigital Information Systemspart 5: Special and weird ‘processor’ types dr.ir. A.C. VerschuerenEindhoven University of TechnologySection of Digital Information Systems
A single superinstruction, > 100 bits long: integer 1 integer 2 load/store floating pt. jump/call To the functional units... Very Large Instruction Word machines • VLIW machines use ‘super-instructions’ which explicitly control all functional units in parallel • All scheduling must be done by compiler • Unused sub-instructions must be ‘No operation’ Trimedia: variable length instructions
Single Instruction-Multiple Data machines • Lots of ALU’s performing the same operation Systolic array: • Number of ALU’s equals number of data elements • Can have local storage and neighbour connections Vector processor: • Number of ALU’s below number of data elements • Lack of dependencies allows VERY fast pipelines Intel’s MMX is a kind of SIMD !
‘row’ select 2-D memory bits cell array (leaky)capacitor read row row address write/’refresh’ row ‘column’ bit line read one bit read/write amplifiers and data latches ALU, carry bit,local storage bits,global AND/OR test,left/right neighbour communication control write one bit parallel one-bit‘processors’ column address columnaddress ‘Intelligent memory’ SIMD machines • Uses layout and technology of modern RAM chips to get massive parallellism takes < 20% extra chip area !
A B C D ‘arc’s carry(intermediate)data values + – ‘node’s performactual operations (A+B) (C–D) (A+B)(C–D) Dataflow processing • It is possible to write functions like(A + B) (C – D) as an Acyclic Directed Graph ‘dataflow graph’
A write address read address data to write memorynode decision:A > 15 F T A (>15)nil (<= 15) nil (> 15)A (<= 15) read data Dataflow graph memory and decisions • These functions require special node types ! EXAMPLES !
(universal) ALU’s data_1 data_2 operation/ID out packetgrouping and operationselection routing using packet ID packet buffers (RAM) data_1 data_2 operation/ID out graphstructure memory& queueing arbitration& scheduling nodeoperations input output Dataflow processor architecture • Data stored in ‘packets’ (‘tokens’) with arc ID (abstract) EXAMPLE !
A ‘fuzzy logic’ example rule-set • Control the brakes of a car with a radar sensor 1) IF (V negative)THEN do not brake 2) IF (V low AND D large)THEN do not brake 3) IF (V low AND D small)THEN brake gently 4) IF (V high AND D large)THEN brake gently 5) IF (V high AND D small)THEN brake strongly Measuring transit timegives distance D Measuring frequency shiftgives speed difference V(due to Doppler effect)
’V negative' 'V low' 'V high' Truth: 1 Needed for smooth braking (switch between rules 1 and 3) Truth: 0 –100 0 +50 +100 relative speed V (km/hr) ‘still low, but also a bit high’ ’D small' ’D large' Truth: 1 Truth: 0 50 0 100 distance D (m) Fuzzy sets, or, ‘what is high and low?’ • A fuzzy set classifies a ‘scalar’ value as a set of ‘truth values’ in the range 0..1
Rewriting logic into fuzzy rules • Replace AND by MIN(imum), OR by MAX(imum) Combine rules 1 & 2 using normal logic:do not brake IFF (V negative) OR (V small AND D large) Combination of rules 1 & 2 in fuzzy logic:do not brake := MAX(V negative, MIN(V small, D large)) Combination of rules 3 & 4 in fuzzy logic:brake gently := MAX(MIN(V low, D small),MIN(V high, D large)) Rule 5 in fuzzy logic:brake strongly := MIN(V high, D small)
’do not brake' ’brake gently' ’brake strongly' Truth: 1 Truth: 0 0 Braking force (m/s2) 5 3: calculate weigthed sum of centre of gravities and its position 4: read scalar result value as position of weighted sum along the X-axis 2: calculate centre of gravity and surface area under theindividual scaled graphs 3: calculate weigthed sum of centre of gravities and its position From fuzzy sets back to scalar values How to calculate scalar value ‘Braking force’ from fuzzy set’do not brake' = 0.2, ’brake gently' = 0.8 and ’brake strongly' = 0.4 1: scale fuzzy set graphs to their truth values 2: calculate centre of gravity and surface area under theindividual scaled graphs
Fuzzy logic processors • Non time-critical applications: normal processors • Compilers exist: fuzzy set + logic rules C program • Fuzzy logic rules (‘MIN’/’MAX’) processors exist • Sometimes include scalar fuzzy set conversion • Almost never include fuzzy set scalar conversion • Advantageous to build them as dataflow machine • Fuzzy logic calculations need not be very precise • Possible to build ‘processor’ with analog electronics !
a neuron(one of many) 0.9 0.9 0.2 0.1 0.8 decideandencode 0.2 41 (hex) = ASCII ‘A’ featureextract featurecombine 0.9 0.2 0.6 0.1 0.3 0.2 0.1 0.9 Neural network with three layers of neurons Lots of inputs, fewer outputs:each output is combination of inputs Massive parallel fuzzy: neural networks • Example: handwriting recognition
Multiply by constant Transfer function:decide, scale & clip c1 c2 inputs output c3 cn Sum multiply results A single neuron • Constants can be negative • ‘Inhibit’ or ‘blocking’ input • Transfer function canhave many forms • Implemented like fuzzy • Neural to C compiler • Dataflow architecture • No high precision needed • Analog electronics possible • Can be made self-learning