microprocessor and interfacing 261214. cpu 8088 10 mhz 8/16 bit 1m ram

42
Memory Organization Microprocessor and Interfacing 261214

Upload: mikaela-bawden

Post on 31-Mar-2015

244 views

Category:

Documents


3 download

TRANSCRIPT

  • Slide 1

Microprocessor and Interfacing 261214 Slide 2 CPU 8088 10 MHz 8/16 Bit 1M RAM Slide 3 CPU 80486 66 MHz 32 Bit 8M RAM Slide 4 Pentium 133 MHz 32 Bit 16M RAM Slide 5 Pentium MMX 200 MHz 32 Bit 48M RAM Slide 6 Pentium II 366 MHz 32 Bit 128M RAM Slide 7 Pentium M 1.6 GHz 32 Bit 512M RAM Slide 8 Core2 Duo 2.0 GHz 32/64 Bit 4G RAM Slide 9 Core i5 1.33 1.86 GHz 32/64 Bit 4G RAM Slide 10 What has changed the least? Slide 11 MHzRAM CPU Bits Slide 12 Slide 13 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? Slide 14 How many bits Is this PIC CPU? Slide 15 .................... int16 i;........................................ i=1; 0017: BCF 03.6 0018: CLRF 22 0019: MOVLW 01 001A: MOVWF 21.................... i = i+2; 001B: MOVLW 02 001C: ADDWF 21,F 001D: BTFSC 03.0 001E: INCF 22,F 16-bit operation on a 8-bit CPU Microchip PIC16 series Slide 16 .................... int16 i;........................................ i=1; 0017: BCF 03.6 0018: CLRF 22 0019: MOVLW 01 001A: MOVWF 21.................... i = i+2; 001B: MOVLW 02 001C: ADDWF 21,F 001D: BTFSC 03.0 001E: INCF 22,F 01 01 Slide 17 16-bit operation on a 16-bit CPU Microchip PIC24 series.................... int16 i;........................................ i=1; 00210: MOV #1,W4 00212: MOV W4,802........................................ i = i+2; 00214: MOV 802,W4 00216: ADD W4,#2,W4 00218: MOV W4,802 Slide 18 Slide 19 RAM 32 bit ? Slide 20 Memory Limit of 32bit Machines = 4 Giga Bytes Slide 21 How to support bigger memory? 1.Upgrade to 64-bit systems 64-bit OS64-bit CPU Slide 22 Need 64-bit Hardware Drivers Applications need to be re-compiled with a 64-bit compiler Limitation of moving to 64-bit systems (Note: Todays 64 bit support legacy 32 apps. So, migration is easier) Slide 23 How to support bigger memory? 2. Expand the existing system (Adding more bits) Slide 24 Intel Physical Address Extension (PAE) 4 bits32 bits = 64 GB Slide 25 PAE Support CPU with PAE (Since P-Pro) PAE Aware OS Slide 26 Benefits of PAE Backward Compatible Limitations Taking advantage of the added memory still requires changes in the software Slide 27 Slide 28 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 2 64 = 18,446,744,073,709,551,616 ~ 18 exabyte Slide 29 Amount of RAM (GB) in a typical computer About 4TB in 2025 Slide 30 64-Bit Architectures IA-64 AMD 64, EM64T Or X86-64 True 64bit CPU Hybrid 32/64 bit CPU Slide 31 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 Slide 32 Slide 33 Slide 34 Slide 35 0x500 0x501CALL 0x900 0x900 What is wrong with this call command? Slide 36 K = 11 bit Maximum memory = 2^11 = 2K Bytes Slide 37 PIC 16F886 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 Slide 38 Creating a 13 bit memory address PCLATH 07 01012 CALL or GOTOk (Literal) 0101113 13 Bit Memory Address OPCODE 4 3 Slide 39 PIC Flash Memory is Divided in to 4 Pages of 2KBytes 2K 01012 Slide 40 0x500 0x501CALL 0x900 0x900 Fix this program Slide 41 Address 0x900 exceeds 11 bits 0101 01012 0x900 = 000000000 0x1000x01 Slide 42 0x4FFBCF PCLATH, 4 0x500BSF PCLATH, 3 0x501CALL 0x100 0x900 0101 01012 0x900 = 000000000 0x1000x01