RFID Localization Using Angle of Arrival Cluster Forming
继续阅读RFID Localization Using Angle of Arrival Cluster Forming
RFID Localization Using Angle of Arrival Cluster Forming
继续阅读RFID Localization Using Angle of Arrival Cluster Forming
SYS/BIOS (TI-RTOS Kernel) v6.50
最近在使用TI
的CC1310
开发运动感知相关的应用,使用Code Composer Studio 7.4
开发。刚刚上手,需要评估一下代码占用的内存空间,找了半天,找到了查看内存占用的方法,如下:
内存,作为影响现代计算机性能至关重要的部件,最重要的指标有两个,分别是容量和带宽,而容量一般都很好理解,比如1G、2G,这也是大多数人对内存的最直观认识。更多关于内存的相关知识介绍,网上有一篇很好的文章“千丝万缕的联系 DDR1-3和GDDR1-5全解析”,所以这里也不打算多讲理论,还是来点更工程性的东西,或者说更实际点的。
以“KVR1333D3N9/2G”为例,这就包含有几个信息:产商为金士顿(KVR)、等效频率为1333MHz、传输类型为DDR3(D3)、容量2G。SDR内存和DDR内存的数据总线位宽都为64bit,所以等效频率为1333的内存带宽为1333MHz*64bit/8=10.664GB/s(注意:这里的G等于1000*1000*1000,而非1024*1024*1024)。这个公式应该很好理解:也就是一次传输64bit,一秒传输1333M次,所以一秒的总传输量(也就是带宽)就等于1333M*64。
对于双通道或三通道,可以简单的类比理解为,以前单通道是一根管子(内存控制器)放水,而双通道或三通道是两根或三根管子放水,所以放水量(内存带宽)成倍增长,当然这需要机器(以前是需要主板支持,更具体点是北桥芯片,但在Nehalem架构集成内存控制器后,就需要CPU来支持)对双通道或三通道的支持(即主板或cpu有两个或三个内存控制器,并且各个内存控制器相互独立工作),那么相应的,系统总内存带宽就能达到10.664GB/s*2=21.328GB/s或10.664GB/s*3=31.992GB/s。
32GB/s是1333内存三通道情况下的理论带宽,而实际带宽还与其它东西相关联,比如Intel Xeon E5504 CPU,虽然支持三通道,但其支持的最高频内存只是DDR3 800,所以即便是在Xeon E5504的机器上安装DDR3 1333的内存也并没有什么益处,因为DDR3 1333会被自动降频到800来使用,所能达到的最大内存带宽也就只有19.2GB/s。
[root@localhost lenky]# cat /proc/cpuinfo | grep "model name" | uniq model name : Intel(R) Xeon(R) CPU E5504 @ 2.00GHz [root@localhost lenky]# dmidecode -t 16 # dmidecode 2.9 SMBIOS 2.6 present. Handle 0x002B, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: Multi-bit ECC Maximum Capacity: 192 GB Error Information Handle: Not Provided Number Of Devices: 6 Handle 0x0039, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: Multi-bit ECC Maximum Capacity: 192 GB Error Information Handle: Not Provided Number Of Devices: 6
将上面信息对照链接http://www3.intel.com/cd/channel/reseller/asmo-na/eng/products/server/processors/5500/feature/410125.htm中的表格:
Usage | Workloads | Memory Frequency | Max B/W | Recommended # of DIMMs per Channel | Max DIMMs2 | Max Capacity3 |
Maximum bandwidth | HPC | 1333 MHz | 32 GB/s | 1 | 6 | 48GB |
General purpose | Various apps | 1066 MHz | 25.5 GB/s | 2 | 12 | 96GB |
Maximum capacity | Virtualized platforms | 800 MHz | 19.2 GB/s | 2 QRO RDIMM 16GB | 12 | 192GB |
3 SR/DR RDIMM 8GB | 18 | 144GB |
可以看到匹配在800 MHz(Memory Frequency)/12(Max DIMMs)/192GB(Max Capacity)这一行,也即当前内存工作频率为800MHz。另外,对照Xeon E5504 CPU的Intel官方内存规格说明:
Memory Specifications | |
Max Memory Size (dependent on memory type)
|
144 GB |
Memory Types
|
DDR3 800 |
# of Memory Channels
|
3 |
Max Memory Bandwidth
|
19.2 GB/s |
Physical Address Extensions
|
40-bit |
ECC Memory Supported
|
Yes |
虽然最大内存容量标注为144GB,但其括号内已注明这个依赖于内存类型,而且144GB也是800MHz所对应的内存最大容量,所以并没有问题;支持三通道;最大带宽为19.2 GB/s;支持ECC内存校验。
另外的,Linux下可利用如下命令查看内存安插的情况,几个重要字段分别为:Data Width: 64 bits(数据总线位宽)、Size: 1024 MB(插槽上的内存容量为1G)、Speed: 1333 MHz (0.8 ns)(等效频率为1333MHz):
[root@localhost lenky]# dmidecode -t 17 # dmidecode 2.9 SMBIOS 2.6 present. Handle 0x002D, DMI type 17, 28 bytes Memory Device Array Handle: 0x002B Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: No Module Installed Form Factor: DIMM Set: None Locator: DIMM0 Bank Locator: BANK0 Type: Other Type Detail: Other Speed: 1333 MHz (0.8 ns) Manufacturer: Manufacturer00 Serial Number: SerNum00 Asset Tag: AssetTagNum0 Part Number: ModulePartNumber00 Handle 0x0031, DMI type 17, 28 bytes Memory Device Array Handle: 0x002B Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: 1024 MB Form Factor: DIMM Set: None Locator: DIMM2 Bank Locator: BANK2 Type: Other Type Detail: Other Speed: 1333 MHz (0.8 ns) Manufacturer: Manufacturer02 Serial Number: 00000000 Asset Tag: AssetTagNum2 Part Number: ...
TD-LTE R9定位技术研究