Welcome, Guest. Please login or register.

Author Topic: Memory Addresing  (Read 4953 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline KennyR

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 8081
    • Show all replies
    • http://wrongpla.net
Re: Memory Addresing
« on: July 27, 2004, 02:14:05 PM »
Piru's right - segmented memory addressing was pure evil, and was only in there to keep legacy with the original horribly badly designed 8086! There was no practical reason to include it, apart from to get around the 8086 and 8088's design limitations. Compared to the direct addressing method used by better designed CPUs, it makes assembly so much harder, and adds a totally unwelcome and unnecessary layer of complexity to low level design. For these reasons, modern CPUs and most modern hardware dropped it a long time ago.
 

Offline KennyR

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 8081
    • Show all replies
    • http://wrongpla.net
Re: Memory Addresing
« Reply #1 on: July 27, 2004, 02:40:37 PM »
Quote
Xamiche wrote:
Hmm, I wonder why they are bothering to teach us about these microprocessors if the segmented memory addressing is so bad. If todays processors no longer use it, why teach it?


Hmm, good question. When I did computer tech at uni in '96, we were taught how 6502 and 68000 memory addressing worked. We didn't touch on Intel at all, except to compare. Maybe segmented memory addressing still has some use in devices where bus bandwidth is limited, I don't know.

Quote
I didn't realise people found the system so horrible. I though it was a clever way to maintain compatibility, whilst increasing the address bus width.


Well, it is, very clever. But try doing serious assembler on it and you'll be calling it every bad word under the sun. ;-) Like every workaround it just increased the amount of work and thought you have to expend just to get something done.