家政是干什么的| 脑梗吃什么最好| 乳腺增生样改变是什么意思| 狐臭手术挂什么科室| 胳膊困疼是什么原因| 淋巴发炎吃什么药好| 剁椒鱼头是什么鱼| 什么贵人能治孤辰寡宿| 头皮屑多的原因是什么| 坎坷人生是什么生肖| 一字之师是什么意思| 一年四季穿棉衣是什么生肖| s标志的运动鞋是什么牌子| 过敏痒用什么药膏| 做梦来月经了什么预兆| 鸡蛋白是什么| 胃反流吃什么药效果好| 溶血症是什么症状| 79年出生属什么生肖| 为什么发动文化大革命| 佛跳墙是什么意思| 斑斓是什么意思| 五指姑娘是什么意思| 肿瘤出血意味着什么| 羊水少了对宝宝有什么影响| 安眠穴在什么位置| 南京大屠杀是什么时候| 腰椎生理曲度存在是什么意思| 电测听是什么| 脖子痒是什么原因| 供观音菩萨有什么讲究| 宝宝打嗝是什么原因| 电子证件照是什么| 热锅凉油是什么意思| 占有欲强是什么意思| 间接胆红素高是什么原因| 菱角是什么| 黄喉是什么| 甲状腺做什么检查| ecg什么意思| 猴子的尾巴像什么| 地雷是什么意思| 关税是什么| 女人做梦哭醒预示什么| 检察院是做什么的| pet什么意思| 梦见好多老鼠是什么意思| 肠胃炎吃什么药好| 大黄米是什么米| 嘉字属于五行属什么| 鸡蛋黄发红是什么原因| 猪沙肝是什么部位| 平字五行属什么| 下午一点多是什么时辰| 摇篮是什么意思| 什么鱼不属于发物| 一天什么时候最热| 四叶草的寓意是什么| 什么病不能吃竹笋| 蒲公英什么时候采最好| 狮子是什么科| 喉咙发炎不能吃什么食物| 怀孕乳房会有什么变化| 598分能上什么大学| 幽默是什么意思| 义五行属什么| 小孩子发烧吃什么药| 一个金字旁一个先读什么| 肚子一直咕咕叫是什么原因| 属虎的守护神是什么菩萨| 饿了么什么时候成立的| 什么是g大调| 蚊子喜欢咬什么血型| 露从今夜白下一句是什么| 县级干部是什么级别| 冷冻跟冷藏有什么区别| 什么水果清热解毒去火| lycra是什么面料| 液基薄层细胞制片术是检查什么的| 什么弟什么兄| 为什么明明很困就是睡不着| 头疼吃什么药效果好| 阴茎里面痒是什么原因| 痰湿中阻吃什么中成药| 全身发黄是什么原因| 眼睛一直眨是什么原因| 三氯蔗糖是什么东西| 预防医学是什么| 耳石症是什么症状| 手爱出汗是什么原因| 什么方法不掉头发| 男性感染支原体有什么症状| 甲亢是一种什么病严重吗| 机化是什么意思| 肚子里有积水是什么病| 崛起是什么意思| 大小周是什么意思| 梦见花开是什么预兆| 冷沉淀是什么| 胆囊腺肌症是什么病| 棚户区改造和拆迁有什么区别| 吃什么对脾胃有好处| 治疗风湿有什么好方法| 布洛芬0.3和0.4g有什么区别| 菊花是什么意思| 什么叫三叉神经痛| 苹果五行属什么| 目赤什么意思| 肝硬化适合吃什么食物| 气管炎的症状吃什么药好得快| 多囊卵巢有什么症状表现| 晚上老是做梦是什么原因| 水火既济是什么意思| 老年人脚浮肿是什么原因| 自控能力是什么意思| 松鼠是什么生肖| 拔罐红色是什么原因| 影子虫咬伤后用什么药| 92年的猴是什么命| 尿分叉吃什么药能治好| 准生证需要什么材料| 白带是什么味道| 胎监不过关是什么原因| 女人吃桃子有什么好处| 媒婆是什么意思| 什么一刻值千金花有清香月有阴| 梦见参加葬礼是什么意思| 芒果有什么好处和坏处| 麦粒肿用什么药| 美人是什么生肖| 珐琅手镯是什么材质| 6.28什么星座| 心里难受想吐是什么原因| 白色糠疹是什么原因引起的| 性冷淡什么意思| 流清鼻涕是什么感冒| 春风十里不如你什么意思| 破伤风有什么作用| 父母都是a型血孩子是什么血型| 人体有365个什么| 凤眼果什么时候成熟| 大便粗大是什么原因| 头发为什么会变黄| 桎梏是什么意思| 肠炎吃什么药效果好| 相拥是什么意思| 动物奶油是什么做的| 体内湿气重吃什么药效果好| 酒精胶是粘什么的| 诸葛亮号什么| 梦到自己流鼻血是什么预兆| 什么是五毒| 长针眼是什么意思| 熊喜欢吃什么食物| 肝火旺喝什么茶| 塔罗牌正位和逆位是什么意思| 喝紫苏水有什么功效| 海归是什么意思| acs是什么| 吃什么可以化痰| 泛醇是什么| 大豆油是什么豆做的| 什么水果清热解毒去火| 杯子是什么意思| 木耳炒什么好吃| 十灵日是什么意思| 脱发吃什么维生素| 宫颈纳氏腺囊肿是什么意思| 什么是精神出轨| 神经性头疼是什么症状| 彪是什么动物| noisy是什么意思| 结婚十一年是什么婚| 儿童过敏性皮炎用什么药膏| 唐宋元明清前面是什么| 常见的贫血一般是缺什么| 纸醉金迷什么意思| 什么时候同房最容易怀孕| 血型o型rh阳性是什么意思| 补充公积金是什么意思| urban是什么牌子| 按人中有什么作用| 脚心有痣代表什么意思| 网球肘吃什么药| 为什么小腿皮肤瘙痒| fgr医学上是什么意思| 属龙的今年要注意什么| 情有独钟什么意思| 老年性脑改变是什么意思| 柳树代表什么生肖| 桂皮是什么| 望惠存是什么意思| 为什么叫犹太人| 国字五行属什么| 脾胃不好吃什么药好| 女人漏尿是什么原因| vivo是什么牌子的手机| 我追呀追呀是什么歌曲| 岛屿是什么| 眼睛看东西变形扭曲是什么原因| 什么是黄精| 白鳍豚用什么呼吸| 9月10号是什么星座| 刀子嘴豆腐心是什么意思| 幸灾乐祸什么意思| 6月24是什么日子| 锲而不舍下一句是什么| 宝宝咳嗽有痰吃什么药效果好| 海马有什么功效作用| 维生素c什么时候吃效果最好| 苹果充电口叫什么| 男士背心什么牌子好| 掉头发是什么原因女性| 九月24日是什么星座| 什么水果蛋白质含量高| 尿肌酐高是什么原因| 家里进蝙蝠什么预兆| 叉烧是什么| 表白是什么意思| 月经吃什么水果| 王火火念什么| 什么人容易得格林巴利| rh阴性血是什么血型| 提高免疫力吃什么好| 我们为什么会笑| 什么书什么画| 落花雨你飘摇的美丽是什么歌| 女人湿气重吃什么药效果好| 谁与争锋是什么意思| 全蛋液是什么意思| 中秋节送礼送什么| 敬请是什么意思| 喝栀子茶有什么好处| shit什么意思| 什么是有机蔬菜| 攻是什么意思| 膀胱炎吃什么药| 月经不调是什么意思| 反胃是什么意思| 2011是什么年| 气管痉挛是什么症状| 导管子是什么意思| 胆结石有什么症状有哪些| 左肺上叶纤维灶是什么意思| 阴道发臭是什么原因| 血糖高应该吃什么水果| 总是想吐是什么原因| 业力是什么意思| 修成正果是什么意思| 拼音b像什么| 咽炎咳嗽吃什么药| 手心发热吃什么药| 去离子水是什么| 女人梦见蛇是什么预兆| 打呼噜挂什么科| 在什么情况下最容易怀孕| 什么是蛀牙| 隋朝之前是什么朝代| 细菌性阴道病用什么药| 6月6什么星座| 北京大学校长是什么级别| 多多保重是什么生肖| ip地址是什么意思| 梦见洗手是什么意思| 百度
百度 今年1月份,南京公积金管理中心发布了“关于房地产开发单位不得拒绝购房人使用住房公积金贷款的通告”,其中要求房企不得阻挠符合公积金贷款条件的购房人使用公积金贷款,同时,在取得销售许可证后,房企应及时与住房公积金管理中心签订按揭协议,以方便买房人申请公积金贷款。

Scratchpad memory (SPM), also known as scratchpad, scratchpad RAM or local store in computer terminology, is an internal memory, usually high-speed, used for temporary storage of calculations, data, and other work in progress. In reference to a microprocessor (or CPU), scratchpad refers to a special high-speed memory used to hold small items of data for rapid retrieval. It is similar to the usage and size of a scratchpad in life: a pad of paper for preliminary notes or sketches or writings, etc. When the scratchpad is a hidden portion of the main memory then it is sometimes referred to as bump storage.

In some systems[a] it can be considered similar to the L1 cache in that it is the next closest memory to the ALU after the processor registers, with explicit instructions to move data to and from main memory, often using DMA-based data transfer.[1] In contrast to a system that uses caches, a system with scratchpads is a system with non-uniform memory access (NUMA) latencies, because the memory access latencies to the different scratchpads and the main memory vary. Another difference from a system that employs caches is that a scratchpad commonly does not contain a copy of data that is also stored in the main memory.

Scratchpads are employed for simplification of caching logic, and to guarantee a unit can work without main memory contention in a system employing multiple processors, especially in multiprocessor system-on-chip for embedded systems. They are mostly suited for storing temporary results (as it would be found in the CPU stack) that typically wouldn't need to always be committing to the main memory; however when fed by DMA, they can also be used in place of a cache for mirroring the state of slower main memory. The same issues of locality of reference apply in relation to efficiency of use; although some systems allow strided DMA to access rectangular data sets. Another difference is that scratchpads are explicitly manipulated by applications. They may be useful for realtime applications, where predictable timing is hindered by cache behavior.

Scratchpads are not used in mainstream desktop processors where generality is required for legacy software to run from generation to generation, in which the available on-chip memory size may change. They are better implemented in embedded systems, special-purpose processors and game consoles, where chips are often manufactured as MPSoC, and where software is often tuned to one hardware configuration.

Examples of use

edit
  • Fairchild F8 of 1975 contained 64 bytes of scratchpad.
  • The TI-99/4A has 256 bytes of scratchpad memory on the 16-bit bus containing the processor registers of the TMS9900[2]
  • Cyrix 6x86 is the only x86-compatible desktop processor to incorporate a dedicated scratchpad.
  • SuperH, used in Sega's consoles, could lock cachelines to an address outside of main memory for use as a scratchpad.
  • Sony's PS1's R3000 had a scratchpad instead of an L1 cache. It was possible to place the CPU stack here, an example of the temporary workspace usage.
  • Adapteva's Epiphany parallel coprocessor features local-stores for each core, connected by a network on a chip, with DMA possible between them and off-chip links (possibly to DRAM). The architecture is similar to Sony's Cell, except all cores can directly address each other's scratchpads, generating network messages from standard load/store instructions.
  • Sony's PS2 Emotion Engine includes a 16 KB scratchpad, to and from which DMA transfers could be issued to its GS, and main memory.
  • Cell's SPEs are restricted purely to working in their "local-store", relying on DMA for transfers from/to main memory and between local stores, much like a scratchpad. In this regard, additional benefit is derived from the lack of hardware to check and update coherence between multiple caches: the design takes advantage of the assumption that each processor's workspace is separate and private. It is expected this benefit will become more noticeable as the number of processors scales into the "many-core" future. Yet because of the elimination of some hardware logics, the data and instructions of applications on SPEs must be managed through software if the whole task on SPE can not fit in local store.[3][4][5]
  • Many other processors allow L1 cache lines to be locked.
  • Most digital signal processors use a scratchpad. Many past 3D accelerators and game consoles (including the PS2) have used DSPs for vertex transformations. This differs from the stream-based approach of modern GPUs which have more in common with a CPU cache's functions.
  • NVIDIA's 8800 GPU running under CUDA provides 16 KB of scratchpad (NVIDIA calls it Shared Memory) per thread-bundle when being used for GPGPU tasks. Scratchpad also was used in later Fermi GPU (GeForce 400 series).[6]
  • Ageia's PhysX chip includes a scratchpad RAM in a manner similar to the Cell; the theory of this specific physics processing unit is that a cache hierarchy is of less use than software managed physics and collision calculations. These memories are also banked and a switch manages transfers between them.
  • Intel's Knights Landing processor has a 16 GB MCDRAM that can be configured as either a cache, scratchpad memory, or divided into some cache and some scratchpad memory.
  • Movidius Myriad 2, a vision processing unit, organized as a multicore architecture with a large multiported shared scratchpad.
  • Graphcore has designed an AI accelerator based on scratchpad memories[7]

Alternatives

edit

Cache control vs scratchpads

edit

Some architectures such as PowerPC attempt to avoid the need for cacheline locking or scratchpads through the use of cache control instructions. Marking an area of memory with "Data Cache Block: Zero" (allocating a line but setting its contents to zero instead of loading from main memory) and discarding it after use ('Data Cache Block: Invalidate', signaling that main memory didn't receive any updated data) the cache is made to behave as a scratchpad. Generality is maintained in that these are hints and the underlying hardware will function correctly regardless of actual cache size.

Shared L2 vs Cell local stores

edit

Regarding interprocessor communication in a multicore setup, there are similarities between the Cell's inter-localstore DMA and a shared L2 cache setup as in the Intel Core 2 Duo or the Xbox 360's custom powerPC: the L2 cache allows processors to share results without those results having to be committed to main memory. This can be an advantage where the working set for an algorithm encompasses the entirety of the L2 cache. However, when a program is written to take advantage of inter-localstore DMA, the Cell has the benefit of each-other-Local-Store serving the purpose of BOTH the private workspace for a single processor AND the point of sharing between processors; i.e., the other Local Stores are on a similar footing viewed from one processor as the shared L2 cache in a conventional chip. The tradeoff is that of memory wasted in buffering and programming complexity for synchronization, though this would be similar to precached pages in a conventional chip. Domains where using this capability is effective include:

  • Pipeline processing (where one achieves the same effect as increasing the L1 cache's size by splitting one job into smaller chunks)
  • Extending the working set, e.g., a sweet spot for a merge sort where the data fits within 8×256 KB
  • Shared code uploading, like loading a piece of code to one SPU, then copy it from there to the others to avoid hitting the main memory again

It would be possible for a conventional processor to gain similar advantages with cache-control instructions, for example, allowing the prefetching to the L1 bypassing the L2, or an eviction hint that signaled a transfer from L1 to L2 but not committing to main memory; however, at present no systems offer this capability in a usable form and such instructions in effect should mirror explicit transfer of data among cache areas used by each core.

See also

edit

Notes

edit
  1. ^ Some older systems used a hidden part of main storage, referred to as bump storage, as scratchpad. In other systems, e.g., UNIVAC 1107, all addressable registers were held in scratchpad.

References

edit
  1. ^ Steinke, Stefan; Lars Wehmeyer; Bo-Sik Lee; Peter Marwedel (2002). "Assigning Program and Data Objects to Scratchpad for Energy Reduction" (PDF). University of Dortmund. Retrieved 3 October 2013.: "3.2 Scratchpad model .. The scratchpad memory uses software to control the location assignment of data."
  2. ^ "The TI-99/4A internal architecture". www.unige.ch. Retrieved 2025-08-07.
  3. ^ J. Lu, K. Bai, A. Shrivastava, "SSDM: Smart Stack Data Management for Software Managed Multicores (SMMs)", Design Automation Conference (DAC), June 2–6, 2013
  4. ^ K. Bai, A. Shrivastava, "Automatic and Efficient Heap Data Management for Limited Local Memory Multicore Architectures", Design Automation and Test in Europe (DATE), 2013
  5. ^ K. Bai, J. Lu, A. Shrivastava, B. Holton, "CMSM: An Efficient and Effective Code Management for Software Managed Multicores", CODES+ISSS, 2013
  6. ^ Patterson, David (September 30, 2009). "The Top 10 Innovations in the New NVIDIA Fermi Architecture, and the Top 3 Next Challenges" (PDF). Parallel Computing Research Laboratory & NVIDIA. Retrieved 3 October 2013.
  7. ^ Jia, Zhe; Tillman, Blake; Maggioni, Marco; Scarpazza, Daniele P. (December 7, 2019). Dissecting the Graphcore IPU Architecture via Microbenchmarking (PDF) (Technical report). Citadel Enterprise Americas, LLC. arXiv:1912.03413.
edit
打火机的气体是什么 均匀是什么意思 鸡毛换糖是什么意思 培根肉是什么肉 病毒是什么
来龙去脉是什么意思 副高是什么职称 什么是211大学 sama是什么药 淋巴癌有什么症状
甲状腺过氧化物酶抗体高说明什么 睡觉咳嗽是什么原因 强心剂是什么药 手麻是什么原因 明天有什么考试
狗狗呕吐是什么原因 四月初八是什么节日 新加坡什么工作最挣钱 淋巴结为什么会肿大 坐东北朝西南是什么宅
去医院检查怀孕挂什么科hcv8jop9ns3r.cn 大陆去台湾需要什么手续hcv8jop3ns1r.cn 什么血型生出o型血gysmod.com 钾低是什么原因hcv8jop2ns6r.cn 屁股里面疼是什么原因hcv7jop4ns7r.cn
六亲不认是什么生肖hcv8jop3ns1r.cn 婴儿什么时候可以睡枕头hcv8jop3ns9r.cn 霍乱时期的爱情讲的是什么hcv9jop2ns3r.cn 勋章是什么意思jasonfriends.com 火影忍者什么时候出的hcv9jop7ns2r.cn
静待佳音什么意思hcv8jop8ns6r.cn 新疆是什么民族hcv8jop3ns0r.cn 阴是什么意思hcv8jop0ns2r.cn 什么是高脂血症hcv9jop7ns4r.cn 梦见一个人死了是什么意思hcv9jop7ns2r.cn
打呼噜吃什么药最管用hcv8jop4ns8r.cn 12.29是什么星座hcv9jop3ns4r.cn 苯佐卡因是什么hcv9jop4ns8r.cn 男性霉菌感染用什么药hcv8jop8ns1r.cn 球蛋白是什么意思ff14chat.com
百度 技术支持:克隆侠蜘蛛池 www.kelongchi.com