Free Essay

80386 Microprocessor

In: Other Topics

Submitted By barkha18
Words 4779
Pages 20
80386 MICROPROCESSOR It is a 32-bit microprocessor. It has 32 bit data bus and 32 bit address bus, so it can address up to 232 = 4GB of RAM.
Features -Multitasking -Memory management -Software protection -Segmentation and paging -Large memory system(64Tbytes in virtual mode)
Operating modes -Real mode -Protected mode -Virtual mode
Internal architecture: There are 6 parallel functional units:
-The bus unit: The bus interface unit provides a 32-bit data bus, a 32-bit address bus and control signals. 8-bit (byte), 16-bit (word) and 32-bit (double word) data transfers are supported. It has separate pins for its address and data bus lines. This processing unit contains the latches and drivers for the address bus, transceivers for the data bus, and control logic for signaling whether a memory input/output, or interrupt acknowledgement bus cycle is to be performed. -The prefetch unit: The prefetch unit performs a mechanism known as an instruction stream queue. This queue permits a prefetch up to 16 bytes (8 memory words) of instruction code which is used by the instruction decoder. Whenever bytes are loaded into the queue they are automatically shifted up through the FIFO to the empty location near the output. -The decode unit: It reads the machine-code instructions from the output side of the prefetch queue and decodes them into microcode instruction format. The instruction queue, a part of the decode unit permits three fully decoded instructions to be held waiting for use by the execution unit. -The execution unit: The execution unit involves the arithmetic/logic unit-ALU, registers, special multiply, divide, and shift hardware, and a control ROM. The control ROM contains the microcode sequences. The execution unit reads the decoded instructions from the instruction queue and performs the operations that are specified. During the execution of an instruction, it requests the segment and page units to generate operand addresses and the bus interface unit to perform read or write bus cycles to access data in memory or I/O devices.

-The segment unit: It produces a translated linear address which the paging unit translates into the physical address. The instructions requiring memory reference send their request to the segmentation unit for logical unit computation and translation and segment protection violation checking. -The page unit: It translates the linear address generated by prefetch unit to physical address before the prefetch bus cycle request is send to the bus interface unit. It also checks for paging violation.
Pin structure of 80386 MICROPROCESSOR: 80386DX microprocessor is a 132-pin pin grid array. The functions of the 80386 pins are as follows: 1) A31-A2: These are the Address Bus connections used to address any of the 1G*32 memory locations found in the memory system. 2) D31-D0: These are the data bus connections used for the transfer of data between the microprocessor and its memory and the I/O systems. 3): These are the Bank Enable signals used to access a byte, word or a double word data from any of the 4 memory banks. These signals are generated internally by the microprocessor with the help of the least two significant lines of the address bus i.e. A1 and A0.
4) M/: This is a memory or IO status signal. When this is 1, a memory device is selected for memory operation and when it is 0, an IO device is selected for IO operation.
5) W/ : This is write/read control signal. When it is 0, it indicates that the read operation is to be performed and when it is 1, it indicates that write operation is to be performed.
6) : This is the Address Data Strobe signal. It becomes active when a valid IO or memory address is issued by the microprocessor.
7) RESET: This is the Reset signal. When this becomes active, the microprocessor is reset to the real mode causing it to begin execution from the memory location FFFFFFF0 H.
8) CLK2: This is the clock signal. It is driven by a clock signal that is two times the operating frequency of the 80386 microprocessor.
9): This is the READY signal. It controls the number of wait states that are inserted into the timing to control memory access in case of slower peripheral devices.
10) : Lock becomes 0 when an instruction is prefixed by the LOCK prefix. This is mostly used in DMA access.
11) D/ -Data/Control: When this pin is at logic 1, it indicates that the data bus of the microprocessor contains data for or from the memory or IO device. When it is at logic 0, it indicates that the microprocessor is currently halted or executing an interrupt acknowledge.
12) - Bus size 16: When this pin is at logic 1, it selects a 32 bit data bus and when it is at logic 0, it selects a 16 bit data bus.
13) -Next Address: This pin causes the microprocessor to output the address of the next instruction data in the current bus cycle. This pin is used at the time of pipe-lining.
14) HOLD: This signal requests a DMA action.
15) HLDA – Hold Acknowledge: It indicates that 80386 is currently in the hold state.
16) - Coprocessor request: This signal asks the 80386 microprocessor to release the control and is a direct connection to the 80387 arithmetic coprocessor.
17) : This is an input signal that is used by the WAIT and FWAIT instructions that wait for the coprocessor to become not busy. This is also a direct connection to the 80387 arithmetic coprocessor from 80386 microprocessor.
18) : This pin indicates to the microprocessor that an error has been detected by the coprocessor.
19) INTR – Interrupt request : This pin is used by the external circuitry to request an interrupt.
20) NMI –Non-Maskable Interrupt: This pin requests a non-maskable interrupt.

ADDRESSING MODES: The data addressing modes of 80386 microprocessor are as follows: 1) Register Addressing: The operands in the instructions are registers or memory locations. These registers may be 16-bit or 32-bit. Eg: MOV CX, DX – This instruction transfers a word from source register DX to destination register CX. 2) Immediate Addressing: The operand is an immediate byte or word of data. The data may also be a double-word.
Eg: MOV EAX, FFFFFFFFH – This instruction transfers the double-word immediate data FFFFFFFFH to the 32-bit wide register EAX. 3) Direct Addressing: The operand is a memory address that is in the data segment. This memory location may be word-sized or double word-sized. Eg: MOV EAX, LOC – This instruction copies the double word contents of memory address LOC in the data segment into EAX. 4) Register Indirect Addressing : A memory location is addressed by an index or base register. These index and base registers are BP,BX,DI,SI and their extended versions. Eg: If the contents of the register BX are 1234H,then the instruction MOV AX,[BX] copies the contents the data segment memory offset address 1234H into the register AX. 5) Base-Plus-Index Addressing: The operand is a memory location that is addressed by a base register plus an index register. The base register may be like BP or BX and the index register may be like SI,DI and their extended versions. Eg: MOV CL,[EDX+EDI] –This instruction copies the byte contents of the memory location addressed by EDX plus EDI into register CL. 6) Register Relative Addressing: The operand is a memory location that is addressed by an index or base register plus displacement. 7) Eg: The instruction MOV AX,[DI+100H] copies the word contents of the data segment memory location that is addressed by DI plus 100H into register AX. 8) Base Relative-Plus-Plus-Index Addressing: The operand is a memory location that is addressed by a base and an index register plus displacement. 9) Eg: The instruction MOV AX,[BX+DI+4] copies a word of data from a memory location addressed by the sum of BX,DI and 4 into the register AX. 10) Scaled-Index Addressing: Here, the operand memory address is generated by the second register multiplied by a scaling factor. This kind of addressing uses two 2-bit registers. Eg: MOV AL,[EAX+4*EBX] instruction copies byte-sized contents of the data segment memory location that is addressed by EAX plus 4 times EBX into the register AL.The scaling factor may be 2,4,8 to access a word, a double-word or a quad-word memory array data.

Register Structure:

1)General purpose registers: -EAX(Accumulator) [AX, AH, AL]: It holds the temporary results after an arithmetic and logic operation. -EBX(Base Register)[BX, BH, BL]: It holds the offset address of a location in memory system. - ECX(Count)[CX,CH,CL]: It holds the counts for the various instructions and can also hold the offset address of a memory data. Used in repeated string instructions, shift, rotate, loop. -EDX(Data)[DX, DH, DL]: It holds the part of the result from a multiplication or a part of the dividend before a division. -EBP(Base Pointer)[BP]: It points to the 16 bit or 32 bit memory location. -EDI(Destination Index)[DI] : Addresses the string destination data for string instructions. -ESI(Source Index)[SI]: It addresses the source string data for string instructions.
2)Special Purpose Registers: -EIP(Instruction pointer)[IP]: The instruction pointer points to the next instruction in the program located within the code segment. -ESP(Stack Pointer)[SP]: It addresses an area of memory called the stack. The stack memory stores the data using this pointer. -EFLAGS(Flag register)[FLAGS]: -C(Carry Flag): This holds the carry after addition or borrow after subtraction. It also indicates the error condition dictated by some programs and procedures. -P(Parity Flag): P=0 for odd parity and P=1 for even parity. -A(Auxiliary Carry): it holds the carry after addition or borrow after subraction between bits 3 and 4 of the result. -Z(Zero Flag): Z=1 if the result is zero and Z=0 otherwise after the arithmetic or logic operations. -S(Sign flag): If S=1 the sign bit is set or negative. If S=0 the sign bit is cleared or positive after the execution of arithmetic and logic instructions. -T(Trap): The trap flag enables the trapping through an on-chip debugging feature. If T=0 the trap is disabled. -I(Interrupt): If I=1 the INTR pin is enabled. If I=0 the INTR pin is disabled. -D(Direction): If D=1 the registers are automatically decremented. If D=0 the registers are automatically incremented. -O(Overflow): O=1 indicates that an overflow has occurred when signed numbers are added or subtracted. For unsigned operations, the overflow flag is ignored. -IOPL(I/O Privilege level): it is used in protected mode operation to select the privilege level for I/O devices.00 is the highest or most trusted and 11 is the lowest or least trusted. -NT(Nested task): It indicates that the current task is nested within another task in protected mode of operation. -RF(resume): This flag is used with debugging to control the resumption of execution after the next instruction. -VM(Virtual Mode): This flag bit selects the virtual mode operation in protected mode system.
3)Segment registers: -CS(Code): In real mode operation, it defines the start of 64KB memory. In protected mode,it selects a descriptor that describes the starting address and length of a section of memory holding code. -DS(Data): The data segment is a section of the memory that contains most data used by a program which can be accessed by an offset address. -ES(Extra): This is an additional data segment used by some of the string instructions to hold destination data. -SS(Stack): The stack segment defines the area of memory used for the stack. The location of the most accessible element is determined by the stack pointer register and the BP register. -FS and GS: The FS and GS segments are the supplemental segment registers available in 80386. They allow 2 additional memory segments for acces by programs.
4)Control Registers: There are three Control registers CR0,CR2 & CR3.

(CR1 is left undefined by Intel). (I)CR0: (MSW- Machine Status Word) 0. PE: (Protection Enable) If PE=1-protected mode, PE=0 real-address mode. 1. MP: (Math Present): If set assumes that the arithmetic coprocessor is attached.
2. EM: (Emulate Co-processor) this bit is set to cause a type 7 interrupt for each ESC instruction
3. TS: (Task Switched): It indicates 80386 has switched tasks in protected mode.
4. ET: (Extension type) ET indicates the type of coprocessor present in the system (80287 if ET=0 or 80387 if ET=1).
5 .PG: (Paging) When set enables paging and if reset disables paging in MMU.
(II)CR2: It holds the linear page address of the last page accessed before a page fault interrupt. (III)CR3: It holds the base address of the page directory.
5) Debug and Test Registers:
There are 8 debug registers for hardware debugging. Out of these DR0 to DR7, two registers DR4 and DR5 are Intel reserved.DR0 to DR3 store four program controllable breakpoint addresses. DR6 and DR7 respectively hold breakpoint status and breakpoint control information. There are two test registers TR6 and TR7.The test registers are used to perform confidence checking on the paging MMU’s translation look aside buffer (TLB).By writing into this register one can initiate write directly into 80386 TLB or perform a mock TLB lookup. TR6 is test command register and TR7 is test data register.

Software models of 80386:
1) Real mode: After reset, the 80386 starts from memory location FFFFFFF0H under the real address mode. In real mode, the default operand size is 16 bits but 32- bit operands and addressing modes may be used with the help of override prefixes. Real mode Operation allows microprocessor to address only first 1M of memory using address lines A0-A19.The segment size in real mode is 64k, hence the 32-bit effective addressing must be less than 0000FFFFFH. Segments and offset: A combination of a segment address and an offset access a memory location in the real mode. The segment address is located within one of the segment registers which defines the beginning address. The offset address selects any location within 64Kbyte Memory segment. If segment register contains 1000H, but the starting address of the segment is taken as 10000H. In real mode each segment is internally appended with 0H on its rightmost end. This forms a 20 bit memory address. Because of internally appending 0 real mode segments can only begin at a 16-byte boundary in the memory system, this 16-byte boundary is called paragraph.

The segments in 80386 real mode may be overlapped or non-overlapped. The interrupt vector table of 80386 has been allocated 1Kbyte space starting from 00000H to 003FFH.

2)Protected mode: Protected mode memory addressing allows access to data and program located above the first 1M byte as well as within the first 1M byte of memory. No segment address is present in protected mode as it was in the real mode, instead the segment register contains a selector that selects a descriptor from the descriptor table. The descriptor table describes the memory segment’s location, length and access rights. The paging unit is a memory management unit enabled only in protected mode. The paging mechanism allows handling of large segments of memory in terms of pages of 4Kbyte size. -Selectors and descriptors: The selector is located in segment register which selects one of the 8192 descriptors from one of two tables of descriptors. There are two descriptor tables used with the segment registers: one contains global descriptors and other contains local descriptors. The global descriptors contain the segment definition that applies to all programs while the local descriptors are usually unique to an application. Each descriptor table contains 8192 descriptors, so total 16,384 descriptors are available to an application at a time. -Descriptor Tables: There are 3 types of the 80386 descriptor tables are listed as follows: •Global Descriptor Table (GDT) •Local Descriptor Table (LDT) •Interrupt Descriptor Table (IDT) -Descriptors: The 80386 descriptors have a 20-bit segment limit and 32-bit segment address. The descriptors of 80386 are 8-byte quantities having access rights or attribute bits along with the base and limit of the segments. -Base (B31-B0): It defines the starting 32 bit address of the segment within the 4GB physical address space. -Limit (L19-L0): It defines the limit of the segment in units of bytes, if G=0 else in units of 4KB if G=1. -Access Rights: it determines the privilege level and other information about the segment. -Descriptor Attribute Bits: -The D bit specifies the code segment operation size. If D=1, the segment is a 32-bit operand segment, else, it is a 16-bit operand segment. -The G (granularity): If G=0, the limit specifies the segment limit of 1 to 1 Mbyte in length as the limit is 20 bit long. If G=1, the limit is appended by 000H. This allows the segment length to be of 4 Kbytes to 4GB. -The AVL (available) bit specifies whether the descriptor is available for user (AVL=1) or not (AVL=0).
The 80386 has five types of descriptors listed as follows:
1. Code or Data Segment Descriptors.
2. System Descriptors.
3. Local descriptors.
4. TSS (Task State Segment) Descriptors.
5. GATE Descriptors.
The 80386 provides a four level protection mechanism exactly in the same way as the
80286 does.

Paging is one of the memory management techniques used for virtual memory multitasking operating system. The segmentation scheme may divide the physical memory into a variable size segments but the paging divides the memory into a fixed size pages. The segments are supposed to be the logical segments of the program, but the pages do not have any logical relation with the program. The pages are just fixed size portions of the program module or data. The advantage of paging scheme is that the complete segment of a task need not be in the physical memory at any time. Only a few pages of the segments, which are required currently for the execution, need to be available in the physical memory. Thus the memory requirement of the task is substantially reduced, relinquishing the available memory for other tasks. Whenever the other pages of task are required for execution, they may be fetched from the secondary storage. The previous page which is executed need not be available in the memory, and hence the space occupied by them may be relinquished for other tasks. Thus paging mechanism provides an effective technique to manage the physical memory for multitasking systems.
-Paging Unit: The paging unit of 80386 uses a two level table mechanism to convert a linear address provided by segmentation unit into physical addresses.

The paging unit converts the complete map of a task into pages, each of size 4K. The task is further handled in terms of its page, rather than segments. The paging unit handles every task in terms of three components namely page directory, page tables and page itself.
-Paging Descriptor Base Register: The CR3 is used as page directory physical base address register, to store the physical starting address of the page directory. The lower 12 bits of the CR3 are always zero to ensure the page size aligned directory. A move operation to CR3 automatically loads the page table entry caches and a task switch operation, to load CR0 suitably.
-Page Directory: This is at the most 4Kbytes in size. Each directory entry is of 4 bytes, thus a total of 1024 entries are allowed in a directory. The upper 10 bits of the linear address are used as an index to the corresponding page directory entry. The page directory entries point to page tables.
-Page Tables: Each page table is of 4Kbytes in size and many contain a maximum of
1024 entries. The page table entries contain the starting address of the page and the statistical information about the page. The upper 20 bit page frame address is combined with the lower 12 bit of the linear address. The address bits A12- A21 are used to select the 1024 page table entries. The page table can be shared between the tasks.
•The P bit of the above entries indicates if the entry can be used in address translation.
•If P=1, the entry can be used in address translation, otherwise it cannot be used.
•The P bit of the currently executed page is always high.
•The accessed bit A is set by 80386 before any access to the page. If A=1, the page is accessed, else unaccessed.
•The D bit (Dirty bit) is set before a write operation to the page is carried out. The D-bit is undefined for page director entries.
•The OS reserved bits are defined by the operating system software.
•The User / Supervisor (U/S) bit and read/write bit are used to provide protection. These bits are decoded to provide protection under the 4 level protection model.
•The level 0 is supposed to have the highest privilege, while the level 3 is supposed to have the least privilege.
•This protection provide by the paging unit is transparent to the segmentation unit.

Virtual Mode
In its protected mode of operation, 80386DX provides a virtual 8086 operating environment to execute the 8086 programs. The real mode can also used to execute the 8086 programs along with the capabilities of 80386, like protection and a few additional instructions.
Once the 80386 enters the protected mode from the real mode, it cannot return back to the real mode without a reset operation. Thus, the virtual 8086 mode of operation of 80386, offers an advantage of executing 8086 programs while in protected mode. The address forming mechanism in virtual 8086 mode is exactly identical with that of 8086 real mode. In virtual mode, 8086 can address 1Mbytes of physical memory that may be anywhere in the 4Gbytes address space of the protected mode of 80386.Like 80386 real mode, the addresses in virtual 8086 mode lie within 1Mbytes of memory. In virtual mode, the paging mechanism and protection capabilities are available at the service of the programmers. The 80386 supports multiprogramming, hence more than one programmer may use the CPU at a time. Paging unit may not be necessarily enable in virtual mode, but may be needed to run the 8086 programs which require more than 1Mbyts of memory for memory management function. In virtual mode, the paging unit allows only 256 pages, each of 4Kbytes size. Each of the pages may be located anywhere in the maximum 4Gbytes physical memory. The virtual mode allows the multiprogramming of 8086 applications. The virtual 8086 mode executes all the programs at privilege level 3.Any of the other programmes may deny access to the virtual mode programs or data. However, the real mode programs are executed at the highest privilege level, i.e. level 0. The virtual mode may be entered using an IRET instruction at CPL=0 or a task switch at any CPL, executing any task whose TSS is having a flag image with VM flag set to 1. The IRET instruction may be used to set the VM flag and consequently enter the virtual mode. The PUSHF and POPF instructions are unable to read or set the VM bit, as they do not access it. Even in the virtual mode, all the interrupts and exceptions are handled by the protected mode interrupt handler. To return to the protected mode from the virtual mode, any interrupt or execution may be used. As a part of interrupt service routine, the VM bit may be reset to zero to pull back the 80386 into protected mode. Instruction Set: 1) Data movement instructions | mov reg, reg1mov mem/reg, regmov reg, memmov mem/reg, datamov ax/al, memmov mem, ax/almov segreg, mem16/ reg16 mov mem16/reg16, segreg | Moves (copies) data of source (2nd argument) to the destination (1st argument). No memory to memory move operation. | | xchg op1, op2 | The xchg (exchange) instruction swaps two values | | LxS dest, sourcelds/les/lfs/lgs/lss reg16, mem32 | Load 32 bit double word at the address specified by mem32 into reg16 and the ds, es, fs, gs, or ss registers. general purpose register=L.O. wordsegment register =H.O. word | | lea dest, sourcelea reg16, memlea reg32, mem | Loads the specified 16 or 32 bit general purpose register with the effective address of the specified memory location. The effective address is the final memory address obtained after all addressing mode computations. | | push reg16/reg32pop reg16/reg32 push segregpop segreg (except CS)push/pop memorypushad popad pushf popfpushfd popfd | The push instructions move data onto the hardware stack and the pop instructions move data from the stack to memory or to a register. Pushf and pushfd push the flags onto the stack. | | sahflah | lahf - load ah from flagssahf -store ah into flags | 2) Conversions | movzx dest, srcmovsx dest, srccbw cwdcwde cdqbswap reg32xlat | These instructions sign or zeroextend values, the last two convert between storage formats and translate values via alookup table | 3) Arithmetic instructions | add dest, srcadc dest, src SUB dest, src sbb dest, src mul src imul src acc= acc*srcimul dest, src1, imm_src imul dest, imm_src div src cmp dest, src neg dest inc dest dec dest xadd dest, srccmpxchg operand1, operand2 cmpxchg8ax, operand aaa aadaam aasdaa das | Add: dest := dest + srcAdc: dest := dest + src + CSub: dest := dest – srcSbb: dest := dest - src - CMul: acc := acc * srcImul: dest := src1 * imm_src dest := dest * imm_srcdiv: acc := xacc /-mod srccmp: dest - src (and set flags)neg: dest := - destinc: dest := dest + 1dec: dest := dest – 1aaa -ASCII adjust after additiondaa - decimal adjust for addition | 4)Logical operations | and dest, source or dest, source xor dest, source not dest | And: dest := dest and sourceOr: dest := dest or sourceXor: dest := dest xor sourceNot: dest := not dest | 5)The Shift Instructions | Shl/sal/shr/sar dest, countshld dest, source, count | shl (shift left) sal (shift arithmetic left) shr (shift right)sar (shift arithmetic right) | 6)The Rotate Instructions | Rcl/rol/rcr/ror dest, count | rcl (rotate through carry left)rcr (rotate through carry right)rol (rotate left)ror (rotate right). | 7) The Bit Operations | test dest, sourcebt/btc/btr/bts source, indexbsf/bsr dest, source | there are instructions to test bitswithin an operand, to test and set, clear, or invert specific bits in an operand, and to searchfor set bits | 8)I/O operations | in eax/ax/al, port/dxout port/dx, eax/ax/al | In: Read portOut: Write data in reg to port. | 9) String Instructions | movs {b,w,d} lods {b,w,d} stos {b,w,d} scas {b,w,d}cmps {b,w,d} ins {b,w,d} outs{b,w,d} rep{b,w,d} repz{b,w,d} repe{b,w,d} repnz{b,w,d} repne {b,w,d} | Movs: Move stringLods: Load string element into the accumulatorStos: Store accumulator into string elementScas: Scan string and check for match against the value in the accumulatorCmps: compare two stringsIns: input a string from an I/O portOuts: output a string to an I/O portRep: repeat a string operationRepz: repeat while zeroRepe: repeat while equalRepnz: repeat while not zeroRepne: repeat while not equal | 10)The CALL and RET Instructions | call disp16/adrs32/mem16/ reg16/mem32ret retn retf ret disp retn disp retf disp | The call and ret instructions handle subroutine calls and returns. | 11)Miscellaneous Instructions | clc | Clears the carry flag | | stc | Sets the carry flag | | cmc | Complements the carry flag | | cld | Clears the direction flag | | std | Sets the direction flag | | cli | Clears the interrupt enable/disable flag | | sti | Sets the interrupt enable/disable flag |

SET AND CONDITIONAL JUMP Instructions Instruction | Description | Condition | SETC/JC | Set/jump if carry | Carry = 1 | SETNC/JNC | Set/jump if no carry | Carry = 0 | SETZ/JZ | Set/jump if zero | Zero = 1 | SETNZ/JNZ | Set/jump if not zero | Zero = 0 | SETS/JS | Set/jump if sign | Sign = 1 | SETNS/JNS | Set/jump if no sign | Sign = 0 | SETO/JO | Set/jump if overflow | Ovrflw=1 | SETNO/JNO | Set/jump if no overflow | Ovrflw=0 | SETP/JP | Set/jump if parity | Parity = 1 | SETPE/JPE | Set/jump if parity even | Parity = 1 | SETNP/JNP | Set/jump if no parity | Parity = 0 | SETPO/JPO | Set/jump if parity odd | Parity = 0 |

Similar Documents

Free Essay

Microprocessor Wars

...Microprocessor Wars Samuel W. Aldrich Principles of Marketing Tracy Foote July 3rd, 2012 Microprocessor Wars Computer processors are very complicated electronic devices that are used to be the brain of computers. They process all data in the computer and have revolutionized the world in every facet possible, creating new and quicker ways to accomplish tasks. There are a few companies that produce the x86 microarchitecture chips found in almost every desktop and many mobile devices today but only two are true heavy hitters in the market, Intel and Advanced Micro Devices (AMD). The market slug fest that has been happening between these two companies have driven the pace at which computing has advanced by leaps and bounds. They are a perfect example of how competition and not just supply and demand push industries to their pinnacle. To give a little background to the current market situation, Intel was the original inventor of the x86 microarchitecture central processing unit in 1978. Advanced Micro Devices didn’t start making chips until 1982; four years after Intel had already released their first x86 microprocessor chip as a company. Advanced Micro Devices along with Intel has over 99.5% of the market for x86 architecture central processing units. This means the two companies quite literally own the market and control the supply of computer processors.’s own history of the situation that expertly describes the beginnings and even reciprocal......

Words: 1792 - Pages: 8

Free Essay


...Introduction to Microprocessor A microprocessor is a single chip integrating all the functions of a central processing unit (CPU) of a computer. It includes all the logical functions, data storage, timing functions and interaction with other peripheral devices. In some cases, the terms 'CPU' and 'microprocessor' are used interchangeably to denote the same device. Like every genuine engineering marvel, the microprocessor too has evolved through a series of improvements throughout the 20th century. A brief history of the device along with its functioning is described below. Its Working It is the central processing unit which coordinates all the functions of a computer. It generates timing signals, sends and receives data to and from every peripheral used inside or outside the computer. The commands required to do this are fed into the device in the form of current variations which are converted into meaningful instructions by the use of a Boolean Logic System. It divides its functions in two categories, logical functions and processing functions. The arithmetic and logical unit and the control unit handle these functions respectively. The information is communicated through a bunch of wires called buses. The address bus carries the 'address' of the location with which communication is desired while the data bus carries the data that is being exchanged. Arithmetic & Logic Unit (ALU) This part of the central processing unit deals with operations such as addition,......

Words: 1249 - Pages: 5

Premium Essay


... 1. Data Representation and Number Systems 1.0 Introduction. All data in a digital computer is stored as electronic signals, either voltages or currents. These electronic signals are used to represent other data types such as numbers or letters or other items. In most digital computers systems the electronic signals can only handle two signal levels represented by a digit 0 and a digit 1, namely high or low. These values are also known as, 1 or 0, ON or OFF, SET or RESET or TRUE or FALSE. 1.1 Digital signals. A microprocessor system operates on digital signals. Digital signals are represented by two discrete voltage levels or states which are often known as either ‘high’ (5 V) or ‘low’ (0 V) with respect to each other. The high state is often known as a logic one ( 1) and the low known as a logic ( 0 ). 1.2 Data transmission. The bus in a microprocessor system transmit data in parallel form. [pic] Figure : 1 Data can also be transmitted in serial form [pic] Figure : 2 1. Decimal Number In everyday situations, a system of counting using a base of ten is employed. This is known as a decimal system, and its main justification for use is often quoted as being that human beings have ten fingers with which to count. A decimal number is composed of one or more digits chosen from a set of ten digits {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Base number is 10. The weights are all multiples of 10. Example: 3 5 7 ----- digits 102 101 ......

Words: 1339 - Pages: 6

Free Essay

Ibm Power6 Microprocessor (64 Bit)

...IBM POWER6 Microprocessor (64 bit) Term Paper: ECE312 Rahul Sihag Section: K2103, Roll no: B26 B Tech CSE Lovely Professional University Phagwara, Punjab, India Abstract— This term paper is about IBM POWER6 Microprocessors. It covers Introduction, Core chapters including definition, description, history, design etc. It also includes their Applications, Future perspective and Conclusion etc. Index Terms— Introduction, Core chapters, Applications & Future perspective, Conclusion. I. INTRODUCTION A. Microprocessors A silicon chip that contains a CPU. In the world of personal computers, the terms microprocessor and CPU are used interchangeably. At the heart of all personal computers and most workstations sits a microprocessor. Microprocessors also control the logic of almost all digital devices, from clock radios to fuel-injection systems for automobiles. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and provides results as output. Intel introduced its first 4-bit microprocessor 4004 in 1971 and its 8-bit microprocessor 8008 in 1972. B. IBM POWER6 Microprocessors The POWER6 is a microprocessor developed by IBM that implemented the Power ISA v.2.03. When it became available in systems in 2007, it succeeded the POWER5+ as IBM's flagship Power microprocessor. The POWER6 processor is the latest generation in the POWER line of PowerPC......

Words: 3085 - Pages: 13

Free Essay


...[TERM PAPER ON FILE SYSTEMS] | Detailed study and comparison of various file systems including FAT,NTFS ,RAID and EXT | ACKNOWLEDGEMENT I would like to thank my teacher for assigning me the topic ( Comparison of various File Systems) . I would also like to thank for providing me with the necessary details which were required for the completion of the term paper. I would also like to thank my friends for helping me with this term paper. I thank you all. CONTENT * INTRODUCTION * FILE ALLOCATION TABLE * fat * vfat * fat12 * fat16 * fat32 * fdt * NEW TECHONOLOGY FILE SYSTEM * ntfs * hpfs * ntfs 5.0 * mft * REDUNDANT ARRAY OF INDEPENDENT DISKS * raid * raid 0 * raid 1 * raid 3 * raid 5 * raid 10 * raid 30 and 50 * EXTENDED FILE SYSTEM * -ext 2 * -ext 3 * -linux swap * CONCLUSION * REFERENCES File System Definition: Computers use particular kinds of file systems to store and organize data on media, such as a hard drive, the CDs, DVDs, and BDs in an optical drive or on a flash drive. Any place that a PC stores data is employing the use of some type of file system. A file system can be thought of as an index or database containing the physical location of every piece of data on a hard drive. A file system is setup on a drive during a......

Words: 14273 - Pages: 58

Premium Essay

Intel Pentium Microprocessor Flaw

...Pentium Microprocessor Flaw NT1110 19 October, 2013 Pentium Microprocessor Flaw Pentium microprocessor flaw was in the floating-point math subsection. The flaw was found where the division result returned by the Pentium microprocessor was off by approximately sixty-one parts per million. Once Intel pinpointed the flaw, their solution was to keep the information within the company and not disclose the information to the public. Regardless of the fact that the flaw did not affect all microprocessors, it actually only affected a very small number of customers, Intel should have openly acknowledged the problem. When customers would call into Intel with issues concerning the flaw, Intel would input a certain code into it in order to verify that was in fact the problem. Once the problem was identified, Intel then would implement a solution. However, if Intel had openly accepted and informed the clients about the issue, it most likely would have saved them not only money but also their reputation between the company and their existing clients. Needless to say, their decision resulted in some very unhappy customers. If this same type of flaw was to be found in a new CPU today, the company would surely fail. With a problem in the floating-point math subsection with an error of approximately sixty-one parts per million, this would cause too many problems for the clients today. Especially considering that Intel declined the opportunity to inform their customers and supply a......

Words: 275 - Pages: 2

Premium Essay

Microprocessor Flaw

...“In June 1994, Intel engineers discovered a flaw in the floating-point math subsection of the Pentium microprocessor. Under certain data dependent conditions, low order bits of the result of floating-point division operations would be incorrect, an error that can quickly compound in floating-point operations to much larger errors in subsequent calculations. Intel corrected the error in a future chip revision, but nonetheless declined to disclose it. In October 1994, Dr. Thomas Nicely, Professor of Mathematics at Lynchburg College independently discovered the bug, and upon receiving no response from his inquiry to Intel, on October 30 posted a message on the InternetWord of the bug spread quickly on the Internet and then to the industry press. Because the bug was easy to replicate by an average user (there was a sequence of numbers one could enter into the OS calculator to show the error), Intel's statements that it was minor and "not even an erratum" were not accepted by many computer users. During Thanksgiving 1994, The New York Times ran a piece by journalist John Markoff spotlighting the error. Intel changed its position and offered to replace every chip, quickly putting in place a large end-user support organization. This resulted in a $500 million charge against Intel's 1994 revenue. Ironically, the "Pentium flaw" incident, Intel's response to it, and the surrounding media coverage propelled Intel from being a technology supplier generally unknown to most computer......

Words: 294 - Pages: 2

Free Essay

Term Paper on Microprocessor Systems

...******************** ********************************** Term Paper On discipline “Microprocessor Systems” Done by ***** Student of ******** Checked by ********* Task Design MP System, based on single-chip 8-bit microprocessor KR580VM80AOA with the following characteristics: 1. CPU: KR580VM80A0A. 2. RAM: 24 KBytes 3. ROM: 40 KBytes 4. Controlling for parity. 5. Number of digital inputs: 8. 6. Number of digital outputs: 8. 7. Interrupt controller, with a fixed order of service. 8. DMA channel. 9. Serial channel. 10. Timer / counter. Content Introduction 1. The description of applied elements 2.1 Microprocessor KR580VM80A 2.2 Oscillator of clock pulses KP580ГФ2 2.3 Control unit of interruptions KP580BH5 2.4 System control unit KR580VK28 2.5 Programmed consecutive interface KR580VV51 2.6 Control unit of the keyboard and display KR580VV79 2.7 Microcircuit of random-access memory K537PУ17 2.8 Microcircuit of ROM K573PФ6 2.9 Microcircuit of decoder K155ID3 2.10 Microcircuit K514ИД2 2.11 Buffer register 1533АП5 2. Calculation part 3.12 Calculation and planning of address space of memory 3.13 Construction of circuit designs of decoding of addresses of memory 3.14 Calculation and planning address for input-output devices 3.15 Construction of circuit designs of decoding......

Words: 3184 - Pages: 13

Free Essay

Microprocessor Slides Vhdl

...ECE-362 Microprocessor Systems and Interfacing 1 Introduction to VHDL Introductory Concepts Hardware Description Languages (HDLs) q In the following ‘C’ program Yout is assigned the value of in0 or In1 depending on the value of Select :- if (select == 0) yOut := in0 else yOut := in1; ? What hardware structure would perform an equivalent operation ? Hardware Description Languages (HDLs) q In the following ‘C’ program Yout is assigned the value of in0 or In1 depending on the value of Select :- if (select == 0) yOut := in0 else yOut := in1; ? What hardware structure would perform an equivalent operation ? In0 0 yOut In1 1 select Hardware Description Languages (HDLs) q In the following ‘C’ program Yout is assigned the value of in0 or In1 depending on the value of Select :- if (select == 0) yOut := in0 else yOut := in1; ? What hardware structure would perform an equivalent operation ? In0 0 yOut In1 1 select = 0 Hardware Description Languages (HDLs) q In the following ‘C’ program Yout is assigned the value of in0 or In1 depending on the value of Select :- if (select == 0) yOut := in0 else yOut := in1; ? What hardware structure would perform an equivalent operation ? In0 0 yOut In1 1 select = 0 Hardware Description Languages (HDLs) q In the following ‘C’ program Yout is assigned the value of in0 or In1 depending on the value of Select :- if (select == 0) yOut := in0 else yOut := in1; ? What......

Words: 618 - Pages: 3

Free Essay


...applications, however I chose to research both topics so it can help myself get a better understanding about microcontrollers. James Pearson ET355PMicroprocessors | “The microprocessor, also known as the Central Processing Unit (CPU), is the brain of all computers and many household and electronic devices. Multiple microprocessors, working together, are the "hearts" of datacenters, super-computers, communications products, and other digital devices. The first microprocessor was the Intel 4004, introduced in 1971. The 4004 was not very powerful; it was primarily used to perform simple mathematical operations in a calculator called “Busicom.” Just like microwaves or telephones, devices with microprocessors have become so integrated into our daily lives, that we cannot imagine a life without them. It’s sometimes hard to believe that only 60 years ago, computers were rare and were not available for the wider public. It wasn't until the '80s that computers entered our homes and - thanks to the microprocessor - really made an impact on the average person's life. Nowadays, modern microprocessors can perform extremely sophisticated operations in areas such as meteorology, aviation, nuclear physics and engineering, and take up much less space as well as delivering superior performance. Over the past 40 years, microprocessors have become faster and more powerful, yet increasingly smaller and more affordable. The manufacturing of a CPU is a highly complex and demanding process......

Words: 444 - Pages: 2

Free Essay

Intel and the Microprocessor

...Term Paper: History of Intel and its microprocessors The microprocessor is a chip made of silicon that holds a central processing unit. Both the term’s central processing unit or CPU and microprocessor can be used and mean the same thing. The human brain has been compared to a microprocessor. Microprocessors are ultra fast calculators and what makes a microprocessor appear intelligent is the speed at which it can process data. The electronics industry names, microprocessors first by makers name and then model family name or number. A recent example, are the Intel Core i7 and AMD FX 8 Core Black Edition. Microprocessors provides scientist, engineers, architects, graphic designers, researchers, and other professionals with the processing power users to perform all the many functions needed to do their jobs and make new discoveries and explore what before could not have been even imagined. The history of microprocessors will be covered; this includes the history of Intel Corporation, important highlights in the development of the microprocessor. All digital computers use electronic switches. These switches represent binary digits or bits. The first computers used vacuum tubes as switches to represent on-or-off binary data, but vacuum tubes had many problems. Without the invention of the transistor, microprocessors and the modern computer would not be possible. Bell Laboratory engineers John Bardeen and Walter Brattain invented the transistor in 1947 (transistor).......

Words: 1753 - Pages: 8

Free Essay

Modelling of Modern Microprocessors

...Modelling Of Modern Microprocessors Siddhant (Author) Department of Computer Science Lovely Professional University Phagwara, India Abstract--Microprocessors are also known as a CPU or central processing unit is a complete computation engine that is fabricated on a single chip. The first microprocessor was the Intel 4004, introduced in 1971. This paper covers the evolution in microprocessors and the changes in the architecture of the microprocessor, the details of the latest microprocessors and the machines using them. The paper also discusses how the number of transistors affects the performance of processor.   A microprocessor can move data from one memory location to another. A microprocessor can make decisions and jump to a new set of instructions based on those decisions. The native language of a microprocessor is Assembly Language. The above mentioned are the three basic activities of a microprocessor. An extremely simple microprocessor capable of performing the above mentioned operations loos like: Index terms—Modern, architecture, Intel, PC, Apple. I. INTRODUCTION The microprocessor is the heart of any normal computer, whether it is a desktop machine , a server or a laptop . The first microprocessor to make a real splash in the market was the Intel 8088, introduced in 1979 and incorporated into the IBM PC (which first appeared around 1982).The microprocessor is made up of transistors. CHIPA......

Words: 1808 - Pages: 8

Free Essay

Evolution of Microprocessor

...Microprocessor Evolution: 4004 to Pentium-4 Joel Emer Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology Based on the material prepared by Krste Asanovic and Arvind November 2, 2005 First Microprocessor Intel 4004, 1971 Image removed due to copyright restrictions. To view image, visit aw+turns+40/2009-1041_3-56490195.html November 2, 2005 6.823 L15- 2 Emer • 4-bit accumulator architecture • 8µm pMOS • 2,300 transistors • 3 x 4 mm2 • 750kHz clock • 8-16 cycles/inst. 6.823 L15- 3 Emer Microprocessors in the Seventies Initial target was embedded control • First micro, 4-bit 4004 from Intel, designed for a desktop printing calculator Constrained by what could fit on single chip • Single accumulator architectures 8-bit micros used in hobbyist personal computers • Micral, Altair, TRS-80, Apple-II Little impact on conventional computer market until VISICALC spreadsheet for Apple-II (6502, 1MHz) • First “killer” business application for personal computers November 2, 2005 6.823 L15- 4 Emer DRAM in the Seventies Dramatic progress in MOSFET memory technology 1970, Intel introduces first DRAM (1Kbit 1103) 1979, Fujitsu introduces 64Kbit DRAM => By mid-Seventies, obvious that PCs would soon have > 64KBytes physical memory November 2, 2005 Microprocessor Evolution 6.823 L15- 5 Emer Rapid......

Words: 1044 - Pages: 5

Premium Essay

Exam Mm1

...80 percent of the world’s personal computers. Today, it is one of the most valuable brands in the world, with revenues exceeding $37 billion. In the early days, however, Intel microprocessors were known simply by their engineering numbers, such as “80386” or “80486.” Since numbers can’t be trademarked, competitors came out with their own “486” chips and Intel had no way to distinguish itself. Nor could consumers see Intel’s products, buried deep inside their PCs. Thus, Intel had a hard time convincing consumers to pay more for its highperformance products. As a result, Intel created the quintessential ingredientbranding marketing campaign and made history. It chose a name for its latest microprocessor introduction that could be trademarked, Pentium, and launched the “Intel Inside” campaign to build brand awareness of its whole family of microprocessors. This campaign helped move the Intel brand name outside the PC and into the minds of consumers. In order to execute the new brand strategy, it was essential that the computer manufacturers who used Intel processors support the program. Intel gave them significant rebates when they included the Intel logo in their PC ads or when they placed the “Intel Inside” sticker on the outside of their PCs and laptops. The company created several effective and identifiable marketing campaigns in the late 1990s to become a recognizable and well-liked ingredient brand name. The “Bunny People” series featured Intel......

Words: 430 - Pages: 2

Free Essay

Microprocessors and Microcontrollers

...5D6H = 150AH 20000H + 12FFH = 212FFH FFFFH + 2222H = 12221H 21-Answer the following: How many nibbles are 16 bits? 4 How many bytes are 32 bits? 4 If a word is defined in 16 bits, how many words is a 64-bit data item? 4 What is the exact value (in decimal) of 1 meg? 1,000,000 How many kilobytes is 1 meg? 1,000 What is the exact value (in decimal) of 1 gigabyte? 1,000,000,000 How many kilobytes is 1 gigabyte? 1,048,576 How many megs is 1 gigabyte? 1,024 If a given computer has a total of 8 megabytes of memory, how many bytes (in decimal) is this? 8388608 How many kilobytes is this? 8,192 Chapter 1 1-True or false. A general purpose microprocessor has on-chip ROM? False 2-True or false. A microprocessor has on-chip ROM? True 3-True or false. A microprocessor has on-chip I/O ports? True 4-True or false. A microprocessor has a fixed amount of RAM on the chip? True Chapter 2 1-In the 8051, looping action with the instruction “DJNZ Rx, rel address” is limited to 256 iterations. 2-If a conditional jump is not taken, what is the next instruction to be executed? The instruction following the jump. 3-In calculating the target address for a jump, a displacement is added to the contents of register PC....

Words: 319 - Pages: 2