Adam Leventhal
๐ค SpeakerAppearances Over Time
Podcast Appearances
Dot two, right. You know, an X 16 slot for a Nick. Um, you'll have other things for other folks. Or if you have a kind of like a board, like showed up in the chat, you know, you've got some number of X 16 slots that map to things, some, some probably M dot two slot. So you have to tell it what is all, you know, what all is there.
So it can basically go and reprogram the internal crossbar to say, okay, these lanes should be PCIe. You know, George mentioned earlier that when you have a two-processor configuration, you know, some of those lanes are being used for that. So that's part of it. If you use SATA, which I, you know... getting less and less common.
So it can basically go and reprogram the internal crossbar to say, okay, these lanes should be PCIe. You know, George mentioned earlier that when you have a two-processor configuration, you know, some of those lanes are being used for that. So that's part of it. If you use SATA, which I, you know... getting less and less common.
Uh, you know, some of those lanes are come from those same PCIe lanes. So, um, that's the first step is you're kind of doing that. Then the next phase is after you've done that is, uh, if you open up the PCI, uh, base specification and, in like chapter two is a very long state machine. It has a lot of different states and a lot of different phases.
Uh, you know, some of those lanes are come from those same PCIe lanes. So, um, that's the first step is you're kind of doing that. Then the next phase is after you've done that is, uh, if you open up the PCI, uh, base specification and, in like chapter two is a very long state machine. It has a lot of different states and a lot of different phases.
Obviously, what does it mean to basically have a PCIe device end up at the other end and have both sides be able to talk? Um, and so device training is basically going through that process, discovering, is there even a device there? Right. And from there trying to say, okay, let's start talking to one another, figure out how we can talk, then what speed we can talk at.
Obviously, what does it mean to basically have a PCIe device end up at the other end and have both sides be able to talk? Um, and so device training is basically going through that process, discovering, is there even a device there? Right. And from there trying to say, okay, let's start talking to one another, figure out how we can talk, then what speed we can talk at.
Once we're good at, you know, a certain speed, then they'll increase, um, to additional speeds, sending these things called ordered sets and training sets and lots of different acronyms that you hope generally just work and you don't need to think about. And then unfortunately, sometimes you do need to think about them.
Once we're good at, you know, a certain speed, then they'll increase, um, to additional speeds, sending these things called ordered sets and training sets and lots of different acronyms that you hope generally just work and you don't need to think about. And then unfortunately, sometimes you do need to think about them.
Yeah, so the main way we do this is that there are often reference platforms. So, you know, if you look at George's article, all of his testing was done on a volcano platform, which is the name of a platform that AMD developed that was specific for Turin. There's a couple older generations.
Yeah, so the main way we do this is that there are often reference platforms. So, you know, if you look at George's article, all of his testing was done on a volcano platform, which is the name of a platform that AMD developed that was specific for Turin. There's a couple older generations.
I mean, you had Volcano, you had Puroko. I'm trying to remember what the other two were. The ones before that were all metals.
I mean, you had Volcano, you had Puroko. I'm trying to remember what the other two were. The ones before that were all metals.
Yeah, so we are doing ours mostly on a bunch of Ruby platforms, which were the ones that first came out for Zen 4. And so we have those, which gives us generally most of the schematics and other bits there. You generally get most of the firmware, but not all of it. So you can't always do all the things on the board that you think you should, like a reference platform that you do.
Yeah, so we are doing ours mostly on a bunch of Ruby platforms, which were the ones that first came out for Zen 4. And so we have those, which gives us generally most of the schematics and other bits there. You generally get most of the firmware, but not all of it. So you can't always do all the things on the board that you think you should, like a reference platform that you do.
But that gives us a development platform. So we're fortunate that we were able to get some early silicon from AMD, so we could actually start doing development of that ahead of launch. Right.
But that gives us a development platform. So we're fortunate that we were able to get some early silicon from AMD, so we could actually start doing development of that ahead of launch. Right.
Yeah, and the other nice bit there is that as you get into DDR5, one of the big problems is training time. Yes. So one of the things that AMD has is that you actually, after you train the first time, you actually end up writing back a bunch of this data into that spy flash. Yeah.
Yeah, and the other nice bit there is that as you get into DDR5, one of the big problems is training time. Yes. So one of the things that AMD has is that you actually, after you train the first time, you actually end up writing back a bunch of this data into that spy flash. Yeah.
And if you have it, you know, without that virtualization, then if you're trying to kind of hash or figure out like, you know, how do I make sure this contents are all what I thought I wrote down and that it just gets gnarlier.