0% found this document useful (0 votes)
48 views

Technological University of The Philippines: Lopez Extension Campus

The document discusses memory segmentation and addressing in microprocessors. It provides details on: 1) How memory segmentation divides programs into variable-sized segments that are logically divided and referenced using base addresses, allowing for efficient memory usage and process sharing. 2) The types of segmentation, including overlapping and non-overlapping segments. 3) How the 8086 microprocessor uses two 8-bit memory banks and byte ordering to store 16-bit data words across two memory locations. 4) The importance of understanding memory segmentation and addressing modes to effectively program in assembly language for microprocessors like the 8086.

Uploaded by

bennie
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views

Technological University of The Philippines: Lopez Extension Campus

The document discusses memory segmentation and addressing in microprocessors. It provides details on: 1) How memory segmentation divides programs into variable-sized segments that are logically divided and referenced using base addresses, allowing for efficient memory usage and process sharing. 2) The types of segmentation, including overlapping and non-overlapping segments. 3) How the 8086 microprocessor uses two 8-bit memory banks and byte ordering to store 16-bit data words across two memory locations. 4) The importance of understanding memory segmentation and addressing modes to effectively program in assembly language for microprocessors like the 8086.

Uploaded by

bennie
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

TECHNOLOGICAL UNIVERSITY OF THE

PHILIPPINES
Lopez Extension Campus
College of Industrial Technology
Brgy. Villahermosa, Lopez, Quezon

Microprocessor and Microcontroller System


( Activity #2 )

Villaos, Benedict Menard P.

BET- CpET 3

BACHELOR OF ENGINEERING TECHNOLOGY


Major in Computer Engineering Technology
Memory Segmentation
I learned that memory segmentation is a computer memory management
technique use and segments or sections are being also use in objects files of compiled
programs when they are linked together is the process in which the main memory of the
computer. In this, the compiler is responsible for the working. Loading them into different
non-contiguous addressed spaces in memory. The processes are first 'segmented' (or
split) most commonly into three segments, one to house the data, another to house the
code and a third to house the stack. Segmentation divides our program into various
variable size segments. Segmentation logically divided. into different segments and each
segment has its own base address. They are referenced using memory addresses. It
usually used to enhance the speed of execution of the computer system so that the
processor can able to execute the data from the memory easily and fast. Base on my
research I also learned the types of segmentation the overlapping segment and
Nonoverlapped segment. Overlapping segment starts in the particular address and its
maximum size can go up to 64 kilobytes. But if another segment starts along with this 64
kilobytes location of the first segment, then the two are said to be Overlapping Segment.
Non-overlapped segment starts at a particular address and its maximum size can go up
to 64 kilobytes. But if another segment starts before this 64 kilobytes location of the first
segment, then the two segments are said to be Non-Overlapped Segment. The capability
for both processes and memory to be segmented allows for optimum utilization of memory
as well as allowing multiple running processes to share the memory space. Though the
different segments that comprise a process occupy non-contiguous areas in memory, this
separation does not in any way affect the running of the processes. Processes run
unaware that the memory is being shared. There is less overhead in segmentation. We
can easily relocate the segments as compared to the address space. The average size
of the segment is more as compared to the actual size of the page.
I realized that memory segmentation in import to learn because it helps us to
protect our computer or avoid some damage issues of memory and it also helps to provide
a powerful memory. Can help you to allow or provide a more tab or more applications
open and minimize that can help you’re multitasking become easy. Help you
I understand the memory segmentations allowed to extend the ability of the processor.
Being a programmer or a future programmer we can use it in our computer. Segmentation
suffers from external fragmentation rather than internal fragmentation. In this, the
information about segments is stored in the segment table. There is external
fragmentation in segmentation. Segmentation is closer to the user rather than the
operating system. The advantage of having separate code and data segments is that one
program can work on different sets of the data. This is possible by reloading the data
segment register (DS) to the point to the new data. In this, the logical address is divided
into two things: segment number and segment offset.

Memory Addresses
I learned Most of the memory ICs are byte oriented. Each memory location can
store only one byte of data. The 8086 is a 16-bit microprocessor, it can transfer 16-bit
data. So in addition to byte, word (16-bit) has to be stored in the memory. The address
space is physically connected to a 16-bit data bus by dividing the address space into two
8-bit banks of up to 512K bytes each. There is no constraint on byte or word address
boundaries. This is stored by using two consecutive memory locations, one for least
significant byte and other for most significant byte. The Memory Addressing Modes of
8086 of word is the address of least significant byte. To implement this, the entire memory
is divided into two memory bank: bank0 and bank1. Every microprocessor based system
has a memory system. Almost all systems contain two basic types of memory, read-only
memory (ROM) and random access memory (RAM) or read/write memory. Read only
memory contains system software and permanent system data such as lookup tables,
while Random Access Memory contains temporary data and application software. ROMs
/ PROMs / EPROMs are mapped to cover the CPU’s reset address, since these are
nonvolatile.
I realized that in this addressing mode, the offset address where the control is to
be shifted is defined within the instruction. It's important to separate the discussion of
these two sets of addressing modes to avoid confusing them.
I understand that the Program Memory Addressing mode is used in branch instructions.
Most 8086 instructions can operate on the 8086's general purpose register set. By
specifying the name of the register as an operand to the instruction, you may access the
contents of that register. Consider the 8086 mov (move) instruction. These branch
instructions are instructions which are responsible for changing the regular flow of the
instruction execution and shifting the control to some other location. In computing, a
memory address is a reference to a specific memory location used at various levels by
software and hardware. The 8086 microprocessor provides 20-bit Memory Addressing
Modes of 8086 that allows up to 1 Mbyte main memory. It is important in any memory
interface that one block of memory must not be allowed to overlap another memory block.
So in order to connect a memory device to the microprocessor, it is necessary to decode
the address from the microprocessor to access each memory IC independently. The way
of specifying data to be operated by an instruction is known as addressing modes. This
specifies that the given data is an immediate data or an address. It also specifies whether
the given operand is register or register pair. The 8086 memory addressing modes
provide flexible access to memory, allowing you to easily access variables, arrays,
records, pointers, and other complex data types. Mastery of the 80x86 addressing modes
is the first step towards mastering 8086 assembly language.

You might also like