Please see below the discussion in response to the original question asked and respond as a peer using 150 or more words.
Original Question: Please conduct your own research on Instruction Set Architecture (ISAs). Look over how they process address memory. Compare the similarities and differences of format, instructions, type of instructions, and addressing modes.
Good day, all!
Instruction Set Architecture (ISA) can be described as the interface between a computer’s hardware and software. ISA dictates what a particular computer will support in terms of the computer’s features such as various hardware, I/O devices, registers, processors, etc. For instance, both Intel and AMD can build a processor using the x86 instruction set, but the physical formation of components within the two processors may be completely different. The instruction set simply serves as the basic outline for the computer, but leaves the actual implementation up to the builder. There are several types of ISAs including Reduced Instruction Set Computer (RISC), Complex Instruction Set Computer (CISC), and Minimal Instruction Set Computer (MISC). Each of these architectures consist of different strategies for storing and processing data.
Microprocessors Without Interlocked Pipelined Stages (MIPS) is an architecture which uses the RISC instruction set. It consists of thirty-two 32-bit registers and defines instructions such as Load and Store (for moving data between registers and memory), arithmetic instructions (add, multiply, etc.) and instructions for jumping to control the flow of data. Each instruction in this architecture holds 32 bits, and comes in one of three formats: R-type, I-type, and J-type. Each one begins with a 6 bit operation code which defines what operation is to be performed. R-type instructions also consist of 5 bits for the indices of two source registers, 5 bits for a destination register, 5 bits to define the shift amount, and 6 bits for the function to be performed. I-type instructions are used for immediate values, and J-type is used for jumping operations.
As mentioned above, the x86 instruction set holds some differences compared to the MIPS architecture. It consists of six general purpose registers and two special purpose registers (the stack pointer and base pointer). All registers are 32 bits long. Four of the six general purpose registers hold the ability to divide the register into one unique 16-bit subsection and two unique 8-bit subsections. x86 utilizes data movement instructions (such as mov, push, and pop), arithmetic instructions (such as logical operations, add, subtract, etc.) and control flow instructions (such as jump and compare). x86 allows for memory regions to be declared using labels, which the assembler replaces with 32-bit quantities that specify addresses in memory.
Thanks all and have a great day!