Study of X 86 Family
Study of X 86 Family
org (ISSN-2349-5162)
Shreya Shivalkar
Student, Department of ETRX,
Shree L.R. Tiwari College of Engineering,
Mira Road, Thane,
Mumbai, Maharashtra, India.
Shweta Yadav
Student, Department of ETRX,
Shree L.R. Tiwari College of Engineering,
Mira Road, Thane,
Mumbai, Maharashtra, India.
Anil Suthar
Student, Department of ETRX,
Shree L.R. Tiwari College of Engineering,
Mira Road, Thane,
Mumbai, Maharashtra, India.
Abstract-
The 8086 was introduced in 1978 as a fully 16-bit extension of Intel's 8-bit 8080 microprocessor, with
memory segmentation as a solution for addressing more memory.
The term "X86" came into being because the names of several successors to Intel's 8086 processor end in
"86", including the 80186, 80286, 80386 and 80486 processors.This paper is an in detail study of X-86 family
consisting of its features, advantages, applications, instruction set and overview of other processors/extensions
in the X-86 family.Architecture,Programmer's model and Various addressing modes are also explained briefly.
Keywords- X-86 family, Registers, Pipelining, Modes of operation, clock speed, Core
I. INTRODUCTION Intel and has evolved over time by the addition of new
instructions as well as the expansion to 64-bits. As of
The 8086 was introduced in 1978 as a fully 16-bit 2009, x86 primarily refers to IA-32 (Intel Architecture,
extension of Intel's 8-bit 8080 microprocessor, with 32-bit) and/or X86-64,the extension to 64 bit .Versions of
memory segmentation as a solution for addressing more the x86 instruction set architecture have been implemented
memory.The X86 instruction set architecture originated by by Intel, AMD and several other vendors,with each
vendor having its own family of x86 processors.
II. FEATURES
● Wide Range of Clock Rates
● High Performance Processor (Up to 19
Times the 8086 Throughput)
JETIR2004057 Journal of Emerging Technologies and Innovative Research (JETIR) www.jetir.org 399
© 2020 JETIR April 2020, Volume 7, Issue 4 www.jetir.org (ISSN-2349-5162)
Instruction pointer register contains the offset in the SF 7 Set equal to the most-
current code segment for the next instruction to be (Sign Flag) significant bit of the result. 0
executed. It is advanced from one instruction indicates a positive value,
whereas 1 indicates a
boundary to the next one in straight line
negative value.
code.Instruction pointer register cannot be accessed
directly by software. It is controlled implicitly by AF 1 Set if the integer result is too
control-transfer instructions such as JMP, JCC, (Auxiliary large a positive number or
CALL, RET and IRET, interrupts and exceptions. carry Flag) too small a negative number,
cleared otherwise.
[6]
JETIR2004057 Journal of Emerging Technologies and Innovative Research (JETIR) www.jetir.org 401
© 2020 JETIR April 2020, Volume 7, Issue 4 www.jetir.org (ISSN-2349-5162)
B. FPU Registers
There are Eight 80-bit floating point data
registers.They are named as
ST(0),ST(1),..ST(7).They are arranged in stacks and
are used for all floating-point arithmetic
operations.All floating-point instructions provide a
5-bit field that specifies which floating-point
Fig 7. XXM Registers
registers to use in the execution of the instruction.
All floating-point instructions other than loads are
performed on operands located in floating-point 5 ) Instruction Set of X-86 Microprocessors:
registers. Numbers are pushed onto the stack from
An instruction is a binary pattern designed inside a
memory, and are popped off the stack back to
microprocessor to perform a specific function. The
memory. There is no instruction allowing to transfer
entire group of instructions that a microprocessor
values directly to or from ALU registers. [5]
supports is called Instruction Set. 8086 has more
than 20,000 instructions.Instructions are classified
on the basis of functions they perform.The 8086
microprocessor supports 8 types of instructions −
● Data Transfer Instructions
● Arithmetic Instructions
● Bit Manipulation Instructions
● String Instructions
Fig 5. FPU Registers ● Program Execution Transfer Instructions
(Branch & Loop Instructions)
C.MMX Registers
● Processor Control Instructions
MMX defines eight registers, called MM0 through ● Iteration Control Instructions
MM7, and operations that operate on them. Each ● Interrupt Instructions
register is 64 bits wide and can be used to hold either
64-bit integers, or multiple smaller integers in a
"Packed" format. It provides arithmetic and logic
operations on 64-bit integer numbers.The extension a.) Data Transfer Instructions:
contains 16 data registers of 64-bits and eight
control registers of 32-bits.[2] The data transfer instructions are used to transfer
data from one location to another. This transfer of
data can be either from register to register, register
to memory or memory to register.It is important to
note here that the memory to memory transfer of
data directly is not possible.All the store, move,
load, exchange, input and output instructions belong
to this category. These instructions do not affect any
flags.[1]
Fig 6. MMX Registers For eg: MOV, PUSH, IN, OUT etc
D.XMM Registers
b.) Arithmetic Instructions:
These registers can be accessed directly using the
names XMM0 to XMM7; and they can be These instructions perform the arithmetic
accessed independently from the X87 FPU and operations, like addition, subtraction, multiplication
MMX registers and the General-purpose and division along with the respective ASCII and
registers.XMM registers can only be used to decimal adjust instructions. The increment and
perform calculations on data; they cannot be used decrement operations also belong to this type of
to address memory.Data can be loaded into or instructions. The arithmetic instructions affect all
written from the registers to memory in 32-bit, 64- the condition code flags.Unlike in 8085
bit, and 128-bit increments.[4] microprocessor, in 8086 microprocessor the
destination operand need not be the accumulator.[4]
JETIR2004057 Journal of Emerging Technologies and Innovative Research (JETIR) www.jetir.org 402
© 2020 JETIR April 2020, Volume 7, Issue 4 www.jetir.org (ISSN-2349-5162)
JETIR2004057 Journal of Emerging Technologies and Innovative Research (JETIR) www.jetir.org 404
© 2020 JETIR April 2020, Volume 7, Issue 4 www.jetir.org (ISSN-2349-5162)
processors are also based on the Core architecture, d) Indexed Addressing Mode :
they are available under the Xeon brand
In this mode, the effective address is calculated by
adding the unsigned 16-bit or sign-extended 8-bit
displacement and the contents of SI or DI.The
effective address is the sum of index register and
displacement.
VI. ADDRESSING MODES
For eg:MOV AX, [SI+2000]
The term addressing modes refers to the way in e.)Based-index addressing mode
which the operand of an instruction is specified. The
addressing mode specifies a rule for interpreting or The based indexed addressing modes are simply
modifying the address field of the instruction before combinations of the register indirect addressing
the operand is actually executed. modes. In this addressing mode, the offset address
The 8086 memory addressing modes provide of the operand is computed by summing the base
flexible access to memory, allowing you to easily register to the contents of an Index register.
access variables, arrays, records, pointers, and other
complex data types. The key to good assembly Example: ADD CX, [AX+SI]
language programming is the proper use of memory
addressing modes[8]
. f.)Based indexed with displacement mode
a.)Immediate addressing mode
In this addressing mode, the operands offset is
The addressing mode in which the data operand is a computed by adding the base register contents. An
part of the instruction itself is known as immediate Index registers contents and 8 or 16-bit
addressing mode.The 16-bit effective address (EA) displacement.These addressing modes are a slight
is taken directly from the displacement field of the modification of the base/indexed addressing modes
instruction. The displacement (unsigned 16-bit or with the addition of an eight bit or sixteen bit
sign-extended 8-bit number) is stored in the location constant.
following the instruction opcode.
Example:
For eg:ADD AL MOV AX, [BX+DI+08]
This addressing mode allows data to be addressed at This addressing mode is related to string
any memory location through an offset address held instructions. In this the value of SI and DI are auto
in any of the following registers: BP, BX, DI & SI. incremented and decremented depending upon the
Indirect addressing is generally used for variables value of directional flag.[7]
containing several elements like arrays.
Example: MOVS B
For eg::MOV AX, [BX]
to function in a way that would be significantly more above.The microprocessor is one of the most
difficult or even impossible without proper significant inventions in the field of technology
hardware support.[] because of its effect on technologic engineering,
different aspects of life, and of course how it can
B.) Real Mode store data larger than the size of the actual chip. The
impacts the microprocessor had had on life and
Real mode programming involved manipulating whether it was for the better the invention was made
data between 0 and 1 MB. The memory there was is a controversy that still goes to this day.
accessible by any program running in memory. And
while, generally speaking, there weren’t multiple
programs running in memory at the same time, the
OS had to set up things called “interrupt handlers”
XI. REFERENCES
because the x86 architecture is interrupt driven. The
processor calculates the physical address of a
1. Kinnari Prakashan, TPS Computer Science
memory reference by shifting the value of a segment
- II, STD. XII.
register to the left by 4 binary digits and then adding
2. John Crisp, Introduction of Microprocessor
the offset address to this value. Thus, two 16-bit
and Microcontroller,
values (segment and offset) are combined to form a
3. R.D.Supekar, Vaishali Ghule, Taraka
single 20-bit physical address. There are no linear
Ghamande, Vilas Karmude, XIIth
addresses in real mode.[9]
Computer Science, Revised Ed.
4. www.eeeguide.com
VII. ADVANTAGES OF X-86 FAMILY 5. en.wikibooks.org
6. https://www.javatpoint.com/instruction-
set-of-8086
● It was the world's first general purpose
7. https://www.studytonight.com/computer-
microprocessor.
architecture/addressingmodes-
● Protected mode and Real mode were
instructioncycle
introduced.
8. www.javatpoint.com/instruction-set-of-
● Processors were highly pipelined.
8086
● Clock speed was increased.
9. www.tutorialspoint.com/microprocessor/
● Development of “NetBurst" architecture.
microprocessor_8086_instruction_sets.ht
● Notions like “Hyper-Threading”, and
m
“Multi-Core” chips were introduced.
10. www.google.com
● Due to X-86 microprocessors, “Multi-
core” desktop versions were
developed.[1]
X. CONCLUSION
In this article I have discussed briefly about all the
arithmetic and logical instructions of X-86
microprocessors and all the registers are shown in
JETIR2004057 Journal of Emerging Technologies and Innovative Research (JETIR) www.jetir.org 406