⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arch3.htm

📁 ST20 Embedded Toolset R2.0.5用于开发基于ST20芯片机顶盒软件的开发平台,2.0.5版本,国内找不到的.在国外论坛上花了N天才找到!
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="GENERATOR" content="Quadralay WebWorks Publisher Professional Edition 6.0.5">
<meta name="TEMPLATEBASE" content="book_html">
<meta name="LASTUPDATED" content="09/01/03 09:52:58">
<title>3.2 Memory</title>

<STYLE TYPE="text/css">
<!--
	span.Signal { text-transform: uppercase; font-family: Verdana }
-->
</STYLE>

</head>

<body link="#3366CC" vlink="#9999CC" text="#000000" alink="#0000CC" bgcolor="#FFFFFF"
background="images/backgrnd.gif">

<p><img src="images/stlogo.gif" width="106" height="83" align="left"
alt="logo here!"> </p>

<table width="331" border="0" align="right" cellpadding="0" cellspacing="0">
  <tr>
    <td><a href="st20c1to.htm"><img src="images/navtoc.gif" width="84" height="23"
    border="0" alt="TOC"> </a></td>
    <td><a href="arch2.htm"><img src="images/navprev.gif" width="80" height="23"
    border="0" alt="PREV"> </a></td>
    <td><a href="arch4.htm"><img src="images/navnext.gif" width="83" height="23"
    border="0" alt="NEXT"> </a></td>
    <td><a href="st20c1ix.htm"><img src="images/navidx.gif" width="84" height="23"
    border="0" alt="INDEX"> </a></td>
  </tr>
</table>

<p><br clear="all">
</p>

<hr align="left">

<blockquote>
<h2>
  <a name="1102317"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">3.2 	 Memory</font>
</h2><hr>


<p>
  <a name="1102318"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">The ST20 processor is a 32-bit word machine, with byte addressing and a 4 Gbyte address space. This section explains how data is arranged in that address space. The address of an object is the address of the base, that is, the byte with the lowest address.</font>
</p>


<h3>
  <a name="1102322"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">3.2.1 	 Word address and byte selector</font>
</h3>


<p>
  <a name="1102323"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">A machine address, or pointer, is a single word of data which identifies a byte in memory, in other words, a byte address. It comprises two parts, a word address and a byte selector. The byte selector occupies the two least significant bits of the word; the word address the thirty most significant bits. </font>
</p>


<p>
  <a name="1102324"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">An address is treated as a signed value, the range of which starts at the most negative integer and continues, through zero, to the most positive integer. This enables the standard arithmetic and comparison functions to be used on pointer values in the same way that they are used on numerical values.</font>
</p>


<p>
  <a name="1102327"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">Certain values can never be used as pointers because they represent reserved addresses at the bottom of memory space. They are reserved for use by the processor and initialization. A full list of names and values of constants used in this manual is given in <a href="const.htm#1050632"><font  color="#0000ff" face="Verdana, Arial, Helvetica, sans-serif"><i>Appendix燗: Constants and data structures</i></font></a>.</font>
</p>


<p>
  <a name="1102332"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">In particular, the null process pointer (known as <em>NotProcess</em>) has the value <em>MostNeg</em>, since zero could be a valid process address.</font>
</p>


<h3>
  <a name="1102334"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">3.2.2 	 Alignment</font>
</h3>


<p>
  <a name="1104120"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">A data object is said to be word-aligned if it is at an address with a byte selector of zero, that is, the full address of the object is divisible by 4. Similarly, a data object is said to be half-word-aligned if it is at an address with an even byte selector, that is, the full address of the object is divisible by 2.</font>
</p>


<p>
  <a name="1110029"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">Word objects, including addresses, are normally stored word-aligned in memory. This is usually desirable to make the best use of any 32-bit wide memory. Also most instructions that involve fetching data from or storing data into memory, use word-aligned addresses and load or store four contiguous bytes. </font>
</p>


<p>
  <a name="1110030"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">However, there are some instructions that can manipulate part of a word. A half-word object is normally half-word-aligned, so it can be stored either in the least significant 16 bits of a word or in the most significant 16 bits. A data item that is represented in two contiguous words is called a double word object and is normally word-aligned.</font>
</p>


<h3>
  <a name="1102343"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">3.2.3 	 Ordering of information in memory</font>
</h3>


<p>
  <a name="1102344"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">Data is stored in memory using the little-endian rule. Objects consisting of more than one byte are stored in consecutive bytes, with the least significant byte at the lowest address and the most significant at the highest address.</font>
</p>


<p>
  <a name="1111747"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif"><a href="arch3.htm#1111846"><font  color="#0000ff" face="Verdana, Arial, Helvetica, sans-serif"><i>Figure

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -