![]() |
|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
motorola semiconductor technical data motorola technical summary second-generation 32-bit enhanced embedded controller the mc68ec030 is a 32-bit embedded controller that streamlines the functionality of an mc68030 for the requirements of embedded control applications. the mc68ec030 is optimized to maintain performance while using cost-effective memory subsystems. the rich instruction set and addressing mode capabilities of the mc68020, mc68030, and mc68040 have been maintained, allowing a clear migration path for m68000 systems. the main features of the mc68ec030 are as follows: ? object-code compatible with the mc68020, mc68030, and earlier m68000 microprocessors ? burst-mode bus interface for efficient dram access ? on-chip data cache (256 bytes) and on-chip instruction cache (256 byte) ? dynamic bus sizing for direct interface to 8-, 16-, and 32-bit devices ? 25- and 40-mhz operating frequency (up to 9.2 mips) ? advanced plastic pin grid array packaging for through-hole applications additional features of the mc68ec030 include: ? complete 32-bit nonmultiplexed address and data buses ? sixteen 32-bit general-purpose data and address registers ? two 32-bit supervisor stack pointers and eight special-purpose control registers ? two access control registers allow blocks to be defined for cacheability protection ? pipelined architecture with increased parallelism allows: C internal caches accesses in parallel with bus transfers C overlapped instruction execution ? enhanced bus controller supports asynchronous bus cycles (three clocks minimum), synchronous bus cycle (two clocks minimum), and burst data transfers (one clock) ? complete support for coprocessors with the m68000 coprocessor interface ? internal status indication for hardware emulation support ? 4-gbyte direct addressing range ? implemented in motorola's hcmos technology that allows cmos and hmos (high-density nmos) gates to be combined for maximum speed, low power, and small die size mc68ec030 order this document by mc68ec030/d rev. 1 this document contains information on a product under development. motorola reserves the ri g ht to chan g e or discontinue this product without notice. ?motorola inc., 1991
2 mc68ec030 technical data motorola introduction the mc68ec030 is an integrated controller that incorporates the capabilities of the mc68030 integer unit, a data cache, an instruction cache, an access control unit (acu), and an improved bus controller on one vlsi device. it maintains the 32-bit registers available with the entire m68000 family as well as the 32-bit address and data paths, rich instruction set, versatile addressing modes, and flexible coprocessor interface provided with the mc68020 and mc68030. in addition, the internal operations of this integrated controller are designed to operate in parallel, allowing instruction execution to proceed in parallel with accesses to the internal caches and the bus controller. the mc68ec030 fully supports the nonmultiplexed asynchronous bus of the mc68020 and mc68030 as well as the dynamic bus sizing mechanism that allows the controller to transfer operands to or from external devices while automatically determining device port size on a cycle-by-cycle basis. in addition to the asynchronous bus, the mc68ec030 also supports the fast synchronous bus of the mc68030 for off- chip caches and fast memories. like the mc68030, the mc68ec030 bus is capable of fetching up to four long words of data in a burst mode compatible with dram chips that have burst capability. burst mode can reduce (up to 50 percent) the time necessary to fetch the four long words. the four long words are used to prefill the on-chip instruction and data caches so that the hit ratio of the caches is improved and the average access time for operand fetches is minimized. the mc68ec030 is specifically designed to sustain high performance while using low-cost (dram) memory subsystems. coupled with the mc88916 clock generation and distribution circuit, the mc68ec030 provides simple interface to lower speed memory subsystems. the mc88916 (see figure 1) provides the precise clock signals required to efficiently control memory subsystems, eliminating system design constraints due to clock generation and distribution. mc68ec030 (40 mhz) mc88916 20 mhz osc. controller clock (40 mhz) bus clock (40 mhz) bus clock (80 mhz) 3 bus clock (20 mhz) figure 1. mc68ec030 clock circuitry the block diagram shown in figure 2 depicts the major sections of the mc68ec030 and illustrates the autonomous nature of these blocks. the bus controller consists of the address and data pads, the multiplexers required to support dynamic bus sizing, and a microbus controller that schedules the bus cycles on the basis of priority. the micromachine contains the execution unit and all related control logic. microcode control is provided by a modified two-level store of microrom and nanorom contained in the micromachine. programmed logic arrays (plas) are used to provide instruction decode and sequencing motorola mc68ec030 technical data 3 information. the instruction pipe and other individual control sections provide the secondary decode of instructions and generate the actual control signals that result in the decoding and interpretation of nanorom and microrom information. the instruction and data cache blocks operate independently from the rest of the machine, storing information read by the bus controller for future use with very fast access time. each cache resides on its own address bus and data bus, allowing simultaneous access to both. the data and instruction caches are organized as a total of 64 long-word entries (256 bytes) with a line size of four long words. the data cache uses a write-through policy with programmable write allocation for cache misses. 4 mc68ec030 technical data motorola microsequencer and control control store control logic instruction cache stage b stage c stage d internal data bus instruction pipe instruction address bus address section program counter section data section execution unit misalignment multiplexer size multiplexer data pads data bus write pending buffer prefetch pending buffer microbus controller bus controller bus control signals address bus address pads address bus address data cache data address bus cache holding register (cahr) access control unit figure 2. block diagram motorola mc68ec030 technical data 5 the acu contains two access control registers that are used to define memory segments ranging in size from 16 mbytes to 2 gbytes each. each segment is definable in terms of address, read/write access, and function code. each segment can be marked as cacheable or non cacheable to control cache accesses to that memory space. programming model as shown in the programming models (see figures 3 and 4), the mc68ec030 has 16 32-bit general- purpose registers, a 32-bit program counter, two 32-bit supervisor stack pointers, a 16-bit status register, a 32-bit vector base register, two 3-bit alternate function code registers, two 32-bit cache handling (address and control) registers, and two 32-bit transparent translation registers. registers d0Cd7 are used as data registers for bit and bit field (1 to 32 bit), byte (8 bit), word (16 bit), long-word (32 bit), and quad-word (64 bit) operations. registers a0Ca6 and the user, interrupt, and master stack pointers are address registers that may be used as software stack pointers or base address registers. in addition, the address registers may be used for word and long-word operations. all 16 general-purpose registers (d0C d7, a0Ca7) can be used as index registers. 31 15 16 0 31 15 16 0 31 0 0 7 d0 d1 d2 d3 d4 d5 d6 d7 a0 a1 a2 a3 a4 a5 a6 a7 (usp) pc ccr data registers address registers user stack pointer condition code register program counter 7 8 15 0 31 15 16 0 8 figure 3. user programming model 6 mc68ec030 technical data motorola 31 15 16 0 31 0 31 15 16 0 7 8 15 0 31 0 31 0 31 0 2 (ccr) a7' (isp) sr vbr sfc dfc a7" (msp) cacr caar interrupt stack pointer master stack pointer status register vector base register alternate function cache control register cache address register 31 0 31 0 ac0 ac1 access control register 0 access control register 1 code registers 15 0 acusr acu status register figure 4. supervisor programming model supplement the status register (see figure 5) contains the interrupt priority mask (three bits) as well as the following condition codes: extend (x), negate (n), zero (z), overflow (v), and carry (c). additional control bits indicate that the controller is in the trace mode (t1 or t0), supervisor/user state (s), and master/interrupt state (m). t s iii xnzvc 2 1 0 15 13 10 8 4 0 interrupt priority mask system byte user byte condition codes 1 14 000 0 t 0 m 1 1211 9 765 32 extend negative zero overflow carry trace enable supervisor/user state master/interrupt state figure 5. status register motorola mc68ec030 technical data 7 all microprocessors of the m68000 family support instruction tracing (via the t0 status bit in the mc68ec030) where each instruction executed is followed by a trap to a user-defined trace routine. the mc68ec030, like the mc68030 and mc68040, also has the capability to trace only on change-of-flow instructions (branch, jump, subroutine call and return, etc.) using the t1 status bit. these features are important for software program development and debug. the vector base register (vbr) is used to determine the run-time location of the exception vector table in memory; thus, each separate vector table for each process or task can properly manage exceptions independent of each other. the m68000 family processors distinguish address spaces as supervisor/user, program/data, and cpu space. these five combinations are specified by the function code pins (fc0/fc1/fc2) during bus cycles, indicating the particular address space. using the function codes, the memory subsystem (hardware) can distinguish between supervisor accesses and user accesses as well as program accesses, data accesses, and cpu space accesses. to support the full privileges of the supervisor, the alternate function code registers allow the supervisor to specify the function code for an access by appropriately preloading the sfc/dfc registers. the cache registers allow supervisor software manipulation of the on-chip instruction and data caches. control and status accesses to the caches are provided by the cache control register (cacr); the cache address register (caar) specifies the address for those cache control functions that require an address. the access control registers are accessible by the supervisor only. the access control registers are used to define two memory spaces with caching restrictions. the acu status register (acusr) is used to show the result of ptest operations on the acu. data types and addressing modes seven basic data types are supported by the mc68ec030: ? bits ? bit fields (string of consecutive bits, 1C32 bits long) ? bcd digits (packed: 2 digits/byte, unpacked: 1 digit/byte) ? byte integers (8 bits) ? word integers (16 bits) ? long-word integers (32 bits) ? quad-word integers (64 bits) 8 mc68ec030 technical data motorola in addition, operations on other data types, such as memory addresses, status word data, etc., are provided in the instruction set. the coprocessor mechanism allows direct support of floating-point data types with the mc68881/mc68882 floating-point coprocessors as well as specialized user-defined data types and functions. the 18 addressing modes, listed in table 1, include nine basic types: ? register direct ? register indirect ? register indirect with index ? memory indirect ? program counter indirect with displacement ? program counter indirect with index ? program counter memory indirect ? absolute ? immediate the register indirect addressing modes support postincrement, predecrement, offset, and indexing. these capabilities are particularly useful for handling advanced data structures common to sophisticated applications and high-level languages. the program counter relative mode also has index and offset capabilities; this addressing mode is generally required to support position- independent software. in addition to these addressing modes, the mc68ec030 provides data operand sizing and scaling; these features provide performance enhancements to the programmer. motorola mc68ec030 technical data 9 table 1. mc68ec030 addressing modes addressing modes syntax register direct addressing data register direct address register direct dn an register indirect address register indirect address register indirect with postincrement address register indirect with predecrement address register indirect with displacement (an) (an);pl -(an) (d 16 ,an) register indirect with index address register indirect with index (8-bit displacement) address register indirect with index (base displacement) (d 8 ,an,xn) (bd,an,xn) memory indirect memory indirect postindexed memory indirect preindexed ([bd,an],xn,od) ([bd,an,xn],od) program counter indirect with displacement (d 16 ,pc) program counter indirect with index pc indirect with index (8-bit displacement) pc indirect with index (base displacement) (d 8 ,pc,xn) (bd,pc,xn) program counter memory indirect pc memory indirect postindexed pc memory indirect preindexed ([bd,pc],xn,od) ([bd,pc,xn],od) absolute data addressing absolute short absolute long xxx.w xxx.l immediate # notes: dn = data register, d0Cd7 an = address register, a0Ca7 d 8 , d 16 = a twos-complement or sign-extended displacement; added as part of the effective address calculation; size is 8 (d 8 ) or 16 (d 16 ) bits; when omitted, assemblers use a value of zero. xn = address or data register used as an index register; form is xn.size*scale, where size is .w or .l (indicates index register size) and scale is 1, 2, 4, or 8 (index register is multiplied by scale); use of size and/or scale is optional. bd = a twos-complement base displacement; when present, size can be 16 or 32 bits. od = outer displacement added as part of effective address calculation after any memory indirection; use is optional with a size of 16 or 32 bits. pc = program counter = immediate value of 8, 16, or 32 bits ( ) = effective address [ ] = used as indirect address to long-word address. 10 mc68ec030 technical data motorola instruction set overview the mc68ec030 instruction set is listed in table 2. each instruction, with few exceptions, operates on bytes, words, and long words, and most instructions can use any of the 18 addressing modes. the mc68ec030 is upward source- and object-level code compatible with the m68000 family because it supports all instructions of previous family members. table 2. instruction set mnemonic description mnemonic description abcd add decimal with extend move move add add movea move address adda add address move ccr move condition code register addi add immediate move sr move status register addq add quick move usp move user stack pointer addx add with extend movec move control register and logical and movem move multiple registers andi logical and immediate movep move peripheral asl,asr arithmetic shift left and right moveq move quick bcc branch conditionally moves move alternate address space bchg test bit and change muls signed multiply bclr test bit and clear mulu unsigned multiply bfchg test bit field and change nbcd negate decimal with extend bfclr test bit field and clear neg negate bfexts signed bit field extract negx negate with extend befxtu unsigned bit field extract nop no operation bfffo bit field find first one not logical complement bfins bit field insert or logical inclusive or bfset test bit field and set ori logical inclusive or immediate bftst test bit field pack pack bcd bkpt breakpoint pea push effective address bra branch pflush no effect bset test bit and set pload no effect bsr branch to subroutine pmove move to/from acx registers btst test bit ptest test address in acx registers cas compare and swap operands reset reset external devices cas2 compare and swap dual operands rol, ror rotate left and right chk check register against bound roxl, roxr rotate with extend left and right chk2 check register against upper and lower rtd return and deallocate bounds rte return from exception clr clear rtr return and restore codes cmp compare rts return from subroutine cmpa compare address sbcd subtract decimal with extend cmpi compare immediate scc set conditionally cmpm compare memory to memory stop stop cmp2 compare register against upper and sub subtract lower bounds suba subtract address dbcc test condition, decrement and branch subi subtract immediate divs,divsl signed divide subq subtract quick divu, divul unsigned divide subx subtract with extend eor logical exclusive or swap swap register words eori logical exclusive or immediate tas test operand and set exg exchange registers trap trap ext, extb sign extend trapcc trap conditionally illegal take illegal instruction trap trapv trap on overflow jmp jump tst test operand jsr jump to subroutine unlk unlink lea load effective address unpk unpack bcd link link and allocate lsl, lsr logical shift left and right motorola mc68ec030 technical data 11 coprocessor instructions cpbcc branch conditionally cprestore restore internal state of coprocessor cpdbcc test coprocessor condition, cpsave save internal state of coprocessor decrement and branch cpscc set conditionally cpgen coprocessor general instruction cptrapcc trap conditionally included in the mc68ec030 set are the bit field operations, binary-coded decimal support, bounds checking, additional trap conditions, and additional multiprocessing support (cas and cas2 instructions) offered by the mc68020, mc68030, and mc68040. in addition, object code written for the mc68ec030 can be used on the mc68040 for even more performance. the memory management unit (mmu) instructions of the mc68030, and mc68040 are not supported by the mc68ec030. instruction and data caches studies have shown that typical programs spend most of their execution time in a few main routines or tight loops. this phenomenon, known as locality of reference, has an impact on program performance. the mc68010 takes limited advantage of this phenomenon with the loop mode of operation that can b e used with the dbcc instruction. the mc68ec030 takes further advantage of cache technology to provide the system with two on-chip caches, one for instructions and one for data. mc68ec030 cache goals similar to the mc68020 and mc68030, there were two primary design goals for the mc68ec030 embedded controller caches. the first design goal was to reduce the external bus activity of the cpu even more than was accomplished with the mc68020. the second design goal was to increase effective cpu throughput as larger memory sizes or slower memories increased average access time. by placing a high-speed cache between the controller and the rest of the memory system, the effective memory access time becomes: t acc =r h *t cache + (1-r h )*t ext where t acc is the effective system access time, t cache is the cache access time, t ext is the access time of the rest of the system, and r h is the hit ratio or the percentage of time that the data is found in the cache. thus, for a given system design, the two mc68ec030 on-chip caches provide an even more substantial cpu performance increase over that obtainable with the mc68020 instruction cache. alternately, slower and less expensive memories can be used for the same controller performance. the throughput increase in the mc68ec030 is gained in three ways. first, the mc68ec030 caches are accessed in less time than is required for external accesses, providing improvement in the access time for items residing in the cache. second, the burst filling of the caches allows instruction and data words to be found in the on-chip caches the first time they are accessed by the micromachine, minimizing the time required to bring those items into the cache. utilizing burst fill capabilities lowers the average access time for items found in the caches even further. third, the autonomous nature of the caches allows instruction stream fetches, data fetches, and external bus activity to occur simultaneously with instruction execution. the parallelism designed into the mc68ec030 also allows multiple instructions to execute concurrently so that several internal instructions (those that do not require any external accesses) can execute while the controller is performing an external access for a previous instruction. instruction cache 12 mc68ec030 technical data motorola the mc68ec030 instruction cache is a 256-byte direct-mapped cache organized as 16 lines consisting of four long words per line. each long word is independently accessible, yielding 64 possible entries, with address bit a1 selecting the correct word during an access. thus, each line has a tag field composed of the upper 24 address bits, the fc2 (supervisor/user) value, four valid bits (one for each long-word entry), and the four long-word entries (see figure 6). the instruction cache is automatically filled by the mc68ec030 whenever a cache miss occurs; using the burst transfer capability, up to four long words can be filled in one burst operation. the caches cannot be manipulated directly by the programmer except by the use of the cacr, which provides cache clearing and cache entry clearing facilities. the caches can also be enabled/disabled by this register. finally, the system hardware can disable the on-chip caches at any time by asserting the cdis signal. f f f cc c 3 2 2 2211111111110000000000 21 0 1 3 20 1 98765432109876543210 comparator tag 1 of 16 select valid tag replace index tag line hit data from instruction cache data bus cache control logic v v v v access address data to instruction cache holding register entry hit a long word select cache size = 64 (long words) line size = 4 (long words) set size = 1 aa aaaaaaaaaaaaaaaaaaaaaa figure 6. on-chip instruction cache organization motorola mc68ec030 technical data 13 data cache the organization of the data cache (see figure 7) is similar to that of the instruction cache. however, the tag is composed of the upper 24 address bits, the four valid bits, and all three function code bits, explicitly specifying the address space associated with each line. the data cache employs a write-through policy with programmable write allocation of data writes i.e., if a cache hit occurs on a write cycle, both the data cache and the external device are updated with the new data. if a write cycle generates a cache miss, the external device is updated, and a new data cache entry can be replaced or allocated for that address, depending on the state of the write-allocate (wa) bit in the cacr. f f f cc c 3 2 2 2211111111110000000000 21 0 1 3 20 1 98765432109876543210 comparator tag 1 of 16 select valid tag replace index tag line hit data from data cache data bus cache control logic v v v v access address data to execution unit entry hit a long-word select cache size = 64 (long words) line size = 4 (long words) set size = 1 aa aaaaaaaaaaaaaaaaaaaaaa figure 7. on-chip data cache organization operand transfer mechanism the mc68ec030 offers three different mechanisms by which data can be transferred into and out of the chip. asynchronous bus cycles, compatible with the asynchronous bus on the mc68020 and mc68030, can transfer data in a minimum of three clock cycles; the amount of data transferred on each cycle is determined by the dynamic bus sizing mechanism on a cycle-by-cycle basis with the data transfer and size acknowledge ( dsackx ) signals. synchronous bus cycles, compatible with the synchronous bus on the mc68030, are terminated with the synchronous termination ( sterm) signal and always transfer 32-bits of data in a minimum of two clock cycles, increasing the bus bandwidth available for other bus masters, 14 mc68ec030 technical data motorola thereby increasing possible performance. burst mode transfers can be used to fill lines of the instruction and data caches when the mc68ec030 asserts cache burst request ( cbreq ). after completing the first cycle with sterm , subsequent cycles may accept data on every clock cycle where sterm is asserted until the burst is completed. use of this mode can further increase the available bus bandwidth in systems that use drams with page, nibble, or static-column mode operation. asynchronous transfers though the mc68ec030 has a full 32-bit data bus, it offers the ability to automatically and dynamically downsize its bus to 8 or 16 bits if peripheral devices are unable to accommodate the entire 32 bits. this feature allows the programmer to write code that is not bus-width specific. for example, long-word (32 bit) accesses to peripherals may be used in the code; yet, the mc68ec030 will transfer only the amount of data that the peripheral can manage. this feature allows the peripheral to define its port size as 8, 16, or 32 bits wide, and the mc68ec030 will dynamically size the data transfer accordingly, using multiple bus cycles when necessary. hence, programmers are not required to program for each device port size or know the specific port size before coding; hardware designers have the flexibility to choose hardware implementations regardless of software implementations. the dynamic bus sizing mechanism is invoked by dsackx and occurs on a cycle-by-cycle basis. for example, if the controller is executing an instruction that requires reading a long-word operand, it will attempt to read 32 bits during the first bus cycle to a long-word address boundary. if the port responds that it is 32 bits wide, the mc68ec030 latches all 32 bits of data and continues. if the port responds that it is 16 bits wide, the mc68ec030 latches the 16 valid bits of data and continues. an 8-bit port is handled similarly but has four bus read cycles. each port is fixed in the assignment to particular sections of the data bus. however, the mc68ec030 has no restrictions concerning the alignment of operands in memory; long-word operands need not be aligned to long-word address boundaries. when misaligned data requires multiple bus cycles, the mc68ec030 automatically runs the minimum number of bus cycles. instructions must still be aligned to word boundaries. the timing of asynchronous bus cycles is also determined by the assertion of dsackx on a cycle-by- cycle basis. if the dsackx signals are valid 1.5 clocks after the beginning of the bus cycle (with the appropriate setup time), the cycle terminates in the minimum amount of time (corresponding to three- clock-cycle total). the cycle can be lengthened by delaying dsackx (effectively inserting wait states in one-clock increments) until the device being accessed is able to terminate the cycle. this flexibility gives the controller the ability to communicate with devices of varying speeds while operating at the fastest rate possible for each device. the asynchronous transfer mechanism allows external errors to abort cycles upon the assertion of bus error ( berr) or allows individual bus cycles to be retried with the simultaneous assertion of berr and halt . motorola mc68ec030 technical data 15 synchronous transfers synchronous bus cycles are terminated by asserting sterm , which automatically indicates that the bus transfer is for 32 bits. since this input is not synchronized internally, two-clock-cycle bus accesses can b e performed if the signal is valid one clock after the beginning of the bus cycle with the appropriate setup time. however, the bus cycle may be lengthened by delaying sterm (inserting wait states in one-clock increments) until the device being accessed is able to terminate the cycle. after the assertion of sterm, these cycles may be aborted upon the assertion of berr , or they may be retried with the simultaneous assertion of berr and halt . burst read cycles the mc68ec030 provides support for burst filling of its on-chip instruction and data caches, adding to the overall system performance. the on-chip caches are organized with a line size of four long words; there is only one tag for the four long words in a line. since locality of reference is present to some degree in most programs, filling of all four entries when a single entry misses can be advantageous, especially if the time spent filling the additional entries is minimal. when the caches are burst filled, data can be latched by the controller in as little as one clock for each 32 bits. burst read cycles can b e performed only when the mc68ec030 requests them (with the assertion of cbreq ) and only when the first cycle is a synchronous cycle as previously described. if the cache burst acknowledge ( cback) input is valid at the appropriate time in the synchronous bus cycle, the controller keeps the original as , ds , r/ w , address, function code, and size outputs asserted and latches 32 bits from the data bus at the end of each subsequent clock cycle that has ster m asserted. this procedure continues until the burst is complete (the entire block has been transferred), berr is asserted in lieu of or after sterm , the cache inhibit in ( ciin) input is asserted, or the cback input is negated. the cache preloading allowed by the bursting enables the mc68ec030 to take advantage of cost-effective dram technology with minimal performance impact. exceptions the types of exceptions and the exception processing sequence are discussed in the following paragraphs. types of exceptions exceptions can be generated by either internal or external causes. the externally generated exceptions are interrupts, berr , and reset . interrupts are requests from peripheral devices for controller action; whereas, berr and reset are used for access control and controller restart. the internally generated exceptions come from instructions, address errors, tracing, or breakpoints. the trap, trapcc, trapvcc, cptrapcc, ckh, ckh2, and div instructions can all generate exceptions as part of instruction execution. tracing behaves like a very high-priority, internally generated interrupt whenever it is processed. the other internally generated exceptions are caused by illegal instructions, instruction fetches from odd addresses, and privilege violations. 16 mc68ec030 technical data motorola exception processing sequence exception processing occurs in four steps. during the first step, an internal copy is made of the status register. after the copy is made, the special controller state bits in the status register are changed. the s- bit is set, putting the controller into the supervisor state. also, the t1 and t0 bits are negated, allowing the exception handler to execute unhindered by tracing. for the reset and interrupt exceptions, the interrupt priority mask is also updated. in the second step, the vector number of the exception is determined. for interrupts, the vector number is obtained by a controller read that is classified as an interrupt acknowledge cycle. for coprocessor- detected exceptions, the vector number is included in the coprocessor exception primitive response. for all other exceptions, internal logic provides the vector number. this vector number is then used to generate the address of the exception vector. the third step is to save the current controller status. the exception stack frame is created and filled on the current supervisor stack. to minimize the amount of machine state that is saved, various stack frame sizes are used to contain the controller state, depending on the type of exception and where it occurred during instruction execution. if the exception is an interrupt and the m-bit is set, the m-bit is then cleared, and the short four-word exception stack frame that is saved on the master stack is also saved on the interrupt stack. if the exception is a reset, the m-bit is simply cleared, and the reset vector is accessed. the mc68ec030 provides the same extensions to the exception stacking process as the mc68020, mc68030, and mc68040. if the m-bit is set, the master stack pointer (msp) is used for all task-related exceptions. when a nontask-related exception occurs (i.e., an interrupt), the m bit is cleared, and the interrupt stack pointer (isp) is used. this feature allows all the task's stack area to be carried within a single controller control block, and new tasks can be initiated by simply reloading the msp and setting the m-bit. the fourth and last step of exception processing is the same for all exceptions. the exception vector offset is determined by multiplying the vector number by four. this offset is then added to the contents of the vector base register (vbr) to determine the memory address of the exception vector. the new program counter is fetched from the exception vector. the instruction at the address given in the exception vector is fetched, and normal instruction decoding and execution is started. status and refill the mc68ec030 provides the status and refill signals to identify internal microsequencer activity associated with the processing of data pipelined in the pipeline. since bus cycles are independently controlled and scheduled by the bus controller, information concerning the processing state of the microsequencer is not available by monitoring bus signals by themselves. the internal activity identified by the status and refill signals include instruction boundaries, some exception conditions, when the microsequencer has halted, and instruction pipeline refills. status and refill track only the internal microsequencer activity and are not directly related to bus activity. motorola mc68ec030 technical data 17 access control two access control registers are provided on the mc68ec030 to control cachability of accesses for two independent blocks of memory. each block can range in size from 16 mbytes to 2 gbytes, and is specified in the corresponding acx register with a base address, a base mask, function code, function code mask, and read/write mask. a typical use for an access control register is to designate a block of memory containing i/o devices as non-cachable. coprocessor interface the coprocessor interface is a mechanism for extending the instruction set of the m68000 family. the interface provided on the mc68ec030 is the same as that on the mc68020 and mc68030. examples of these extensions are the addition of specialized data operands for the existing data types or, for the case of floating point, the inclusion of new data types and operations implemented by the mc68881/mc68882 floating-point coprocessors. signal description figure 8 illustrates the functional signal groups, and table 3 describe the signals and their function. dsack0 function codes address bus transfer size asynchronous bus control cache control emulator support synchronous bus control bus exception control bus arbitration control interrupt control mc68ec030 fc0?c2 a0?31 d0?31 siz0 siz1 ocs ecs r/w rmc as ds dben dsack1 ciin ciout cbreq cback gnd (14) clk cdis status refill sterm berr halt reset ipl0 ipl1 ipl2 ipend avec br bg bgack v (10) cc data bus figure 8. functional signal groups 18 mc68ec030 technical data motorola table 3. signal index signal name mnemonic function function codes fc0Cfc2 3-bit function code used to identify the address space of each bus cycle. address bus a0Ca31 32-bit address bus. data bus d0Cd31 32-bit data bus used to transfer 8, 16, 24, or 32 bits of data per bus cycle. size siz0Csiz1 indicates the number of bytes remaining to be transferred for this cycle. these signals, together with a0 and a1, define the active sections of the data bus. operand cycle start ocs identical operation to that of ecs except that ocs is asserted only during the first bus cycle of an operand transfer external cycle start ecs provides an indication that a bus cycle is beginning. read/write r/ w defines the bus transfer as a controller read or write. read-modify-write cycle rmc provides an indicator that the current bus cycle is part of an indivisible read-modify-write operation. address strobe as indicates that a valid address is on the bus. data strobe ds indicates that valid data is to be placed on the data bus by an external device or has been replaced by the mc68ec030. data buffer enable dben provides an enable signal for external data buffers. data transfer and size acknowledge dsack0 , dsack1 bus response signals that indicate the requested data transfer operation has completed. in addition, these two lines indicate the size of the external bus port on a cycle-by-cycle basis and are used for asynchronous transfers. synchronous termination sterm bus response signal that indicates a port size of 32 bits and that data may be latched on the next falling clock edge. cache inhibit in ciin prevents data from being loaded into the mc68ec030 instruction and data caches. cache inhibit out ciout reflects the ci bit in acx registers; indicates that external caches should ignore these accesses. cache burst request cbreq indicates a burst request for the instruction or data cache. cache burst acknowledge cback indicates that the accessed device can operate in burst mode. interrupt priority level ipl0 C ipl2 provides an encoded interrupt level to the controller. interrupt pending ipend indicates that an interrupt is pending. autovector avec requests an autovector during an interrupt acknowledge cycle. bus request br indicates that an external device requires bus mastership. bus grant bg indicates that an external device may assume bus mastership. bus grant acknowledge bgack indicates that an external device has assumed bus mastership. reset reset system reset. halt halt indicates that the controller should suspended bus activity. bus error berr indicates that an erroneous bus operation is being attempted. cache disable cdis dynamically disables the on-chip cache to assist emulator support. pipe refill refill indicates when the mc68ec030 is beginning to fill pipeline. microsequencer status status indicates the state of the microsequencer. motorola mc68ec030 technical data 19 clock clk clock input to the controller. table 3. signal index C continued signal name mnemonic function power supply v cc power supply. ground gnd ground connection. no connect nc do not connect. 20 mc68ec030 technical data motorola electrical specifications maximum ratings rating symbol value unit supply voltage v cc -0.3 to +7.0 v input voltage v in -0.5 to +7.0 v operating temperature range minimum ambient temperature maximum ambient temperature t a t a 0 70 c storage temperature range t stg -55 to 150 c thermal characteristics-- pga package characteristic symbol value rating thermal resistance - plastic junction to ambient junction to case q ja q jc 32 tbd o c/w power considerations the average chip-junction temperature, tj, in o c can be obtained from: t j =t a +(p d ? q ja) (1) where: t a = ambient temperature, o c q j a = package thermal resistance, junction-to-ambient, o c/w p d = p int + p i/o p int = i cc x v cc , watts chip internal power p i/o = power dissipation on input and output pins user determined for most applications, p i/o motorola mc68ec030 technical data 21 the total thermal resistance of a package ( q ja ) can be separated into two components, q jc and q ca , representing the barrier to heat flow from the semiconductor junction to the package (case) surface ( q jc ) and from the case to the outside ambient air ( q ca ). these terms are related by the equation: q ja = q jc + q ca (4) q jc is device related and cannot be influenced by the user. however, q ca is user dependent and can be minimized by such thermal management techniques as heat sinks, ambient air cooling, and thermal convection. thus, good thermal management on the part of the user can significantly reduce q ca so that q ja approximately equals; q jc . substitution of q jc for q ja in equation (1) results in a lower semiconductor junction temperature. values for thermal resistance presented in this document, unless estimated, were derived using the procedure described in motorola reliability report 7843, thermal resistance measurement method for mc68xx microcomponent devices, and are provided for design purposes only. thermal measurements are complex and dependent on procedure and setup. user derived values for thermal resistance may differ. ac electrical specification definitions the ac specifications presented consist of output delays, input setup and hold times, and signal skew times. all signals are specified relative to an appropriate edge of the clock and possibly to one or more other signals. the measurement of the ac specifications is defined by the waveforms shown in figure 9. to test the parameters guaranteed by motorola, inputs must be driven to the voltage levels specified in figure 9. outputs are specified with minimum and/or maximum limits, as appropriate, and are measured as shown in figure 9. inputs are specified with minimum setup and hold times, and are measured as shown. finally, the measurement for signal-to-signal specifications is also shown. note that the testing levels used to verify conformance to the ac specifications does not affect the guaranteed dc operation of the device as specified in the dc electrical specifications.
|
Price & Availability of MC68EC030TS
![]() |
|
|
All Rights Reserved © IC-ON-LINE 2003 - 2022 |
[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy] |
Mirror Sites : [www.datasheet.hk]
[www.maxim4u.com] [www.ic-on-line.cn]
[www.ic-on-line.com] [www.ic-on-line.net]
[www.alldatasheet.com.cn]
[www.gdcy.com]
[www.gdcy.net] |