How 8bit computers work - interrupts, memory and DMA | Computing Fundamentals
HTML-код
- Опубликовано: 17 авг 2024
- Let's explore how 8bit computers worked, looking at their memory, interrupts and DMA.
Computers from the 1980s seemed to be quite limited in their abilities, there was a bit drive to make a machine as cheaply as possible. Competition was fierce between manufacturers. Often the amount of RAM in the machine was a selling point - if you were looking for a new computer, would you buy a Commodore 64, or a Spectrum 128? Clearly 128 sounds more.
Except these machines were limited by their designs, so how exactly did something like a Spectrum 128 have 128K of RAM? What are interrupts? How do they work on a Spectrum? What is DMA and did it even exist back then, or was it not until the Amiga came along DMA became popular?
Let's look at these three topics using various models of ZX Spectrum and the new Spectrum Next.
This is an introduction to the topics of Memory Banking, Interrupts and DMA. There will be more in-depth videos coming soon on each topic, along with source code. So subscribe to be notified when they arrive.
----
Contains images from Wikipedia
Chapters
---------------
Intro 00:30
Memory Banking 01:28
Memory on 8 bit systems 02:06
Memory Banking 04:41
Interrupts 10:47
DMA Controller 18:05
Summary 20:29 Наука
I have been thinking about DMA. I did have have a book on all the CPUs available (this was back in the 70s ... yes I am old) It included the Z80 and its ancillary ICs Including the DMA. The book is long gone , fallen to pieces from frequent browsing. Back to DMA, I seem to remember (not the most reliable start to a sentence) that in addition to memory to memory moves (though, strictly speaking, copying) it also performed input to memory and memory to output transfers and, mysteriously , I/O to I/O transfers (not sure what that would be for). The Z80 accessories where very expensive in those days, so I didn't delve further into the use of DMA. Now, of course, the expensive electronic equipment have thermionic tubes and the ICs are cheap. So, I can now fantasize about DMA. Coupled with banked memory and SD mass storage, I can see that moving data and code from bank to bank (ROM to RAM) and SD to bank and vice versa could DMA looks very attractive. Most of the work in a CPU is moving data, Oh! and dividing.
I love all your technical videos. Thank you. even the Solar DIY project. :)
Looking forward to the DMA video.
Interrupt Mode 2 is actually quite powerful, if you use chips that properly support them. Because it takes the CPU right to the start of the right routine without extra work.
With a simpler IRQ scheme, you would get one interrupt for your serial port for example. The CPU would then have to figure out what to do, if there is a byte to be read or a ring signal coming in or whatever.
But the Z80 compatible peripherals generate individual addresses for each condition. Which means you don't just have a single large interrupt handler, but multiple smaller and faster ones.
My first computer was a ZX Spectrum. I loved it passionately. Never had a clue How it worked. So this is Fun.
Love your presentation style, and really enjoying the videos.
Great videos, I just discovered this channel few minutes ago and I'm impressed with the quality and originality of the content like using an Arduino to see how the z80 works. Definitely the RUclips algorithm sucks, this channel should have been come in my suggested videos years ago
Excellent video. I know it is only intended as an introduction to the issues it covers but the switching of memory banks: was this performed programmatically via system routines (living in a bank that could always be available)? I remember getting my first 64 bit system, I felt the only limit to what I could do with that machine. Then I started to deal with the cost of moving 8 byte variables around (including i/o to and from storage) and don't get me started on cache misses. The attraction of retro computing is curious but understandable on many levels. When it comes to programming the little devils, I suspect it actually the limitations of resources (rather than in spite of) that is the attraction. The creativity required to get a reasonable performance is so much more rewarding than being presented with a virtual plethora of resources in a modern system (if it gets too tough, let the cloud do it). I remember my first 4 bit (yes four) development system, a Hex keyboard and 8 7-segment numbers really did present many challenges . When I graduated to a Model II TRS-80, I was in 7th heaven. Ok, you have a new subscriber .
Excellent interesting content but the background music is way too loud, fast and distracting making it difficult to watch.
It's not too bad on my mobile, but I do agree that it's a bit superfluous. The spoken content is good enough on its own merits :)
I quite liked the background music. Did not get in the way for me.
@@robingrosset6941Very good bgm. Do you know the names of them?