Solved

Far pointers

Posted on 2000-04-15
5
191 Views
Last Modified: 2011-09-20
A processor with 20 bit address line can address upto 1 mb where as its Register is 16 bit which means it can have address upto 2tothepower16 bytes .How can the 1mb RAM be addresed by the Register ?
0
Comment
Question by:r_sam_14
  • 3
  • 2
5 Comments
 

Author Comment

by:r_sam_14
Comment Utility
The discussion can revole arround Segment:offset and explain what is segment:offset .
0
 
LVL 22

Accepted Solution

by:
nietod earned 25 total points
Comment Utility
The segment value and the offset value are botyh 16 bits.  They are mathematically combined to generate a 20 bit address.  To be preceise the address generated is Segment*16+Offset.  Or if you prefere Segment << 4 + offset.  Where that << 4 shifts the segment left 4 bits so its most significant bit is now the high bit of the 20 bit address.
0
 
LVL 22

Expert Comment

by:nietod
Comment Utility
So a 16 bit register cannot be used to acccess all of 1M of ram, not by itself.  It must use a segment register to.  for any parituclar vlaue in a segment register, the 16 bit pointer register can access any value within a 64K "window".  By addjusting the segment register, you can move the "window" about in memory and thus address every byte in 1M.

Let me know if you have any questions.
0
 

Author Comment

by:r_sam_14
Comment Utility
nietod

     Kindly explain me what is segement:offset is ? explain it with example ?
0
 
LVL 22

Expert Comment

by:nietod
Comment Utility
In a segmented architecture addresses are (ultimately) specified using two numerical values.  A segment and an offset.  The actual address used when accessing memory is determined by a mathematical formula using these to values.  In the x86 family the formula is segment*16+offset.  That generates an address, a number, that is the memory location to be accessed.  This formula can generate numbers that are larger than either the segment or offset value.  So it can be used to access memory that is at a higher address than could be addressed if only one value (and no formula) was used.   Thus it can be used to access a larger memory space.

I'm not sure how to give you an example.  Does that help?
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Templates For Beginners Or How To Encourage The Compiler To Work For You Introduction This tutorial is targeted at the reader who is, perhaps, familiar with the basics of C++ but would prefer a little slower introduction to the more ad…
Introduction This article is the first in a series of articles about the C/C++ Visual Studio Express debugger.  It provides a quick start guide in using the debugger. Part 2 focuses on additional topics in breakpoints.  Lastly, Part 3 focuses on th…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now