Download presentation
Presentation is loading. Please wait.
Published byJeffrey Barton Modified over 9 years ago
1
University of Tehran 1 Microprocessor System Design Omid Fatemi Memory Interfacing (omid@fatemi.net)
2
University of Tehran 2 Outline Address decoding Chip select Memory configurations
3
University of Tehran 3 Processor Timing Diagram of 8088 (Minimum Mode) for Memory or I/O Read (with 74245) ALE T1 CLOCK T2T3T4 AD7 - AD0 A15 - A8 A19/S6 - A16/S3 DT/R __ IO/M __ ____ RD DEN ______ A19 - A0 from 74LS373 to memory S6 - S3A19 - A16 A19 - A0 from 74LS373 if I/O ACCESS this is HIGH, if MEMORY ACCESS this is LOW D7 - D0 from memory to 74LS245 D7 - D0 (from memory) D7 - D0 from 74LS245 garbage A7 - A0 A15 - A8
4
University of Tehran 4 Minimum Mode
5
University of Tehran 5 Minimum Mode When Memory is selected?
6
University of Tehran 6 Minimum Mode 2 20 bytes or 1MB
7
University of Tehran 7 What are the memory locations of a 1MB (2 20 bytes) Memory? A19 to A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 000000000 FFFFF1111 Example: 34FD0 0011 0100 11111 1101 0000
8
University of Tehran 8 Interfacing a 1MB Memory to the 8088 Microprocessor
9
University of Tehran 9 Instead of Interfacing 1MB, what will happen if you interface a 512KB Memory?
10
University of Tehran 10 What are the memory locations of a 512KB (2 19 bytes) Memory? A18 to A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 000000000 7FFFF01111111
11
University of Tehran 11 Interfacing a 512KB Memory to the 8088 Microprocessor What do we do with A19?
12
University of Tehran 12 What if you want to read physical address A0023?
13
University of Tehran 13 What if you want to read physical address A0023? A19 to A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 A002310100000 00100011 A19 is not connected to the memory so even if the 8088 microprocessor outputs a logic “1”, the memory cannot “see” this.
14
University of Tehran 14 What if you want to read physical address 20023? A18 to A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 2002300100000 00100011 For memory it is the same as previous one.
15
University of Tehran 15 Interfacing two 512KB Memory to the 8088 Microprocessor
16
University of Tehran 16 Interfacing two 512KB Memory to the 8088 Microprocessor Problem: Bus Conflict. The two memory chips will provide data at the same time when microprocessor performs a memory read. Solution: Use address line A19 as an “arbiter”. If A19 outputs a logic “1” the upper memory is enabled (and the lower memory is disabled) and vice-versa.
17
University of Tehran 17 Interfacing two 512KB Memory to the 8088 Microprocessor : RD WR CS
18
University of Tehran 18 What are the memory locations of two consecutive 512KB (2 19 bytes) Memory? A19 to A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 000000000 7FFFF01111111 8000010000000 FFFFF1111
19
University of Tehran 19 Interfacing two 512KB Memory to the 8088 Microprocessor When the P outputs an address between 80000 to FFFFF, this memory is selected When the P outputs an address between 00000 to 7FFFF, this memory is selected
20
University of Tehran 20 Interfacing two 512KB Memory to the 8088 Microprocessor
21
University of Tehran 21 Interfacing two 512KB Memory to the 8088 Microprocessor
22
University of Tehran 22 What if we remove the lower memory?
23
University of Tehran 23 What if we remove the lower memory? When the P outputs an address between 80000 to FFFFF, this memory is selected When the P outputs an address between 00000 to 7FFFF, no memory chip is selected !
24
University of Tehran 24 Full and Partial Decoding Full Decoding –When all of the “useful” address lines are connected the memory/device to perform selection Partial Decoding –When some of the “useful” address lines are connected the memory/device to perform selection –Using this type of decoding results into roll-over addresses
25
University of Tehran 25 Full Decoding
26
University of Tehran 26 Full Decoding A19 to A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 8000010000000 FFFFF1111 A19 should be a logic “1” for the memory chip to be enabled
27
University of Tehran 27 Full Decoding A19 to A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 000000000 7FFFF01111111 Therefore if the microprocessor outputs an address between 00000 to 7FFFF, whose A19 is a logic “0”, the memory chip will not be selected
28
University of Tehran 28 Partial Decoding
29
University of Tehran 29 Partial Decoding A19 to A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 000000000 7FFFF01111111 8000010000000 FFFFF1111 The value of A19 is INSIGNIFICANT to the memory chip, therefore A19 has no bearing whether the memory chip will be enabled or not
30
University of Tehran 30 Partial Decoding A19 to A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 000000000 7FFFF01111111 8000010000000 FFFFF1111 ACTUAL ADDRESS
31
University of Tehran 31 Partial Decoding A19 to A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 000000000 7FFFF01111111 8000010000000 FFFFF1111 ACTUAL ADDRESS
32
University of Tehran 32 Interfacing two 512K Memory Chips to the 8088 Microprocessor
33
University of Tehran 33 Interfacing one 512K Memory Chips to the 8088 Microprocessor
34
University of Tehran 34 Interfacing one 512K Memory Chips to the 8088 Microprocessor (version 2)
35
University of Tehran 35 Interfacing one 512K Memory Chips to the 8088 Microprocessor (version 3)
36
University of Tehran 36 Interfacing four 256K Memory Chips to the 8088 Microprocessor
37
University of Tehran 37 Interfacing four 256K Memory Chips to the 8088 Microprocessor
38
University of Tehran 38 Memory chip#__ is mapped to: A19 to A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 ----- ---- ---------
39
University of Tehran 39 Interfacing four 256K Memory Chips to the 8088 Microprocessor
40
University of Tehran 40 Interfacing four 256K Memory Chips to the 8088 Microprocessor
41
University of Tehran 41 Interfacing four 256K Memory Chips to the 8088 Microprocessor
42
University of Tehran 42 Interfacing several 8K Memory Chips to the 8088 P
43
University of Tehran 43 Interfacing 128 8K Memory Chips to the 8088 P
44
University of Tehran 44 Interfacing 128 8K Memory Chips to the 8088 P
45
University of Tehran 45 Memory chip#__ is mapped to: A19 to A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 ----- ---- ---------
46
University of Tehran 46 Memory Terms Capacity –Kbit, Mbit, Gbit Organization –Address lines –Data lines Speed / Timing –Access time Write ability –ROM –RAM
47
University of Tehran 47 ROM Variations Mask Rom PROM – OTP EPROM – UV_EPROM EEPROM Flash memory
48
University of Tehran 48 RAM Variations SRAM DRAM NV-RAM –SRAM – CMOS –Internal lithium battery –Control circuitry to monitor Vcc
49
University of Tehran 49 Memory Chip 8K SRAM to be specific: –8Kx8 bits SRAM
50
University of Tehran 50 6264 Block Diagram
51
University of Tehran 51 6264 Function Table
52
University of Tehran 52 Memory Chip 8K EPROM to be specific: –8Kx8 bits EPROM
53
University of Tehran 53 2764 Block Diagram Chip enable Output enable
54
University of Tehran 54 Operating Modes
55
University of Tehran 55 Programming 2764 after each erasure for UV-EPROM): –all bits of the M2764A are in the “1" state. The only way to change a “0" to a ”1" is by ultraviolet light erasure. Programming mode when: –VPP input is at 12.5V –E and P are at TTL low. The data to the data output pins. The levels required for the address and data inputs are TTL.
56
University of Tehran 56 Interfacing 128 8K Memory Chips to the 8088 P
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.