Well, we have several processors in the PS3, and each one has a whole bunch of opcodes that must be implemented for the emulation to happen, among other things. Not all opcodes of each chip will be implemented at once, because there's no way to know from the nowhere how all of them work, some of them will even have to be implemented based on some guesses. The more games rpcs3 gets to play, the more testing we can do, and the best we can guess what's been done wrong/incomplete. Also, other stuff besides the processors have instructions and other kinds of behavior that must be implemented for the emulator to work. The devs approach is generally getting the most important functions of each part of the hardware to work, so the emulator emulates more and more accurately.
Emulating the main processor(s) of a system along with all of the elements and behaviors that put them working together with other hardware parts of each system is usually what we call the 'Core' in emulation. I reckon this nomenclature came from the time when most emulators were plugin based. So we often had changeable plugins for audio, video, input emulation, etc. And we had the Core, that came with the emulator, which was basically everything else, like the CPU emulation, mainboard functions, memory emulation, etc. The core of an emulator can take years to get perfect, if it ever does, but it doesn't have to be perfect for most stuff to run. Once it is decent and stable enough, it can be improved more slowly, as problems are found with practical tests.
I realize you were asking for a way to understand the progress of rpcs3 so far (correct me if I'm wrong). At the moment everything is being done at the same time. Of course the focus is on the Core, cause that's what is going to make the games start running at the first place, but if we wanna test stuff that the Core can already run we need some basic graphic, input and sound emulation, right? So currently we are walking at a nice pace, considering we can already see something like tetris running on the screen.. It's interesting to note that for it to happen we had the Core to emulate every function that the specific demo used, plus the graphical emulation had to support every function of the GPU it used (like the ones for drawing stuff on the screen, maybe?
), and so on for input, and in the future sound and other stuff. There's no point in having the Core emulating everything that is needed to process a 3D environment if our emulated GPU can't answer its calls to draw 3D stuff on the screen, for example.
As for a progress report, I find it hard to tell. Maybe a dev could give us some information about it, but even for them its often impossible to tell what need to be implemented to get thing X to work. In very simple words, they just find out what's missing/broken in the execution of stuff by a number of methods, and go implementing/fixing it, and with time the emulator as a whole starts working better. Rarely something is done thinking about a specific game or situation, the aim is to get the most reliable/accurate code, and by improving accuracy, things eventually start working. That's why we generally can't say how long it will take for games start running on the emu, for example. Could be tomorrow, with lots of bugs, could be 5 years from now, nearly perfect (among a lot of other possible scenarios of course
)
That said, if you want more precise information about the ps3 hardware, probably other people here will be able to describe it better then me, and there's also some documentation that can be found on the web.
I said things in a simple manner above, and used some loose/lazy terminology, so if you know technical stuff don't go flaming me, I'm trying to explain something complicated in simple way, my analogies are technically correct for the most part