Trap Vector Table. Interrupt Vector Table. Operating System and Supervisor Stack. Available for User Programs. Device Register Addresses
|
|
- Lenard Pope
- 5 years ago
- Views:
Transcription
1 Chapter 1 The LC-3b ISA 1.1 Overview The Instruction Set Architecture (ISA) of the LC-3b is defined as follows: Memory address space 16 bits, corresponding to 2 16 locations, each containing one byte (8 bits). Addresses are numbered from 0 (i.e, x0000) to 65,535 (i.e., xffff). Addresses are used to identify memory locations and memory-mapped I/O device registers. Certain regions of memory are reserved for special uses, as described in Figure 1.1. x0000 x00ff x0100 x01ff x0200 x2fff x3000 Trap Vector Table Interrupt Vector Table Operating System and Supervisor Stack x0000 Available for User Programs xfdff xfe00 xffff Device Register Addresses Figure 1.1: Memory Map of the LC-3b Bit numbering Bits of all quantities are numbered, from right to left, starting with bit 0. The leftmost bit of the contents of a memory location is bit 15. Instructions Instructions are 16 bits wide. Bits [15:12] specify the opcode (operation to be performed), bits [11:0] provide further information that is needed to execute the instruction. Instructions are always 16-bit-aligned in the byte-addressable LC-3b memory. The specific operation of each LC-3b instruction is described in Section 1.3. Program counter A 16-bit register containing the address of the next instruction to be processed. 1
2 2 CHAPTER 1. THE LC-3B ISA General purpose registers Eight 16-bit registers, numbered from 000 to 111. Condition codes Three one-bit registers: N (negative), Z (zero) and P (positive). Load instructions (LDR, LDB, LDI, and LEA) and operate instructions (ADD, AND, and NOT) each load a result into one of the eight general purpose registers. The condition codes are set, based on whether that result, taken as a 16-bit 2 s complement integer, is negative (N = 1, Z,P = 0), zero (Z = 1, N,P = 0), or positive (P = 1, N,Z = 0). All other LC-3b instructions leave the condition codes unchanged. Memory mapped I/O Input and Output are handled by load/store instructions using memory addresses to designate each I/O device register. Addresses xfe00 through xffff have been allocated to represent the addresses of I/O devices. See Figure 1.1. Also, Table 1.3 lists each of the relevant device registers that have been identified for the LC-3b thus far, along with their corresponding assigned addresses from the memory address space. I/O devices have the capability of interrupting the processor. Section 1.4 de- Interrupt processing scribes the mechanism. Priority Level The LC-3b supports eight levels of priority. Priority level 7 (PL7) is the highest; PL0 is the lowest. The priority level of the currently executing process is specified in bits PSR[10:8]. Processor Status Register (PSR) A 16-bit register, containing status information about the currently executing process. Seven bits of the PSR have been defined thus far. PSR[15] specifies the privilege mode of the executing process. PSR[10:8] specifies the priority level of the currently executing process. PSR[2:0] contain the condition codes. PSR[2] is N, PSR[1] is Z, and PSR[0] is P. Privilege Mode The LC-3b specifies two levels of privilege, Supervisor mode (privileged) and User mode (unprivileged). Interrupt service routines execute in Supervisor mode. The privilege mode is specified by PSR[15]. PSR[15]=0 indicates Supervisor mode; PSR[15]=1 indicates User mode. Supervisor stack A region of memory in supervisor space accessible via the supervisor stack pointer (SSP). When PSR[15]=0, the stack pointer (R6) is SSP. User stack A region of memory in user space accessible via the user stack pointer (USP). When PSR[15] = 1, the stack pointer (R6) is USP.
3 1.2. NOTATION Notation Notation xnumber #Number Meaning The number in hexadecimal notation. The number in decimal notation. A b Shift A to the left by b bits. The vacated bit positions are filled with zeros. The bits of A that are left-shifted off are dropped. For example, if A and b 5, then A b A b,c Shift A to the right by b bits. The vacated bit positions are filled by the bit indicated by c. The bits of A that are right-shifted off are dropped. If A , b 7, c 0, then A b,c A[l:r] BaseR DR imm4 imm5 LABEL mem[address] memword[address] offset6 PC PCoffset9 PCoffset11 PSR setcc() SEXT(A) SP SR, SR1, SR2 SSP trapvect8 USP ZEXT(A) The field delimited by bit[l] on the left and bit[r] on the right, of the datum A. For example, if PC contains , then PC[15:9] is PC[2:2] is 1. If l and r are the same bit number, the notation is usually abbreviated PC[2]. Base Register; one of R0..R7, used in conjunction with a six-bit offset to compute Base+offset addresses. Destination Register; one of R0..R7, which specifies which register the result of an instruction should be written to. A four-bit immediate value. Taken as a 4-bit unsigned integer. A five-bit immediate value; bits [4:0] of an instruction when used as a literal (immediate) value. Taken as a 5-bit, 2 s complement integer, it is sign-extended to 16 bits before it is used. Range: An assembly language construct that identifies a location symbolically (i.e., by means of a name, rather than its 16-bit address). Denotes the 8-bit (byte) contents of memory at the given address. Denotes the 16-bit (word) contents of memory starting at the given address. The byte at mem[address] forms bits[7:0] of the result and the byte mem[address+1] forms bits[15:8] of the result. In all cases the address is treated as word-aligned, i.e., bit [0] is treated as 0. A six-bit value; bits[5:0] of an instruction; used with the Base+offset addressing mode. Bits[5:0] are taken as a six-bit signed 2 s complement integer, sign-extended to 16 bits and then added to the Base Register to form an address. Range: Program Counter; 16-bit register which contains the memory address of the next instruction to be fetched. For example, during execution of the instruction at address A, the PC contains address A 2, indicating the next instruction is contained in A 2. The PC is always treated as wordaligned, meaning PC[0] is ignored. A nine-bit value; bits[8:0] of an instruction; used with the PC+offset addressing mode. Bits[8:0] are taken as a nine-bit signed 2 s complement integer, sign-extended to 16 bits, left-shifted, and then added to the incremented PC to form an address. Range An 11-bit value; bits[10:0] of an instruction; used with the JSR opcode to compute the target address of a subroutine call. Bits[10:0] are taken as an 11-bit 2 s complement integer, sign-extended to 16 bits, left-shifted, and then added to the incremented PC to form the target address. Range Processor Status Register; 16-bit register which contains status information of the process that is running. PSR[15] = privilege mode. PSR[2:0] contains the condition codes. PSR[2] = N, PSR[1] = Z, PSR[0] = P. Indicates that condition codes N, Z, and P are set based on the value of the result written to DR. If the value is negative, N 1, Z 0, P 0. If the value is zero, N 0, Z 1, P 0. If the value is positive, N 0, Z 0, P 1. Sign-extend A. The most significant bit of A is replicated as many times as necessary to extend A to 16 bits. For example, if A = , then SEXT(A) The current stack pointer. R6 is the current stack pointer. There are two stacks, one for each privilege mode. SP is SSP if PSR[15] = 0; SP is USP if PSR[15] = 1. The SP is always treated as word-aligned, meaning SP[0] is ignored. Source Register; one of R0..R7 which specifies the register from which a source operand is obtained. The supervisor stack pointer. An eight bit value; bits [7:0] of an instruction; used with the TRAP opcode to determine the starting address of a trap service routine. The user stack pointer. Zero-extend A. Zeroes are appended to the left-most bit of A to extend it to 16 bits. For example, if A , then ZEXT(A) Table 1.1: Notational Conventions
4 4 CHAPTER 1. THE LC-3B ISA 1.3 The Instruction Set The LC-3b supports a rich, but lean, instruction set. Each 16-bit instruction consists of an opcode (bits[15:12]) plus 12 additional bits to specify the other information which is needed to carry out the work of that instruction. Figure 1.3 summarizes the 16 different opcodes in the LC-3b and the specification of the remaining bits of each instruction. In the following pages, the instructions are described in greater detail. For each instruction, we show the assembly language representation, the format of the 16-bit instruction, the operation of the instruction, an English-language description of its operation, and one or more examples of the instruction. Where relevant, additional notes about the instruction are also provided. + ADD + ADD + AND AND + BR JMP JSR JSRR LDB LDI + LDR DR SR SR DR SR1 1 imm n DR SR SR2 DR SR1 1 imm5 z 000 p PCoffset9 BaseR PCoffset BaseR DR BaseR offset DR BaseR offset DR BaseR offset6 LEA DR PCoffset9 NOT RET RTI DR SR SHF 1101 DR SR A D imm4 STB 0011 SR BaseR offset6 STI 1011 SR BaseR offset6 STR 0111 SR BaseR offset6 TRAP trapvect8 Figure 1.2: LC-3b Instruction Formats. NOTE: indicates instructions that modify condition codes.
5 1.3. THE INSTRUCTION SET 5 ADD Addition Assembler Formats ADD ADD DR, SR1, SR2 DR, SR1, imm5 s DR SR SR DR SR1 1 imm5 if (bit[5] == 0) DR = SR1 + SR2; else DR = SR1 + SEXT(imm5); setcc(); If bit [5] is 0, the second source operand is obtained from SR2. If bit [5] is 1, the second source operand is obtained by sign-extending the imm5 field to 16 bits. In both cases, the second source operand is added to the contents of SR1, and the result stored in DR. The condition codes are set, based on whether the result is negative, zero, or positive. Examples ADD R2, R3, R4 ; R2 R3 + R4 ADD R2, R3, #7 ; R2 R3 + 7
6 6 CHAPTER 1. THE LC-3B ISA AND Bitwise logical AND Assembler Formats AND AND DR, SR1, SR2 DR, SR1, imm5 s DR SR SR DR SR1 1 imm5 if (bit[5] == 0) DR = SR1 AND SR2; else DR = SR1 AND SEXT(imm5); setcc(); If bit [5] is 0, the second source operand is obtained from SR2. If bit [5] is 1, the second source operand is obtained by sign-extending the imm5 field to 16 bits. In either case, the second source operand and the contents of SR1 are bitwise ANDed, and the result stored in DR. The condition codes are set, based on whether the binary value produced, taken as a 2 s complement integer, is negative, zero, or positive. Examples AND R2, R3, R4 ; R2 R3 AND R4 AND R2, R3, #7 ; R2 R3 AND 7
7 1.3. THE INSTRUCTION SET 7 BR Conditional Branch Assembler Formats BRn LABEL BRzp LABEL BRz LABEL BRnp LABEL BRp LABEL BRnz LABEL BR LABEL BRnzp LABEL n z p PCoffset9 if ((n AND N) OR (z AND Z) OR (p AND P)) PC = PC + (SEXT(PCoffset9) 1); The condition codes specified by the state of bits [11:9] are tested. If bit [11] is set, N is tested; if bit [11] is clear, N is not tested. If bit [10] is set, Z is tested, etc. If any of the condition codes tested is set, the program branches to the location specified by adding the sign-extended and left-shifted PCoffset9 field to the incremented PC. In otherwords, the PCoffset9 field specifies the number of instructions, forwards or backwards, to branch over. Examples BRzp LOOP ; Branch to LOOP if the last result was zero or positive. BR NEXT ; Unconditionally Branch to NEXT. The assembly language opcode BR is interpreted the same as BRnzp; that is, always branch to the target address. This is the incremented PC
8 8 CHAPTER 1. THE LC-3B ISA JMP RET Jump Return from Subroutine Assembler Formats JMP RET BaseR JMP BaseR RET PC = BaseR; The program unconditionally jumps to the location specified by the contents of the base register. Bits [8:6] identify the base register. The target of the JMP will be treated as a word-aligned address. PC[0] will always be zero. Examples Note JMP R2 ; PC R2 RET ; PC R7 The RET instruction is a special case of the JMP instruction. The PC is loaded with the contents of R7, which contains the linkage back to the instruction following the subroutine call instruction.
9 1.3. THE INSTRUCTION SET 9 JSR JSRR Assembler Formats Jump to Subroutine JSR JSRR LABEL BaseR JSR PCoffset11 JSRR BaseR R7 = PC ; if (bit[11] == 0) PC = BaseR; else PC = PC + (SEXT(PCoffset11) 1); First, the incremented PC is saved in R7. This is the linkage back to the calling routine. Then, the PC is loaded with the address of the first instruction of the subroutine, causing an unconditional jump to that address. The address of the subroutine is obtained from the base register (if bit[11] is 0), or the address is computed by sign-extending and left-shifting bits [10:0] and adding this value to the incremented PC (if bit[11] is 1). Examples JSR QUEUE ; Put the address of the instruction following JSR into R7; Jump to QUEUE. JSRR R3 ; Put the address following JSRR into R7; Jump to the address contained in R3. This is the incremented PC.
10 10 CHAPTER 1. THE LC-3B ISA LDB Load Byte Assembler Format LDB DR, BaseR, offset DR BaseR offset6 DR = ZEXT(mem[BaseR + SEXT(offset6)]); setcc(); An address is computed by sign-extending bits [5:0] to 16 bits and adding this value to the contents of the register specified by bits [8:6]. The byte contents of memory at this address are zero-extended to 16 bits and loaded into DR. The condition codes are set, based on whether the value loaded is negative, zero, or positive. Example LDB R4, R2, #-5 ; R4 byte contents of mem[r2-5]
11 1.3. THE INSTRUCTION SET 11 LDI Load Word Indirect Assembler Format LDI DR, BaseR, offset DR BaseR offset6 DR = memword[memword[baser + (SEXT(offset6) 1)]]; setcc(); An address is computed by sign-extending bits [5:0] to 16 bits, left-shifting this value by 1 bit, and adding this result to the contents of the register specified by bits [8:6]. The word contents of memory at this address is the address of the 16-bit word data to be loaded into DR. The condition codes are set, based on whether the value loaded is negative, zero, or positive. The memory address specified by Base+offset will be treated as a word-aligned address. In other words, bit [0] of the address will be treated as if it is 0. Example LDI R4, R2, #10 ; R4 memword[memword[r2 + 20]]
12 12 CHAPTER 1. THE LC-3B ISA LDR Load Word Assembler Format LDR DR, BaseR, offset DR BaseR offset6 DR = memword[baser + (SEXT(offset6) 1)]; setcc(); An address is computed by sign-extending bits [5:0] to 16 bits, left-shifting this value by 1 bit, and adding this result to the contents of the register specified by bits [8:6]. The 16-bit word at this address is loaded into DR. The condition codes are set, based on whether the value loaded is negative, zero, or positive. The memory address specified by Base+offset will be treated as a word-aligned address. In other words, bit [0] of the address will be treated as if it is 0. Example LDR R4, R2, #-5 ; R4 memword[r2-10]
13 1.3. THE INSTRUCTION SET 13 LEA Load Effective Address Assembler Format LEA DR, LABEL DR PCoffset9 DR = PC + (SEXT(PCoffset9) 1); setcc(); An address is computed by sign-extending bits [8:0] to 16 bits, left-shifting this value by 1 bit, and adding this result to the incremented PC. This address is loaded into DR. The condition codes are set, based on whether the value loaded is negative, zero, or positive. Example LEA R4, TARGET ; R4 address of TARGET. This is the incremented PC. The LEA instruction does not read memory to obtain the information to load into DR. The address, itself, is loaded into DR.
14 14 CHAPTER 1. THE LC-3B ISA NOT Bitwise Complement Assembler Format NOT DR, SR DR SR DR = NOT(SR); setcc(); The bitwise complement of the contents of SR are stored in DR. The condition codes are set, based on whether the binary value produced, taken as a 2 s complement integer, is negative, zero, or positive. Example NOT R4, R2 ; R4 NOT(R2)
15 1.3. THE INSTRUCTION SET 15 RET Return from Subroutine Assembler Format RET PC = R7; The PC is loaded with the value in R7. This causes a return from a previous JSR, JSRR, or TRAP instruction. A return address in R7 will be treated as a word-aligned address. PC[0] will always be zero. Example RET ; PC R7 The RET instruction is a specific encoding of the JMP instruction. See also JMP.
16 16 CHAPTER 1. THE LC-3B ISA RTI Return from Interrupt Assembler Format RTI if (PSR[15] == 0) PC = memword[r6]; // R6 is the SSP R6 = R6 + 2; TEMP = memword[r6]; R6 = R6 + 2; PSR = TEMP; // the privilege, condition codes of the interrupted process are restored else Initiate a Privilege Mode Exception; If the processor is running in Supervisor mode, the top two elements on the Supervisor Stack are popped and loaded into PC, PSR. If the processor is running in User mode, a privilege mode violation exception occurs. Section 1.4 describes what happens in this case. Example Note RTI ; PC, PSR top two values popped off stack. On an external interrupt, the initiating sequence first changes the privilege mode to Supervisor mode (PSR[15]=0). Then the PSR and PC of the interrupted process are pushed onto the Supervisor Stack before loading the PC with the starting address of the interrupt service routine. The interrupt service routine runs with Supervisor privilege. The last instruction in the service routine is RTI, which returns control to the interrupted program by popping two values off the Supervisor Stack, first to restore the PC to the address of the instruction that was about to be processed when the interrupt was initiated, and second to restore the PSR to the values they had when the interrupt was initiated. See also Section 1.4.
17 1.3. THE INSTRUCTION SET 17 SHF Bit Shift Assembler Formats LSHF DR, SR, imm4 ; left shift RSHFL DR, SR, imm4 ; right shift logical RSHFA DR, SR, imm4 ; right shift arithmetic s DR SR A D imm4 if (D == 0) DR = SR imm4; else if (A == 0) DR = SR imm4,0; else DR = SR imm4,sr[15]; setcc(); If the D bit (bit [4]) is 0, the source operand in SR is shifted left by the number of bit positions indicated by the imm4 field. If D is 1, the source operand is shifted to the right by imm4 bits. When shifting to the right, the A bit (bit [5]) of the instruction indicates whether the sign bit of the original source operand is preserved. When A is set to 1, the right shift is an arithmetic shift and the original SR[15] is shifted into the vacated bit positions. The result stored in DR. Otherwise the shift is a logical shift and zeroes are shifted in. The condition codes are set, based on whether the result is negative, zero, or positive. Examples LSHF R2, R3, #3 ; R2 R3 #3 RSHFL R2, R3, #7 ; R2 R3 #7,0 RSHFA R2, R3, #7 ; R2 R3 #7,R3[15]
18 18 CHAPTER 1. THE LC-3B ISA STB Store Byte Assembler Format STB SR, BaseR, offset SR BaseR offset6 mem[baser + SEXT(offset6)] = SR[7:0]; The lower 8 bits of the register specified by SR (SR[7:0]) are stored at the memory location whose address is computed by sign-extending bits [5:0] to 16 bits and adding the result to the contents of the register specified by bits [8:6]. Example STB R6, R3, #-6 ; mem[r3-6] R6[7:0]
19 1.3. THE INSTRUCTION SET 19 STI Store Word Indirect Assembler Format STI SR, BaseR, offset SR BaseR offset6 memword[memword[baser + (SEXT(offset6) 1)]] = SR; The contents of the register specified by SR are stored starting at the memory location whose address is computed as follows: Bits [5:0] are sign-extended to 16 bits, then left-shifted by 1 bit, and added to the contents of the register specified by bits [8:6]. The 16-bit word contents of memory at starting at this address is the address of the location to which the data in SR is stored. The memory address specified by Base+offset will be treated as a word-aligned address. In other words, bit [0] of the address will be treated as if it is 0. Example STI R4, R2, #10 ; memword[memword[r2 + 20]] R4
20 20 CHAPTER 1. THE LC-3B ISA STR Store Word Assembler Format STR SR, BaseR, offset SR BaseR offset6 memword[baser + (SEXT(offset6) 1)] = SR; The contents of the register specified by SR are stored starting at the memory location whose address is computed by sign-extending bits [5:0] to 16 bits, left-shifting this value by 1 bit, and adding the result to the contents of the register specified by bits [8:6]. The memory address specified by Base+offset will be treated as a word-aligned address. In other words, bit [0] of the address will be treated as if it is 0. Example STR R4, R2, #5 ; memword[r2 + 10] R4
21 1.3. THE INSTRUCTION SET 21 TRAP System Call Assembler Format TRAP trapvector trapvect8 R7 = PC ; PC = memword[zext(trapvect8) 1]; First R7 is loaded with the incremented PC. (This enables a return to the instruction physically following the TRAP instruction in the original program after the service routine has completed execution.) Then the PC is loaded with the contents of the memory location obtained by zero-extending trapvector8 to 16 bits and left-shifting by 1 bit. This is the starting address of the system call specified by trapvector8. Example TRAP x23 ; Directs the operating system to execute the IN system call. The starting address ; of this system call is contained in memory location x0046. Note Memory locations x0000 through x00ff are available to contain starting addresses for system calls specified by their corresponding trap vectors. This region of memory is called the trap vector table. Thus there are 128 trap vectors. As a result, the most significant bit of the trapvector8 number is ignored. Table 1.2 describes the functions performed by the service routines corresponding to trap vectors x20 to x25. This is the incremented PC.
22 22 CHAPTER 1. THE LC-3B ISA TRAP vector Assembler Name x20 GETC Read a single character from the keyboard. The character is not echoed onto the console. Its ASCII code is copied into R0. The high eight bits of R0 are cleared. x21 OUT Write a character in R0[7:0] to the console display. x22 PUTS Write a string of ASCII characters to the console display. The characters are contained in consecutive memory locations, one character per memory location, starting with the address specified in R0. Writing terminates with the occurrence of x0000 in a memory location. x23 IN Print a prompt on the screen and read a single character from the keyboard. The character is echoed onto the console monitor, and its ASCII code is copied into R0. The high eight bits of R0 are cleared. x25 HALT Halt execution and print a message on the console. Table 1.2: Trap Service Routines Address I/O Register Name I/O Register Function xfe00 Keyboard status register Also known as KBSR. The ready bit (bit [15]) indicates if the keyboard has received a new character. xfe02 Keyboard data register Also known as KBDR. Bits [7:0] contain the last character typed on the keyboard. xfe04 Display status register Also known as DSR. The ready bit (bit [15]) indicates if the display device is ready to receive another character to print on the screen. xfe06 Display data register Also known as DDR. A character written in the low byte of this register will be displayed on the screen. xfffe Machine control register Also known as MCR. Bit [15] is the clock enable bit. When cleared, instruction processing stops. Table 1.3: Device register assignments 1.4 Interrupt Processing Events external to the program that is running are able to interrupt the processor. A common example of this is interrupt-driven I/O. It is also the case that the processor can be interrupted by exceptional events that occur while the program is running that are caused by the program itself. Associated with each event that can interrupt the processor is an 8-bit vector that provides an entry point into a 128 entry interrupt vector table (note: on the LC-3b the most significant bit of the 8-bit vector is ignored). The starting address of the interrupt vector table is x0100. That is, the interrupt vector table occupies memory locations x0100 to x01ff. Each entry in the interrupt vector table contains the starting address of the service routine that handles the needs of that event. These service routines execute in Supervisor mode. Half (128) of these entries, locations x0100 to x017f, provide starting addresses of routines that service events caused by the running program itself. These routines are called Exception service routines because they handle exceptional events, that is, events that prevent the program from executing normally. The other half of the entries, locations x0180 to x01ff, provide starting addresses of routines that service events that are external to the program that is running, such as requests from I/O devices. These routines are called Interrupt service routines. At this time, an LC-3b computer system provides only one I/O device that can interrupt the processor. That device is the keyboard. It interrupts at priority level PL4, and supplies the interrupt vector x80. An I/O device can interrupt the processor if it wants service, if its Interrupt Enable (IE) bit is set, and if the priority of its request is greater than the priority of the program that is running.
23 1.4. INTERRUPT PROCESSING 23 Assume a program is running at a priority level less than four, and someone strikes a key on the keyboard. If the IE bit of the KBSR is 1, the currently executing program is interrupted at the end of the current instruction cycle. The interrupt service routine is initiated as follows: 1. The processor sets the privilege mode to Supervisor mode (PSR[15]=0). 2. R6 is loaded with the Supervisor Stack Pointer (SSP) if it does not already contain the SSP. 3. The PSR and PC of the interrupted process are pushed onto the Supervisor Stack. 4. The keyboard supplies its 8-bit interrupt vector, in this case x The processor expands that vector to x0180, the corresponding 16-bit address in the interrupt vector table. 6. The PC is loaded with the contents of memory location x0180, the address of the first instruction in the keyboard interrupt service routine. The processor then begins execution of the interrupt service routine. The last instruction executed in an interrupt service routine is RTI. The top two elements of the Supervisor Stack are popped and loaded into the PC and PSR registers. R6 is loaded with the appropriate stack pointer, depending on the new value of PSR[15]. Processing then continues where the interrupted program left off.
appendix a The LC-3 ISA A.1 Overview
A.1 Overview The Instruction Set Architecture (ISA) of the LC-3 is defined as follows: Memory address space 16 bits, corresponding to 2 16 locations, each containing one word (16 bits). Addresses are numbered
More informationLC-2 Programmer s Reference and User Guide
LC-2 Programmer s Reference and User Guide University of Michigan EECS 100 Matt Postiff Copyright (C) Matt Postiff 1995-1999. All rights reserved. Written permission of the author is required for duplication
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON. Instructor: Rahul Nayar TAs: Mohit Verma, Annie Lin
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Instructor: Rahul Nayar TAs: Mohit Verma, Annie Lin Examination 4 In Class (50 minutes) Wednesday, May 3rd, 2017 Weight:
More informationMemory Usage in Programs
Memory Usage in Programs ECE2893 Lecture 4a ECE2893 Memory Usage in Programs Spring 2011 1 / 17 The Little Computer 3 (LC3) ECE2893 Memory Usage in Programs Spring 2011 2 / 17 The LC3 Instruction Set,
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi, Kai Zhao TAs: Yuzhe Ma, Annie Lin, Mohit Verma, Neha Mittal, Daniel Griffin, Examination 4 In Class
More informationThe LC-3 Instruction Set Architecture. ISA Overview Operate instructions Data Movement instructions Control Instructions LC-3 data path
Chapter 5 The LC-3 Instruction Set Architecture ISA Overview Operate instructions Data Movement instructions Control Instructions LC-3 data path A specific ISA: The LC-3 We have: Reviewed data encoding
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Professor Guri Sohi TAs: Newsha Ardalani and Rebecca Lam Examination 4 In Class (50 minutes) Wednesday, Dec 14, 2011 Weight:
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING COMPUTER SCIENCES DEPARTMENT UNIVERSITY OF WISCONSIN-MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING COMPUTER SCIENCES DEPARTMENT UNIVERSITY OF WISCONSIN-MADISON Prof. Mark D. Hill & Prof. Mikko H. Lipasti TAs Sanghamitra Roy, Eric Hill, Samuel Javner,
More informationECE/CS 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
ECE/CS 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Mikko Lipasti & Prof. Gurindar S. Sohi TAs: Felix Loh, Daniel Chang, Philip Garcia, Sean Franey, Vignyan Kothinti
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Professor Karthikeyan Sankaralingam TAs: Kamlesh Prakash, Suriyha Balaram Sankari, Rebecca Lam, Newsha Ardalani, and Yinggang
More informationECE/CS 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
ECE/CS 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Mikko Lipasti & Prof. Gurindar S. Sohi TAs: Felix Loh, Daniel Chang, Philip Garcia, Sean Franey, Vignyan Kothinti
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Mikko Lipasti & Prof. Gurinder S. Sohi TAs: Daniel Chang, Felix Loh, Philip Garcia, Sean Franey, Vignyan Kothinti
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING COMPUTER SCIENCES DEPARTMENT UNIVERSITY OF WISCONSIN-MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING COMPUTER SCIENCES DEPARTMENT UNIVERSITY OF WISCONSIN-MADISON Prof. Mark D. Hill & Prof. Mikko H. Lipasti TAs Sanghamitra Roy, Eric Hill, Samuel Javner,
More information20/08/14. Computer Systems 1. Instruction Processing: FETCH. Instruction Processing: DECODE
Computer Science 210 Computer Systems 1 Lecture 11 The Instruction Cycle Ch. 5: The LC-3 ISA Credits: McGraw-Hill slides prepared by Gregory T. Byrd, North Carolina State University Instruction Processing:
More informationMidterm 2 Review Chapters 4-16 LC-3
Midterm 2 Review Chapters 4-16 LC-3 ISA You will be allowed to use the one page summary. 8-2 LC-3 Overview: Instruction Set Opcodes 15 opcodes Operate instructions: ADD, AND, NOT Data movement instructions:
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON. Instructor: Rahul Nayar TAs: Annie Lin, Mohit Verma
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Instructor: Rahul Nayar TAs: Annie Lin, Mohit Verma Examination 2 In Class (50 minutes) Wednesday, March 8, 207 Weight:
More informationRegister Files. Single Bus Architecture. Register Files. Single Bus Processor. Term Project: using VHDL. Accumulator based architecture
Register Files DR 3 SelS Design and simulate the LC-3 processor using VHDL Term Project: Single Processor Decoder... R R3 R6...... mux mux S S SelDR 3 DRin Clock 3 SelS LC-3 Architecture 3 Register File
More informationLC-3 Instruction Set Architecture. Textbook Chapter 5
LC-3 Instruction Set Architecture Textbook Chapter 5 Instruction set architecture What is an instruction set architecture (ISA)? It is all of the programmer-visible components and operations of the computer
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi TAs: Junaid Khalid and Pradip Vallathol Midterm Examination 3 In Class (50 minutes) Friday, November
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi TAs: Pradip Vallathol and Junaid Khalid Examination 4 In Class (50 minutes) Wednesday, December 12,
More informationLC-3 Instruction Set Architecture
CMPE12 Notes LC-3 Instruction Set Architecture (Textbookʼs Chapter 5 and 6)# Instruction Set Architecture# ISA is all of the programmer-visible components and operations of the computer.# memory organization#
More informationUNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi TAs: Lisa Ossian, Minsub Shin, Sujith Surendran Midterm Examination 3 In Class (50 minutes) Friday,
More informationCS 2461: Computer Architecture I
Computer Architecture is... CS 2461: Computer Architecture I Instructor: Prof. Bhagi Narahari Dept. of Computer Science Course URL: www.seas.gwu.edu/~bhagiweb/cs2461/ Instruction Set Architecture Organization
More information10/31/2016. The LC-3 ISA Has Three Kinds of Opcodes. ECE 120: Introduction to Computing. ADD and AND Have Two Addressing Modes
University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 120: Introduction to Computing The LC-3 Instruction Set Architecture The LC-3 ISA Has Three Kinds of Opcodes
More informationLC-3 ISA - II. Lecture Topics. Lecture materials. Homework. Machine problem. Announcements. ECE 190 Lecture 10 February 17, 2011
LC- ISA - II Lecture Topics LC- data movement instructions LC- control instructions LC- data path review Lecture materials Textbook 5. - 5.6 Textbook Appendix A. Homework HW due Wednesday February 2 at
More informationCS 135: Computer Architecture I
What next? : Computer Architecture I Instructor: Prof. Bhagi Narahari Dept. of Computer Science Course URL: www.seas.gwu.edu/~bhagiweb/cs135/ Low level/machine-level Programming Assembly Language programming
More informationCh. 5: The LC-3. PC-Relative Addressing Mode. Data Movement Instructions. James Goodman!
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ADD + 0001 1 0 00 2 Computer Science 210 s1c Computer Systems 1 2012 Semester 1 Lecture Notes ADD + AND + AND + BR JMP 0001 1 1 imm5 0101 1 0 00 2 0101 1 1 imm5 0000
More informationSubroutines & Traps. Announcements. New due date for assignment 2 5pm Wednesday, 5May
Computer Science 210 s1c Computer Systems 1 2010 Semester 1 Lecture Notes Lecture 19, 26Apr10: Subroutines & Traps James Goodman! Announcements New due date for assignment 2 5pm Wednesday, 5May Test is
More informationInstruction Set Architecture
Chapter 5 The LC-3 Instruction Set Architecture ISA = All of the programmer-visible components and operations of the computer memory organization address space -- how may locations can be addressed? addressibility
More informationLab 1. Warm-up : discovering the target machine, LC-3
Lab 1 Warm-up : discovering the target machine, LC-3 Credits This sequence of compilation labs has been inspired by those designed by C. Alias and G. Iooss in 2013/14. In 2016/17 we changed the support
More informationCOSC121: Computer Systems: Review
COSC121: Computer Systems: Review Jeremy Bolton, PhD Assistant Teaching Professor Constructed using materials: - Patt and Patel Introduction to Computing Systems (2nd) - Patterson and Hennessy Computer
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof Mark D. Hill and Prof. Gurindar Sohi TAs: Rebecca Lam, Mona Jalal, Preeti Agarwal, Pradip Vallathol Midterm Examination
More informationIntroduction to Computer. Chapter 5 The LC-3. Instruction Set Architecture
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin Madison Chapter 5 The LC-3 Instruction Set Architecture
More informationChapter 9 TRAP Routines and Subroutines
Chapter 9 TRAP Routines and Subroutines System Calls Certain operations require specialized knowledge and protection: specific knowledge of I/O device registers and the sequence of operations needed to
More informationChapter 9 TRAP Routines and Subroutines
Chapter 9 TRAP Routines and Subroutines System Calls Certain operations require specialized knowledge and protection: specific knowledge of I/O device registers and the sequence of operations needed to
More informationChapter 5 The LC-3. ACKNOWLEDGEMENT: This lecture uses slides prepared by Gregory T. Byrd, North Carolina State University 5-2
Chapter 5 The LC-3 ACKNOWLEDGEMENT: This lecture uses slides prepared by Gregory T. Byrd, North Carolina State University 5-2 Instruction Set Architecture ISA = All of the programmer-visible components
More informationIntroduction to Computer Engineering. CS/ECE 252, Fall 2012 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison
Introduction to Computer Engineering CS/ECE 252, Fall 2012 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison Chapter 8 & 9.1 I/O and Traps I/O: Connecting to Outside World So
More informationLoad -- read data from memory to register. Store -- write data from register to memory. Load effective address -- compute address, save in register
Data Movement Instructions Load -- read data from memory to register LD: PC-relative mode LDR: base+offset mode LDI: indirect mode Store -- write data from register to memory ST: PC-relative mode STR:
More informationIntroduction to Computer Engineering. CS/ECE 252, Fall 2016 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison
Introduction to Computer Engineering CS/ECE 252, Fall 2016 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison Chapter 5 The LC-3 Instruction Set Architecture ISA = All of the
More informationEEL 5722C Field-Programmable Gate Array Design
EEL 5722C Field-Programmable Gate Array Design Lecture 12: Pipelined Processor Design and Implementation Prof. Mingjie Lin Patt and Patel: Intro. to Computing System * Stanford EE271 notes 1 Instruction
More informationIntroduction to Computer Engineering. Chapter 5 The LC-3. Instruction Set Architecture
Introduction to Computer Engineering CS/ECE 252, Spring 200 Prof. David A. Wood Computer Sciences Department University of Wisconsin Madison Chapter 5 The LC-3 Adapted from Prof. Mark Hill s slides Instruction
More informationSystem Calls. Chapter 9 TRAP Routines and Subroutines
System Calls Chapter 9 TRAP Routines and Subroutines Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University Certain operations require
More informationComputing Layers. Chapter 5 The LC-3
Computing Layers Problems Chapter 5 The LC-3 Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University Algorithms Language Instruction
More informationChapter 9 TRAP Routines and Subroutines
Chapter 9 TRAP Routines and Subroutines ACKNOWLEDGEMENT: This lecture uses slides prepared by Gregory T. Byrd, North Carolina State University 5-2 System Calls Certain operations require specialized knowledge
More informationInput & Output. Lecture 16. James Goodman (revised by Robert Sheehan) Computer Science 210 s1c Computer Systems 1 Lecture Notes
Computer Science 210 s1c Computer Systems 1 Lecture Notes Lecture 16 Input & Output James Goodman (revised by Robert Sheehan) Credits: Slides prepared by Gregory T. Byrd, North Carolina State University
More informationECE 411 Exam 1. This exam has 5 problems. Make sure you have a complete exam before you begin.
This exam has 5 problems. Make sure you have a complete exam before you begin. Write your name on every page in case pages become separated during grading. You will have three hours to complete this exam.
More informationIntroduction to Computer Engineering. CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison
Introduction to Computer Engineering CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison Chapter 8 & 9.1 I/O and Traps Aside Off-Topic: Memory Hierarchy 8-3
More informationIntroduction to Computer Engineering. CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison
Introduction to Computer Engineering CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison Chapter 5 The LC-3 Announcements Homework 3 due today No class on Monday
More informationIntro. to Computer Architecture Homework 4 CSE 240 Autumn 2005 DUE: Mon. 10 October 2005
Name: 1 Intro. to Computer Architecture Homework 4 CSE 24 Autumn 25 DUE: Mon. 1 October 25 Write your answers on these pages. Additional pages may be attached (with staple) if necessary. Please ensure
More informationTRAPs and Subroutines. University of Texas at Austin CS310H - Computer Organization Spring 2010 Don Fussell
TRAPs and Subroutines University of Texas at Austin CS310H - Computer Organization Spring 2010 Don Fussell System Calls Certain operations require specialized knowledge and protection: specific knowledge
More informationLC-3 Subroutines and Traps. (Textbook Chapter 9)"
LC-3 Subroutines and Traps (Textbook Chapter 9)" Subroutines" Blocks can be encoded as subroutines" A subroutine is a program fragment that:" lives in user space" performs a well-defined task" is invoked
More informationChapter 10 And, Finally... The Stack. ACKNOWLEDGEMENT: This lecture uses slides prepared by Gregory T. Byrd, North Carolina State University
Chapter 10 And, Finally... The Stack ACKNOWLEDGEMENT: This lecture uses slides prepared by Gregory T. Byrd, North Carolina State University 2 Stack: An Abstract Data Type An important abstraction that
More informationHomework 06. Push Z Push Y Pop Y Push X Pop X Push W Push V Pop V Push U Pop U Pop W Pop Z Push T Push S
Homework 06 1. How many TRAP service routines can be implemented in the LC-3? Why? Since the trap vector is 8 bits wide, 256 trap routines can be implemented in the LC-3. Why must a instruction be used
More informationChapter 5 - ISA. 1.The Von Neumann Model. The Stored Program Computer. Von Neumann Model. Memory
Chapter 5 - ISA 1.The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper Eckert and John Mauchly -- first general electronic computer. (or was it John V. Atanasoff in 1939?) Hard-wired program
More informationCOSC121: Computer Systems: Review
COSC121: Computer Systems: Review Jeremy Bolton, PhD Assistant Teaching Professor Constructed using materials: - Patt and Patel Introduction to Computing Systems (2nd) - Patterson and Hennessy Computer
More informationCopyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Computing Layers
Chapter 5 The LC-3 Original slides from Gregory Byrd, North Carolina State University Modified slides by C. Wilcox, S. Rajopadhye Colorado State University Computing Layers Problems Algorithms Language
More informationChapter 8 I/O. Computing Layers. I/O: Connecting to Outside World. I/O: Connecting to the Outside World
Computing Layers Problems Chapter 8 I/O Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University Algorithms Language Instruction Set
More informationOur Simulation Equivalent: -- readmemb( "os.bin" ) -- PC <== x0200
LC3 OS basics LC3 System Start-Up Assumptions We will write an OS for the LC3. What would a real LC3 do at start up? 1. BIOS execution --- PC points to BIOS (Basic IO System). --- POST: Test and initialize
More informationCopyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Review Topics
Second Midterm Review Slides Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University Review Topics LC-3 Programming /Stack Execution
More informationUNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi TAs: Sujith Surendran, Lisa Ossian, Minsub Shin Midterm Examination 4 In Class (50 minutes) Wednesday,
More informationIntroduction to Computer Engineering. CS/ECE 252, Fall 2016 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison
Introduction to Computer Engineering CS/ECE 252, Fall 2016 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison Chapter 7 & 9.2 Assembly Language and Subroutines Human-Readable
More informationIntroduction to Computer Engineering. CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison
Introduction to Computer Engineering CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison Chapter 7 & 9.2 Assembly Language and Subroutines Human-Readable Machine
More informationLec-memMapIOtrapJSR SYS_BUS
Lec-memMapIOtrapJSR Memory Mapped I/O: I/O Devices have read/write access via device registers. To send a word of data to a device, write to its memory-mapped address: ST R1, To receive a word
More informationChapter 4 The Von Neumann Model
Chapter 4 The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper Eckert and John Mauchly -- first general electronic computer. (or was it John V. Atanasoff in 1939?) Hard-wired program --
More informationECE 206, Fall 2001: Lab 3
ECE 206, : Lab 3 Data Movement Instructions Learning Objectives This lab will give you practice with a number of LC-2 programming constructs. In particular you will cover the following topics: - Load/store
More informationLC-3 TRAP Routines. Textbook Chapter 9
LC-3 TRAP Routines Textbook Chapter 9 System Calls Certain operations require specialized knowledge and protection: specific knowledge of I/O device registers and the sequence of operations needed to use
More informationUniversity of Illinois at Urbana-Champaign First Midterm Exam, ECE 220 Honors Section
University of Illinois at Urbana-Champaign First Midterm Exam, ECE 220 Honors Section Name: SOLUTION IS IN RED Thursday 15 February 2018 Net ID: Be sure that your exam booklet has ELEVEN pages. Write your
More informationChapter 4 The Von Neumann Model
Chapter 4 The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper Eckert and John Mauchly -- first general electronic computer. (or was it John V. Atanasoff in 1939?) Hard-wired program --
More informationCSIS1120A. 10. Instruction Set & Addressing Mode. CSIS1120A 10. Instruction Set & Addressing Mode 1
CSIS1120A 10. Instruction Set & Addressing Mode CSIS1120A 10. Instruction Set & Addressing Mode 1 Elements of a Machine Instruction Operation Code specifies the operation to be performed, e.g. ADD, SUB
More informationLC-3. 3 bits for condition codes (more later) Fixed-length instructions, with 4-bit opcodes. IIT CS 350 S 18- Hale
LC-3 (Little computer version 3) 16-bit address width, 16-bit addressability. (Word size is 16 bits) 65K possible memory addresses Signed integers are 2 s complement 8 General purpose registers (GPRs),
More informationThat is, we branch to JUMP_HERE, do whatever we need to do, and then branch to JUMP_BACK, which is where we started.
CIT 593 Intro to Computer Systems Lecture #11 (10/11/12) Previously we saw the JMP and BR instructions. Both are one-way jumps : there is no way back to the code from where you jumped, so you just go in
More information컴퓨터개념및실습. 기말고사 review
컴퓨터개념및실습 기말고사 review Sorting results Sort Size Compare count Insert O(n 2 ) Select O(n 2 ) Bubble O(n 2 ) Merge O(n log n) Quick O(n log n) 5 4 (lucky data set) 9 24 5 10 9 36 5 15 9 40 14 39 15 45 (unlucky
More informationCIT 593: Intro to Computer Systems Homework #4: Assembly Language Due October 18, 2012, 4:30pm. Name
CIT 593: Intro to Computer Systems Homework #4: Assembly Language Due October 18, 2012, 4:30pm Instructions You may print this document and write your answers here, or submit solutions on a separate piece
More informationThe Assembly Language of the Boz 5
The Assembly Language of the Boz 5 The Boz 5 uses bits 31 27 of the IR as a five bit opcode. Of the possible 32 opcodes, only 26 are implemented. Op-Code Mnemonic Description 00000 HLT Halt the Computer
More informationChapter 14 Design of the Central Processing Unit
Chapter 14 Design of the Central Processing Unit We now focus on the detailed design of the CPU (Central Processing Unit) of the Boz 7. The CPU has two major components: the Control Unit and the ALU (Arithmetic
More informationChapter 7 Central Processor Unit (S08CPUV2)
Chapter 7 Central Processor Unit (S08CPUV2) 7.1 Introduction This section provides summary information about the registers, addressing modes, and instruction set of the CPU of the HCS08 Family. For a more
More informationChapter 6 Programming the LC-3
Chapter 6 Programming the LC-3 Based on slides McGraw-Hill Additional material 4/5 Lewis/Martin Aside: Booting the Computer How does it all begin? We have LC-3 hardware and a program, but what next? Initial
More informationCS 2461: Computer Architecture I
Protecting System space : Computer Architecture I Instructor: Prof. Bhagi Narahari Dept. of Computer Science Course URL: www.seas.gwu.edu/~bhagiweb/cs2461/ System calls go to specific locations in memory
More informationRui 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 informationChapter 10 And, Finally... The Stack
Chapter 10 And, Finally... The Stack Memory Usage Instructions are stored in code segment Global data is stored in data segment Local variables, including arryas, uses stack Dynamically allocated memory
More informationThe PAW Architecture Reference Manual
The PAW Architecture Reference Manual by Hansen Zhang For COS375/ELE375 Princeton University Last Update: 20 September 2015! 1. Introduction The PAW architecture is a simple architecture designed to be
More informationFill in your name, section, and username. DO NOT OPEN THIS TEST UNTIL YOU ARE TOLD TO DO SO.
NAME: SECTION: USENAME: CS 20 Exam 2 D-Term 2006 Question : (5) Question 2: (5) Question 3: (20) Question 4: (20) Question 5: (0) Question 6: (0) Question 7: (0) TOTAL: (00) Fill in your name, section,
More informationECE 109 Sections 602 to 605 Final exam Fall December, 2007
ECE 109 Sections 602 to 605 Final exam Fall 2007 13 December, 2007 This is a closed book and closed notes exam. Calculators, PDA's, cell phones, and any other electronic or communication devices may not
More informationLogistics. IIT CS 350 S '17 - Hale
Logistics Remember: Lab 5 due next week not this week. Finish it early though so you can move on to Lab 6! Lab 2 grades in BB Required reading posted (Patt & Patel Ch. 5) First exam during class next Wednesday
More informationLC-3 Architecture. (Ch4 ish material)
LC-3 Architecture (Ch4 ish material) 1 CISC vs. RISC CISC : Complex Instruction Set Computer Lots of instructions of variable size, very memory optimal, typically less registers. RISC : Reduced Instruction
More informationCS401 - Computer Architecture and Assembly Language Programming Glossary By
CS401 - Computer Architecture and Assembly Language Programming Glossary By absolute address : A virtual (not physical) address within the process address space that is computed as an absolute number.
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING COMPUTER SCIENCES DEPARTMENT UNIVERSITY OF WISCONSIN-MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING COMPUTER SCIENCES DEPARTMENT UNIVERSITY OF WISCONSIN-MADISON Prof. Mark D. Hill & Prof. Parmesh Ramanathan TAs Kasturi Bidarkar, Ryan Johnson, Jie Liu,
More informationBinghamton University. CS-120 Summer LC3 Memory. Text: Introduction to Computer Systems : Sections 5.1.1, 5.3
LC3 Memory Text: Introduction to Computer Systems : Sections 5.1.1, 5.3 John Von Neumann (1903-1957) Princeton / Institute for Advanced Studies Need to compute particle interactions during a nuclear reaction
More informationChapter 7 Assembly Language
Chapter 7 Assembly Language Computing Layers Problems Algorithms Language Instruction Set Architecture Microarchitecture Circuits Devices 2 Human-Readable Machine Language Computers like ones and zeros
More informationChapter 7 Assembly Language. ACKNOWLEDGEMENT: This lecture uses slides prepared by Gregory T. Byrd, North Carolina State University
Chapter 7 Assembly Language ACKNOWLEDGEMENT: This lecture uses slides prepared by Gregory T. Byrd, North Carolina State University 2 Human-Readable Machine Language Computers like ones and zeros 0001110010000110
More informationMicroprogrammed Control. ECE 238L μseq 2006 Page 1
Microprogrammed Control ECE 238L μseq 26 Page 1 Sample Control Unit FSM Add Ld Ld1 Ld2 Jsr Jsr1 F F1 F2 D Ldi Ldi1 Ldi2 Ldi3 Ldi4 Ldr Ldr1 Ldr2 Not Sti Sti1 Sti2 Sti3 Sti4 ECE 238L μseq 26 Page 2 Sample
More informationAssembly Language. University of Texas at Austin CS310H - Computer Organization Spring 2010 Don Fussell
Assembly Language University of Texas at Austin CS310H - Computer Organization Spring 2010 Don Fussell Human-Readable Machine Language Computers like ones and zeros 0001110010000110 Humans like symbols
More informationChapter 4 The Von Neumann Model
Chapter 4 The Von Neumann Model The Stored Program Computer 1943: ENIAC Presper Eckert and John Mauchly -- first general electronic computer. (or was it John V. Atananasoff in 1939?) Hard-wired program
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING COMPUTER SCIENCES DEPARTMENT UNIVERSITY OF WISCONSIN-MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING COMPUTER SCIENCES DEPARTMENT UNIVERSITY OF WISCONSIN-MADISON Prof. Mark D. Hill & Prof. Parmesh Ramanathan TAs Kasturi Bidarkar, Ryan Johnson, Jie Liu,
More informationARM Cortex A9. ARM Cortex A9
ARM Cortex A9 Four dedicated registers are used for special purposes. The IP register works around the limitations of the ARM functional call instruction (BL) which cannot fully address all of its 2 32
More informationCopyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Computing Layers
Chapter 4 The Von Neumann Model Original slides from Gregory Byrd, North Carolina State University Modified slides by C. Wilcox, S. Rajopadhye, Colorado State University Computing Layers Problems Algorithms
More informationMajor and Minor States
Major and Minor States We now consider the micro operations and control signals associated with the execution of each instruction in the ISA. The execution of each instruction is divided into three phases.
More informationADD R3, R4, #5 LDR R3, R4, #5
ECE 109 Sections 602 to 605 Exam 2 Fall 2007 Solution 6 November, 2007 Problem 1 (15 points) Data Path In the table below, the columns correspond to two LC/3 instructions and the rows to the six phases
More informationLC-3 Input and Output
LC-3 Input and Output I/O: Connecting to Outside World So far, we ve learned how to: compute with values in registers load data from memory to registers store data from registers to memory use the TRAP
More informationCENG 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