My teacher has given me the question to differentiate the maximum memory space of 1MB and 4GB microprocessor. Does anyone know how to answer this question apart from size mentioned difference ? https://i.stack.imgur.com/Q4Ih7.png
Question about memory space in microprocessor
109 Views Asked by kaito kumon At
1
There are 1 best solutions below
Related Questions in X86-16
- How to convert binary into decimal in assembly x8086?
- Compact implementation of logical AND in x86 assembly
- Sorting string ASC/DSC word by word in a sentence
- What does DX + 2 mean in mov ah,9 int 21h?
- Reverse Program emu8086
- how to print the data from a memory in assembly 8086
- Why do I get stack overflow when my assembly code is called form a procedure but not main?
- This code for binary output does not work properly - Assembly language
- Trying to perform a factorial in assembly but causing stack overflow
- Assembly (emu8086) not allowing moving of bytes into 8-bit registers
- int 10h 13h bios string output not working
- Assembler function gets overflow
- How to access the CHS information from the partition table of MBR?
- Print multiplication table assembly language
- Link object files from header files in real mode when using GCC -m16 option?
Related Questions in MEMORY-SEGMENTATION
- Why do we need AX instead of MOV DS, data directly with a segment?
- how does the OS determine null pointer access without checking all pointer addresses?
- Privilege level checking when accessing code segment
- How segmentation enables sharing of code or data?
- load_seg_reg(ES, 0xfffc): invalid segment when trying to run kernel code from boot sector
- What is the advantage of using segment registers (today)?
- How segmentation works and how the physical memory address is calculated from segment table
- Programmers and segmentation in operating systems
- How are segment registers unused in protected mode memory addressing in modern x86 systems?
- How can the processor discern a far return from a near return?
- x86 Segmentation in User-Mode
- How does Assembler find variables in memory?
- How to get .text segment statistics in IDA Pro?
- x86 - Switching from 32-bit to 64-bit via RETF
- Wow64 subsystem and its implementation on x86_64
Related Questions in ADDRESS-SPACE
- How to write in network address/netmask the following address space?
- If you have a physical address, is it possible to traverse the paging structures backwards and compute a linear address?
- How does copy_to_user work on s390?
- how to check if exe is set as LARGEADDRESSAWARE
- number of bytes available given address bus width and various information
- Is access to heap section of parent process by child process (created by fork() ) legal?
- Confusing, what is this inside the channel in Go Routines
- AppDomain address space
- What is "the kernel address space"?
- Addres space in windows
- Kernel space and user space virtual address division
- Why in address space's private regions so many zero bytes?
- Parent process and it's child process address space
- OpenSHMEM on multiple linux machines
- Question about memory space in microprocessor
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
A 32-bit microprocessor can address up to 4 GB of memory, because its registers can contain an address that is 32 bits in size. (A 32-bit number ranges from 0 to 4,294,967,295). Each of those values can represent a unique memory location.
The 16-bit 8086, on the other hand, has 16-bit registers which only range from 0 to 65,535. However, the 8086 has a trick up its sleeve- it can use memory segments to increase this range up to one megabyte (20 bits). There are segment registers whose values are automatically bit-shifted left by 4 then added to the regular registers to form the final address.
For example, let's look at video mode
13hon the 8086. This is the 256-color VGA standard with a resolution of 320x200 pixels. Each pixel is represented by a single byte and the desired color is stored in that byte. The video memory is located at address0xA0000, but since this value is greater than 16 bits, typically the programmer will load0xA000into a segment register likedsores, then load0000intosiordi. Once that is done, the program can read from[ds:si]and write to[es:di]to access the video memory. It's important to keep in mind that with this memory addressing scheme, not all combinations of segment and offset represent a unique memory location. Havinges = A100/di = 0000is the same ases=A000/di=1000.