View Single Post
Old 19 April 2020, 14:22   #105
Gorf
Registered User
 
Gorf's Avatar
 
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,294
Quote:
Originally Posted by meynaf View Post
Then what is "change" for you ? Alter something in the table itself, or switch to another one ?
A switch is a change
Quote:
Containing all information for all tasks in the system ?
Of course not all informations - It contains the permissions per region

Quote:
This is where it starts to break.
Sorry, but if you have a global task, then it has to include these lists - regardless of the shape they take.
We talk about totals different concepts it seems ...


Quote:
You have a number of areas and a number of tasks. So you have to link them in one way or another.
Sure - permissions per region in the MPU table


Quote:
So you can group this info by task (usually the case) or by area,
Still the second option


Quote:
but a single mixed big list is nonsense. In a dbase this is n-to-n link.
That is why I never suggested such nonsense...


Quote:
The story is indeed the same : you can group your rights by user (giving what's allowed) or by file/directory (giving who's allowed here). There is no other way.
Never said something else...
Quote:
You haven't read what i wrote, have you ?
Mutual feelings..

Quote:
Absoluten not. Checking access rights mustn't take more time than a single pipeline step - for this 2nd cache level is too slow (several clocks access time needed).
Again: that is not what I wrote!

Please read it again. I did never say the the this 2nd level MPU chache is fast enough. I said it is big enough - so we do not need falling back to actual RAM ...
and now think why I wrote "2nd" level ! Because there is a 1st level!
Quote:
So many lines.
A MMU table for this configuration has the same - but in my case the entries are 50% shorter, even with thousands of task IDs and groups in the System

Quote:
lot too much to handle for something that ought not be bigger than the regular TLB (IOW you have to do intermediate caching with something faster - and this intermediate, fast cache, will die upon task switches).
It has not more to handle than in the MMU case - and it duds not need to flush the TLB but can leave most of the old entries in ... so multiple jumps between two tasks will often need no change in the TLB at all.

Also good predictions can be made, what addresses are needed next if an instruction uses immidiates.

Quote:
Right, but if you have fixed page size then you have to provide a way for the MPU to know where the limit is. Easy, but it still complicates things a little.
Actually the MPU does not necessarily need to know ... everything beyond the physical address space will cause fault anyway... but it would sure me nice to have.

Quote:
And what is the exact information stored in a line here ?
Does it contain all infos about all allowed tasks, or does it redirect to something else ?
No redirections. In my case the task-"family"ID (first 16bit of task ID ... all task staring with that ID have the same rights (My equivalent to threads)12 bits of group ID, 4 bits of permission type ) = 32 bits


Quote:

That takes up a lot of space...
Yes. Tagged Memory can be costly.. just wanted to mention the option.


Quote:
That's starting to get complicated.
Not really

Quote:
What's not clear in : in the classical way the tables don't need to change more than in your way ?
Again - what is "change" in this context.
The association is the other way around in the MMU case and different for every task - that is harder to cache and needs flushing (and/or tagging) of the TLB..

Quote:
You have to flush access rights of previous task, too.
No

Quote:
Tech has evolved since...
But nothing much has changed in the way paging is handled by the MMU.. so is still relevant.

Quote:
??? There's no link between task switch and tasks exchanging information.
But there is.
Please don’t make such false claims ...

Quote:
I don't know if there are studies or not, but simply looking at a task manager will tell you how many tasks are currently running.
But they usually don’t show threads .. And they don’t show the number of context switches per second...

Quote:
Write a small example of a small list, and describe what happens in case of a context switch. This is concrete, not too long, and not just a blurry theory.
Not interested in jumping through loops you are holding up...

Quote:
If i recall correctly, i didn't have to ask... Remember, when you were at school, what did teachers do all day long ?
Smoke? Drink?


Quote:
How cool if they just did that. I would have spent just a few time reading, and no need to go at school for anything more than the test...
Obviously not, but me, i have something that works. I could even show it if PM'ed.
Big secret ?

Quote:
Everyone has time these days but not you ? That's very possible. Yet lack of time has always been a nice excuse to do nothing...
But if you don't do it due to lack of time, nobody will. It's your idea, so you have to do it.
In this case we work actually helps other people and is therefore clearly more important then proof of concepts of an fancy hoppy cpu/os..
Gorf is offline  
 
Page generated in 0.04847 seconds with 11 queries