P.S. mod 10 of the student number is 1.
Extracted text: 2. Design a simple microprocessor called Ege-ARM which is a simple 16-bit single-cycle processor that implements a custom instruction set. The processor should consist of the following four main components: • A register file • An Arithmetic and Logic Unit (ALU) • A read-only instruction memory (IMEM) • A read/write data memory (DMEM) This processor has 8 registers (RO-R7) and the program code is stored as NM-bit instructions (NM is a two digit, base ten number with M being equal to the mod 10 of your student number, and N being 2 if M>=2 and being 3 if M<2. thus, nm is a two digit number in the interval [22,31]) in the imem. the processor implements three types of instructions, an instruction format example for 22-bit instructions is shown at table 1. some instruction examples are shown at table 2. table-1: an instruction format example 21:9 8:6 5:3 2:0 d (data processing) opcode rd ra rb 000 rb imm9 туре m (memory) b (branch) opcode rd орcode table-2: ege-arm instruction examples opcode/ instruction туре operation function add rd, ra,rb ldr rd, [rb] b #imm9 data processing memory rd = rd+rb rd = datamemory[rb] pc = pc + imm9 0001 0010 branch 0100 (a) design the instruction format for your nm-bit instructions for each type of instruction shown in table 1. different types of instructions with various parameter types (register and immediate) should be supported in your designs. • design four types of data processing instructions that are not covered at the lecture notes (such as eor, rsb, adc, sbc, rsc, tst, teq cmn, bic, mvn, ..) • design two types of memory instructions, one load and one store operation. • design two types of branch instructions, one b and one bl operation. see arm-reference for more information about the instructions. thus,="" nm="" is="" a="" two="" digit="" number="" in="" the="" interval="" [22,31])="" in="" the="" imem.="" the="" processor="" implements="" three="" types="" of="" instructions,="" an="" instruction="" format="" example="" for="" 22-bit="" instructions="" is="" shown="" at="" table="" 1.="" some="" instruction="" examples="" are="" shown="" at="" table="" 2.="" table-1:="" an="" instruction="" format="" example="" 21:9="" 8:6="" 5:3="" 2:0="" d="" (data="" processing)="" opcode="" rd="" ra="" rb="" 000="" rb="" imm9="" туре="" m="" (memory)="" b="" (branch)="" opcode="" rd="" орcode="" table-2:="" ege-arm="" instruction="" examples="" opcode/="" instruction="" туре="" operation="" function="" add="" rd,="" ra,rb="" ldr="" rd,="" [rb]="" b="" #imm9="" data="" processing="" memory="" rd="rd+rb" rd="DataMemory[rb]" pc="pc" +="" imm9="" 0001="" 0010="" branch="" 0100="" (a)="" design="" the="" instruction="" format="" for="" your="" nm-bit="" instructions="" for="" each="" type="" of="" instruction="" shown="" in="" table="" 1.="" different="" types="" of="" instructions="" with="" various="" parameter="" types="" (register="" and="" immediate)="" should="" be="" supported="" in="" your="" designs.="" •="" design="" four="" types="" of="" data="" processing="" instructions="" that="" are="" not="" covered="" at="" the="" lecture="" notes="" (such="" as="" eor,="" rsb,="" adc,="" sbc,="" rsc,="" tst,="" teq="" cmn,="" bic,="" mvn,="" ..)="" •="" design="" two="" types="" of="" memory="" instructions,="" one="" load="" and="" one="" store="" operation.="" •="" design="" two="" types="" of="" branch="" instructions,="" one="" b="" and="" one="" bl="" operation.="" see="" arm-reference="" for="" more="" information="" about="" the="">2. thus, nm is a two digit number in the interval [22,31]) in the imem. the processor implements three types of instructions, an instruction format example for 22-bit instructions is shown at table 1. some instruction examples are shown at table 2. table-1: an instruction format example 21:9 8:6 5:3 2:0 d (data processing) opcode rd ra rb 000 rb imm9 туре m (memory) b (branch) opcode rd орcode table-2: ege-arm instruction examples opcode/ instruction туре operation function add rd, ra,rb ldr rd, [rb] b #imm9 data processing memory rd = rd+rb rd = datamemory[rb] pc = pc + imm9 0001 0010 branch 0100 (a) design the instruction format for your nm-bit instructions for each type of instruction shown in table 1. different types of instructions with various parameter types (register and immediate) should be supported in your designs. • design four types of data processing instructions that are not covered at the lecture notes (such as eor, rsb, adc, sbc, rsc, tst, teq cmn, bic, mvn, ..) • design two types of memory instructions, one load and one store operation. • design two types of branch instructions, one b and one bl operation. see arm-reference for more information about the instructions.>