MC68030CRC33C Freescale Semiconductor, MC68030CRC33C Datasheet - Page 379

no-image

MC68030CRC33C

Manufacturer Part Number
MC68030CRC33C
Description
IC MPU 32BIT ENHANCED 128-PGA
Manufacturer
Freescale Semiconductor
Datasheets

Specifications of MC68030CRC33C

Processor Type
M680x0 32-Bit
Speed
33MHz
Voltage
5V
Mounting Type
Surface Mount
Package / Case
128-PGA
Family Name
M68000
Device Core
ColdFire
Device Core Size
32b
Frequency (max)
33MHz
Instruction Set Architecture
RISC
Supply Voltage 1 (typ)
5V
Operating Supply Voltage (max)
5.25V
Operating Supply Voltage (min)
4.75V
Operating Temp Range
0C to 70C
Operating Temperature Classification
Commercial
Mounting
Through Hole
Pin Count
128
Package Type
PGA
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Features
-
Lead Free Status / Rohs Status
Compliant
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 MC68030CRC33C