TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The Talos II, Blackbird POWER9 systems support tagged memory

125 pointsby hlandauover 2 years ago

5 comments

tony-allanover 2 years ago
I like the first 2 footnotes from the post:<p>1. This point is worth drawing attention to; the abstraction of the machine&#x27;s ISA was so effective in the case of the AS&#x2F;400 that IBM never even documented the CPU&#x27;s ISA, nor did they need to. Supposedly, the ISA was System 360-like.<p>2. The fact that AS&#x2F;400 and its predecessor System&#x2F;38 significantly predate Java demonstrates that there really is no “new” idea in computer science that IBM wasn&#x27;t doing in the 70s, an observation I&#x27;ve become fond of. The explosion of “virtualisation” in IT in the 2000s&#x2F;2010s is another example; to my knowledge, hardware virtualisation was first invented by IBM in the System 370.
评论 #33385968 未加载
评论 #33386160 未加载
评论 #33385040 未加载
评论 #33385060 未加载
edwintorokover 2 years ago
Interesting that it does ECC on blocks of 64 byte instead of 64-bit, freeing up some of the bits in ECC RAM to be used for other things like extra tag bits.
评论 #33384829 未加载
twoodfinover 2 years ago
The title undersells the content here: This is an excellent summary of what pointer tagging is, how AS&#x2F;400 &#x2F; iSeries uses it, and the likely implementation built atop unconventional uses of ECC.
markphipover 2 years ago
Seeing the headline, I wondered if the article would be about the IBM iSeries. Spent first 15 years of my career working on those, always a fond memory. Great machines to develop traditional database apps on.
评论 #33385965 未加载
the-rcover 2 years ago
Neither this page nor the one about the AS extensions seem to describe what happens when storing data to disk.<p>AFAIR, IBM used drives with 520 byte sectors. 512 bytes were the actual data. The remaining 64 bits were used to set tags in memory accordingly (you can fit 32 16-byte pointers in the sector, so each pointer had two tag bits and both had to be on for the pointer to be deemed valid). I thought that there was a special instruction to set all of a 512 byte memory region&#x27;s tags at once. I don&#x27;t see it mentioned. Maybe it&#x27;s only a virtual instruction and it&#x27;s implemented by just a bunch of SETTAG&#x2F;STQ, which would destroy performance or negate most of the benefits of DMA I&#x2F;O (you could skip this step if you know the block has no pointers...). You need to extract the tags from memory, pack them and save them separately when writing to persistent storage, of course.
评论 #33394806 未加载