23 August 2018, 03:34 | #121 | ||
Registered User
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,544
|
Quote:
BBC Micro Quote:
Another thing to consider is that 'working the RAM twice as fast' probably means tighter timing constraints and less flexibility. Would the Amiga's Blitter and Copper have worked reliably with the bus running as fast as possible? Probably not, or at least not without a more complex design (read too expensive and too late to capture the market). In practice despite the 'inefficiency' of not pushing its DRAM to the max, the Amiga still runs rings around the BBC. |
||
23 August 2018, 08:25 | #122 |
Registered User
Join Date: Jun 2015
Location: Germany
Posts: 1,918
|
What should the 68000 have achieved with a faster mem interface? The 68000 is fully synchronous. If the mem interface had been twice as fast, the CPU would have had to be clocked at 16 MHz which was simply impossible at the time. It's not like the ALU is starved by slow mem. The fact that the 68000 does not access the RAM faster but never idles already proves this. Caches to decouple a fast CPU core from slow mem were simply impossible in 1979. And in the case of the 68000 we have a slow CPU with fast RAM. There simply was no bottleneck. The memory interface is fast enough for the CPU. It might be worth looking at the 68008 which according to your theory should have been able to be just as fast as the 68000 at half the buswidth (and failed at that).
|
23 August 2018, 08:45 | #123 | ||||
Banned
Join Date: Sep 2016
Location: UK
Posts: 2,917
|
68k details
Quote:
Quote:
Again wrong. The 68000 (at 7mhz) takes 560ns to fetch and then another 560ns to execute. The chipset gets the second 560ns. Odd vs even cycles. It’s in the Amiga manual and it’s also something I’ve measured. The Amiga doesn’t do 2 access per timing slot. Only one. Hey why don’t we ask someone who builds accelerators for the Amiga.. http://amigadev.elowar.com/read/ADCD.../node02D4.html I can stick all these machines on my LA and do a video of this actually. I’m getting sick of arguing about fact here. Quote:
Quote:
Last edited by plasmab; 23 August 2018 at 09:21. |
||||
23 August 2018, 09:22 | #124 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
|
|
23 August 2018, 09:25 | #125 |
Banned
Join Date: Sep 2016
Location: UK
Posts: 2,917
|
|
23 August 2018, 09:44 | #126 |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
The bus is 280ns, but the 68000 probably just takes 2 clocks to fetch (that's indeed 560ns), and then 2 clocks to execute.
|
23 August 2018, 09:55 | #127 | |
Banned
Join Date: Sep 2016
Location: UK
Posts: 2,917
|
Quote:
Also is there no decode stage? Later CPUs took a clock cycle to decode. EDIT: For the record i think the Amiga designers got the best out of what they were working with. My beef is with the CPU bus interface. It could have been 2 x as fast without any fuss whatsoever. Last edited by plasmab; 23 August 2018 at 10:00. |
|
23 August 2018, 09:59 | #128 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
|
Is simple math: take a PAL hline of 64us.
The chipset split-up this time in 227 C2 slots (280ns each one) for a total raw of 908 (227x4) potential hres pixels (these are not all visible but this is another matter). So you need 4 pixels issued every 280ns for a resolution of 640+overscan pixels. But if you want more colours you need to fetch more planes. This is maxed out at 16 colours (the famous 4planesx640x256 resolution). With this you saturate the time usable by the chipset on the bus. 4 planes x 4 pixels are 16 bits to fetch in 280ns [EDIT: Of course if the chipset saturate the bus, there is no time for the 68k to fetch instructions.. but if you use half of previous values (4planex320x256 resolution) you can have maximum for both contender] Or look at it another way: an instruction for 68k requires 4 minimum cycles to execute. At 7Mz 1 cycle lasts 140ns, of which 2 occupying the bus (280ns) for the fetch and the others 2 for internal operation. Last edited by ross; 23 August 2018 at 10:10. |
23 August 2018, 10:02 | #129 | |||
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,408
|
Quote:
It just seemed to fit, that is all. I’m truly sorry if you feel I was/am trolling, this is seriously not my intent. Even though I do lack knowledge of memory chips, as you point out. Quote:
Quote:
The image you’ve shared actually confirms this as it runs from 0 to $E0, which is 224, but the 0th cycle is shown to start after a memory refresh cycle so the total there is 226. Again, I’m sorry you considered my lack of knowledge on RAM chips to be trolling you, this was not my intent. I admit I don’t know much about them, but I do know a little bit about the Amiga architecture, though admittedly primarily from a programmers perspective. |
|||
23 August 2018, 10:03 | #130 | |
Banned
Join Date: Sep 2016
Location: UK
Posts: 2,917
|
Quote:
|
|
23 August 2018, 10:06 | #131 | |
Banned
Join Date: Sep 2016
Location: UK
Posts: 2,917
|
Quote:
Apology accepted. However I intend to measure this for my own sanity. I have seen the CPUs regularly skip cycles because the motherboard didnt give it DTACK. Either its a resync operation or im going mad. |
|
23 August 2018, 10:13 | #132 |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
I don't know much on the inner workings of the cpu. What i know is that the fastest instruction is 4 cycles on 68000, and that the chipmem bus is available 1 cycle out of 2 at 3.5Mhz.
|
23 August 2018, 10:13 | #133 | |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,408
|
Quote:
For example, move.w dn,dn takes 4 cycles, as does tst dn or addq #,dn. |
|
23 August 2018, 10:14 | #134 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
|
|
23 August 2018, 10:18 | #135 | |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
|
Quote:
Mathematics and logic can not be refuted |
|
23 August 2018, 10:19 | #136 | |
Banned
Join Date: Sep 2016
Location: UK
Posts: 2,917
|
Quote:
Now some CPUS (take arm as an example) pipeline... CYCLE 1 FETCH1 2 FETCH2 DECODE1 3 FETCH3 DECODE2 EXECUTE3 However the 68000 doesnt do this. And we know it takes 4 clocks to do Fetch. So i am simply confused about the decode/execute part. |
|
23 August 2018, 10:21 | #137 |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Oops Seems i need to really wake up this morning
So what happens ? It may need 2 clocks to fetch. That's 2x140ns. Then 2 clocks to execute simple ALU ops. Again 2x140ns. Total 4 clocks for e.g. simple 16-bit ADD. And it can do 1 mem access every 4x140ns, meaning min 4 clocks per code word and per data word. Am I right ? Probably not But why would i care anyway, not being coding for 68000 anymore ? 68030 timings might be more interesting to study (at least for me). |
23 August 2018, 10:24 | #138 |
Banned
Join Date: Sep 2016
Location: UK
Posts: 2,917
|
68k details
The plain 68000 needs 4 clocks to fetch. Says so in the manual. It spends S0/S1 asleep doing nothing. Asserts AS in S2.. and samples DTACK in S5 before latching the data in S7.
EDIT: It has 8 states which count from 0 on every edge of the clock. This is a write opps. you get the idea though. Last edited by plasmab; 23 August 2018 at 10:33. |
23 August 2018, 10:28 | #139 | |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
If it takes 4 clocks to fetch, then there is perhaps some kind of parallelism inside the cpu. It does some operation while next one is being fetched (68000 does have a prefetch queue). |
|
23 August 2018, 10:30 | #140 | |
Banned
Join Date: Sep 2016
Location: UK
Posts: 2,917
|
Quote:
Must be something like this happening. Perhaps it actually happens I the S0/S1 time. |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Any software to see technical OS details? | necronom | support.Other | 3 | 02 April 2016 12:05 |
2-star rarity details? | stet | HOL suggestions and feedback | 0 | 14 December 2015 05:24 |
EAB's FTP details... | Basquemactee1 | project.Amiga File Server | 2 | 30 October 2013 22:54 |
req details for sdl | turrican3 | request.Other | 0 | 20 April 2008 22:06 |
Forum Details | BippyM | request.Other | 0 | 15 May 2006 00:56 |
|
|