English Amiga Board


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old 13 December 2019, 12:33   #1
drHirudo
Amiga user
 
drHirudo's Avatar
 
Join Date: Nov 2008
Location: Sofia / Bulgaria
Posts: 456
Does the Amiga really Multitask?

Everybody knows that AmigaOS is one of the first widely available multitasking operating systems, but can the hardware itself multitask without the main CPU doing the task switching itself? I mean can the Paula play without the CPU feeding data to it, can the Blitter/Copper do graphic jobs, without the CPU telling them all the time what to do?

There are some hardware of the late 1980s/early 1990 (arcade games, consoles like Sega Mega Drive and SNES) where separate processors for the sound/music and graphics can do their job independently and they have their own memory address space, I/O ports etc, like the Z80 in the Genesis/Mega Drive, but can the Amiga do similar multitasking jobs independently?
drHirudo is offline  
Old 13 December 2019, 12:43   #2
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,409
On the Amiga, the Copper can execute a Copper list. Copper lists can blit (do graphic jobs), play samples, set up the screen, display/move sprites, etc. It is even possible to write a Copper list so that the Blitter feeds in new instructions into the Copper list (though this is definitely not for the faint of heart) so that things change from frame to frame without CPU intervention.

If desired, this can all be done without CPU assistance once it is running (again, not easy). The CPU will be required to set up the Copper list once though.

Edit: just to clarify, the Copper list doesn't have to be this advanced for it to still run without CPU intervention. Even if it isn't complicated, it will still run on it's own without needing the CPU. Many games use the Copper to set up the screen and sprites every frame, or to do screen splits. There are so many options because the Copper list is basically a program telling the Copper what to do. The Copper in turn is a very limited special purpose processor which then executes the program in the list.

So the answer is basically yes. Most games and demos still use the CPU for plenty of these tasks though

Last edited by roondar; 13 December 2019 at 12:50.
roondar is offline  
Old 13 December 2019, 12:55   #3
Jope
-
 
Jope's Avatar
 
Join Date: Jul 2003
Location: Helsinki / Finland
Age: 43
Posts: 9,861
Yes, Paula plays samples with DMA. At some point you must give a new buffer to play of course.

Denise also streams picture data from chip RAM with DMA.

But the word for this is not really multitasking. :-) If it were, the C64's VIC-II would also be multitasking.
Jope is offline  
Old 13 December 2019, 13:49   #4
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,409
Actually, all the Amiga custom chips (Paula, Denise, Agnus) do DMA.

But what I was talking about was the Copper controlling the chipset, which is rather different. After all, no matter how tiny, the Copper is a small CPU that runs it's own program to control these things.

Which is definitely not the same as 'just' DMA
roondar is offline  
Old 16 December 2019, 13:19   #5
Jope
-
 
Jope's Avatar
 
Join Date: Jul 2003
Location: Helsinki / Finland
Age: 43
Posts: 9,861
Yeah, I should have perhaps quoted some part of drHirudo's post, it was in reply to him more than you.

Copper, blitter and such are closer to parallel processing, than multitasking. :-)
Jope is offline  
Old 16 December 2019, 14:11   #6
patrik
Registered User
 
patrik's Avatar
 
Join Date: Jan 2005
Location: Umeå
Age: 43
Posts: 922
When they say multitasking, what usually is referred to is the OS possibility to run applications simultaneously.

More specifically the preemptive multitasking ability of AmigaOS, where it will switch between tasks disregarding where in the code they are - the applications don’t need to do anything to facilitate the multitasking taking place (like making a system call for a task switch to happen).

And with only one CPU, the tasks will not actually be running simultaneously, but the task switches happen so often that it feels like that.
patrik is offline  
Old 16 December 2019, 20:06   #7
Pyromania
Moderator
 
Pyromania's Avatar
 
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,375
Whatever the Amiga is doing it’s damn good.

Pyromania is offline  
Old 17 December 2019, 13:00   #8
gimbal
cheeky scoundrel
 
gimbal's Avatar
 
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 42
Posts: 6,908
Quote:
Originally Posted by Pyromania View Post
Whatever the Amiga is doing it’s damn good.

*mic drop*
gimbal is offline  
Old 17 December 2019, 14:30   #9
Lord Aga
MI clan prevails
 
Lord Aga's Avatar
 
Join Date: Jul 2010
Location: Belgrade, Serbia
Posts: 1,443
*Incoming Amiga can't really multitask and 386 PCs did true multitasking for less money posts*
Lord Aga is offline  
Old 17 December 2019, 15:20   #10
gimbal
cheeky scoundrel
 
gimbal's Avatar
 
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 42
Posts: 6,908
Quote:
Originally Posted by Lord Aga View Post
*Incoming Amiga can't really multitask and 386 PCs did true multitasking for less money posts*
I guess yours is already it
gimbal is offline  
Old 17 December 2019, 17:55   #11
Phantasm
Not a Rebel anymore
 
Phantasm's Avatar
 
Join Date: Apr 2005
Location: UK
Age: 51
Posts: 497
Even modern PC's with multi-core CPU's still do multi-tasking in much the same way the Amiga did, just scaled across multiple cores. You still have to run small amounts of each process in turn otherwise the number of processes would be limited to the number of cores. Multi-tasking is just a piece of software that schedules each process for a time slice and determines which processes need attention and how much time they get.
Phantasm is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 03:46.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.07830 seconds with 12 queries