![]() |
![]() |
#261 | |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,890
|
Quote:
Definitely CBM made one very serious mistake - with such slow chipset (overall low bandwidth) they should push for better memory management - shift "CHIP" to "FAST" (instead allowing CPU access CHIP from time to time shift principle to allow chipset to access CPU RAM from time to time in strict defined way). |
|
![]() |
![]() |
#262 | |
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,446
|
Quote:
![]() I agree with you on the contemporary pizza-box design, with the A3000 at least resembled in part (actually it is more like a A1000 without garage of course) SPARKstation, SGI Indy, NextStation |
|
![]() |
![]() |
#263 | |
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,446
|
Quote:
70ns DRAM usually have a roundtrip time (before you can issue the next access) of 140ns. The typical DMA slots in the Amiga are 285ns long (3.5Mhz) So it would theoretically just fit with 70ns ICs ... but roudtrip my vary and 5ns are a very slim margin since every inch of traces on the board add to the delay... DRAM management before the introduction of synchronized RAM is a very "analog" game. But 60ns DRAM really should do the trick. |
|
![]() |
![]() |
#264 |
Registered User
Join Date: Dec 2006
Location: france
Age: 45
Posts: 224
|
In my opinion the 1200 should have been what the 3DO, a powefull hardware computer.
|
![]() |
![]() |
#265 | |
Registered User
Join Date: May 2023
Location: Norwich
Posts: 445
|
Quote:
The only thing that might have made sense would be DMA copying of data from Fast RAM directly into Chip without CPU intervention. It would have slowed "Fast" RAM occasionally but could still have been worth it for cases where the CPU could prep data in advance. Could even have done C2P conversion at the same time possibly... |
|
![]() |
![]() |
#266 | |
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,446
|
Quote:
one of the big problems here is, that Alice still occupies one in two 285ns slots, even if it has nothing to do. So the CPU is not only blocked during display and sound DMA and during blits but 50% of the time, no matter what. Hence the abysmal slow ChipRAM bandwidth. If this blocking of the CPU could be reduced to cases where it really needs to be blocked, the speed penalty would decrease dramatically. Especially if you use the DoubleCAS modes, where Lisa is fed with 64 pixels per bitplane at once, there are plenty of unused slots. This would reduce the penalty to around -20% compared to real FastRAM in the case of an 020@14MHz. This would make the need for the inclusion of FastRAM much less severe. Last edited by Gorf; 20 January 2024 at 17:09. |
|
![]() |
![]() |
#267 |
Registered User
Join Date: Sep 2013
Location: Poland
Posts: 868
|
@Gorf, AestheticDebris
DMA is an answer to all of that but... it's not a magic tool which will both increase bandwidth and decrease latencies WITHOUT reworking whole memory subsystem. Also high res modes and wider palette would require bigger bandwidth as well. So, sure... it would've been possible to just introduce 10MB of chip ram (using Z2 area for chipram on fully 32b machines) but to get everything working ok you'd most likely need to redesign DMA, memory and chipset A LOT. And still, at some point swapping to faster CPU would still result in significant bottleneck when trying to access on-board RAM. So, yeah, engineers did find solution to that with every SoC out there integrating graphics and sound and peripherals and CPU... but that ain't so trivial. And TBH kind of system on a chip working with unified memory is ARM250 but that one was still using CPU to manage the data transfers... |
![]() |
![]() |
#268 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,554
|
I think the reason the chip ram access was never fixed is simple. The engineers knew that adding fast ram basically solved almost all of the problems it caused. It would have been great if AGA had addressed the issue properly and not blindly blocked half the access, but it was probably a trade off they thought would be acceptable given AGA was supposed to be a stop gap.
|
![]() |
![]() |
#269 | ||
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,890
|
Quote:
All this is to maximally use bandwidth - of course you can intentionally write software to cripple performance but usually coders trying to squeeze each cycle even at a cost of weird data organization. Quote:
Yes but 70ns is guaranteed parameter over full temperature and other for example voltage operation of device - normally those values are meet with some safe margin thus not always you need follow this so strictly, yes, i agree for mass production you are usually avoid pushing beyond but well - i have impression that with proper design this would be not a serious issue. |
||
![]() |
![]() |
#270 | |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,890
|
Quote:
By adding bus arbiter/manager and introducing more aggressive buffering schemes you could made AGA significantly faster - perhaps efficiently double bandwidth so less penalty for CPU. That's why i think full integration of Alice, Paula and Lisa would be more beneficial from cost but also performance perspective. And C2P should be part of display HW - similarly to mentioned Headley display (A2024) - why CBM not introduced packed planar (4 bit chunky) and 8 bit chunky directly in Lisa is really difficult to understand - this is simply way how bitplane data are interpreted - allowing to sequential bitplane access would be quite obvious and it would allow easily to use FPM DRAM to get higher bandwidth. |
|
![]() |
![]() |
#271 | |
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,446
|
Quote:
Which means chances are very high, that these two different chips will access totally different locations in chipram! And for the Blitter these accesses need to be guaranteed. So alignments, FPM, ... is simply not helping here. Just raw random access speed. Last edited by Gorf; 20 January 2024 at 17:12. |
|
![]() |
![]() |
#272 | |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,890
|
Quote:
But fitting two DMA cycles into 285ns will do the job especially for successive access i.e. bitplanes - big hurtle is inability of Amiga to create screen organization where bitplane pointers are grouped together- this is possible on line by line basis... Bitplane DMA is most problematic one - highest priority and huge demand on bandwidth so optimizing sequential access for this is absolute must. |
|
![]() |
![]() |
#273 |
Registered User
Join Date: Sep 2013
Location: Poland
Posts: 868
|
I don't know what you mean by that Mr. Gorf - you cannot make access by 2 devices to shared memory at the same time. Especially when they try to address different locations. Because most of address bus and basically whole data bus is shared. It might've been possible with most likely buggy and costly way to access 16b chunks of data at the same time by CPU and chipset out of 32b chipram. But that's that. Adding extra memory access slot is great (so basically use faster RAM and faster memory controler in chipset) but either way you'd have to assign specific slot to specific device (so that device and only that device has access at that time). What Amiga did need surely was more mem slots, yes. But a lot could've been accomplished with more advanced DMA which could've split memory access slots between cpu and chipset components smarter.
|
![]() |
![]() |
#274 | |
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,446
|
Quote:
It is about the access to ChipRAM at times, when there is NO doubleCAS BitPlane DMA. Active Bitplane DMA Slots are Double-CAS already - you can't squeeze anything else in there. It is about the stage AFTER the Bitplane fetch is complete, but Alice ist still blocking every second slot, without doing anything with it, or just doing single 16bit Blitter operations. THERE one could split one 285ns slot into half and grant the CPU access as well. Neither bitter operations nor the 68020 can to burst modes - so we are stuck with singe random accesses - 16bit wide for the Blitter and 32bit wide for the 020. Both Blitter and 020 would have change to use the slot - even in pseudo "parallel", with fast enough DRAM. But they would of course read or write to totally unrelated locations in memory, as the Blitter does its blitting and the CPU does its processing. I hope I could describe this now in a better and clearer way. Last edited by Gorf; 20 January 2024 at 19:34. |
|
![]() |
![]() |
#275 | |
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,446
|
Quote:
BBC micro, C64, Amiga 1000 .. 500 .. 2000 they all have shared memory and make access to it without slowing each other down - because the RAM was fast enough the alternate access cycles, without blocking the CPU. The very same method should be possible for the 68020@14MHz and the Blitter with 70ns or 60ns DRAM. (Except during display DMA fetches were in Double-CAS mode) Last edited by Gorf; 20 January 2024 at 19:38. |
|
![]() |
![]() |
#276 | |
Registered User
Join Date: May 2023
Location: Norwich
Posts: 445
|
Quote:
The 68020 doesn't work like that, it could potentially access the bus on any cycle and thus has to be stalled if a shared device is accessing it. |
|
![]() |
![]() |
#277 |
Registered User
Join Date: Sep 2013
Location: Poland
Posts: 868
|
@Gorf - as I've said - it's alternated access. It's 1 device at particular cycle. Never more. So e.g. if 6502 running at 1MHz requires RAM access every 1us and so does VIC you create memory controller which works at 2MHz and creates slot every 500ns, then create phase shifted clock so VIC will sync with VIC slots and 6502 with CPU slots. It works. And it does kind of the same thing on Amiga (with one exception - C128 can run 2MHz mode but with no VIC, or at least 2MHz in a moment VIC doesn't have to have memory access so if I understood correctly when beam is off screen; afaik 68k can't do the same so steal chipset DMA cycles when chipset doesn't really need it). So one solution is to make more slots (faster memory and mem controller) - which is of course costly. The other solution is to make DMA more flexible and let CPU steal unused chipset memory cycles. And that one might cause less compatibility issues because all timings would've been exactly the same.
|
![]() |
![]() |
#278 | ||
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,446
|
Quote:
Quote:
That is exactly what my idea tries to mitigate! right now on every A1200 the CPU has access only once every 560ns (two times Amiga DMA slot duration ) This is only every 8th cpu clock-cycle (1.75 Mhz vs. 14MHz) But 70ns DRAM is fast enough to split the usual 280ns DMA slot into two 140ns slots: one half for the Blitter and one half for the CPU. Now we have actually doubled the possible CPU accesses. This is of course still not every CPU cycle but only every 4th, but: a) even FastRAM is no where fast enough the allow every cycle b) the 020 needs on most operations more than one clock cycles That's why adding FastRAM to the A1200 will only double the performance at best. If we could grant the CPU roughly twice as much accesses to the ChipRAM, the immediate need for FastRAM would almost disappear. Last edited by Gorf; 20 January 2024 at 21:17. |
||
![]() |
![]() |
#279 | |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,890
|
Quote:
Also blitter cycles could be combined to form 32bit (if they are related to same area - should be not difficult to add such logic, clocking blitter faster internally would efficiently speed up without being to complex) |
|
![]() |
![]() |
#280 | ||||||
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,446
|
YES!
And so have I! Quote:
Of course! I never said otherwise! Quote:
That's exactly how I came up with my idea... Am I really so terrible at explaining things? Or are you just jumping to unreasonable conclusions without reading carefully, what I did actually write? Quote:
Yes - but as I pointed out the memory in the A1200 is already 70ns. So it only comes down to the controller logic. Quote:
adding 1 MB FastRAM or implementing a faster ChipRAM controller logic? Quote:
I clearly stated that my solution would be for the case, Commodore could not figure out how to fix Alice in time. In that case they could leave Alice unchanged and use a external memory controller logic that allowed for using 140ns slots instead of 280ns (or having two accesses per 280ns slot as I described it earlier) without Alice or the rest of the chipset being aware of it. Quote:
|
||||||
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
I’m looking for any military spec Amigas please | Pyromania | request.Other | 12 | 10 May 2020 13:03 |
Launched a web server on A1200 with 2MB RAM | damex | Amiga websites reviews | 0 | 18 January 2020 13:11 |
Buying Amiga A1200 for games - best spec? | pault2007 | Nostalgia & memories | 22 | 06 August 2007 14:36 |
out of box spec for A1200? + other ?? | technium | support.Hardware | 5 | 27 August 2004 10:21 |
Dream A1200 spec | Antiriad | Amiga scene | 14 | 19 August 2002 01:29 |
|
|