intel 386 processor manual
LINK 1 ENTER SITE >>> Download PDF
LINK 2 ENTER SITE >>> Download PDF
File Name:intel 386 processor manual.pdf
Size: 1537 KB
Type: PDF, ePub, eBook
Category: Book
Uploaded: 7 May 2019, 14:40 PM
Rating: 4.6/5 from 811 votes.
Status: AVAILABLE
Last checked: 19 Minutes ago!
In order to read or download intel 386 processor manual ebook, you need to create a FREE account.
eBook includes PDF, ePub and Kindle version
✔ Register a free 1 month Trial Account.
✔ Download as many books as you like (Personal use)
✔ Cancel the membership at any time if not satisfied.
✔ Join Over 80000 Happy Readers
intel 386 processor manualThe 386 allows multipleNote, some others had overclocked 286 Processers up to 20Mhz. The first IBM compatible to use the 386 was the Compaq 386. The 80386 had a MIPS (million instructions per second) rating of 5 (at 16 MHz) to 11.4 (33 MHz). This is an average of 0.33 MIPS per MHz of clock speed.MS-DOS memory limits like the 80286 did. With the 386, the EMS standard can beThis was the first X86 processor that could eliminate the 64K memory segmentation issued that programmers had to deal with. Some of the first operating systems to support the 386 processor was Bill Jolitz's 386BSD, BSDI's BSD386, Bill evans's Minix 386, and Linux. Then Microsoft Windows 3.1. For Internet Explorer Protected Mode, see Mandatory Integrity Control. Real mode also served as a more basic mode in which protected mode could be set up, solving a sort of chicken-and-egg problem. To access the extended functionality of the 286, the operating system would set up some tables in memory that controlled memory access in protected mode, set the addresses of those tables into some special registers of the processor, and then set the processor into protected mode.IBM devised a workaround (implemented in the IBM AT ) which involved resetting the CPU via the keyboard controller and saving the system registers, stack pointer and often the interrupt mask in the real-time clock chip's RAM.After performing those two steps, the PE bit must be set in the CR0 register and a far jump must be made to clear the prefetch input queue.As a result, system software is forced to either compromise system security or backwards compatibility when dealing with legacy software.The lowest two bits (bit 1 and bit 0) of the selector are combined to define the privilege of the request, where the values of 0 and 3 represent the highest and the lowest privilege, respectively. This means that the byte offset of descriptors in the descriptor table is the same as the 16-bit selector, provided the lower three bits are zeroed.http://www.ctpublicschooljal.com/userfiles/implant-med-manual.xml
- Tags:
- intel 386 processor manual, intel 386 processor manual user, intel 386 processor manual software, intel 386 processor manual pdf, intel 386 processor manual download.
The limit value inside the descriptor table entry has a length of 16 bits so segment length can be between 1 byte and 2 16 byte. The calculated linear address equals the physical memory address.The limit value inside the descriptor table entry is expanded to 20 bits and completed with a granularity flag (G-bit, for short):If paging is on, the calculated linear address is used as input of paging. If the D-bit of a code segment is off (0) all commands inside this segment will be interpreted as 16-bit commands by default; if it is on (1), they will be interpreted as 32-bit commands.In many operating systems, paging is used to create an independent virtual address space for each task, preventing one task from manipulating the memory of another.Originally, a page directory was the size of one page, four kilobytes, and contained 1,024 page directory entries (PDE), although subsequent enhancements to the x86 architecture have added the ability to use larger page sizes. Each PDE contained a pointer to a page table. A page table was also originally four kilobytes in size and contained 1,024 page table entries (PTE). Each PTE contained a pointer to the actual page's physical address and are only used when the four-kilobyte pages are used.The TSS allows general-purpose registers, segment selector fields, and stacks to all be modified without affecting those of another task.That lasted through the Windows 9x series. If a Windows 1.x or 2.x program is written properly and avoids segment arithmetic, it will run the same way in both real and protected modes. Windows programs generally avoid segment arithmetic because Windows implements a software virtual memory scheme, moving program code and data in memory when programs are not running, so manipulating absolute addresses is dangerous; programs should only keep handles to memory blocks when not running. Starting an old program while Windows 3.http://emproserbolivia.com/archivosusr/implen-nanophotometer-manual.xml0 is running in protected mode triggers a warning dialog, suggesting to either run Windows in real mode or to obtain an updated version of the application. Updating well-behaved programs using the MARK utility with the MEMORY parameter avoids this dialog. It is not possible to have some GUI programs running in 16-bit protected mode and other GUI programs running in real mode. In Windows 3.1, real mode was no longer supported and could not be accessed. However, 64-bit operating systems (which run in long mode ) no longer use this, since virtual 8086 mode has been removed from long mode.Retrieved 2007-07-14. The memory access control system according to claim 4, wherein said first address mode is a real address mode, and said second address mode is a protected virtual address mode. The purpose is to protect everyone else (including the operating system) from your program. Retrieved 2007-07-14. 1985 Intel launches Intel386 processor What is interesting is that the designers of the time never suspected anyone would ever need more than 1 MB of RAM. Retrieved 2017-07-11. This processor had 16 bit external data bus and 24-bit external address bus. This has been impossible to-date and has forced BIOS development teams to add support into the BIOS for 32 bit function calls from 32 bit applications. Hungry Minds. ISBN 0-7645-4569-8. However, it also has a direct impact on performance because of the time necessary to write or retrieve data from disk. The reason why software task switching is so popular is that it can be faster than hardware task switching. Intel never actually developed the hardware task switching, they implemented it, saw that it worked, and just left it there. Advances in multitasking using software have made this form of task switching faster (some say up to 3 times faster) than the hardware method. Another reason is that the Intel way of switching tasks isn't portable at all By using this site, you agree to the Terms of Use and Privacy Policy.https://www.informaquiz.it/petrgenis1604790/status/flotaganis19052022-2156 Please consider upgrading to the latest version of your browser by clicking one of the following links. All content is identical in each set.Please do not enter contact information. If you require a response, contact support. The self-test may be requested. The EAX register holds zero if the 80386 passedIf the self-test is not requested, the contents of EAX after RESET is undefined. DH contains 3,DL contains a unique identifier of the revision level. Apparently, it was never released commercially, and we know very little about it. Normally, the RPL of the selector and the DPL of the segmentThis can happen with a MOV instruction and with the LDS, LES, LFS. LGS, and LSS instructions. That is, you are allowed to pop a selector to a segment with moreIf the new code segment is at the same privilege level as theThe result is a. NEAR JMP to a new offset within the current code segment. You should temporarily disable theEFLAGS is set, the 80386 returns to your “parent” task. However, it will neglect to clear NT in the outgoingHowever, it will neglect to set the BT flag in register DR6The 80386 does not recognize NMI inputs while it is servicing an NMI. However, the wrong value for EIP will be pushed onto theRemember, a page boundary occurs every 4kb. BTR, and BTS) do not work properly unless your memory runs without wait states. This is particularly obscure, since these instructions do not referenceThere are far too many bugs in the A1 and A2 versions of theHere’s what to look for: On the top line of the chip you’ll see the designation A80386-16. If it says A80386-16ES, then it’s an engineering sample and the vendor is a cheapskate. The samples have the revisionLook no further. If it’s S40344 then you have a B1 chip. S40334 is theAs is the case with earlier steppings, theIf not, the code “S40336” or “S40337” mayGenerally, it will produce spuriousNote that this occurs only if the IOPL-sensitive instruction was going to fail.https://www.brainpads.com/images/canon-mp450-printer-user-manual.pdf This gives you aIf the destination address was greater than 64Kb, this will cause aIf it has the ID number S40336 or S40337 stamped on it, then it’s a Step B0; if it’s markedSome B0 and B1 chips were marked B0 or B1At this time, B1 stepping parts are identified with one of the marks shownIt took me many years to realize how Intel marked the chips.The last two digits are the week of manufacture,On your 386,Some 80386 CPUs suffered from a manufacturing defect thatThe instruction and operand linear addressNote that coprocessor error-handling routines are the only routines possiblyNote that the two bytes fetched need to be swapped to yield the image that. FSAVE and FSTENV normally stores. In an obscure situation where this problem arises, a workaround is to avoid having the operand of theseThis can be accomplished by aligning these operands on any 128-byte boundary. Since a wraparound situation is very abnormalIf the user issues such an instruction nonetheless in a Protected Mode system, andIn such cases, an FCLEX or FINIT instruction needsIn Protected Mode,Furthermore, if the Double Fault entry in the IDT is a trap gate, a shutdown results. In a related topic,Also, if a dataIf the REP MOVS ends with an odd number of iterations, and single-stepping or dataREP MOVS must be accepted, unless an effort is made to have the debugger emulate the REP MOVS rather than actuallyUsing IRET is the preferred method forThis could result inThe problem onlyThus the lack of detection of walking off the end of a code segmentIRET will correctly set the prefetch limit. If the fault handler has control of the single-step function, a veryIf the single-step succeeded, the handlerIf a GP fault occurred attempting to single-step theThe page fault handler shouldThe TLB can be flushed, you recall, by writing a Page Table Directory base addressREP INS instruction (INPut string instruction with any REPeat prefix) that is followed by an early-start instructionAfter any REP-prefixed instruction, ECX is supposed to be 0 (null). But in the case of a REP INS instruction, ECX is not updated correctly and is 0FFFFFFFFh (or CX is 0FFFFh in case ofHence, a new count (if any)In this specific case however, an incoming NMI will not be able to bring the 386 out of shutdown. In this specificSS of the destination level is also non-null. These situations can beAn inter-level IRET to Virtual 8086 Mode does not exhibit this problem. An inter-level RET or IRET to level 1An inter-level IRET to Virtual 8086 Mode does not exhibit this problem. An inter-level RET or IRET to level 1This prevents either the first or second situation from occurring. The segmentationThis will prevent a hold request from getting to the 80386 until afterFor the hardware workaround to be sufficient, all stacksIf the Protected Mode LSL instruction (Load Segment. Limit instruction, executable only in Protected Mode) is immediately followed by certain instructions thatNote that stack operations resulting from interrupts or exceptions followingCALL (direct intrasegment, direct intersegment, indirect intrasegment via reg), ENTER, PUSHA, PUSHF, PUSH (mem,Other instructions that operate on the stack (e.g. CALL indirect via memory, and LEAVE) canNote that even if a forbidden instruction immediately follows LSL,The failure will be reported with ZF cleared, which is the desired behavior when the operand is a null selector. Note that many systems already have the “null descriptor” in the GDT initialized to zeroes, as is desired forHowever, if an interrupt or exception occurs, the processor will switchThus, the operatingPaging is not affectedThe “not present” exceptionSince a VM86 task cannot normally raise a “not present” fault, the “not present” exception handler can detect thisIf so, the fault can be redirected to the TSS Fault handler. The processor remains stopped until an interrupt, NMI, or RESET occurs. This errataThe timer routine should test theThis workaround should be placed in the Operating System, so that applicationsA subsequent fault, though, will lead to shutdown. A subsequent fault, though, will lead to shutdown. Business Writers Date: April 11, 1987 Section: Business. Intel acknowledged Friday that a bug has cropped up in its new flagship microprocessor chip. Microprocessors serve as the electronic brains of devices ranging from personal computers toIntel said the bug in its 80386 microprocessor produces incorrect answers when the chip. A 32-bit number is oneHowever, operating system software that would let the chip fully use its 32-bit characteristicsMicrosoft Corp. of Redmond, Wash., has announced its intention to deliver in early 1988 a 32-bit. Jarrett said. Spokesman Bruce LeBoss said not all of the 100,000 80386 chips Intel has produced so far areIntel is sticking with a previously announced estimateTo address the problem, Intel said it is notifying computer companies and other customers andAnticipating that it will replace someIntel will test the chips it has already sold to determine which ones have the bug. But it willInstead, Intel will work with customers on an upgrade program. Intel said it will be up to individual computer makers to work with consumers who haveThe problem may be most acutely felt by Houston-based Compaq Computer, which so far hasCompaq said it will disclose by earlyThe bug may cause some shortages of the 80386. The problem won't be fixed until July, so theJames L. Turley (C) 1988, largely repeats what has been described above, but it is included for completeness: It corrected many of the bugs in earlier versions, butThe best known of these was the widely publicized multiplyThe B1 stepping is identifiable either by the “B1” mark or by the codeIt was determined that they took up too muchIt is aggravated by increases in theIf a third pageAny page-translation entries that are still in the cache will be used, regardlessTo completely disable paging, flush the TLB by clearing CR3. This feature is expected to become permanent. It is recommended that you disable breakpoints and then executeThe processor will remain hung until it receives an interrupt. The processor will remain hung until it receives an interrupt.However, passing does notTo their credit, Intel agreed to test all 80386s for a limited time and report on theirThose that fail have been markedK1 DD 41h; memory-based constant 1. K2 DD 81h; memory-based constant 2. Intel assumes no liability whatsoever, including in- fringement of any patent or copyright, for sale and use of Intel products except as provided in Intel’s Terms and Conditions of Sale for such products. D-8 CS n ADL (UCSADL). D-9 CS n MSKH (UCSMSKH). D-10 CS n MSKL (UCSMSKL). D-11 DLL n AND DLH n.Chapter 7 — System Management Mode — describes Intel’s System Management Mode (SMM). Chapter 8 — Clock and Power Management Unit — describes the clock generation circuitry, power management modes, and system reset logic. Variables Variables are shown in italics. Variables must be replaced with correct values. New Terms New terms are shown in italics. The first bit shown (7 or 15 in the example) is the most-significant bit and the second bit shown (0) is the least-significant bit. Intel also maintains several forums on CompuServe and offers a variety of information on the World Wide Web. These systems are available 24 hours a day, 7 days a week, providing technical information whenever you need it. Type “go intel” for access. For information about CompuServe access and service fees, call CompuServe at 1-800-848-8199 (U.S.) or 614-529-1340 (outside the U.S.). This highly integrated device retains those personal computer functions that are useful in embed- ded applications and integrates peripherals that are typically needed in embedded systems. The Intel386 EX processor provides a PC-compatible development platform in a device that is opti- mized for embedded applications. This chapter describes the Intel386 CX processor enhance- ments over the Intel386 SX processor, internal architecture of the Intel386 CX processor, and the core interface on the Intel386 EX processor. Because it has the BIU between the Intel386 CX processor core and the external bus, the Intel386 EX processor bus timings are not identical to those of the Intel386 CX processor or Intel386 SX processor. The chapters that cover the individual peripherals describe the registers in detail.Using this slot avoids conflicts with other devices in an EISA system, since EISA systems typically do not use slot 15.Like DOS-compatible mode, only address lines A9:0 are decoded internally. The default (reset) value of each register is shown in the Reset Value column. An X in this column signifies that the register bits are undefined. This chapter describes the available configurations and how to configure them.For more detailed informa- tion on the peripheral itself, see the chapter describing that peripheral. The symbology used for signals that share a device pin is shown in Figure 5-2. Of the two signal names by a pin, the upper signal is associated with the peripheral in the figure. SIO and SSIO inputs to the DMA are selected by the DMA configu- ration register (Figure 5-3). 5.2.1.3 Using The Timer To Initiate DMA Transfers A timer output (OUT1, OUT2) can initiate periodic data transfers by the DMA. A DMA channel is programmed for the transfer, then a timer output pulse triggers the transfer. The transmit buffer empty and receive buffer full sig- nals (SSTBE and SSRBF) go to the DMA unit (Figure 5-2), and an interrupt signal (SSIOINT) goes to the ICU (Figure 5-4). Unlike the RESET pin, which is asynchronous and can be used to synchronize internal clocks to CLK2, this core-only reset is synchronized with the on-chip clocks and does not affect the on-chip clock synchronization. Some of these pins are routed to two peripheral inputs without the use of a multiplexer. These input-signal pairs are listed in Table 5-3. The pin is connected to both peripheral inputs. The remaining pins supporting two signals have multiplexers. This bit is undefined; for compatibility with future devices, do not modify this bit.Ad- dress, data, status, and control information define a bus cycle. It also contains the signals that allow external bus masters to request and acquire control of the bus. This clock is internally divided by two and synchronized to the falling edge of RESET (see Figure 8-2 in Chapter 8) to generate the internal processor clock signal. Each processor clock cycle is two CLK2 cycles wide. Each bus cycle is composed of at least two bus states: T1 and T2. This allows for indivisible read-modify-write operations.This ensures that the CAS lines remain valid during these Ti states to fulfill the requirements of the external 82C59A devices. Externally, a shutdown cycle differs from a halt cycle only in the resulting address bus outputs. Figure 6-10. Basic Refresh Cycle BUS INTERFACE UNIT Idle Cycle 2 Idle Refresh Valid 2 Float. Figure 6-13 shows a word access to an 8-bit pe- ripheral.If a BS8 cycle requires an additional bus cycle, the processor retains the current address for the second cycle. Otherwise, the cycles may be separated by a cycle from another bus master. It is serviced after HOLD is released. 6.5.2 HOLD Signal Latency Because other bus masters may be used in time-critical applications, the amount of time the bus master must wait for bus access (HOLD latency) can be a critical design consideration. Intel386 EX Processor to Intel387 SX Math Coprocessor Interface A dedicated communication protocol makes possible high-speed transfer of opcodes and oper- ands between the Intel386 EX processor and the Intel387 SX math coprocessor. They also share the same clock input. Below is an example of a simple routine that can be executed using the math-coprocessor: fninit fldpi fld1. PSRAM devices have an interface that is similar to SRAM devices (They are also pin- compatible in many cases). For low power systems, the primary function of SMM is to provide a transparent means for power management.It is possible for the designer of an embedded system to place the SMM driver code in read-only storage, as long as the address space between 03FE00H and 03FFFFH is writable. When this bit is set (1), the processor supports SMRAM reloca- tion. When this bit is cleared (0), then the processor does not support SMRAM relocation. Since this device doesn’t support SMRAM relocation, bit 17 of the SMM Revision Identifier is cleared. The SMRAM address space is fixed from 38000H to 3FFFFH. The value loaded into the selector register is shifted to the left four bits and moved into its corresponding descriptor base, then added to the effective address. The effective address can be generated indirectly, using a 32-bit register. In some cases the application might want to return to the HALT state after RSM. The SMM architecture provides the option of restarting the HALT instruction after RSM. The word at address 03FF02H is the HALT restart slot. Only one INTR and one NMI can be pending. The SMM handler may choose to enable interrupts to take advantage of device drivers.Entering and exiting either of these power management modes from SMM is identical to entering or exiting from normal mode. The following options are supported by the chip select unit: CASMM To see how this extension of the CSU supports the SMRAM requirements, consider an embedded system which has 1 Mbyte of 16-bit wide EPROM in the region 03F00000H to 03FFFFFFH and 1 Mbyte of 16-bit wide RAM in the region 00000000H to 000FFFFFH. This mechanism indicates to internal modules that the CPU has entered and is currently executing SMM. The resume (RSM) instruction is only valid when in SMM. SerialWriteStr2 Located in SMRAM upon program execution, this routine loops endlessly while writing a character “X” out the serial port on the EV386EX board. Reference Serial Line Control register for various options ModemCntrl Defines the operation of the modem control lines BaudRate Specifies baud rate. The power management features control the clock signals to provide power conservation options.The RESET falling edge can occur in either PH1 or PH2. This feature is useful for providing various frequencies, including a 1.19318 MHz output for a PC-compatible system timer, or speaker tone generator. Determine the required prescale val- ue using the following formula, then write this value to the CLKPRS register (Figure 8-4). To enter idle mode: Program the PWRCON register (Figure 8-5). Execute a HALT instruction. CLKOUT continues to run while the CPU is in idle mode. The BIU cannot acknowledge DMA, refresh, and external hold requests in powerdown mode, since all the clocks are frozen. To enter powerdown mode, follow these steps: Program the PWRCON register (Figure 8-5). The RESET input must remain high for at least 16 CLK2 cycles to reset the chip properly. To initiate the self test, follow these steps: Hold the RESET pin high for a minimum of 80 CLK2 cycles. The interrupt control unit is functionally identical to two industry-standard 82C59As connected in cascade. Like the master, the slave uses a programmable priority structure. When the slave receives an interrupt request, it sends the request to the master (assuming the request is enabled and has sufficient priority). The master sees the slave request as a request on its IR2 line. The ICU’s interrupt sources, interrupt priority structure, interrupt vectors, interrupt processing, and polling mode are discussed. 9.2.1 Interrupt Sources The ICU support a total of 18 interrupt sources (see Table 9-1) but only a maximum of 15 simul- taneous sources. During the ICU initialization pro- cess (described in “Register Definitions” on page 9-15), you can program the ICU to be either edge-triggered or level-triggered. See “Interrupt Detection” on page 9-29 for a description of the difference between level and edge triggered signals. Fully nested In the fully nested mode, higher level IR signals have higher interrupt priority. The special fully nested mode is generally used by the master in a cascaded system. Special mask In some applications, you may want to allow lower-level requests interrupt the processing of higher-level interrupts. The special mask mode supports these applications. The respective mask bits provide a way to individually disable the IR signals. You can globally disable all interrupts to the core using the CLI instruction. Master sends request to CPU. CPU initiates interrupt acknowledge cycle. Master clears request's pending bit, sets its in-service bit, and puts its interrupt vector number on the bus. Master sets its IR2 pending bit.CPU initiates interrupt acknowledge cycle. Master clears IR2 pending bit and sets IR2 in-service bit. Slave clears its pending bit, sets its in-service bit, and puts its interrupt vector number on the bus. Use the spe- cific EOI command for the special mask mode. In this mode, a lower-level interrupt can interrupt the processing of a higher-level interrupt. The specific EOI command is necessary because it al- lows you to specifically clear the lower level in-service bit. Since the polling mode doesn’t require that the ad- ditional 82C59As be cascaded from the master, the number of interrupt request sources for a polled system is limited only by the number of 82C59As that the system can address. Polling and standard interrupt processing can be used within the same program. When enabled, the cascade signals appear on address lines A18:16 during interrupt acknowledge cycles. Every external slave monitors these lines to determine whether it is the slave being addressed. Use ICW1 to select the interrupt request triggering type (level or edge).Valid vector numbers for maskable interrupts range from 32 to 255.For this reason, the functions of the master’s ICW3 and the slave’s ICW3 differ. ICW3 (at 0F021H or 0021H) is the master’s cascade configuration register (Figure 9-11). The master has an internal slave cascaded from its IR2 signal. Use this register to indicate that the slave is cascaded from the master’s IR2 signal. This gives the internal slave an ID of 2. Each slave device uses the IDs to determine whether it is the slave being addressed. Dur- ing a slave access, the slave’s ID is driven on the master’s CAS2:0 signals. Initialization Command Word 4 ICW4 (master and slave) (write only) Number Mnemonic. Setting a bit in the interrupt mask register disables (masks) interrupts from the corresponding IR signal. For example, setting the master’s OCW1 M3 bit dis- ables interrupts from the master IR3 signal. Clearing a bit in the interrupt mask register enables interrupts from the corresponding IR signal. Operation Command Word 3 OCW3 (master and slave) (write only) ESMM Number Mnemonic. It is accessed using OCW3 (see Figure 9-15). The highest request level is reset from the IRR when an interrupt is acknowledged. Unlike an edge-triggered IR signal, a level- triggered IR signal continues to generate interrupts as long as it is asserted. The pending bit remains set until the interrupt is serviced. These should be initialized before interrupts are enabled(i.e., enable()). Parameters: MstrMode Mode of operation for Master ICU. This routine only initializes the internal interrupt controller, external ICUs must be initialized separately. Parameters: SlaveMode Mode of operation for Slave ICU SlaveBase Specifies the base interrupt vector number for the Slave interrupts. Protected mode supports both. Assumptions: Compiler supports far and interrupt keywords ICU must be configured before this function is call for it to operate properly. The vector table entry number is determined by the vector number. Parameters: InterProc Address of interrupt function, will be loaded into the interrupt table. It contains three independent 16-bit down counters, which can be driven by a pres- caled value of the processor clock or an external clock. The counters contain two count formats (binary and BCD) and six different operating modes, two of which are periodic. Six different counting modes are available and two count formats: binary (16 bits) or BCD (4 decades). Each operating mode allows you to program the counter with an initial count and to change this value “on the fly.”. Device Pin or Signal Internal Signal PSCLK Internal signal TMRCLK0 Device pin TMRCLK1 TMRCLK2 TMRGATE0 Device pin TMRGATE1 TMRGATE2 TMROUT0 Device pin TMROUT1 TMROUT2 Table 10-1. These modes are described in sec- tions 10.2.1 through 10.2.6. In all modes, the counters decrement on the falling edge of CLKINn. In modes 0, 1, 4, and 5, the counters roll over to the highest count, either 0FFFFH for binary counting or 9999 for BCD counting, and continue counting down. The counter loads the new count on the CLKINn pulse after you write it, then decrements this new count on each succeeding CLKINn pulse.