MC68030RC25C Freescale Semiconductor, MC68030RC25C Datasheet - Page 379

no-image

MC68030RC25C

Manufacturer Part Number
MC68030RC25C
Description
IC MPU 32BIT ENHANCED 128-PGA
Manufacturer
Freescale Semiconductor
Datasheet

Specifications of MC68030RC25C

Processor Type
M680x0 32-Bit
Speed
25MHz
Voltage
5V
Mounting Type
Surface Mount
Package / Case
128-PGA
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Features
-

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
MC68030RC25C
Manufacturer:
MOT
Quantity:
100
Part Number:
MC68030RC25C
Manufacturer:
MOTOROLA
Quantity:
60
Part Number:
MC68030RC25C
Manufacturer:
MOT
Quantity:
1 368
Part Number:
MC68030RC25C
Manufacturer:
FREESCALE
Quantity:
20 000
Part Number:
MC68030RC25C01F91C
Manufacturer:
SYNERGY
Quantity:
114
9
9 . 1 0 . 2 A l l o c a t i o n R o u t i n e s
9-78
the complement might be SwapOutPage. These counterparts can be derived
to perform similar steps in the reverse order.
This section describes the central routine Vallocate, which user programs
The code uses flag operations that are assumed to be defined elsewhere in
the system. They may imply more complex operations than bit manipula-
tions. For example, page table status of invalid virgin can be implemented
with an invalid descriptor instead of the page descriptor, and a software flag
the allocated page, the user could corrupt it. The block could cross a
free blocks when scanning the lower level tables, each of which represents
These routines provide many of the functions required for the memory man-
complementary function usually performs the same steps in the reverse
order. The complement of GetVirtual could be ReturnVirtual; for SwaplnPage,
call to obtain memory. In this section (and the next), a loose high-level lan-
guage syntax is used for the code. The code takes many liberties to enhance
values. These strings typically represent binary values. Also, the code uses
empty brackets to represent obvious subscripts in loops that scan tables. In
such a loop, the subscript on the second line is obvious:
bit in the descriptor that indicates the page is allocated but has never been
used (the paging device has no page image).
Vallocate has a single input parameter, the required memory size in bytes.
control
the consecutive blocks and returns the address of the lowest block.
The 32 upper level table entries are long pointer types; each represents 16
agement services of an operating system, but a complete memory manage-
ment system requires a complementary function for each routine. The
readability. For example, the code assigns descriptive strings for return status
In the code shown here, the second line is:
It returns status information and the virtual address of the start of the area
(if the memory is allocated). To simplify the routine, it always returns a
multiple of the system page size and never allocates a block that crosses a
16-Mbyte boundary. It could allocate a portion of a page by implementing a
16-Mbyte boundary if the routine included code to keep track of consecutive
Mbytes of virtual address space. Each entry is either invalid (has no lower
page tables) or allocated (has lower page tables and a limit field that defines
16 Mbytes of address space. Once the total area is located, Vallocate allocates
for Upper-Table-Index= 1 to 31 do
if Upper-Table [].Status= invalid then ...
if Upper-Table [Upper-Table-lndex].Status = invalid then ...
structure to subdivide
MC68030 USER'S MANUAL
a page,
but, if the control structure were within
MOTOROLA

Related parts for MC68030RC25C