Design a simple microprocessor called Custom-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 (R0-R7) and the program code is stored as 22-bit instructions 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. A-) Design the instruction format for your 22-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 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.   B-) Design your own ALU to support the instructions in your microprocessor more efficiently. You should add the four new data processing operations designed at step (a) to the ALU which implements ADD, SUB, AND and ORR operations. You can draw only the new additions/changes to the ALU C-) Design and draw the datapath of the Custom-ARM processor by introducing connections to the components listed below. Show necessary control signals from the Control Unit. Data Path Components: Program Counter: One 16-bit register Register File: 8 registers that hold 16-bit Instruction Memory: 16-bit address input, and outputs 22-bit Data Memory: 16-bit read/write memory ALU: Performs arithmetic and logical operations   D-) Design the control unit of the Custom-ARM processor. The Control Unit generates necessary signals to the datapath. Show boolean functions for each signal at Main Decoder and ALU Decoder tables of the control unit. Check single-cycle ARM processor design in the lecture slides to design the signals such as MemToReg, MemWrite, RegWrite, ALUSrc, Branch …

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Topic Video
Question

Design a simple microprocessor called Custom-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 (R0-R7) and the program code is stored as 22-bit instructions 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.

A-) Design the instruction format for your 22-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 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.

 

B-) Design your own ALU to support the instructions in your microprocessor more efficiently. You should add the four new data processing operations designed at step (a) to the ALU which implements ADD, SUB, AND and ORR operations. You can draw only the new additions/changes to the ALU

C-) Design and draw the datapath of the Custom-ARM processor by introducing connections to the components listed below. Show necessary control signals from the Control Unit.


Data Path Components:
Program Counter: One 16-bit register
Register File: 8 registers that hold 16-bit
Instruction Memory: 16-bit address input, and outputs 22-bit
Data Memory: 16-bit read/write memory
ALU: Performs arithmetic and logical operations

 

D-) Design the control unit of the Custom-ARM processor. The Control Unit generates necessary signals to the datapath. Show boolean functions for each signal at Main Decoder and ALU Decoder tables of the control unit. Check single-cycle ARM processor design in the lecture slides to design the signals such as MemToReg, MemWrite, RegWrite, ALUSrc, Branch …

TABLE-1: An Instruction Format Example
21:9 8:6 5:3
2:0
Туре
D (Data Processing) Opcode rd
ra
rb
M (Memory)
Opcode rd
000
rb
B (Branch)
Орсode
imm9
Transcribed Image Text:TABLE-1: An Instruction Format Example 21:9 8:6 5:3 2:0 Туре D (Data Processing) Opcode rd ra rb M (Memory) Opcode rd 000 rb B (Branch) Орсode imm9
TABLE-2: Ege-ARM Instruction Examples
Instruction
Туре
Орсode/
Operation
Function
ADD rd,ra,rb
Data Processing
Memory
0001
rd = rd+rb
LDR rd, [rb]
0010
rd = DataMemory[rb]
B #imm9
Branch
0100
рс 3 рс + imm9
Transcribed Image Text:TABLE-2: Ege-ARM Instruction Examples Instruction Туре Орсode/ Operation Function ADD rd,ra,rb Data Processing Memory 0001 rd = rd+rb LDR rd, [rb] 0010 rd = DataMemory[rb] B #imm9 Branch 0100 рс 3 рс + imm9
Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Instruction Format
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education