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...



P.S. mod 10 of the student number is 1.


2. Design a simple microprocessor called Ege-ARM which is a simple 16-bit single-cycle<br>processor that implements a custom instruction set.<br>The processor should consist of the following four main components:<br>• A register file<br>• An Arithmetic and Logic Unit (ALU)<br>• A read-only instruction memory (IMEM)<br>• A read/write data memory (DMEM)<br>This processor has 8 registers (RO-R7) and the program code is stored as NM-bit<br>instructions (NM is a two digit, base ten number with M being equal to the mod 10 of<br>your student number, and N being 2 if M>=2 and being 3 if M<2. Thus, NM is a two digit<br>number in the interval [22,31]) in the IMEM. The processor implements three types of<br>instructions, an instruction format example for 22-bit instructions is shown at Table 1.<br>Some instruction examples are shown at Table 2.<br>TABLE-1: An Instruction Format Example<br>21:9 8:6 5:3 2:0<br>D (Data Processing) Opcode rd ra rb<br>000 rb<br>imm9<br>Туре<br>M (Memory)<br>B (Branch)<br>Opcode rd<br>Орcode<br>TABLE-2: Ege-ARM Instruction Examples<br>Opcode/<br>Instruction<br>Туре<br>Operation<br>Function<br>ADD rd, ra,rb<br>LDR rd, [rb]<br>B #imm9<br>Data Processing<br>Memory<br>rd = rd+rb<br>rd = DataMemory[rb]<br>pc = pc + imm9<br>0001<br>0010<br>Branch<br>0100<br>(a) Design the instruction format for your NM-bit instructions for each type of<br>instruction shown in Table 1. Different types of instructions with various parameter<br>types (register and immediate) should be supported in your designs.<br>• Design four types of data processing instructions that are not covered at the<br>lecture notes (such as EOR, RSB, ADC, SBC, RSC, TST, TEQ CMN, BIC, MVN, ..)<br>• Design two types of memory instructions, one load and one store operation.<br>• Design two types of branch instructions, one B and one BL operation.<br>See ARM-REFERENCE for more information about the instructions.<br>

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="">
Jun 11, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here