Skip to main content

Memory Address Definition

In computing, the memory address is an identifier for a unique location of primary memory, with which a CPU or other devices can store, modify or retrieve data from it.

Memory addresses are a fixed number of digits, being an unsigned integer.Usually, memory addresses are expressed in hexadecimal basis for easy reading.For example, a memory address in a 32-bit processor could be in binary 1011 0111 1011 1010 1100 0011 1100 0111 , which in hexadecimal would be B7BAC3C7.

In most modern computers each memory address points to a single storage byte (the byte is the minimum unit of memory that can be accessed), what is called byte addressing.Some microprocessors are designed for word addressing, in these cases the minimum storage units are larger than one byte.

An absolute memory address (explained ita or specifies), indicates precisely the location in memory without the use of any intermediate reference.

In English: memory address.

Types of memory addresses: physical address and address logical or virtual

Both physical memory and virtual memory use addressing or memory addresses to access your data.

In physical memory, the memory address allows access to the real RAM (that is, the RAM chips inserted into the motherboard), and the virtual memory address refers to a hard disk space that simulates RAM (the so-called page file in some operating systems or virtual memory).

For more information see: logical memory and virtual memory address.

Memory resolution units: historical and current

Most modern computers are addressable by byte, as stated above, that means that each address will identify a byte (8 bits) d and storage.Data that is too large to be stored in a single byte will reside in multiple bytes, occupying a consecutive sequence of addresses.

There are addressable computers per word, where the minimum address unit is the word processor, for example, on Data General Nova minicomputers (launched in 1969) or Texas Instruments TMS9900 computers (from 1976) used 16-bit words.There were also 36-bit mainframe computers that used 18-bit word addressing, such as for example the PDP-10 (developed between 1966 and 1982), giving an address space of 2 ^ 18 words of 36 bits, approximately 1 MB of storage.

The efficiency of memory addressing depends on the size bus bit used for addresses: the more bits used, the more addresses are available for the computer, for example, an 8-bit byte addressing machine with a dir bus 20-bit selections (example: Intel 8086) can address 2 ^ 20 (1,048,576) memory locations (1 MB of memory).While a 32-bit bus (example: Intel 80386) addresses 2 ^ 32 (4,294).967.296) locations (equivalent to a 4 GB address space).

In contrast, a 36-bit word routing machine with an 18-bit address bus addresses only 2 ^ 18 ( 262,144) 36-bit locations (9,437,184 bits), equivalent to 1,179,648 8-bit bytes, or 1152 KB or 1,125 MB (more than 8086).

Some older computers (decimal computers ) were addressable to decimal digits.For example, IBM 1620 computers from 1959.

Word length versus address length

Word length is a characteristic given to a given architecture The number of digits that the CPU can process at a time.Modern processors, including embedded systems, usually have a palm size open 8, 16, 24, 32 or 64 bits; most general purpose computers (PCs) currently use 32 or 64 bits.Other sizes have also been included in past computers such as 8, 9, 10, 12, 18, 24, 36, 39, 40, 48, and 60 bits.

Often, when we refer to word length on modern computers, we are also describing the size of the address space on that computer.For example, a computer that says "32 bits" also usually allows addresses of 32 bit memory; a 32-bit addressable byte computer can address 2 ^ 32=4,294,967,296 bytes of memory (or 4 GB).This allows a memory address to be efficiently stored in a word.

Anyway This is not always true:

Computers can have memory addresses larger or smaller than their word length.For example, many 8-bit processors, such as the 1975 MOS Technology 6502, support addresses 16-bit, otherwise, would have been limited to just 256 bytes of memory addressing.

Intel 8088 and Intel 8086 16-bit processors support 20-bit addressing via segmentation, allowing them access to 1 MB instead of 64 KB of memory.All Intel Pentium processors from the Pentium Pro include PAE (Physical Address Extensions or Physical Address Extension) that supports mapping 36-bit physical addresses to 32-bit virtual addresses.

In theory, the modern 6 computers 4 byte addressing bits can address 2 ^ 64 bytes (16 exabytes), but in practice the amount of memory is limited by the CPU, memory controller or printed circuit design (for example, number of physical connectors of memory).

Content of each memory location

Each memory location in a stored computer program stores a binary number or a decimal number of some kind.Its interpretation, as data of some type of data or as an instruction and its use will be determined by the instructions that receive and manipulate them.

The first programmers combined instructions and data in words as a way to save memory, when it was really expensive : the old Manchester Mark 1 computer (from 1948) had a space in its words of 40 bits to store a few bits of data (its processor ignored a small section of bits right in the middle of a word) and this small section was used a lot s times as additional data storage.

Self-replicating programs (such as computer viruses) treat themselves as data and sometimes as instructions.The self-coding code (also called mutant code) is mostly in currently unused, since its evaluation and maintenance is disproportionately difficult to simply save a few bytes; It can also give incorrect and unexpected results due to the assumptions of the compiler or processor about the state of the machine; even so it is still deliberately used with great care.

Address space in application programming

In the modern multitasking environment, an application process so In general, it has in its address space (or spaces) pieces of memory of the following types:

-Machine code, which includes: the program code itself (historically known as the code segment) and shared libraries.

-Data, which includes: initialized data (data segment); uninitialized (but assigned) variables; call stack; heap; shared memory and memory-mapped file.

Some parts of the address space may not be mapped at all.

Addressing schemes

A computer program can access a certain address given explicitly (in low-level programming it is usually called absolute address or specific address, and in high-level languages ​​it is known as the type of pointer data).But a program can also use relative addresses that specify a location in relation to something else (the base address).There are many more modes of indirect addressing.

Mapping logical addresses to physical or virtual memory also adds several levels of indirectness.


Doubts? needs more information?
Write and we will respond to your email

Comments

Popular posts from this blog

Definition of Macrocomputer (macrocomputer)

A macrocomputer is a large, powerful and expensive computer used primarily in companies that need to process large amounts of data or support large numbers of users.It contrasts with the concept of microcomputer (or microcomputer).Sometimes called macrocomputers. In English: mainframe and macrocomputer. For more information see: Mainframe What is a macrocomputer or mainframe? A large and powerful computer capable of managing a large number of simultaneous tasks and of communicating with a large number of connected terminals; used by large and complex organizations (such as banks and supermarkets) in which continuous operation is vital. Characteristics of macromputers Macrocomputers are a type of computer that are generally known Due to their large size, storage quantity, processing power and high level of reliability, they are mainly used by large organizations for critical mission applications that require large volumes of data processing.In general, there are some characte...

Definition of DPI or PPP (print quality)

(dots per inch, dots per inch).The DPI or PPP is a unit of measurement of the resolution of an image (related to quality) of a scanner, a printer, etc.It serves to measure the resolution, which is the amount of dots that enter an inch.It is expressed like this: (number) x (number) dpi. A resolution of 300 dpi will produce a text that will show broken lines visible under a magnifying glass.Even larger resolutions are necessary to obtain reproductions of smooth photographs.Professional graphics use printers with resolutions from 1200 to 2400 dpi. Pixels or resolution of a photo and printing in centimeters There is no direct equivalence between the pixels of a digital image and the centimeter of printing that correspond to it.A very small image can be printed very large on paper, but the pixels of the printed image will begin to be noticed at first glance.There are techniques to "enlarge" the digital image and soften it a bit the pixels, but these do not make ma ravillas. ...

Monoprogramming Definition

Monoprogramming, also called monoexecution, is an operating system in which only one program is executed at a time and no other is executed until the previous one is finished. In other words, only one program is executed at a time within a single address space. This type of execution practically does not exist anymore because it has been replaced by multiprogramming. Monoprogramming vs.multiprogramming In the monoprogramming, the memory only contains one program at any time, while in the multiprogramming the memory contains more than one user program. In the case of monoprogramming, when the CPU is running the program and it find an I/O operation (input-output), then the program goes to the I/O devices, during that time the CPU remains idle.Therefore, in the monogramming the CPU is not used effectively, that is, CPU utilization is poor. However, in the multiprog branch, when a user program contains I/O operations, the CPU changes to the next user program.Therefore, the CPU i...

Definition of Eset

Eset is a computer security company based in Bratislava, Slovakia. Eset was founded in 1992 as a result of the merger of two private companies.Its best-known product is the NOD32 antivirus, although it also develops Smart Security, which includes the NOD32 features in addition to firewall and antispam. Compete with other security companies such as Symantec and McAfee Questions? needs more information? Write and we will respond to your email

Network transparency definition

Network transparency refers to the ability of a protocol to transmit data over the network in a way that is transparent (invisible) to those who are using the applications that use the protocol.In this regard, users of a particular application they can access remote resources in the same way they would access their own local resources. An example of this is cloud storage, where remote files are presented as if they were locally accessible; also the cloud computing where the resource in question is the processing. From English: network transparency. X Windows The term is often applied partially correctly in the context of the X Windows system, which is capable of transmitting graphic data over the network and integrating it seamlessly with the applications that are running and displayed locally; however, certain extensions of the X Windows system are not able to work on the network. Firewall In firewall technology, transparency can be defined in the network layer ( or IP) or ...

Definition of netmask

Combination of bits that serves to delimit the scope of a computer network.It serves for a computer (mainly the gateway, router, etc.) to determine whether it should send the data inside or outside the network.That is, the function of the network mask is to indicate to the devices that part of the IP address is the number of the network (including the subnet), and which part is that corresponding to the host.For example, if the router has ip 159.128.1.1 and network mask 255.255.255.0, understands that everything that is sent to an IP that begins with 159.128.1 goes to the local network and everything that goes to other IP addresses will go outside (Internet or other major local network). More technical definition The subnet mask, within a TCP/IP network, is a configuration parameter that defines the size (understood as the address range) of the IP subnet, or subnet, to which a host belongs, in order to reduce network traffic and facilitate the search and achievement of a particular ...

Definition of Spawning (video games)

(produce, generate).In computer games, spawning is the creation of an entity within the game, such as a player character, a non-player character or other item.Respawning is the recreation of an entity after its death or destruction , or at the end of a round. In a game, there may be different points of spawning or generation of characters or items.There may also be spawning of enemies; In many games enemy spawming is unlimited, however, the main player (s) usually has a limited number of spawning (the so-called "lives" of the player). Player spawning varies depending on the mechanisms of each game.It usually starts at the beginning of a round or after a player joins the game. Meanwhile, respawning usually occurs after a player was killed or destroyed, that can happen immediately or after a while (time in seconds, next round, etc.) Apparently the term was created by the company "id Software" during the development of the Doom game. In fact games like Doom, J...

Definition of Network Address Translation (NAT)

Network Address Translation, Network Address Translation and better known as NAT. Network Address Translation is a mechanism used by IP routers to exchange data packets between two networks that mutually assign incompatible addresses. It consists of converting, in real time, the addresses used in the transported packets.It is also necessary to edit the packets to allow the operation of protocols that include address information within the protocol conversation. For more information see: NAT. Questions? needs more information? Write and we will respond to your email

Initialization vector definition

In cryptography, an initialization vector (IV) is a block of bits required to achieve a flow encryption or block encryption, in one of the encryption modes, with a result independent of other encryption produced by the same key.p> The size of the IV depends on the encryption algorithm and the cryptographic protocol and is often as long as the block size or the size of the key. Source: Initialization vector (CCL)