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
Core i – 1.86 GHz 32/64 Bit 4G RAM
What has changed the least?
MHzRAM CPU Bits
What does “Bits” mean?
A CPU “bits” is typically defined by: ALU Size How many bits can be computed at one time? Bus Size How many bits can be transferred on the bus? Memory Address Size How many address bits are in the instruction?
How many bits Is this PIC CPU?
int16 i; i=1; 0017: BCF : CLRF : MOVLW A: MOVWF i = i+2; 001B: MOVLW C: ADDWF 21,F 001D: BTFSC E: INCF 22,F 16-bit operation on a 8-bit CPU Microchip PIC16 series
int16 i; i=1; 0017: BCF : CLRF : MOVLW A: MOVWF i = i+2; 001B: MOVLW C: ADDWF 21,F 001D: BTFSC E: INCF 22,F 01 01
16-bit operation on a 16-bit CPU Microchip PIC24 series int16 i; i=1; 00210: MOV #1,W : MOV W4, i = i+2; 00214: MOV 802,W : ADD W4,#2,W : MOV W4,802
ระบบ 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, = 18,446,744,073,709,551,616 ~ 18 exabyte
ปี Amount of RAM (GB) in a typical computer About 4TB in 2025
64-Bit Architectures IA-64 AMD 64, EM64T Or X86-64 True 64bit CPU Hybrid 32/64 bit CPU
A hybrid 32/64 bit system Has the benefits of a 64-bit programs Can also run older 32-bit programs 32-Bit programs will not benefit from the 64- bit architecture Architecture not as clean as true 64-bit systems
สองเรื่องน่ารู้เกี่ยวกับ หน่วยความจำของ PIC Microcontroller
1. When Memory Grows Beyond Anticipation ( เมื่อหน่วยความจำขยายโต เกินคาด )
1.1 การอ้างอิงตำแหน่งใน Flash Memory
0x500 คำสั่ง 0x501CALL 0x900 …… 0x900 คำสั่งถัดไป What is wrong with this call command?
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 4 3
Creating a 13 bit memory address PCLATH CALL or GOTOk (Literal) Bit Memory Address OPCODE 4 3
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