54
Memory Interfacing & decoding in in Intel CPU’s

Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Embed Size (px)

Citation preview

Page 1: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Memory Interfacing & decoding inin

Intel CPU’s

Page 2: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Outline

• Address decoding

• Chip select

• Memory configurations

Page 3: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Minimum Mode

D7 - D0D7 - D0

A19 - A0A19 - A0

MEMORY

SimplifiedDrawing of

8088 MinimumMode

RDMEMR

WRMEMW

When Memory is selected?

Page 4: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Minimum Mode

220 bytes or 1MBD7 - D0D7 - D0

A19 - A0A19 - A0

MEMORY

SimplifiedDrawing of

8088 MinimumModeMode

RD

WR

MEMR

MEMW WRMEMWCS

Page 5: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

What are the memory locations of a 1MB (220 bytes) Memory?1MB (2 bytes) Memory?

A19 to A0

(HEX)

AAAA11119876

AAAA11115432

AAAA11981000

AAAA7654

AAAA3210

(HEX) 9876 5432 100000000 0000 0000 0000 0000 0000FFFFF 1111 1111 1111 1111 1111FFFFF 1111 1111 1111 1111 1111

Example: 34FD0

0011 0100 11111 1101 00000011 0100 11111 1101 0000

Page 6: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing a 1MB Memory to the 8088 Microprocessor

FFFFDFFFFEFFFFF

192536

::A19A19CXBXAX

000000233F1C

FCA1DX

20020200212002220023

29127D13::

A0:

A0:

ESDSSS

XXXX2000XXXX

CS XXXX

1000710008

F48A

::

::D7

D0:

D7

D0:BP

XXXXXXXX

SP

1000210003100041000510006

2739428807

RDMEMR

XXXXSI

XXXXIP

XXXXDI

00001

1000010001

95

::

4598

::WRMEMW

230000000001 95

CS

Page 7: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Instead of Interfacing 1MB, what will happen if you interface a 512KB Memory?

Page 8: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

What are the memory locations of a 512KB (219 bytes) Memory?512KB (2 bytes) Memory?

A18 to A0

(HEX)

AAAA11119876

AAAA11115432

AAAA11981000

AAAA7654

AAAA3210

(HEX) 9876 5432 100000000 0000 0000 0000 0000 00007FFFF 0111 1111 1111 1111 11117FFFF 0111 1111 1111 1111 1111

Page 9: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing a 512KB Memory to the 8088 Microprocessor

A18CXBXAX

000000233F1C

FCA1DX 7FFFF 36A18A19 What do we do with A19?

A0:

D7ESDSSS

XXXX2000XXXX

CS XXXX 7FFFD7FFFE

1925

::

::

A0:

D7

D0:

MEMRBP

XXXXXXXX

SP:

20020200212002220023

29127D13

:

D0:

RDMEMWXXXXSI

XXXXIP

XXXXDI2300000

00001 95

::

::WR

CS

Page 10: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

What if you want to read physical address A0023?

A18CXBXAX

000000233F1C

FCA1DX 7FFFF 36A18A19

A0:

D7ESDSSS

XXXXA000XXXX

CS XXXX 7FFFD7FFFE

1925

::

::

A0:

D7

D0:

MEMRBP

XXXXXXXX

SP:

20020200212002220023

29127D13

:

D0:

RDMEMWXXXXSI

XXXXIP

XXXXDI2300000

00001 95

::

::WR

CS

Page 11: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

What if you want to read physical address A0023?address A0023?

A19 to A0

(HEX)

AAAA11119876

AAAA11115432

AAAA11981000

AAAA7654

AAAA3210

(HEX) 9876 5432 1000A0023 1010 0000 0000 0010 0011

A19 is not connected to the memory soA19 is not connected to the memory so even if the 8088 microprocessor outputs a logic “1”, the memory

t “ ” thicannot “see” this.

Page 12: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

What if you want to read physical address 20023?address 20023?

A18 to A0

(HEX)

AAAA11119876

AAAA11115432

AAAA11981000

AAAA7654

AAAA3210

(HEX) 9876 5432 100020023 0010 0000 0000 0010 0011

For memory it is the same as previousFor memory it is the same as previous one.

Page 13: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing two 512KB Memory to the 8088 Microprocessor

A18

A0:CX

BXAX

000000233F1C

FCA1DX

A19

7FFFD7FFFE7FFFF

192536

::

A18

A0:

D7

D0:

MEMRESDSSS

XXXX2000XXXX

CS XXXX

:20020200212002220023

29127D13

:

D7

D0:

RDMEMW

BPXXXXXXXX

SP2300000

00001 95WRCS

XXXXSI

XXXXIP

XXXXDI

20023

7FFFD7FFFE7FFFF

33

2C9812

::

A18

A0:

00001:

200202002120022

A39245

:

D7

D0:

RD

970000000001 D4WR

CS

Page 14: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

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.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 ismemory is enabled (and the lower memory is disabled) and vice-versa.

Page 15: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing two 512KB Memory to the 8088 Microprocessor

A18

A0:CX

BXAX

000000233F1C

FCA1DX

A19

7FFFD7FFFE7FFFF

192536

::

A18

A0:

D7

D0:

MEMRESDSSS

XXXX2000XXXX

CS XXXX

:20020200212002220023

29127D13

:

D7

D0:

RDMEMW

BPXXXXXXXX

SP2300000

00001 95WRCS

XXXXSI

XXXXIP

XXXXDI

20023

7FFFD7FFFE7FFFF

33

2C9812

::

A18

A0:

:200202002120022

A39245

:

D7

D0:

RD

970000000001 D4WR

CS

Page 16: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

What are the memory locations of two consecutive 512KB (219 bytes) Memory?

A19 to A0

(HEX)

AAAA11119876

AAAA11115432

AAAA11981000

AAAA7654

AAAA3210

(HEX) 9876 5432 100000000 0000 0000 0000 0000 00007FFFF 0111 1111 1111 1111 11117FFFF 0111 1111 1111 1111 111180000 1000 0000 0000 0000 0000FFFFF 1111 1111 1111 1111 1111

Page 17: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing two 512KB Memory to the 8088 Microprocessor

A18

A0:CX

BXAX

000000233F1C

FCA1DX

A19

7FFFD7FFFE7FFFF

192536

::

A18

A0:

D7

D0:

MEMRESDSSS

XXXX2000XXXX

CS XXXX

:20020200212002220023

29127D13

:

D7

D0:

RDMEMW

BPXXXXXXXX

SP2300000

00001 95WRCSWhen the P outputs

an address between 80000 to FFFFF

When the P outputs an address between 00000 to 7FFFFXXXXSI

XXXXIP

XXXXDI

20023

7FFFD7FFFE7FFFF

33

2C9812

::

A18

A0:

80000 to FFFFF, this memory is selected

00000 to 7FFFF, this memory is selected

:200202002120022

A39245

:

D7

D0:

RD

970000000001 D4WR

CS

Page 18: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing two 512KB Memory to the 8088 Microprocessor

A18

A0:CX

BXAX

000000233F1C

FCA1DX

A19

7FFFD7FFFE7FFFF

192536

::

A18

A0:

D7

D0:

MEMRESDSSS

XXXX2000XXXX

CS XXXX

:20020200212002220023

29127D13

:

D7

D0:

RDMEMRMEMW

BP

ES

XXXXXXXX

XXXX

SP2300000

00001 95::RD

WRCS

XXXXSI

XXXXIP

XXXXDI

20023

7FFFD7FFFE7FFFF

33

2C9812

::

A18

A0:

:20020200212002220023

A3924533

:

D7

D0:

RD

970000000001 D4WR

CS

Page 19: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing two 512KB Memory to the 8088 Microprocessor

A18

A0:CX

BXAX

000000233F1C

FCA1DX

A19

7FFFD7FFFE7FFFF

192536

::

A18

A0:

A18

A0:

A19

D7

D0:

MEMRESDSSS

XXXX2000XXXX

CS XXXX

:20020200212002220023

29127D13

:

D7

D0:

RD

D7

D0:

RDMEMRMEMW

BP

ES

XXXXXXXX

XXXX

SP2300000

00001 95::RD

WRCS

RDWR

XXXXSI

XXXXIP

XXXXDI

20023

7FFFD7FFFE7FFFF

33

2C9812

::

A18

A0:

:20020200212002220023

A3924533

:

D7

D0:

RD

970000000001 D4WR

CS

Page 20: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

What if we remove the lower memory?

A18

A0:CX

BXAX

000000233F1C

FCA1DX

A19

7FFFD7FFFE7FFFF

192536

::

A18

A0:

D7

D0:

MEMRESDSSS

XXXX2000XXXX

CS XXXX

:20020200212002220023

29127D13

:

D7

D0:

RDMEMW

BPXXXXXXXX

SP2300000

00001 95WRCS

XXXXSI

XXXXIP

XXXXDI

20023

7FFFD7FFFE7FFFF

33

2C9812

::

A18

A0:

:200202002120022

A39245

:

D7

D0:

RD

970000000001 D4WR

CS

Page 21: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

What if we remove the lower memory?

A18

A0:CX

BXAX

000000233F1C

FCA1DX

A19

7FFFD7FFFE7FFFF

192536

::

A18

A0:

D7

D0:

MEMRESDSSS

XXXX2000XXXX

CS XXXX

:20020200212002220023

29127D13

:

D7

D0:

RDMEMW

BPXXXXXXXX

SP2300000

00001 95WRCSWhen the P outputs

an address between 80000 to FFFFF

When the P outputs an address between 00000 to 7FFFF noXXXXSI

XXXXIP

XXXXDI80000 to FFFFF, this memory is selected

00000 to 7FFFF, no memory chip is selected !!

Page 22: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

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 selectiony p– Using this type of decoding results into roll-over

addresses

Page 23: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Full Decoding

A18

A0:CX

BXAX

000000233F1C

FCA1DX

A19

7FFFD7FFFE7FFFF

192536

::

A18

A0:

D7

D0:

MEMRESDSSS

XXXX2000XXXX

CS XXXX

:20020200212002220023

29127D13

:

D7

D0:

RDMEMW

BPXXXXXXXX

SP2300000

00001 95WRCS

XXXXSI

XXXXIP

XXXXDI

Page 24: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Full Decoding

A19 to A0

(HEX)

AAAA11119876

AAAA11115432

AAAA11981000

AAAA7654

AAAA3210

(HEX) 9876 5432 100080000 1000 0000 0000 0000 0000FFFFF 1111 1111 1111 1111 1111FFFFF 1111 1111 1111 1111 1111

A19 should be a logic “1” for theA19 should be a logic 1 for the memory chip to be enabled

Page 25: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Full Decoding

A19 to A0

(HEX)

AAAA11119876

AAAA11115432

AAAA11981000

AAAA7654

AAAA3210

(HEX) 9876 5432 100000000 0000 0000 0000 0000 00007FFFF 0111 1111 1111 1111 11117FFFF 0111 1111 1111 1111 1111

Therefore if the microprocessorTherefore if the microprocessor outputs an address between 00000 to 7FFFF, whose A19 is a logic “0”, the

hi ill t b l t dmemory chip will not be selected

Page 26: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Partial Decoding

A18CXBXAX

000000233F1C

FCA1DX 7FFFF 36A18A19

A0:

D7ESDSSS

XXXX2000XXXX

CS XXXX 7FFFD7FFFE

1925

::

::

A0:

D7

D0:

MEMRBP

XXXXXXXX

SP:

20020200212002220023

29127D13

:

D0:

RDMEMWXXXXSI

XXXXIP

XXXXDI2300000

00001 95

::

::WR

CS

Page 27: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Partial Decoding

A19 to A0

(HEX)

AAAA11119876

AAAA11115432

AAAA11981000

AAAA7654

AAAA3210

(HEX) 9876 5432 100000000 0000 0000 0000 0000 00007FFFF 0111 1111 1111 1111 11117FFFF 0111 1111 1111 1111 111180000 1000 0000 0000 0000 0000FFFFF 1111 1111 1111 1111 1111

The value of A19 is INSIGNIFICANT to theThe value of A19 is INSIGNIFICANT to the memory chip, therefore A19 has no bearing whether the memory chip will be enabled or not

Page 28: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Partial Decoding

A19 to A0

(HEX)

AAAA11119876

AAAA11115432

AAAA11981000

AAAA7654

AAAA3210

(HEX) 9876 5432 100000000 0000 0000 0000 0000 00007FFFF 0111 1111 1111 1111 11117FFFF 0111 1111 1111 1111 111180000 1000 0000 0000 0000 0000FFFFF 1111 1111 1111 1111 1111

ACTUAL ADDRESSACTUAL ADDRESS

Page 29: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Partial Decoding

A19 to A0

(HEX)

AAAA11119876

AAAA11115432

AAAA11981000

AAAA7654

AAAA3210

(HEX) 9876 5432 100000000 0000 0000 0000 0000 00007FFFF 0111 1111 1111 1111 11117FFFF 0111 1111 1111 1111 111180000 1000 0000 0000 0000 0000FFFFF 1111 1111 1111 1111 1111

ACTUAL ADDRESSACTUAL ADDRESS

Page 30: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing two 512K Memory Chips to the 8088 Microprocessor

A18

A0:

A19A18

A0:

D7

D0:

MEMR

512KB#2

D7

D0:

RD

8088Minimum

Mode

MEMW WRCS

512KB

A18

A0:

D7#1

D0:

RDWRCS

Page 31: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing one 512K Memory Chips to the 8088 Microprocessor

A18

A0:

A19A18

A0:

D7

D0:

MEMR

512KBD7

D0:

RD

8088Minimum

Mode

MEMW WRCS

Page 32: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing one 512K Memory Chips to the 8088 Microprocessor (version 2)

A18

A0:

A19A18

A0:

D7

D0:

MEMR

512KBD7

D0:

RD

8088Minimum

Mode

MEMW WRCS

Page 33: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing one 512K Memory Chips to the 8088 Microprocessor (version 3)

A18

A0:

A19A18

A0:

D7

D0:

MEMR

512KBD7

D0:

RD

8088Minimum

Mode

MEMW WRCS

Page 34: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing four 256K Memory Chips to the 8088 Microprocessor

256KB

A17

A0:

D7

A18A19

256KB#4D0

:

RDWRCS

A17

A0:

D7

D0:

MEMR

256KB#3

A17

A0:

D7

D0:

RD

8088Minimum

Mode

MEMRMEMW

RDWRCS

A17

A0:

256KB#2

A0D7

D0:

RDWRCSCS

256KB#1

A17

A0:

D7:

#1D0RDWRCS

Page 35: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing four 256K Memory Chips to the 8088 Microprocessor

256KB

A17

A0:

D7

A18A19

256KB#4D0

:

RDWRCS

A17

A0:

D7

D0:

MEMR

256KB#3

A17

A0:

D7

D0:

RD

8088Minimum

Mode

MEMRMEMW

RDWRCS

A17

A0:

256KB#2

A0D7

D0:

RDWRCSCS

256KB#1

A17

A0:

D7:

#1D0RDWRCS

Page 36: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Memory chip#__ is mapped to:

A19 t AAAA AAAA AAAA AAAA AAAAA19 to A0

(HEX)

AAAA11119876

AAAA11115432

AAAA11981000

AAAA7654

AAAA3210

----- ---- ---- ---- ---- ----

----- ---- ---- ---- ---- ----

Page 37: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing four 256K Memory Chips to the 8088 Microprocessor

256KB

A17

A0:

D7

A18A19

256KB#4D0

:

RDWRCS

A17

A0:

D7

D0:

MEMR

256KB#3

A17

A0:

D7

D0:

RD

8088Minimum

Mode

MEMRMEMW

RDWRCS

A17

A0:

256KB#2

A0D7

D0:

RDWRCSCS

256KB#1

A17

A0:

D7:

#1D0RDWRCS

Page 38: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing four 256K Memory Chips to the 8088 Microprocessor

256KB

A17

A0:

D7

A18A19

256KB#4D0

:

RDWRCS

A17

A0:

D7

D0:

MEMR

256KB#3

A17

A0:

D7

D0:

RD

8088Minimum

Mode

MEMRMEMW

RDWRCS

A17

A0:

256KB#2

D7

D0:

RDWRCS

256KB#1

A17

A0:

D7

D0:D0RDWRCS

Page 39: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing four 256K Memory Chips to the 8088 Microprocessor

256KB

A17

A0:

D7

A18A19

256KB#4D0

:

RDWRCSI1

I0 O3

A17

A0:

D7

D0:

MEMR

256KB#3

A17

A0:

D7

D0:

RD

8088Minimum

Mode

MEMRMEMW

RDWRCS

A17

A0:

O2

256KB#2

D7

D0:

RDWRCSO1

256KB#1

A17

A0:

D7

D0:D0RDWRCSO0

Page 40: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Interfacing several 8K Memory Chips to the 8088 P

8KB#?

A12

A0:

D7

D0:

A17A18A19

A12:

A13A14

RDWRCS

A15A16

:8088

Mi i

A0D7

D0:

MEMRMEMW

::

MinimumMode

8KB#2

A12

A0:

D7: #2D0RDWRCS

A12

8KB#1

A0:

D7

D0:

RDWRWRCS

Page 41: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

8KB#128

A12

A0:

D7

D0:

A17A18A19

Interfacing 1288K Memory Chips to the 8088 P

A12:

A13A14

RDWRCS

A15A16

:8088

Mi i

A0D7

D0:

MEMRMEMW

::

MinimumMode

8KB#2

A12

A0:

D7: #2D0RDWRCS

A12

8KB#1

A0:

D7

D0:

RDWRWRCS

Page 42: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

8KB#128

A12

A0:

D7

D0:

A17A18A19

Interfacing 1288K Memory Chips to the 8088 P

A12:

A13A14

RDWRCS

A15A16

:8088

A0D7

D0:

MEMRMEMW

::

MinimumMode

8KB

A12

A0:

D7:

#2D0:

RDWRCS

A12

8KB#1

A12

A0:

D7

D0:

RDWRCS

Page 43: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Memory chip#__ is mapped to:

A19 t AAAA AAAA AAAA AAAA AAAAA19 to A0

(HEX)

AAAA11119876

AAAA11115432

AAAA11981000

AAAA7654

AAAA3210

----- ---- ---- ---- ---- ----

----- ---- ---- ---- ---- ----

Page 44: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Memory Terms

• CapacityCapacity – Kbit, Mbit, Gbit

• Organizationg– Address lines– Data lines

• Speed / Timing– Access time

W it bilit• Write ability– ROM– RAMRAM

Page 45: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

ROM Variations

• Mask Rom

PROM OTP• PROM – OTP

• EPROM – UV_EPROM

• EEPROM

Fl h• Flash memory

Page 46: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

RAM Variations

• SRAM

DRAM• DRAM

• NV-RAM– SRAM – CMOS

– Internal lithium battery

– Control circuitry to monitor Vcc

Page 47: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Memory Chip

A0 I/O0• 8K SRAM• to be specific:

8K 8 bit SRAM

A0A1A2A3A4

I/O0I/O1I/O2I/O3I/O4– 8Kx8 bits SRAM

6264

A4A5A6A7A8

I/O4I/O5I/O6I/O7

6264A9A10A11A12

CS2CS1

OEWE

CS2

Page 48: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

6264 Block Diagram

Page 49: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

6264 Function Table

Page 50: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Memory Chip

A0 Q0• 8K EPROM• to be specific:

8K 8 bit EPROM

A0A1A2A3A4

Q0Q1Q2Q3Q4– 8Kx8 bits EPROM

2764

A4A5A6A7A8

Q4Q5Q6Q7

2764A9A10A11A12

VPPC

GP

VPP

Page 51: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

2764 Block Diagram

Chip enablep

Output enable

Page 52: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

Operating Modes

Page 53: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

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• 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 data to the data output pins. • The levels required for the address and data

inputs are TTL.

Page 54: Memory Interfacing & decoding in Intel CPU’s · BP XXXX XXXX SP 00000 23 WR 00001 95 When the P outputs CS an address between SI XXXX 8000000000toFFFFF7FFFF no IP XXXX DI XXXX 80000

8KB#128

A12

A0:

D7

D0:

A17A18A19

Interfacing 1288K Memory Chips to the 8088 P

A12:

A13A14

RDWRCS

A15A16

:8088

A0D7

D0:

MEMRMEMW

::

MinimumMode

8KB

A12

A0:

D7:

#2D0:

RDWRCS

A12

8KB#1

A12

A0:

D7

D0:

RDWRCS