- sh4d0w: Netflix? Ugyan, VW előfizetés!
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Meggyi001: Nyilvános wc-k.....még mindig hiánypótló...
- sziku69: Szólánc.
- Geri Bátyó: Megint tahó voltam – SZEMÉLYISÉGFEJLŐDÉS
- Mr Dini: Mindent a StreamSharkról!
- GoodSpeed: AMD Ryzen 7 7700X vs AMD Ryzen 9 9900X Cinebench R23 & R24 Benchmarkokban mérve
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Meggyi001: RTX 5060 - Az új népkártya?
Új hozzászólás Aktív témák
-
S_x96x_S
addikt
Surprising new feature in AMD Ryzen 3000 ( agner.org )
HN: https://news.ycombinator.com/item?id=24302057Agner:
"I have just finished testing the AMD Zen 2 CPU.
...
I discovered that the Zen 2 has a new surprising feature that we have never seen before: It can mirror the value of a memory operand inside the CPU so that it can be accessed with zero latency.
This assembly code shows an example:mov dword [rsi], eax
add dword [rsi], 5
mov ebx, dword [rsi]
When the CPU recognizes that the address [rsi] is the same in all three instructions, it will mirror the value at this address in a temporal internal register. The three instructions are executed in just 2 clock cycles, where it would otherwise take 15 clock cycles.
It can even track an address on the stack while compensating for changes in the stack pointer across push, pop, call, and return instructions. This is useful in 32-bit mode where function parameters are pushed on the stack. A simple function can read its parameters without waiting for the values to be stored on the stack and read back again. This does not work if the stack pointer is modified by any other instructions or copied to a frame pointer. Therefore, it doesn't work with functions that set up a stack frame.
The mechanism works only under certain conditions. It must use general purpose registers, and the operand size must be 32 or 64 bits. The memory operand must use a pointer and optionally an index. It does not work with absolute or rip-relative addresses.
It seems that the CPU makes assumptions about whether memory operands have the same address before the addresses have been calculated. This may cause problems in case of pointer aliasing. If the second instruction in the above example has a different pointer register with the same value, you have a problem of pointer aliasing. The CPU assumes that the addresses are different so that the value of eax is directly forwarded to ebx without adding 5. It takes 40 clock cycles to undo the mistake and redo the correct calculation.
Yet, this is a pretty amazing feature. Imagine how complicated it is to implement this in hardware without adding any latency. I wonder why this feature is not mentioned in any AMD documents or promotion material. At least, I can't find any mentioning of this anywhere. AMD has something they call superforwarding, but this must be something else because it applies only to floating point registers.....
"
Új hozzászólás Aktív témák
Hirdetés
- AMD Navi Radeon™ RX 7xxx sorozat
- Milyen légkondit a lakásba?
- alza vélemények - tapasztalatok
- Battlefield 6
- Milyen routert?
- Motoros topic
- A lapkakészlet és az akku különbözteti meg a Motorola Edge 60 és Edge 60 Pro-t
- Gaming notebook topik
- iPhone topik
- sh4d0w: Netflix? Ugyan, VW előfizetés!
- További aktív témák...
- Macbook Pro 16" M2 Pro 32GB A2780 2023
- Corsair Vengeance LPX 32 Gb KIT Bontatlan. Új!!!!!
- AKCIÓ! GAMER PC: i5-14400F (10mag/16szál) +RX 6700 XT 12GB / RTX 3060 Ti +16-64GB DDR4! GAR/SZÁMLA!
- Bomba ár! HP Pavilion Gaming - i7-8750H I 16GB I 512SSD I GTX1050 I 15,6" FHD I Cam I W11 I Gari!
- Asztali PC , R7 5800X , RTX 2080 , 32GB DDR4 , 960GB NVME
- Akciós Windows 10 pro + Office 2019 professional plus csomag AZONNALI SZÁLLÍTÁS
- GYÖNYÖRŰ iPhone 13 Pro Max 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3063
- MacBook felváráslás!! MacBook, MacBook Air, MacBook Pro
- Samsung Galaxy S9+ 64GB, Kártyafüggetlen, 1 Év Garanciával
- Dell Latitude Precision Üzleti gépek, 2-in-1 gépek, Vostro 8-12. gen szinte minden, garancia.
Állásajánlatok
Cég: FOTC
Város: Budapest