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
111 Views Asked by kaito kumon At
1
There are 1 best solutions below
Related Questions in X86-16
- DOSbox automatically freezes and crashes without any prompt warnings
- x86 Wrote a boot loader that prints a message to the screen but the characters are completely different to what I expected
- running an imf file using dosbox in parallel to a game
- Input and output of signed single-digit decimal numbers
- Move string to end of file assembly
- I search a unit to solve the turbo pascal 255 string limit
- Unknown error in assembly language code, the result of multiplication operation is always random symbol
- Assembly language adding two numbers code error issue
- kernel.asm:60: error: comma, colon, decorator or end of line expected after operand
- Loading disk sector into memory (AT&T)
- Issue with Displaying Random Characters and Sound Playback Interruption in Assembly Code
- x86 BIOS stage 1 boot code halting after loop from interrupt
- Reverse engineer LCD Protocol used in MPC2000XL
- TASM error when i tried to compile this code
- "Symbol not defined : @STACK " error in ASM code for 8086. Compiled using DOSBOX ,MASM
Related Questions in MEMORY-SEGMENTATION
- How does CPU addressing the next instruction immediately after switching into protection mode?
- SIGSEGV on x86/x64 due to conflict between raw memory access and DS register in C compiled with TCC as JIT engine on Linux
- Why does far call "call far ptr label" MASM syntax not work as intended?
- Wow64 subsystem and its implementation on x86_64
- x86 - Switching from 32-bit to 64-bit via RETF
- 8086 microprocessor memory doubts, is external, if so how does segmentation actually occur
- Does the CS register need to be set when setting up Unreal Mode?
- Segmentation Fault (Core Dumped) - Error when importing Rasterstats module
- Finding the memory address of fs:28h
- Why does `pop SS` need that RPL and DPL are equal to the CPL?
- Reading a segment register (%gs) which contains the pointer to a list
- MIPS behavior of consecutive jumps on segment boundary
- Location of stack and heap
- A2118: cannot have segment address references with TINY model
- Are segments supposed to overlap? With an empty data section CS and DS get the same value
Related Questions in ADDRESS-SPACE
- Are executable files virtual addresses shown by disassemblers definitive?
- Understanding QEMU usermode emulation memory map
- Why do class D and E IP-addresses have no subnet mask?
- Is PCI "CF8h/CFCh" IO port addresses only applicable to processors with an IO address space?
- Question about memory space in microprocessor
- Can x86 cpu read or write on physical address which is larger than RAM?
- What is the purpose of two address spaces in x86?
- How to acquire virtual address space and separately provision memory on Win64, MacOS and Linux?
- Generating the instances of OPC UA objects automatically (Produce an XML for the addressSpace of the OPC UA Server) via JAVA
- Confusing, what is this inside the channel in Go Routines
- LLVM global constructor is not called for ATmel processors
- Does what define a cpu's address space?
- Why is the heap section present when there are no malloc used
- Differentiate .BSS from Heap Accesses
- Is there a way to force a process to share address space from another process?
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 # Hahtags
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.