Four Views of a Computer. The User s View of a Computer

Size: px
Start display at page:

Download "Four Views of a Computer. The User s View of a Computer"

Transcription

1 Four Views of a Coputer The user ss view The prograer s view The architect s view The hardware designer s view The User s View of a Coputer The user sees for factors, software, speed, storage capacity, and peripheral device functionality. Page 1

2 Ebedded (Coputer) Syste A special purpose coputer syste enclosed or encapsulated within a physical syste Usually the ebedded syste provides the control of the physical syste They are everywhere today: Consuer electronics, counications, entertainent, transportation, health, hoe appliances, etc. 3 Machine/assebly Language Prograer s View Machine language: Set of fundaental instructions ti the achine can execute Expressed as a pattern of 1 s and 0 s Assebly language: Alphanueric equivalent of achine language Mneonics ore huan oriented than 1 s and 0 s Assebler: Coputer progra that transliterates (one-to-one apping) assebly to achine language Coputer s native language is assebly/achine language Prograer, as used in this course, eans assebly/achine language prograer Page 2

3 The Fetch-Execute Cycle Prograer s Model: Instruction Set Architecture (ISA) Instruction set: the collection of all achine operations. Prograer sees set of instructions, along with the achine resources anipulated by the. ISA includes instruction set, eory, and prograer accessible registers of the syste. There ay be teporary or scratch-pad eory used to ipleent soe function is not part of ISA. Non Prograer Accessible. Page 3

4 Fig 1.3 Prograer s Models of 4 coercial achines The Coputer Architect s View Architect is concerned with design & perforance Designs the ISA for optiu prograing utility and optiu perforance of ipleentation Designs the hardware for best ipleentation of the instructions Uses perforance easureent tools, such as benchark progras, to see that goals are et Balances perforance of building blocks such as CPU, eory, I/O devices, and interconnections Meets perforance goals at lowest cost Page 4

5 Fig 1.4 One and Two Bus Architecture Exaples Hardware Designer s View Designs the achine at the RTL/logic gate level The design deterines whether the architect eets cost and perforance goals Architect and hardware designer ay be a single person or tea Page 5

6 Two Views of the CPU PC Register Prograer: 31 0 PC B Bus 32 D 32 A Bus Hardware Designer (Fig 1.8): PC PC out CK PC in Chapter 2: Machines, Machine Languages, and Digital Logic Topics 2.1 Classification of Coputers and Their Instructions 2.2 Coputer Instruction Sets 2.3 Inforal Description of the Siple RISC Coputer, SRC 2.4 Foral Description of SRC Using Register Transfer Notation, RTN 2.5 Describing Addressing Modes with RTN 2.6 Register Transfers and Logic Circuits: Fro Behavior to Hardware Page 6

7 What Are the Coponents of an ISA? Soeties known as The Prograer s Model of the achine Storage cells General and special purpose registers in the CPU Many general purpose cells of sae size in eory Storage associated with I/O devices The achine instruction set The instruction set is the entire repertoire of achine operations Makes use of storage cells, forats, and results of the fetch/execute cycle i.e., register transfers The instruction forat Size and eaning of fields within the instruction Prograer s Models of Various Machines Page 7

8 What Must an Instruction Specify? Data Flow Which operation to perfor add r0, r1, r3 Ans: Op code: add, load, branch, etc. Where to find the operand or operands add r0, r1, r3 In CPU registers, eory cells, I/O locations, or part of instruction Place to store result add r0, r1, r3 Again CPU register or eory cell Location of next instruction ti add r0, r1, r3 br endloop Alost always eory cell pointed to by progra counter PC Instructions Can Be Divided into 3 Classes Data oveent instructions Move data fro a eory location or register to another eory location or register without changing g its for Load source is eory and destination is register Store source is register and destination is eory Arithetic and logic (ALU) instructions Change the for of one or ore operands to produce a result stored in another location Add, Sub, Shift, etc. Branch instructions (control flow instructions) Alter the noral flow of control fro executing the next instruction in sequence Br Loc, Brz Loc2, unconditional or conditional branches Page 8

9 Exaples of Data Moveent Instructions Instruction Meaning Machine MOV A, B Move 16 bits fro eory location A to VAX11 Location B LDA A, Addr Load accuulator A with the byte at eory M6800 location Addr lwz R3, A Move 32-bit data fro eory location A to PPC601 register R3 li $3, 455 Load the 32-bit integer 455 into register $3 MIPS R3000 ov R4, dout Move 16-bit data fro R4 to output t port dout DEC PDP11 IN, AL, KBD Load a byte fro in port KBD to accuulator Intel Pentiu LEA.L (A0), A2 Load the address pointed to by A0 into A2 M6800 Lots of variation, even with one instruction type Exaples of ALU Instructions Instruction Meaning Machine MULF A, B, C ultiply the 32-bit floating point values at VAX11 e loc ns. A and B, store at C nabs r3, r1 Store abs value of r1 in r3 PPC601 ori $2, $1, 255 Store logical OR of reg $ 1 with 255 into reg $2 MIPS R3000 DEC R2 Decreent the 16-bit value stored in reg R2 DEC PDP11 SHL AX, 4 Shift the 16-bit value in reg AX left by 4 bit pos ns. Intel 8086 Notice again the coplete dissiilarity of both syntax and seantics. Page 9

10 Exaples of Branch Instructions Instruction Meaning Machine BLSS A, Tgt Branch to address Tgt if the least significant VAX11 bit of e loc n. A is set (i.e. = 1) bun r2 Branch to location in R2 if result of previous PPC601 floating point coputation was Not a Nuber (NAN) beq $2, $1, 32 Branch to location (PC ) if contents MIPS R3000 of $1 and $2 are equal SOB R4, Loop Decreent R4 and branch to Loop if R4 0 DEC PDP11 JCXZ Addr Jup to Addr if contents of register CX 0. Intel , 2-, 1-, & 0-Address ISAs Classification is based on arithetic instructions that have two operands and one result The key issue is how any of these are specified by eory addresses, as opposed to being specified iplicitly itl A 3-address instruction specifies eory addresses for both operands and the result R Op1 op Op2 A 2-address instruction overwrites one operand in eory with the result Op2 Op1 op Op2 A 1-address instruction has a processor, called the accuulator register, to hold one operand & the result (no addr. needed) Acc Acc op Op1 A 0-address + uses a CPU register stack to hold both operands and the result TOS TOS op SOS (where TOS is Top Of Stack, SOS is Second On Stack) The 4-address instruction, hardly ever seen, also allows the address of the next instruction to specified explicitly Page 10

11 The 4-Address Machine and Instruction Forat Meory CPU add, Res, Op1, Op2, Nexti (Res Op1 + Op2) Op1Addr: Op2Addr: ResAddr: Op1 Op2 Res NextiAddr: Nexti Instruction forat Bits: Explicit addresses for operands, result, & next instruction Exaple assues 24-bit addresses Discuss: size of instruction in bytes add ResAddr Op1Addr Op2Addr NextiAddr Which operation Where to put result Where to find operands Wheretofind next instruction The 3-Address Machine and Instruction Forat Meory CPU add, Res, Op1, Op2 (Res Op2 + Op1) Op1Addr: Op2Addr: ResAddr: Op1 Op2 Res NextiAddr: Nexti Progra counter Wheretofind next instruction 24 Instruction forat Bits: add ResAddr Op1Addr Op2Addr Which operation Where to put result Where to find operands Address of next instruction kept in processor state register the PC (except for explicit branches/jups) Rest of addresses in instruction Discuss: savings in instruction word size Page 11

12 The 2-Address Machine and Instruction Forat Meory CPU add Op2, Op1 (Op2 Op2 + Op1) Op1Addr: Op1 Op2Addr: Op2,Res NextiAddr: Nexti Progra counter Where to find next instruction 24 Instruction forat Bits: add Op2Addr Op1Addr Which Wheretofindoperands operation Where to put result Result overwrites Operand 2 Needs only 2 addresses in instruction but less choice in placing data 1-Address Machine and Instruction Forat Meory CPU add Op1 (Acc Acc + Op1) Op1Addr: Op1 NextiAddr: Nexti Need instructions to load and store operands: LDA OpAddr STA OpAddr Accuulator Progra counter 24 Where to find next instruction Special CPU register, the accuulator, supplies 1 operand and stores result One eory address used for other operand Where to find operand2, and where to put result Instruction forat Bits: 8 24 add Which operation Op1Addr Where to find operand1 Page 12

13 The 0-Address, or Stack, Machine and Instruction Forat Instruction forats Meory CPU push Op1 (TOS Op1) Op1Addr: NextiAddr: Op1 Nexti TOS SOS etc. Stack Progra 24 counter Where to find next instruction Bits: 8 24 Forat push Operation Op1Addr Result add (TOS TOS + SOS) Bits: 8 Forat add Which operation Where tofind operands, and where to put result (on the stack) Uses a push-down stack in CPU Coputer ust have a 1-address instruction to push and pop operands to and fro the stack Exaple 2.1 Expression Evaluation for 3-, 2-, 1-, and 0-Address Machines Evaluate a = (b+c)*d - e 3 - a d d r e s s 2 - a d d r e s s 1 - a d d r e s s S t a c k add a, b, c py a, a, d sub a, a, e load a, b add a, c py a, d sub a, e load b add c py d sub e store a push b push c add push d py push e sub pop a Nuber of instructions & nuber of addresses both vary Discuss as exaples: size of code in each case Page 13

14 General Register Machine and Instruction Forats CPU Meory Registers Instruction forats Op1Addr: Op1 load R8 R6 load R8, Op1 (R8 Op1) load R8 Op1Addr R4 add R2, R4, R6 (R2 R4 + R6) R2 add R2 R4 R6 Nexti Progra counter Most coon choice in today s general-purpose coputers Which register is specified by sall address (3 to 6 bits for 8 to 64 registers) Load and store have one long & one short address: 1½ addresses Arithetic instruction has 3 half addresses Addressing Modes An addressing ode is hardware support for a useful way of deterining a eory address Different addressing odes solve different HLL probles Soe addresses ay be known at copile tie, e.g., global variables Others ay not be known until run tie, e.g., pointers Addresses ay have to be coputed. Exaples include: Record (struct) coponents: variable base (full address) + constant (sall) Array coponents: constant base (full address) + index variable (sall) Possible to store constant values w/o using another eory cell by storing the with or adjacent to the instruction itself Page 14

15 Coon Addressing Modes a-d Coon Addressing Modes e-g Page 15

16 Exaple: Coputer, SRC Siple RISC Coputer 32 general purpose registers of 32 bits 32-bit progra counter, PC, and instruction register, IR 2 32 bytes of eory address space The SRC CPU Main eory R0 R31 PC IR bit 0 general purpose 2 32 bytes registers of ain eory R[7] eans contents of register 7 M[32] eans contents of eory location 32 SRC Characteristics (=) Load-store design: only way to access eory is through load and store instructions ( ) Operation on 21-bit words only, no byte or half-word operations. (=) Only a few addressing odes are supported (=) ALU Instructions are 3-register type ( ) Branch instructions can branch unconditionally or conditionally on whether the value in a specified register is = 0, <> 0, >= 0, or < 0. ( ) Branch-and-link instructions are siilar, but leave the value of current PC in any register, useful for subroutine return. ( ) Can only branch to an address in a register, not to a direct address. (=) All instructions are 32-bits (1-word) long. (=) Siilar to coercial RISC achines ( ) Less powerful than coercial RISC achines. Page 16

17 SRC Basic Instruction Forats There are three basic instruction forat types The nuber of register specifier fields and length of the constant field vary Other forats result fro unused fields or parts Details of forats on next slide op ra c1 Type op ra rb c2 0 Type op ra rb rc c3 0 Type 3 Total of 7 Detailed Forats Instruction forats 1. Id, st, la, Op ra rb addi, andi, ori c Idr, str, lar Op ra c1 Id r3, A Id r3, 4(r5) addi r2, r4, #1 Idr r5, 8 Iar r6, 45 Exaple (R[3] = M[A]) (R[3] = M[R[5] + 4]) (R[2] = R[4] +1) (R[5] = M[PC + 8]) (R[6] = PC + 45) neg, not Op ra rc unused unused neg r7, r9 (R[7] = R[9]) br Op rb rc (c3) unused Cond unused brl Op ra rb rc (c3) unused Cond brzr r4, r0 (branch to R[4] if R[0] == 0) brlnz r6, r4, r0 (R[6]=PC;branchtoR[4]ifR[0] 0) 6. add, sub, and, or Op ra rb rc unused add r0, r2, r4 (R[0] = R[2] + R[4]) a Op ra rb (c3) unused Count 7. shr, shra shl, shic b Op ra rb rc (c3) unused shr r0, r1, #4 (R[0] = R[1] shifted right by 4 bits shl r2, r4, r6 (R[2] = R[4] shifted left by count in R[6]) nop, stop Op unused stop Page 17

18 Exaple SRC Load and Store Instructions Address can be constant, constant + register, or constant + PC Meory contents or address itself can be loaded Instruction op ra rb c1 Meaning Addressing Mode ld r1, R[1] M[32] Direct ld r22, 24(r4) R[22] M[24+R[4]] Displaceent st r4, 0(r9) M[R[9]] R[4] Register indirect la r7, R[7] 32 Iediate ldr r12, R[12] M[PC -48] Relative lar r3, R[3] PC Register (!) (note use of la to load a constant) Assebly Language Fors of Arithetic and Logic Instructions Forat Exaple Meaning neg ra, rc neg r1, r2 ;Negate (r1 = -r2) not ra, rc not r2, r3 ;Not (r2 = r3 ) add ra, rb, rc add r2, r3, r4 ;2 s copleent addition sub ra, rb, rc ;2 s copleent subtraction and ra, rb, rc ;Logical and or ra, rb, rc ;Logical or addi ra, rb, c2 addi r1, r3, #1 ;Iediate 2s 2 s copleent add andi ra, rb, c2 ;Iediate logical and ori ra, rb, c2 ;Iediate logical or Iediate subtract not needed since constant in addi ay be negative Page 18

19 Branch Instruction Forat There are actually only two branch instructions: br rb, rc, c3<2..0> ; branch to R[rb] if R[rc] eets ; the condition defined by c3<2..0> brl ra, rb, rc, c3<2..0> ; R[ra] PC; branch as above It is c3<2..0>, the 3 lsbs of c3, that governs what the branch condition is: lsbs condition Assy language for Exaple 000 never brlnv brlnv r6 001 always br, brl br r5, brl r5 010 if rc = 0 brzr, brlzr brzr r2, r4, r5 011 if rc 0 brnz, brlnz 100 if rc >= 0 brpl, brlpl 101 if rc < 0 bri, brli Note that branch target address is always in register R[rb]. It ust be placed there explicitly by a previous instruction. Fors and Forats of the br and brl Instructions Ass y lang. Exaple instr. Meaning op ra rb rc c Branch Cond n. brlnv brlnv r6 R[6] PC never br br r4 PC R[4] always brl brl r6,r4 R[6] PC; always PC R[4] brzr brzr r5,r1 if (R[1]=0) zero PC R[5] brlzr brlzr r7,r5,r1 R[7] PC; zero brnz brnz r1, r0 if (R[0] 0) PC R[1] nonzero brlnz brlnz r2,r1,r0 R[2] PC; nonzero if (R[0] 0) PC R[1] brpl brpl r3, r2 if (R[2]>=0) PC R[3] plus brlpl brlpl r4,r3,r2 R[4] PC; plus if (R[2]>=0) PC R[3] bri bri r0, r1 if (R[1]<0) PC R[0] inus brli brli r3,r0,r1 R[3] PC; if (r1<0) PC R[0] inus Page 19

20 RTN (Register Transfer Notation) Provides a foral eans of describing achine structure and function Can be used to describe what a achine does (an abstract RTN) without describing how the achine does it Can also be used to describe a particular hardware ipleentation (a concrete RTN) Soe RTN Features Using RTN to Describe a Machine s Static Properties Static Properties Specifying registers IR specifies a register naed IR having 32 bits nubered 31 to 0 Naing using the := naing operator: op 4..0 := IR specifies that the 5 sbs of IR be called op, with bits 4..0 Notice that this does not create a new register, it just generates another nae, or alias, for an already existing register or part of a register Page 20

21 Using RTN to Describe Dynaic Properties Dynaic Properties Conditional expressions: (op=12) R[ra] R[rb] + R[rc]: ; defines the add instruction if condition then RTN Assignent Operator This fragent of RTN describes the SRC add instruction. It says, when the op field of IR = 12, then store in the register specified by the ra field, the result of adding the register specified by the rb field to the register specified by the rc field. Using RTN to Describe the SRC (Static) Processor State Processor state PC : progra counter (eory addr. of next inst.) IR : instruction register Run: one bit run/halt indicator Strt: start signal R[0..31] : general purpose registers Page 21

22 RTN Register Declarations General register specifications shows soe features of the notation Describes a set of bit registers with naes R[0] to R[31] Nae of registers R[0..31] : Register # sb # in square brackets.. specifies a range of indices lsb# Bit # in angle brackets Colon separates stateents with no ordering Meory Declaration: RTN Naing Operator Defining naes with foral paraeters is a powerful foratting tool Used here to define word eory (big-endian) Main eory state Me[ ] 7..0 : 2 32 addressable bytes of eory M[x] := Me[x]#Me[x+1]#Me[x+2]#Me[x+3]: Duy paraeter Naing operator Concatenation operator All bits in register if no bit index given Page 22

23 RTN Instruction Foratting Uses Renaing of IR Bits Instruction forats op 4..0 := IR : ra 4..0 := IR : rb 4..0 := IR : rc 4..0 := IR : c := IR : c := IR : c := IR : operation code field target register field operand, address index, or branch target register second operand, conditional test, or shift count register long displaceent field short displaceent or iediate field count or odifier field Specifying Dynaic Properties of SRC: RTN Gives Specifics of Address Calculation Effective address calculations (occur at runtie): disp := ((rb=0) c {sign extend}: displaceent (rb 0) R[rb] + c {sign extend, 2's cop.} ): address rel := PC c {sign extend, 2 s cop.}: relative address Renaing defines displaceent and relative addresses New RTN notation is used condition expression eans if condition then expression odifiers in { } describe type of arithetic or how short nubers are extended to longer ones arithetic operators (+ - * / etc.) can be used in expressions Register R[0] cannot be added to a displaceent Page 23

24 Instruction Interpretation: RTN Description of Fetch-Execute Need to describe actions (not just declarations) Soe new notation: Logical NOT Logical AND instruction_interpretation := ( Run Strt R t Run 1: Run (IR M[PC]: PC PC + 4; instruction_execution) ); Register transfer Separates stateents that occur in sequence RTN Sequence and Clocking In general, RTN stateents separated by : take place during the sae clock pulse Stateents separated by ; take place on successive clock pulses This is not entirely accurate since soe things written with one RTN stateent can take several clocks to perfor More precise difference between : and ; The order of execution of stateents separated by : does not atter If stateents are separated by ; the one on the left ust be coplete before the one on the right starts Page 24

25 More About Instruction Interpretation RTN In the expression IR M[PC]: PC PC + 4; which value of PC applies to M[PC]? The rule in RTN is that all right hand sides of : - separated RTs are evaluated before any LHS is changed In logic design, this corresponds to aster-slave operation of flip-flops What happens when Run and Strt are both false? Since no action is specified for this case, the RTN iplicitly says that no action occurs in this case Individual Instructions instruction_interpretation contained a forward reference to instruction_execution instruction_execution is a long list of conditional operations The condition is that the op code specifies a given instruction The operation describes what that instruction does Note that the operations of the instruction are done after (;) the instruction is put into IR and the PC has been advanced to the next instruction Page 25

26 RTN Instruction Execution for Load and Store Instructions instruction_execution ec tion := ( ld (:= op= 1) R[ra] M[disp]: ldr (:= op= 2) R[ra] M[rel]: st (:= op= 3) M[disp] R[ra]: str (:= op= 4) M[rel] R[ra]: la (:= op= 5 ) R[ra] disp: lar (:= op= 6) R[ra] rel: load register load register relative store register store register relative load displaceent address load relative address The in-line definition (:= op=1) saves writing a separate definition ld := op=1 for the ld neonic The previous definitions of disp and rel are needed to understand all the details SRC RTN The Main Loop ii := instruction_interpretation: ie := instruction_execution : ii := ( Run Strt Run 1: Run (IR M[PC]: PC PC + 4; ie) ); ie := ( ld (:= op= 1) R[ra] M[disp]: Big switch ldr (:= op= 2) R[ra] M[rel]: stateent... on the opcode stop (:= op= 31) Run 0: ); ii Thus ii and ie invoke each other, as coroutines. Page 26

27 Use of RTN Definitions: Text Substitution Seantics ld (:= op= 1) R[ra] M[disp]: disp := ((rb=0) c {sign extend}: (rb 0) R[rb] + c {sign extend, 2's cop.} ): ld (:= op= 1) R[ra] M[ ((rb=0) c {sign extend}: (rb 0) R[rb] + c {sign extend, 2's cop.} ): ]: An exaple: If IR = then ld R[5] M[ R[3] + 11 ]: RTN Descriptions of SRC Branch Instructions Branch condition deterined by 3 lsbs of instruction Link register (R[ra]) set to point to next instruction cond := ( c =0 0: never c =1 1: always c =2 R[rc]=0: if register is zero c =3 R[rc] 0: if register is nonzero c =4 R[rc] 31 =0: if positive or zero c =5 R[rc] 31 =1 ): if negative br (:= op= 8) (cond PC R[rb]): conditional branch brl (:= op= 9) (R[ra] PC: cond (PC R[rb]) ): branch and link Page 27

28 RTN for Arithetic and Logic add (:= op=12) R[ra] R[rb] + R[rc]: addi (:= op=13) R[ra] R[rb] + c {2's cop. sign ext.}: sub (:= op=14) R[ra] R[rb] - R[rc]: neg (:= op=15) R[ra] -R[rc]: and (:= op=20) R[ra] R[rb] R[rc]: andi (:= op=21) R[ra] R[rb] c {sign extend}: or (:= op=22) R[ra] R[rb] R[rc]: ori (:= op=23) R[ra] R[rb] c {sign extend}: not (:= op=24) R[ra] R[rc]: Logical operators: and or and not RTN for Shift Instructions Count ay be 5 lsbs of a register or the instruction - replication, # - concatenation n := ( (c =0) R[rc] 4..0 : (c ) c ): shr (:= op=26) R[ra] ) # R[rb] 31..n : shra (:= op=27) R[ra] R[rb] 31 ) #R[rb] 31..n : shl (:= op=28) R[ra] R[rb] 31-n..0 # 0): shc (:= op=29) R[ra] R[rb] 31-n..0 # R[rb] n : Page 28

29 Exaple of Replication and Concatenation in Shift Arithetic shift right by 13 concatenates 13 copies of the sign bit with the upper 19 bits of the operand shra r1, r2, 13 R[2]= R[1]= # R[2] Assebly Language for Shift For of assebly language g instruction tells whether to set c3=0 shr ra, rb, rc ;Shift rb right into ra by 5 lsbs of rc shr ra, rb, count ;Shift rb right into ra by 5 lsbs of inst shra ra, rb, rc ;AShift rb right into ra by 5 lsbs of rc shra ra, rb, count ;AShift rb right into ra by 5 lsbs of inst shl ra, rb, rc ;Shift rb left into ra by 5 lsbs of rc shl ra, rb, count ;Shift rb left into ra by 5 lsbs of inst shc ra, rb, rc ;Shift rb circ. into ra by 5 lsbs of rc shc ra, rb, count ;Shift rb circ. into ra by 5 lsbs of inst Page 29

30 End of RTN Definition of instruction_execution nop (:= op= 0) : No operation stop (:= op= 31) Run 0: Stop instruction ); End of instruction_execution instruction_interpretation. We will find special use for nop in pipelining The achine waits for Strt after executing stop The long conditional stateent defining instruction_execution ends with a direction to go repeat instruction_interpretation, which will fetch and execute the next instruction (if Run still =1) Confused about RTN and SRC? SRC is a Machine Language It can be interpreted by either hardware or software siulator. RTN is a Specification Language Specification languages are languages that are used to specify other languages or systes a etalanguage. Other exaples: LEX, YACC, VHDL, Verilog Page 30

31 The Relationship of RTN to SRC SRC specification written in RTN RTN copiler Generated processor SRC progra and data SRC interpreter or siulator Data output A Note About Specification Languages They allow the description of what without having to specify how. They allow precise and unabiguous specifications, unlike natural language. They reduce errors: Errors due to isinterpretation of iprecise specifications written in natural language. Errors due to confusion o in design and ipleentation huan error. Now the designer ust debug the specification! Page 31

32 Addressing Modes Described in RTN (Not SRC) Target register Mode nae Assebler RTN eaning Use Syntax Register Ra R[t] R[a] Tp. Var. Register indirect (Ra) R[t] M[R[a]] Pointer Iediate #X R[t] X Constant Direct, absolute X R[t] M[X] Global Var. Indirect (X) R[t] M[ M[X] ] Pointer Var. Indexed, based, X(Ra) R[t] M[X + R[a]] Arrays, structs or displaceent Relative X(PC) R[t] M[X + PC] Vals stored w pg Autoincreent (Ra)+ R[t] M[R[a]]; R[a] R[a] + 1 Sequential Autodecreent - (Ra) R[a] R[a] - 1; R[t] M[R[a]] access. Register Transfers Hardware and Tiing for a Single-Bit Register Transfer: A B Ipleenting the RTN stateent A B D B Strobe D A B 1 0 Strobe 1 0 A 1 0 (a) Hardware (b) Tiing Page 32

33 Multiple Bit Register Transfer: A..1 B..1 D 1 D 1 D 2 D 2 D B..1 D A..1 D D Strobe B Strobe A (a) Individual flip-flops (b) Abbreviated notation Data Transission View of Logic Gates Logic gates can be used to control the transission of data: data gate data gate data gate 0 Data gate control data data 1 data 2 data 1 data 2 data1(2), provided data2(1) is zero control control data Data erge Controlled copleent Page 33

34 Two-Way Gated Merge, or Multiplexer Data fro ultiple sources can be selected for transission x x G x y x y G y Tie y Basic Multiplexer and Sybol Abbreviation An n-way gated erge An n-way ultiplexer with decoder D 0 G 0 D 0 D 1 D 1 G 1 D n 1 D n 1 G n 1 k Select (a) Multiplexer in ters of gates (b) Sybol abbreviation Multiplexer gate signals G i ay be produced by a binary to one-out-of-n decoder Page 34

35 Separating Merged Data x y x 0 G x Tie Merged data can be separated by gating at the right tie It can also be strobed into a flip-flop when valid Multiplexed Register Transfers Using Gates and Strobes D C G C S A D A G C Hold tie D D G D S B D B S B Propagation tie Gates Strobes Selected gate and strobe deterine which RT A C and B C can occur together, but not A C and B D Page 35

36 Tri-State Gate Internal Structure and Sybol +V Data Out Data Tristate Out Enable Enable (a) Tri-state gate structure (b) Tri-state gate sybol Enable Data Output Hi-Z Hi-Z 0 1 (c) Tri-state gate truth table Registers Connected by a Tri-State Bus D R[0] D R[1]... D R[n 1] S 0 G 0 S 1 G 1 S n 1 G n 1 Tri-state bus Can ake any register transfer R[i] R[j] Can t have G i = G j = 1 for i j Violating this constraint gives low resistance path fro power supply to ground with predictable results! Page 36

37 Registers and Arithetic Units Connected by One Bus Exaple: Abstract RTN R[3] R[1]+R[2]; R[0] in D R[0] R[0] out Increenter D Concrete RTN Y R[2]; Z R[1]+Y; R[3] Z; R[1] in D R[1] R[1] out W W out D Y Y in W in Cobinational logic no eory Control Sequence R[2] out, Y in ; R[1] out, Z in ; Z out, R[3] in ;... D R[n 1] R[n 1] in R[n Ð 1] out Z in Notice that what could be described in one step in the abstract RTN took three steps on this particular hardware Z out Adder Z D Fro Abstract RTN to Concrete RTN to Control Sequences The ability to begin with an abstract description, then describe a hardware design and resulting concrete RTN and control sequence is powerful. We shall use this ethod in Chapter 4 to develop various hardware designs for SRC. Page 37

38 Chapter 2 Suary Classes of coputer ISAs Meory addressing odes SRC: a coplete exaple ISA RTN as a description ethod for ISAs RTN description of addressing odes Ipleentation of RTN operations with digital logic circuits Gates, strobes, and ultiplexers l Page 38

Page 1. Embedded (Computer) System. The User s View of a Computer. Four Views of a Computer. Machine/assembly Language Programmer s View

Page 1. Embedded (Computer) System. The User s View of a Computer. Four Views of a Computer. Machine/assembly Language Programmer s View Four Views of a Coputer The User s View of a Coputer The user s view The prograer s view The architect s view The hardware designer s view The user sees for factors, software, speed, storage capacity,

More information

Example: Computer, SRC Simple RISC Computer

Example: Computer, SRC Simple RISC Computer 2-24 Chapter 2 Machines, Machine Languages, and Digital Logic Exaple: Coputer, SRC Siple RISC Coputer 32 general purpose registers of 32 bits 32-bit progra counter, PC, and instruction register, IR 2 32

More information

RTN (Register Transfer Notation)

RTN (Register Transfer Notation) RTN (Register Transfer Notation) A formal means of describing machine structure & function. Is at the just right level for machine descriptions. Does not replace hardware description languages. RTN is

More information

Chapter 2: Machine Languages and Digital Logic

Chapter 2: Machine Languages and Digital Logic Chapter 2: Machine Languages and igital Logic Computer ystems esign and rchitecture What are the components of an I? ometimes known as The Programmers Model of the machine torage cells General and special

More information

Chapter 2: Machines, Machine Languages, and Digital Logic

Chapter 2: Machines, Machine Languages, and Digital Logic Chapter 2: Machines, Machine Languages, and igital Logic Instruction sets, RC, RTN, and the mapping of register transfers to digital logic circuits Chapter 2 Topics 2.1 Classification of Computers and

More information

Advanced Computer Architecture-CS501. Vincent P. Heuring&Harry F. Jordan Chapter 2 Computer Systems Design and Architecture

Advanced Computer Architecture-CS501. Vincent P. Heuring&Harry F. Jordan Chapter 2 Computer Systems Design and Architecture Lecture Handout Computer Architecture Lecture No. 4 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 2 Computer Systems Design and Architecture 2.3, 2.4,slides Summary 1) Introduction to ISA

More information

2 1.1 הקדמה

2 1.1 הקדמה 1 מבוא למחשבים חוברת שקפים ערך: ד"ר אורי סןיסה 2 1.1 הקדמה 3 4 Addressing modes 5 6 7 8 9 10 11 12 13 14 15 16 RTN Description of SRC 17 18 19 *****SRC Simulator Help***** The program simulates a RISC

More information

Chapter 5 (a) Overview

Chapter 5 (a) Overview Chapter 5 (a) Overview (a) The principles of pipelining (a) A pipelined design of SRC (b) Pipeline hazards (b) Instruction-level parallelism (ILP) Superscalar processors Very Long Instruction Word (VLIW)

More information

CSCI 2121 Computer Organization and Assembly Language PRACTICE QUESTION BANK

CSCI 2121 Computer Organization and Assembly Language PRACTICE QUESTION BANK CSCI 2121 Computer Organization and Assembly Language PRACTICE QUESTION BANK Question 1: Choose the most appropriate answer 1. In which of the following gates the output is 1 if and only if all the inputs

More information

Chapter 4 Topics. Comp. Sys. Design & Architecture 2 nd Edition Prentice Hall, Mark Franklin,S06

Chapter 4 Topics. Comp. Sys. Design & Architecture 2 nd Edition Prentice Hall, Mark Franklin,S06 Chapter 4 Topics The Design Process A 1-bus Microarchitecture for SRC Data Path Implementation Logic Design for the 1-bus SRC The Control Unit The 2- and 3-bus Processor Designs The Machine Reset Process

More information

Chapter 4: Processor Design. Block Diagram of 1-Bus SRC

Chapter 4: Processor Design. Block Diagram of 1-Bus SRC 4-1 Chapter 4 Processor Design Chapter 4: Processor Design Topics 4.1 The Design Process 4.2 1-Bus Microarchitecture for the SRC 4.3 Data Path Implementation 4.4 Logic Design for the 1-Bus SRC 4.5 The

More information

Computer Hardware Generations

Computer Hardware Generations Computer Hardware Generations The First Generation, 1946-59: Vacuum Tubes, Relays, Mercury Delay Lines: ENIAC (Electronic Numerical Integrator and Computer): First electronic computer, 18000 vacuum tubes,

More information

Instruction Set Principles and Examples. Appendix B

Instruction Set Principles and Examples. Appendix B Instruction Set Principles and Examples Appendix B Outline What is Instruction Set Architecture? Classifying ISA Elements of ISA Programming Registers Type and Size of Operands Addressing Modes Types of

More information

4-1 Chapter 4 - Processor Design. Chapter 4 Topics

4-1 Chapter 4 - Processor Design. Chapter 4 Topics 4-1 Chapter 4 - Processor Design Chapter 4 Topics The Design Process A 1-bus Microarchitecture for SRC Data Path Implementation Logic Design for the 1-bus SRC The Control Unit The 2- and 3-bus Processor

More information

Instruction Set Architecture. "Speaking with the computer"

Instruction Set Architecture. Speaking with the computer Instruction Set Architecture "Speaking with the computer" The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture Digital Design

More information

2. ADDRESSING METHODS

2. ADDRESSING METHODS 2 Addressing Methods STUDY MATERIALS ON COMPUTER ORGANIZATION (As per the curriculum of Third semester BSc Electronics of Mahatma Gandh Uniiversity) Compiled by Sam Kollannore U Lecturer in Electronics

More information

Grading Results Total 100

Grading Results Total 100 University of California, Berkeley College of Engineering Departent of Electrical Engineering and Coputer Sciences Fall 2003 Instructor: Dave Patterson 2003-11-19 v1.9 CS 152 Exa #2 Solutions Personal

More information

FPL Implementation of a SIMD RISC RNS-Enabled DSP

FPL Implementation of a SIMD RISC RNS-Enabled DSP FPL Ipleentation of a SIMD RISC RNS-Enabled DSP J. RAMÍREZ (1), A. GARCÍA (1), P. G. FERNÁNDEZ (2), A. LLORIS (1) (1) Dpt. of Electronics and Coputer Technology (2) Dpt. of Electrical Engineering University

More information

EXAMPLES. Example_OC Ex_OC.asm Example_RPM_1 Ex_RPM_1.as m Example_RPM_2 Ex_RPM_2.as m

EXAMPLES. Example_OC Ex_OC.asm Example_RPM_1 Ex_RPM_1.as m Example_RPM_2 Ex_RPM_2.as m EMCH 367 Fundaentals of Microcontrollers Exaples EXAMPLES Exaples are ainly intended for the students to get started quickly with the basic concepts, prograing language, and hex/binary conventions. The

More information

EC-801 Advanced Computer Architecture

EC-801 Advanced Computer Architecture EC-801 Advanced Computer Architecture Lecture 5 Instruction Set Architecture I Dr Hashim Ali Fall 2018 Department of Computer Science and Engineering HITEC University Taxila!1 Instruction Set Architecture

More information

Announcements. Class 7: Intro to SRC Simulator Procedure Calls HLL -> Assembly. Agenda. SRC Procedure Calls. SRC Memory Layout. High Level Program

Announcements. Class 7: Intro to SRC Simulator Procedure Calls HLL -> Assembly. Agenda. SRC Procedure Calls. SRC Memory Layout. High Level Program Fall 2006 CS333: Computer Architecture University of Virginia Computer Science Michele Co Announcements Class 7: Intro to SRC Simulator Procedure Calls HLL -> Assembly Homework #2 Due next Wednesday, Sept.

More information

CSCE 5610: Computer Architecture

CSCE 5610: Computer Architecture HW #1 1.3, 1.5, 1.9, 1.12 Due: Sept 12, 2018 Review: Execution time of a program Arithmetic Average, Weighted Arithmetic Average Geometric Mean Benchmarks, kernels and synthetic benchmarks Computing CPI

More information

MAPPING THE DATA FLOW MODEL OF COMPUTATION INTO AN ENHANCED VON NEUMANN PROCESSOR * Peter M. Maurer

MAPPING THE DATA FLOW MODEL OF COMPUTATION INTO AN ENHANCED VON NEUMANN PROCESSOR * Peter M. Maurer MAPPING THE DATA FLOW MODEL OF COMPUTATION INTO AN ENHANCED VON NEUMANN PROCESSOR * Peter M. Maurer Departent of Coputer Science and Engineering University of South Florida Tapa, FL 33620 Abstract -- The

More information

Lecture 3 Machine Language. Instructions: Instruction Execution cycle. Speaking computer before voice recognition interfaces

Lecture 3 Machine Language. Instructions: Instruction Execution cycle. Speaking computer before voice recognition interfaces Lecture 3 Machine Language Speaking computer before voice recognition interfaces 1 Instructions: Language of the Machine More primitive than higher level languages e.g., no sophisticated control flow Very

More information

1 P a g e. F x,x...,x,.,.' written as F D, is the same.

1 P a g e. F x,x...,x,.,.' written as F D, is the same. 11. The security syste at an IT office is coposed of 10 coputers of which exactly four are working. To check whether the syste is functional, the officials inspect four of the coputers picked at rando

More information

ISA and RISCV. CASS 2018 Lavanya Ramapantulu

ISA and RISCV. CASS 2018 Lavanya Ramapantulu ISA and RISCV CASS 2018 Lavanya Ramapantulu Program Program =?? Algorithm + Data Structures Niklaus Wirth Program (Abstraction) of processor/hardware that executes 3-Jul-18 CASS18 - ISA and RISCV 2 Program

More information

Chapter 4 Topics C S. D A 2/e

Chapter 4 Topics C S. D A 2/e Chapter 4 Topics The esign Process 1-bus Microarchitecture for RC ata Path Implementation Logic esign for the 1-bus RC The Control Unit The 2- and 3-bus Processor esigns The Machine Reset Process Machine

More information

THE MICROPROCESSOR Von Neumann s Architecture Model

THE MICROPROCESSOR Von Neumann s Architecture Model THE ICROPROCESSOR Von Neumann s Architecture odel Input/Output unit Provides instructions and data emory unit Stores both instructions and data Arithmetic and logic unit Processes everything Control unit

More information

CPE300: Digital System Architecture and Design

CPE300: Digital System Architecture and Design CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Pipelining 11142011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Review I/O Chapter 5 Overview Pipelining Pipelining

More information

Computer Organization MIPS ISA

Computer Organization MIPS ISA CPE 335 Computer Organization MIPS ISA Dr. Iyad Jafar Adapted from Dr. Gheith Abandah Slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE 232 MIPS ISA 1 (vonneumann) Processor Organization

More information

Computer Architecture

Computer Architecture CS3350B Computer Architecture Winter 2015 Lecture 4.2: MIPS ISA -- Instruction Representation Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design,

More information

COSC 6385 Computer Architecture. Instruction Set Architectures

COSC 6385 Computer Architecture. Instruction Set Architectures COSC 6385 Computer Architecture Instruction Set Architectures Spring 2012 Instruction Set Architecture (ISA) Definition on Wikipedia: Part of the Computer Architecture related to programming Defines set

More information

Chapter 5. Computer Architecture Organization and Design. Computer System Architecture Database Lab, SANGJI University

Chapter 5. Computer Architecture Organization and Design. Computer System Architecture Database Lab, SANGJI University Chapter 5. Computer Architecture Organization and Design Computer System Architecture Database Lab, SANGJI University Computer Architecture Organization and Design Instruction Codes Computer Registers

More information

Chapter 4. The Processor. Computer Architecture and IC Design Lab

Chapter 4. The Processor. Computer Architecture and IC Design Lab Chapter 4 The Processor Introduction CPU performance factors CPI Clock Cycle Time Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS

More information

Computer Organization CS 206 T Lec# 2: Instruction Sets

Computer Organization CS 206 T Lec# 2: Instruction Sets Computer Organization CS 206 T Lec# 2: Instruction Sets Topics What is an instruction set Elements of instruction Instruction Format Instruction types Types of operations Types of operand Addressing mode

More information

Trees. Linear vs. Branching CSE 143. Branching Structures in CS. What s in a Node? A Tree. [Chapter 10]

Trees. Linear vs. Branching CSE 143. Branching Structures in CS. What s in a Node? A Tree. [Chapter 10] CSE 143 Trees [Chapter 10] Linear vs. Branching Our data structures so far are linear Have a beginning and an end Everything falls in order between the ends Arrays, lined lists, queues, stacs, priority

More information

Chapter 5 Processor Design Advanced Topics

Chapter 5 Processor Design Advanced Topics Chapter 5 Processor esign dvanced Topics The principles of pipelining pipelined design of RC Pipeline hazards Instruction-level parallelism (ILP) uperscalar processors Very Long Instruction Word (VLIW)

More information

CENG 450: Instruction Set (16-bit)

CENG 450: Instruction Set (16-bit) CENG 450: Instruction Set (16-bit) In this lab, you will design and implement a pipelined 16-bit processor on FPGA. The instructions set of the processor is as follows: Instructions Set We use a RISC-like

More information

Chapter 2A Instructions: Language of the Computer

Chapter 2A Instructions: Language of the Computer Chapter 2A Instructions: Language of the Computer Copyright 2009 Elsevier, Inc. All rights reserved. Instruction Set The repertoire of instructions of a computer Different computers have different instruction

More information

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA CISC 662 Graduate Computer Architecture Lecture 4 - ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,

More information

EE 3170 Microcontroller Applications

EE 3170 Microcontroller Applications EE 3170 Microcontroller Applications Lecture 4 : Processors, Computers, and Controllers - 1.2 (reading assignment), 1.3-1.5 Based on slides for ECE3170 by Profs. Kieckhafer, Davis, Tan, and Cischke Outline

More information

Lecture 04: Machine Instructions

Lecture 04: Machine Instructions CSCI2510 Computer Organization Lecture 04: Machine Instructions Ming-Chang YANG mcyang@cse.cuhk.edu.hk Reading: Chap. 2.3~2.4, 2.10~2.11 Recall: Instructions & Program A computer is governed by instructions.

More information

Chapter 2. Instruction Set Design. Computer Architectures. software. hardware. Which is easier to change/design??? Tien-Fu Chen

Chapter 2. Instruction Set Design. Computer Architectures. software. hardware. Which is easier to change/design??? Tien-Fu Chen Computer Architectures Chapter 2 Tien-Fu Chen National Chung Cheng Univ. chap2-0 Instruction Set Design software instruction set hardware Which is easier to change/design??? chap2-1 Instruction Set Architecture:

More information

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital hardware modules that accomplish a specific information-processing task. Digital systems vary in

More information

CPE300: Digital System Architecture and Design

CPE300: Digital System Architecture and Design CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 RISC: The SPARC 09282011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Recap Finish Motorola MC68000 The SPARC Architecture

More information

CS 361 Meeting 8 9/24/18

CS 361 Meeting 8 9/24/18 CS 36 Meeting 8 9/4/8 Announceents. Hoework 3 due Friday. Review. The closure properties of regular languages provide a way to describe regular languages by building the out of sipler regular languages

More information

Lecture 4: Instruction Set Architecture

Lecture 4: Instruction Set Architecture Lecture 4: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation Reading: Textbook (5 th edition) Appendix A Appendix B (4 th edition)

More information

The MIPS Instruction Set Architecture

The MIPS Instruction Set Architecture The MIPS Set Architecture CPS 14 Lecture 5 Today s Lecture Admin HW #1 is due HW #2 assigned Outline Review A specific ISA, we ll use it throughout semester, very similar to the NiosII ISA (we will use

More information

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization CISC 662 Graduate Computer Architecture Lecture 4 - ISA MIPS ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,

More information

CPU Design John D. Carpinelli, All Rights Reserved 1

CPU Design John D. Carpinelli, All Rights Reserved 1 CPU Design 1997 John D. Carpinelli, All Rights Reserved 1 Outline Register organization ALU design Stacks Instruction formats and types Addressing modes 1997 John D. Carpinelli, All Rights Reserved 2 We

More information

Instruction Set Design

Instruction Set Design Instruction Set Design software instruction set hardware CPE442 Lec 3 ISA.1 Instruction Set Architecture Programmer's View ADD SUBTRACT AND OR COMPARE... 01010 01110 10011 10001 11010... CPU Memory I/O

More information

BASIC COMPUTER ORGANIZATION AND DESIGN

BASIC COMPUTER ORGANIZATION AND DESIGN BASIC COMPUTER ORGANIZATION AND DESIGN Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle Memory Reference Instructions Input-Output and Interrupt Complete

More information

Darshan Institute of Engineering & Technology for Diploma Studies Unit - 1

Darshan Institute of Engineering & Technology for Diploma Studies Unit - 1 Darshan Institute of Engineering & Technology for Diploma Studies Unit - 1 1. Draw and explain 4 bit binary arithmetic or adder circuit diagram. A binary parallel adder is digital function that produces

More information

Typical Processor Execution Cycle

Typical Processor Execution Cycle Typical Processor Execution Cycle Instruction Fetch Obtain instruction from program storage Instruction Decode Determine required actions and instruction size Operand Fetch Locate and obtain operand data

More information

CPU Architecture and Instruction Sets Chapter 1

CPU Architecture and Instruction Sets Chapter 1 CPU Architecture and Instruction Sets Chapter 1 1 Is CPU Architecture Relevant for DBMS? CPU design focuses on speed resulting in a 55%/year improvement since 1987: If CPU performance in database code

More information

Rui Wang, Assistant professor Dept. of Information and Communication Tongji University.

Rui Wang, Assistant professor Dept. of Information and Communication Tongji University. Instructions: ti Language of the Computer Rui Wang, Assistant professor Dept. of Information and Communication Tongji University it Email: ruiwang@tongji.edu.cn Computer Hierarchy Levels Language understood

More information

INSTRUCTION SET ARCHITECTURE

INSTRUCTION SET ARCHITECTURE INSTRUCTION SET ARCHITECTURE Slides by: Pedro Tomás Additional reading: Computer Architecture: A Quantitative Approach, 5th edition, Appendix A, John L. Hennessy and David A. Patterson, Morgan Kaufmann,

More information

Understand the factors involved in instruction set

Understand the factors involved in instruction set A Closer Look at Instruction Set Architectures Objectives Understand the factors involved in instruction set architecture design. Look at different instruction formats, operand types, and memory access

More information

Defining and Surveying Wireless Link Virtualization and Wireless Network Virtualization

Defining and Surveying Wireless Link Virtualization and Wireless Network Virtualization 1 Defining and Surveying Wireless Link Virtualization and Wireless Network Virtualization Jonathan van de Belt, Haed Ahadi, and Linda E. Doyle The Centre for Future Networks and Counications - CONNECT,

More information

Instruction Sets Ch 9-10

Instruction Sets Ch 9-10 Instruction Sets Ch 9-10 Characteristics Operands Operations Addressing Instruction Formats 1 Instruction Set (käskykanta) Collection of instructions that CPU understands Only interface to CPU from outside

More information

Microprogramming: Basic Idea

Microprogramming: Basic Idea 5-45 Chapter 5 Processor Design Advanced Topics Microprogramming: Basic Idea Recall control sequence for 1-bus SRC Step Concrete RTN Control Sequence T0 MA PC: C PC + 4; PC out, MA in, INC4, C in, Read

More information

CPE300: Digital System Architecture and Design

CPE300: Digital System Architecture and Design CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Arithmetic Unit 10032011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Recap Chapter 3 Number Systems Fixed Point

More information

Instruction Sets Ch 9-10

Instruction Sets Ch 9-10 Instruction Sets Ch 9-10 Characteristics Operands Operations Addressing Instruction Formats 1 Instruction Set (käskykanta) Collection of instructions that CPU understands Only interface to CPU from outside

More information

Verifying the structure and behavior in UML/OCL models using satisfiability solvers

Verifying the structure and behavior in UML/OCL models using satisfiability solvers IET Cyber-Physical Systes: Theory & Applications Review Article Verifying the structure and behavior in UML/OCL odels using satisfiability solvers ISSN 2398-3396 Received on 20th October 2016 Revised on

More information

General-Purpose AC Servo MELSERVO-J2-Super AC Servo Amplifier with Built-in Program Operation Functions

General-Purpose AC Servo MELSERVO-J2-Super AC Servo Amplifier with Built-in Program Operation Functions General-Purpose Servo MLSRVO-J-Super Servo plifier with uilt-in Progra Operation Functions MR-JS-L Type Unveiled!! The new MR-JS-L now offers built in otion prograing to coplient the advanced features

More information

STRUCTURE OF DESKTOP COMPUTERS

STRUCTURE OF DESKTOP COMPUTERS Page no: 1 UNIT 1 STRUCTURE OF DESKTOP COMPUTERS The desktop computers are the computers which are usually found on a home or office desk. They consist of processing unit, storage unit, visual display

More information

CS31001 COMPUTER ORGANIZATION AND ARCHITECTURE. Debdeep Mukhopadhyay, CSE, IIT Kharagpur. Instructions and Addressing

CS31001 COMPUTER ORGANIZATION AND ARCHITECTURE. Debdeep Mukhopadhyay, CSE, IIT Kharagpur. Instructions and Addressing CS31001 COMPUTER ORGANIZATION AND ARCHITECTURE Debdeep Mukhopadhyay, CSE, IIT Kharagpur Instructions and Addressing 1 ISA vs. Microarchitecture An ISA or Instruction Set Architecture describes the aspects

More information

Lecture 5: Instruction Set Architectures II. Take QUIZ 2 before 11:59pm today over Chapter 1 Quiz 1: 100% - 29; 80% - 25; 60% - 17; 40% - 3

Lecture 5: Instruction Set Architectures II. Take QUIZ 2 before 11:59pm today over Chapter 1 Quiz 1: 100% - 29; 80% - 25; 60% - 17; 40% - 3 Lecture 5: Instruction Set Architectures II Announcements Turn in Homework #1 XSPIM tutorials in PAI 5.38 during TA office hours Tue Feb 2: 2-3:30pm Wed Feb 3: 1:30-3pm Thu Feb 4: 3-4:30pm Take QUIZ 2

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS II Fall 1999

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS II Fall 1999 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS II Fall 1999 Lab 7-10: Micro-processor Design: Minimal Instruction Set Processor (MISP) Objective:

More information

Design for a simplified DLX (SDLX) processor Rajat Moona

Design for a simplified DLX (SDLX) processor Rajat Moona Design for a simplified DLX (SDLX) processor Rajat Moona moona@iitk.ac.in In this handout we shall see the design of a simplified DLX (SDLX) processor. We shall assume that the readers are familiar with

More information

General Purpose Processors

General Purpose Processors Calcolatori Elettronici e Sistemi Operativi Specifications Device that executes a program General Purpose Processors Program list of instructions Instructions are stored in an external memory Stored program

More information

ELEC / Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2)

ELEC / Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2) ELEC 5200-001/6200-001 Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2) Victor P. Nelson, Professor & Asst. Chair Vishwani D. Agrawal, James J. Danaher Professor Department

More information

COMPUTER ORGANIZATION & ARCHITECTURE

COMPUTER ORGANIZATION & ARCHITECTURE COMPUTER ORGANIZATION & ARCHITECTURE Instructions Sets Architecture Lesson 5a 1 What are Instruction Sets The complete collection of instructions that are understood by a CPU Can be considered as a functional

More information

EUROPEAN ETS TELECOMMUNICATION August 1995 STANDARD

EUROPEAN ETS TELECOMMUNICATION August 1995 STANDARD EUROPEAN ETS 300 428 TELECOMMUNICATION August 1995 STANDARD Source: ETSI TC-NA Reference: DE/NA-052619 ICS: 33.040 Key words: B-ISDN, ATM Broadband Integrated Services Digital Network (B-ISDN); Asynchronous

More information

CPE300: Digital System Architecture and Design

CPE300: Digital System Architecture and Design CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Number Representation 09212011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Recap Logic Circuits for Register Transfer

More information

Computer Architecture

Computer Architecture http://www.bsccsit.com/ Computer Architecture CSC. 201 Third Semester Prepared By: Arjun Singh Saud Special thanks to Mr. Arjun Singh Saud for providing this valuable note! Chapter 1 Data representation

More information

MIPS ISA. 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support

MIPS ISA. 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support Components of an ISA EE 357 Unit 11 MIPS ISA 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support SUBtract instruc. vs. NEGate + ADD instrucs. 3. Registers accessible

More information

CHAPTER 5 Basic Organization and Design Outline Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle

CHAPTER 5 Basic Organization and Design Outline Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle CS 224: Computer Organization S.KHABET CHAPTER 5 Basic Organization and Design Outline Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle Memory Reference Instructions

More information

CHAPTER 8: Central Processing Unit (CPU)

CHAPTER 8: Central Processing Unit (CPU) CS 224: Computer Organization S.KHABET CHAPTER 8: Central Processing Unit (CPU) Outline Introduction General Register Organization Stack Organization Instruction Formats Addressing Modes 1 Major Components

More information

Blog -

Blog - . Instruction Codes Every different processor type has its own design (different registers, buses, microoperations, machine instructions, etc) Modern processor is a very complex device It contains Many

More information

Part II Instruction-Set Architecture. Jan Computer Architecture, Instruction-Set Architecture Slide 1

Part II Instruction-Set Architecture. Jan Computer Architecture, Instruction-Set Architecture Slide 1 Part II Instruction-Set Architecture Jan. 211 Computer Architecture, Instruction-Set Architecture Slide 1 Short review of the previous lecture Performance = 1/(Execution time) = Clock rate / (Average CPI

More information

Page 1. Structure of von Nuemann machine. Instruction Set - the type of Instructions

Page 1. Structure of von Nuemann machine. Instruction Set - the type of Instructions Structure of von Nuemann machine Arithmetic and Logic Unit Input Output Equipment Main Memory Program Control Unit 1 1 Instruction Set - the type of Instructions Arithmetic + Logical (ADD, SUB, MULT, DIV,

More information

Ascending order sort Descending order sort

Ascending order sort Descending order sort Scalable Binary Sorting Architecture Based on Rank Ordering With Linear Area-Tie Coplexity. Hatrnaz and Y. Leblebici Departent of Electrical and Coputer Engineering Worcester Polytechnic Institute Abstract

More information

Fig: Computer memory with Program, data, and Stack. Blog - NEC (Autonomous) 1

Fig: Computer memory with Program, data, and Stack. Blog -   NEC (Autonomous) 1 Central Processing Unit 1. Stack Organization A useful feature that is included in the CPU of most computers is a stack or last in, first out (LIFO) list. A stack is a storage device that stores information

More information

Computer Organization

Computer Organization Computer Organization (Instruction set Architecture & Assembly Language Programming) KR Chowdhary Professor & Head Email: kr.chowdhary@gmail.com webpage: krchowdhary.com Department of Computer Science

More information

Clustering. Cluster Analysis of Microarray Data. Microarray Data for Clustering. Data for Clustering

Clustering. Cluster Analysis of Microarray Data. Microarray Data for Clustering. Data for Clustering Clustering Cluster Analysis of Microarray Data 4/3/009 Copyright 009 Dan Nettleton Group obects that are siilar to one another together in a cluster. Separate obects that are dissiilar fro each other into

More information

BASIC COMPUTER ORGANIZATION AND DESIGN

BASIC COMPUTER ORGANIZATION AND DESIGN 1 BASIC COMPUTER ORGANIZATION AND DESIGN Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle Memory Reference Instructions Input-Output and Interrupt Complete

More information

Unsigned Binary Integers

Unsigned Binary Integers Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0

More information

Unsigned Binary Integers

Unsigned Binary Integers Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0

More information

ECE 486/586. Computer Architecture. Lecture # 7

ECE 486/586. Computer Architecture. Lecture # 7 ECE 486/586 Computer Architecture Lecture # 7 Spring 2015 Portland State University Lecture Topics Instruction Set Principles Instruction Encoding Role of Compilers The MIPS Architecture Reference: Appendix

More information

Instruction Set. Instruction Sets Ch Instruction Representation. Machine Instruction. Instruction Set Design (5) Operation types

Instruction Set. Instruction Sets Ch Instruction Representation. Machine Instruction. Instruction Set Design (5) Operation types Instruction Sets Ch 10-11 Characteristics Operands Operations Addressing Instruction Formats Instruction Set Collection of instructions that CPU understands Only interface to CPU from outside CPU executes

More information

Mark Redekopp, All rights reserved. EE 357 Unit 11 MIPS ISA

Mark Redekopp, All rights reserved. EE 357 Unit 11 MIPS ISA EE 357 Unit 11 MIPS ISA Components of an ISA 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support SUBtract instruc. vs. NEGate + ADD instrucs. 3. Registers accessible

More information

CPU Organization (Design)

CPU Organization (Design) ISA Requirements CPU Organization (Design) Datapath Design: Capabilities & performance characteristics of principal Functional Units (FUs) needed by ISA instructions (e.g., Registers, ALU, Shifters, Logic

More information

Designing an Instruction Set

Designing an Instruction Set Designing an Instruction Set Nerd Chef at work. move flour,bowl add milk,bowl add egg,bowl move bowl,mixer rotate mixer... WARD & HALSTEAD 6.004 NERD KIT Handouts: Lecture Slides, β docs L12 Instruction

More information

SISTEMI EMBEDDED. Computer Organization Central Processing Unit (CPU) Federico Baronti Last version:

SISTEMI EMBEDDED. Computer Organization Central Processing Unit (CPU) Federico Baronti Last version: SISTEMI EMBEDDED Computer Organization Central Processing Unit (CPU) Federico Baronti Last version: 20170516 Processing Unit A processor reads program instructions from the computer s memory and executes

More information

PESIT Bangalore South Campus

PESIT Bangalore South Campus INTERNAL ASSESSMENT TEST I Date: 30/08/2017 Max Marks: 40 Subject & Code: Computer Organization 15CS34 Semester: III (A & B) Name of the faculty: Mrs.Sharmila Banu.A Time: 8.30 am 10.00 am Answer any FIVE

More information

Grundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss

Grundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss Grundlagen Microcontroller Processor Core Günther Gridling Bettina Weiss 1 Processor Core Architecture Instruction Set Lecture Overview 2 Processor Core Architecture Computes things > ALU (Arithmetic Logic

More information

CENG3420 Lecture 03 Review

CENG3420 Lecture 03 Review CENG3420 Lecture 03 Review Bei Yu byu@cse.cuhk.edu.hk 2017 Spring 1 / 38 CISC vs. RISC Complex Instruction Set Computer (CISC) Lots of instructions of variable size, very memory optimal, typically less

More information

Reminder: tutorials start next week!

Reminder: tutorials start next week! Previous lecture recap! Metrics of computer architecture! Fundamental ways of improving performance: parallelism, locality, focus on the common case! Amdahl s Law: speedup proportional only to the affected

More information

5-1 Instruction Codes

5-1 Instruction Codes Chapter 5: Lo ai Tawalbeh Basic Computer Organization and Design 5-1 Instruction Codes The Internal organization of a digital system is defined by the sequence of microoperations it performs on data stored

More information