Memory Organization Microprocessor and Interfacing
CPU MHz 8/16 Bit 1M RAM
CPU MHz 32 Bit 8M RAM
Pentium 133 MHz 32 Bit 16M RAM
Pentium MMX 200 MHz 32 Bit 48M RAM
Pentium II 366 MHz 32 Bit 128M RAM
Pentium M 1.6 GHz 32 Bit 512M RAM
Core2 Duo 2.0 GHz 32/64 Bit 4G RAM
MHzRAM CPU Bits
What does “Bits” mean?
How many bits Is this PIC CPU?
ระบบ 32 Bit กำลังเจอ ทางตัน ?
RAM ใหญ่ที่สุดที่ระบบ 32 bit มองเห็นมีค่าเป็น เท่าใด ?
Memory Limit of 32bit Machines = 4 Giga Bytes
How to support bigger memory? 1.Upgrade to 64-bit systems 64-bit OS64-bit CPU
Limitation of moving to 64-bit systems Need 64-bit Hardware Drivers Applications need to be re-compiled with a 64-bit compiler
How to support bigger memory? 2. Expand existing bits
วิธีแก้ปัญหาของ Intel Physical Address Extension (PAE) 4 bits32 bits = 64 GB
PAE Support CPU with PAE (Since P-Pro) PAE Aware OS
Benefits of PAE Backward Compatible Limitations Taking advantage of the added memory still requires changes in the software
Memory Limit of 64 Bit Machines?
How big can we get? 1 kilobyte 1 megabyte 1 gigabyte 1 terabyte 1 petabyte 1 exabyte 1 zettabyte 1 yottabyte 1 xonabyte 1 wekabyte 1 vundabyte 1,024 1,048,576 1,073,741,824 1,099,511,627,776 1,125,899,906,842,624 1,152,921,504,606,846,976 1,180,591,620,717,411,303,424 1,208,925,819,614,629,174,706,176 1,237,940,039,285,380,274,899,124,224 1,267,650,600,228,229,401,496,703,205,376 1,298,074,214,633,706,907,132,624,082,305,024
สองเรื่องน่ารู้เกี่ยวกับ หน่วยความจำของ PIC Microcontroller
1. When Memory Grows Beyond Anticipation ( เมื่อหน่วยความจำขยายโต เกินคาด )
1.1 การอ้างอิงตำแหน่งใน Flash Memory
K = 11 bit Maximum memory = 2^11 = 2K Bytes
PIC 16F877 has 8K Flash Memory: How do we access all of it? PCLATH (F# 0x0A) Bit 3-4 in PCLATH are used for memory access 07 Total Memory becomes 2^13 = 8K Bytes
Creating a 13 bit memory address PCLATH CALL or GOTOk (Literal) Bit Memory Address OPCODE
PIC Flash Memory is Divided in to 4 Pages of 2KBytes 2K 01012
0x500 คำสั่ง 0x501CALL 0x900 …… 0x900 คำสั่งถัดไป Fix this program
Address 0x900 exceeds 11 bits x900 = x1000x01
0x4FFBCF PCLATH, 4 0x500BSF PCLATH, 3 0x501CALL 0x100 …… 0x900 คำสั่งถัดไป x900 = x1000x01