Click Here
home features news forums classifieds faqs links search
6071 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
18 crawler(s) on-line.
 151 guest(s) on-line.
 0 member(s) on-line.



You are an anonymous user.
Register Now!
 Hammer:  45 mins ago
 Rob:  1 hr 23 mins ago
 billt:  1 hr 31 mins ago
 amigang:  1 hr 42 mins ago
 OneTimer1:  1 hr 44 mins ago
 agami:  2 hrs 8 mins ago
 matthey:  2 hrs 14 mins ago
 kolla:  2 hrs 22 mins ago
 amigakit:  2 hrs 45 mins ago
 Tuxedo:  3 hrs 30 mins ago

/  Forum Index
   /  Amiga OS4 Hardware
      /  AckOne High-End Will Run PA Semi Multi-core
Register To Post

Goto page ( Previous Page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 Next Page )
PosterThread
Hans 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:00:44
#161 ]
Elite Member
Joined: 27-Dec-2003
Posts: 5067
From: New Zealand

@Jorge

Quote:

Jorge wrote:
@Hans

Quote:
True. The Friedens said that a MESA implementation would come once a new graphics system was in place. This should include GLSL. My point was that GLSL is a better choice than Cg.


The main reason for that is, that vmem cannot be allocated statically (e.g. GPU kernel would need that to load code, etc.). MESA includes all that in the latest 6.x version, but is heavily dependent on DRI (which includes drivers for NVidea and ATI to some extend). Problem is, DRI would take over the HW - which in case of the AmigaOS is in strong conflict with P96 which does not allow anyone else to manage memory in vmem and is not flexible enough to add this functionality.


That's exactly why they're going to replace the underlying graphics system. The new graphics system will allow both 2D/3D acceleration to coexist nicely. Picasso96 and the graphics library will work through the new system. IIRC, Rogue said that, currently, Warp3D wastes 20-30% (or something like that) doing needless reinitialization because of the problem you outlined above.

@all

If all this techie talk is confusing or boring you, my sincerest appologies. However, I find discussing these technical issues very interesting. Therefore, I shall continue.

Hans

_________________
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
https://keasigmadelta.com/ - More of my work.

 Status: Offline
Profile     Report this post  
CodeSmith 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:04:11
#162 ]
Elite Member
Joined: 8-Mar-2003
Posts: 3045
From: USA

@itix

"Critical point 1" sounds like what I described, except that one of the "CPUs" is the 68K emulator. How does emulated 68K code get SysBase now?

 Status: Offline
Profile     Report this post  
Returner 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:04:16
#163 ]
Member
Joined: 10-Feb-2007
Posts: 60
From: Unknown

@CodeSmith

Quote:

The data that is pointed at by address 4 contains a lot of information about the system, including CPU-specific data. That means that there needs to be a separate copy of this data for each CPU, because some parts of it will be different for each CPU. So what would happen is that the code I mentioned in the paragraph above, which checks for address 4, would return a different value depending on the CPU that was doing the memory access.


Have you considered sysbase.liblist and other lists in sysbase
that apps do read and sometimes even write ?
Having multiple sysbases means having multiple list heads
for the same lists.. talk about mess.

_________________
Selur erutangis siht

 Status: Offline
Profile     Report this post  
itix 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:05:13
#164 ]
Elite Member
Joined: 22-Dec-2004
Posts: 3398
From: Freedom world

@Hans

Quote:

It doesn't mean that they wanted people to use it. I thought that they were begging people to use the exec functions instead.


They never did. If it was in docs or in headers it was free for all. It is even legal to access ExecBase memory lists directly. An excerption from my ROM Kernel Reference Manual: Exec, 1987, page 22:

As an example, Exec memory region lists should be accessed only when forbidden.

Quote:

Not marking it as private is definitely asking for trouble though. BTW, how many apps would break if we denied them access to sysbase?


I dont know and I dont think anyone ever cared about it.

Quote:

Anyway, one possibility would be a separate sysbase for each core. No need to clone the OS and run a separate copy on each core, just clone a few parts. If necessary, the MMU could be used to provide the correct sysbase per core.


Does not work because ExecBase pointers are passed around.

_________________
Amiga Developer
Amiga 500, Efika, Mac Mini and PowerBook

 Status: Offline
Profile     Report this post  
Hans 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:06:34
#165 ]
Elite Member
Joined: 27-Dec-2003
Posts: 5067
From: New Zealand

@itix

Quote:

itix wrote:
@CodeSmith

Quote:

SysBase would probably have to be different for each CPU. That's not a huge deal because the first page frame has to be virtualized anyway (the null pointer detection code has to special-case address 4).


It does not work. Programs cache and pass ExecBase around and wrong programs could use wrong ExecBase. This option was brainstormed six years ago and it got scrapped quickly.


You mean that they copy the ExecBase structure, or cache the pointer? If they're caching the pointer, the MMU could be used to redirect ExecBase accesses based on which core they're on. That would be much safer than passing different pointers.

Hans

Last edited by Hans on 06-May-2007 at 08:12 PM.

_________________
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
https://keasigmadelta.com/ - More of my work.

 Status: Offline
Profile     Report this post  
CodeSmith 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:07:51
#166 ]
Elite Member
Joined: 8-Mar-2003
Posts: 3045
From: USA

@Jorge

Exactly, multiproc's effect will be greatest in the scheduler. I suspect OS4 will have two different schedulers, one for single proc (the one we have now) and a new one for multiproc.

 Status: Offline
Profile     Report this post  
adiaux 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:08:00
#167 ]
Super Member
Joined: 1-Jun-2006
Posts: 1249
From: Unknown

@CodeSmith

First you lecture me in argumentation technique in post #147, and then you descend to this:

Quote:
Oooh. NOW I get it. This has been an OS4 vs MOS ####ing contest all along. Sorry, I should have realized this sooner.

We're done here.


Makes me regret editing out the comment about the two-yearold in post #103...

 Status: Offline
Profile     Report this post  
Jorge 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:10:54
#168 ]
Cult Member
Joined: 20-Oct-2003
Posts: 657
From: Scottsdale, AZ

@Hans

Quote:
That's exactly why they're going to replace the underlying graphics system. The new graphics system will allow both 2D/3D acceleration to coexist nicely. Picasso96 and the graphics library will work through the new system. IIRC, Rogue said that, currently, Warp3D wastes 20-30% (or something like that) doing needless reinitialization because of the problem you outlined above.


The problem is textures are handled thru "bitmaps" which require a LockBitMap/UnlockBitmap() to make sure p96 does not move the mem. Textures can be reused, a lock is often not necessary. Currently, there is no way to "cache" that lock in p96, thus a lock is necessary for every (!) access to that mem, thus slowing W3D down significantly. (I was playing around with that a bit in my mesa 4.x port for OS4, and can avoid the locks which gives you about 100% better performance. I would have hoped a flag to allow to mark vmem to be "non moveable" could have been implemented, not yet,though).

oops we are walking away from the subject...

_________________
AmigaOne XE G3/933/VIA/FM801/R200 (fixed),
G3SE/600/Voodoo3/Sil680/RTL8139/SBLive! (noiseless!)
µA1-MK2/G3/933/R200/CMI8738
XE/G4 (broken 7450/800)

 Status: Offline
Profile     Report this post  
Hans 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:11:04
#169 ]
Elite Member
Joined: 27-Dec-2003
Posts: 5067
From: New Zealand

@itix

Quote:

itix wrote:
@Hans

Quote:

It doesn't mean that they wanted people to use it. I thought that they were begging people to use the exec functions instead.


They never did. If it was in docs or in headers it was free for all. It is even legal to access ExecBase memory lists directly. An excerption from my ROM Kernel Reference Manual: Exec, 1987, page 22:

As an example, Exec memory region lists should be accessed only when forbidden.

Ok, that definitely makes things more difficult.
Quote:

Quote:

Anyway, one possibility would be a separate sysbase for each core. No need to clone the OS and run a separate copy on each core, just clone a few parts. If necessary, the MMU could be used to provide the correct sysbase per core.


Does not work because ExecBase pointers are passed around.


See my post above. I didn't mean returning different pointers, although reading what I wrote, that's what it sounds like. I meant, redirecting memory accesses to the different sysbases. I have no idea how difficult that would be because I've never had to directly use the MMU for anything. It sounds feasible though.

Hans

Last edited by Hans on 06-May-2007 at 08:13 PM.

_________________
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
https://keasigmadelta.com/ - More of my work.

 Status: Offline
Profile     Report this post  
itix 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:13:11
#170 ]
Elite Member
Joined: 22-Dec-2004
Posts: 3398
From: Freedom world

@CodeSmith

Quote:

"Critical point 1" sounds like what I described, except that one of the "CPUs" is the 68K emulator. How does emulated 68K code get SysBase now?


It is the same for 68k and PPC programs. It must be the same because for performance reasons programs tend to cache ExecBase. If the process switches core or passes ExecBase to another process (i.e. as an argument) you are in trouble.

_________________
Amiga Developer
Amiga 500, Efika, Mac Mini and PowerBook

 Status: Offline
Profile     Report this post  
CodeSmith 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:16:49
#171 ]
Elite Member
Joined: 8-Mar-2003
Posts: 3045
From: USA

@takemehomegrandma

OK, let me spell it out: it became clear to me that during the entire thread, all you were doing was saying "MOS uses sandboxing and OS4 doesn't so OS4 sucks". I have no interest in "my OS is better than yours" arguments these days, so we're done.

 Status: Offline
Profile     Report this post  
Jorge 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:19:21
#172 ]
Cult Member
Joined: 20-Oct-2003
Posts: 657
From: Scottsdale, AZ

@itix

Except that what Hans says is implemented and the MMU table is restored if a thread gets scheduled for the core and access is redirected on per core lists, etc. (?)

_________________
AmigaOne XE G3/933/VIA/FM801/R200 (fixed),
G3SE/600/Voodoo3/Sil680/RTL8139/SBLive! (noiseless!)
µA1-MK2/G3/933/R200/CMI8738
XE/G4 (broken 7450/800)

 Status: Offline
Profile     Report this post  
itix 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:34:30
#173 ]
Elite Member
Joined: 22-Dec-2004
Posts: 3398
From: Freedom world

@Hans

Quote:

You mean that they copy the ExecBase structure, or cache the pointer?


They only cache the pointer.

Quote:

If they're caching the pointer, the MMU could be used to redirect ExecBase accesses based on which core they're on. That would be much safer than passing different pointers.


It could work. You get problems with programs doing FindName() on Exec lists but maybe no showstoppers there. I know the OS4 team has been pursuing multicore support since last autumn or so and maybe have some other ideas there...

_________________
Amiga Developer
Amiga 500, Efika, Mac Mini and PowerBook

 Status: Offline
Profile     Report this post  
CodeSmith 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:35:53
#174 ]
Elite Member
Joined: 8-Mar-2003
Posts: 3045
From: USA

@itix

Passing ExecBase to another process sounds like an odd thing to do but I believe you. OK, so then the value returned from reading address 4 can be a "magic" invalid address, and when you deref *that*, you get a page mapped in with data that depends on the running CPU. It is two page faults, but once you've read SysBase, the page is mapped in and there won't be any more.

[Edit] Yep, what Hans said.

Last edited by CodeSmith on 06-May-2007 at 08:36 PM.

 Status: Offline
Profile     Report this post  
Moxee 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:39:41
#175 ]
Team Member
Joined: 20-Aug-2003
Posts: 6291
From: County Yakima, WA State, USA

@Hans

Quote:

@all

If all this techie talk is confusing or boring you, my sincerest appologies. However, I find discussing these technical issues very interesting. Therefore, I shall continue.

Hans


I must admit I have cat napped reading threads such as this one. But Hey, discussion is what this place is about. You can discuss whatever meets your TOS fancy as long as it is done in a civil manner. With one or two exceptions I think you guys are doing a fine job.

_________________
Moxee
AmigaOne X1000
AmigaOne XE G4
I'd agree with you, but then we'd both be wrong.

 Status: Offline
Profile     Report this post  
CodeSmith 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:42:35
#176 ]
Elite Member
Joined: 8-Mar-2003
Posts: 3045
From: USA

@Moxee

And it beats fretting over the latest antics of the companies involved. This is the best thread I've been involved in for quite a while.

 Status: Offline
Profile     Report this post  
Jorge 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:45:23
#177 ]
Cult Member
Joined: 20-Oct-2003
Posts: 657
From: Scottsdale, AZ

@CodeSmith

Not passing as such, but say you do a


ExecBase *eb= GetMyExecBase();


And your thread gets premented from one core to another. How does the execbase now know, it was created on a different core ?

Given a scheduler will schedule the next ready thread on whatever core is actually available, this will happen.

About the memlist etc. Well, seems its less of a hazel then believed. The new mem system works quite well.

Last edited by Jorge on 06-May-2007 at 08:46 PM.

_________________
AmigaOne XE G3/933/VIA/FM801/R200 (fixed),
G3SE/600/Voodoo3/Sil680/RTL8139/SBLive! (noiseless!)
µA1-MK2/G3/933/R200/CMI8738
XE/G4 (broken 7450/800)

 Status: Offline
Profile     Report this post  
Moxee 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 20:53:44
#178 ]
Team Member
Joined: 20-Aug-2003
Posts: 6291
From: County Yakima, WA State, USA

@CodeSmith

Quote:

And it beats fretting over the latest antics of the companies involved.


That is one reason I am reading this thread instead of those.

Quote:

This is the best thread I've been involved in for quite a while.


I only wish I could join in on the discussion intelligently.

_________________
Moxee
AmigaOne X1000
AmigaOne XE G4
I'd agree with you, but then we'd both be wrong.

 Status: Offline
Profile     Report this post  
CodeSmith 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 21:00:45
#179 ]
Elite Member
Joined: 8-Mar-2003
Posts: 3045
From: USA

@Jorge

Hans's suggestion fixes the problem for both cases. In your code sample, GetMyExecBase would just read memory address 4 and eb would contain a "magic" memory address like 0xffff0000. Each process would have a different mapping for the page frame starting at this address, and this would get updated whenever the process gets handed off to a different CPU. You can pass eb around, even to other processes, and it would still work.

[edit] I came up with a much simpler way of doing it

Last edited by CodeSmith on 06-May-2007 at 09:08 PM.

 Status: Offline
Profile     Report this post  
Manu 
Re: AckOne High-End Will Run PA Semi Multi-core
Posted on 6-May-2007 21:01:05
#180 ]
Super Member
Joined: 4-Feb-2004
Posts: 1561
From: Unknown

@hatschi

Quote:

hatschi wrote:
The entry-level "design" is announced for "Summer 2007". We'll see what happens and how Amiga Inc will miraculously get *legal* rights to *all* required sources to that date.


Hah ! If you'll get your hands on it before December 07 then I'd call
that a miracle.

_________________
AmigaOS or MorphOS on x86 would sell orders of magnitude more than the current,
hardware-intensive solutions. And they'd go faster.-- D.Haynie

 Status: Offline
Profile     Report this post  
Goto page ( Previous Page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 Next Page )

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle