Тёмный

Vacuum Tube Computer P.19 - Clocks! 

Usagi Electric
Подписаться 87 тыс.
Просмотров 8 тыс.
50% 1

In this episode, we tackle a very important part of the computer - clocks! We don’t actually build the clock itself, that’s going to be handled on the Program Control section, but the clock that comes in needs to be handled in a very specific way to ensure that the timing of the processor works correctly. So come along as we talk about what exactly our requirements are and how we go about accomplishing them!
If you want to support the channel please hop over to Patreon:
/ usagielectric
Also, we now have some epic shirts for sale!
my-store-11554688.creator-spr...
Come join us on Discord and Twitter!
Discord: / discord
Twitter: / usagielectric
Music:
Artist: Red Tailed Fox
Title: Suco de Melancia
ocremix.org/remix/OCR01671
Intro Music adapted from:
Artist: The Runaway Five
Title: The Shinra Shuffle
ocremix.org/remix/OCR01847
Thanks for watching!
Chapters
0:00 Intro
1:40 Why we need it
5:40 How we’re going to do it
8:29 The prototype
14:08 The PCB version
18:00 Outro
18:40 Bunny!

Наука

Опубликовано:

 

11 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 78   
@glufke
@glufke 2 года назад
It's just awesome that you used the Vacuum Tube osciloscope :-D
@UsagiElectric
@UsagiElectric 2 года назад
Thank you! I love that HP scope, even if it does weigh a ton!
@winstonsmith478
@winstonsmith478 2 года назад
Two great books: The First Computers--History and Architectures (MIT Press - History of Computing) From Whirlwind to MITRE: The R&D Story of The SAGE Air Defense Computer (MIT Press - History of Computing)
@UsagiElectric
@UsagiElectric 2 года назад
Thank you so much for the suggestions! I actually managed to find a PDF of "The First Computers" and will definitely spend some time working through it!
@simox04_yt66
@simox04_yt66 2 года назад
Man I have to study for tomorrow, couldn't you post this another day. Btw very interesting video as always, you explain this stuff in a very easy to understand way. keep it up.
@UsagiElectric
@UsagiElectric 2 года назад
Haha, I hope you got your studying done! Thank you for the kind words, I'm glad you're finding the videos easy to follow along with!
@sneugler
@sneugler 2 года назад
Don't know how I haven't heard of your channel, thanks for the great content! This has been a fascinating project so far
@UsagiElectric
@UsagiElectric 2 года назад
Thank you so much, and thanks for checking the videos out!
@brianhginc.2140
@brianhginc.2140 2 года назад
Try adding a 1000-10000uh in series with your trimpot. Your delay will be much more even on the rise and fall and it will also be longer. Also, add a biasing trimpot to load the first oscillator feeding the input clock through a DC filter cap to help improve the 50/50 duty cycle. The other best way to do this would be a toggle flip-flop divider to generate 2 phase outputs, both always with 50/50 duty cycle, but now, this will be a bunch of tubes and a single instruction step will be more complex, but may allow maximum frequency which doesn't seem to be your concern.
@brianhginc.2140
@brianhginc.2140 2 года назад
Also, the RC filter you have weakens the amplitude of the clock signal making that section sensitive to aging of the tube. Relying on an inductor for your delay will delay the clock signal keeping the amplitude high, in fact, if the termination and series resistor and cap load is set properly, the delay output signal amplitude will match the source signal in strength and amplitude retaining that hard digital edge feeding the G of your next stage tube inverter a full strength definitive digital edge signal.
@UsagiElectric
@UsagiElectric 2 года назад
Excellent suggestions! Honestly, inductors are black magic to me, so I tend to avoid them simply because I'm not familiar. What's interesting here though is that the lazy falling edge that's pretty apparent on the scope is actually on CL1, which doesn't have the RC delay. So, most likely that lazy falling edge is due to a bad tube or something else that I missed. As for CL2, I actually lucked out because I ended up using two inverters here to make the signal the right way round. What this means though is that the input signal strength can be pretty weak and I still get a very clean logic high and logic low due to the double amplification. But, tuning it properly with an inductor is definitely the more elegant solution than the rather brute force method I went with here, haha.
@brianhginc.2140
@brianhginc.2140 2 года назад
@@UsagiElectric The difference between using a resistor and inductor is that the resistor lowers the current of the signal from the source to the destination while the inductor does not lower the current, it delays the current, but, the same full signal power should make it from in to out not counting the inductor's internal resistance due to wire length. (In your circuit's case, since this will be only be something like 10ohm to 200ohm for the large values above 10000uh due to the sheer length of wire, we can call it 0.) So, when using the RC filter, you are relying that the lower current will charge the cap slower at the output. With an inductor, and just a simple restrictive load at the output, it is the function of the inductor to delay that signal without weakening it's current. This is why radios use inductors in their tuning and filter circuits. They are far more stable and pure of signal strength compared to pure RC circuits. You can take a look at finding some cheap aftermarket inductor sample kits which containing values in the 10000uh to 100uf range as all the smaller values will operate in frequencies way above what you need. You also have a good 2 channel all vacuum tube scope, when placing an inductor VS resistor cap alone circuit, you can probe the input VS output on 2 channels to see what is going on when feeding a continuous source square wave from your signal generator beginning at low frequencies like 100Hz to 100Khz range. There are many who will help you out on both the formulas of use and how to hand calculate or simulate your circuits, including with vacuum tubes at this forum here: www.eevblog.com/forum/index.php .
@skeezixcodejedi
@skeezixcodejedi 2 года назад
I just love the giddy enthusiasm :)
@UsagiElectric
@UsagiElectric 2 года назад
Thank you! I'm stupid levels of excited about this. It's been a massive project (and I'm really only about 1/4 of the way done, I've still got memory, program control and IO to tackle), but I feel like the more the processor comes together and actually starts to work, the more real the project starts to feel!
@skeezixcodejedi
@skeezixcodejedi 2 года назад
@@UsagiElectric cpu has to be the hardest part … how much RAM are you talking? Is the architecture going to be program in ram? Size of ram will i form you a lot … Yeah, lots to go yet :)
@lindoran
@lindoran 2 года назад
Can't wait to watch this later!
@gammaleader96
@gammaleader96 2 года назад
Adjustability is always a good thing in such an experimental setup. Especially in critical global signals like the clock. Excellent work as always.
@UsagiElectric
@UsagiElectric 2 года назад
Thank you very much! I really wanted to be able to adjust it quickly and easily no matter what clock speed is coming in, and I think this setup should work pretty well!
@lindoran
@lindoran 2 года назад
Also I really love how the scope came.out 😊
@UsagiElectric
@UsagiElectric 2 года назад
Thank you! I've never had to remind myself to lift with my legs not my back when picking up an oscilloscope before, haha.
@AlexanderWeurding
@AlexanderWeurding 2 года назад
Great share! Thanks!
@UsagiElectric
@UsagiElectric 2 года назад
Thanks for checking the video out!
@TeslaTales59
@TeslaTales59 2 года назад
Now this is a vacuum valve bonanza!
@UsagiElectric
@UsagiElectric 2 года назад
There is definitely a lot of tubes in the project! In total, the processor will sit at 190 tubes, which is a massive amount of tiny little heaters raising the temperature of the room!
@idahobob
@idahobob 2 года назад
Try adding some positive feedback to your buffers to get the edges sharper, by added some "snap" to the signal. One resistor could really make a difference!
@UsagiElectric
@UsagiElectric 2 года назад
That's a good idea! I may look into that! What really bakes my noodle though is how sharp Clock 2 is. It has two cathode follower buffers on it, but we don't see any of the laziness that we saw on Clock 1. Maybe that third buffer on the CL1 is adding a little too much capacitance or something, or perhaps I've got a bum tube in one of the buffer slots. When the tube computer gets complete, I'm going to go top to bottom and test every single tube, replacing any that don't give me the emission I want, so that may really clean up some of the signals too. Of course, here I was testing at 1kHz, and I've been thinking a lot about program control, and I'll be happy to get about 7Hz, so the lazy edge won't even be noticeable on the scope at that frequency, haha.
@idahobob
@idahobob 2 года назад
@@UsagiElectric Having never used tubes with a B+ lower than 150V before, It's well out of my wheel house (and I haven't touched a tube repair in over a decade.) It blew me away when I figured out you were Way Down at 24V! Do tube data charts even go that low??? A simple 10M or 22M resistor across a couple tube, from in to out might fix everything. The difference in fall times between the two clocks puzzled me also. I think a little poking around with the scope might get you a few answers. After that maybe even a couple of cathode resistors should change things... without simulations, hard to tell if it would be better or worse... but it should be more linear. (but via some local negative feedback) I though you might have to move the RC delay on clock 2 to after the first stage, (and you might try it) to clean up the problem with duty cycle. But I'm not sure on that one either.
@UsagiElectric
@UsagiElectric 2 года назад
@@idahobob Haha, yeah, just +24V for B+ is a little on the low side. Datasheets pretty much only ever give data for at minimum 50V (unless it's one of those 12V space charge tubes that were used in the 50s for cars). So, a lot of figuring out what works and doesn't was just down to trial and error to see how well things go. I did actually do some testing with cathode resistors of varying values, but I always ran into problems with logic lows being acceptable at that point. The problem was that in order to keep the cathode level low enough at full saturation, if I had a cathode resistor, I had to go extreme with the plate resistor, which meant I had to go even more extreme with the voltage divider resistors on the grid. But, with just +24V, I found that if my voltage divider resistors get too high, the grid essentially stops responding and my logic lows and logic highs only have a swing of a few volts between them. The 33k plate, 220k/220k divider to -12V on the grid seems to be a really good compromise and I get about a 20V swing between logic levels. Also, fortunately, the duty cycle problem isn't something i need to think too much about. Pretty much everything only cares about the transitions, which is quite nice. Plus, with such a low clock rate I think everything will jive together rather well. I'm hoping at least, I won't know for sure until I get some memory and program control running actual programs through it!
@idahobob
@idahobob 2 года назад
@@UsagiElectric LOL! I keep forgot you are doing digital. Yeah, the cathode resistors would be a huge issue. I keep coming up with "Great Ideas!(tm)" with other logic, only to realize you can't use them as you've gone all tube. So you keep going with your Good ideas! ... after all the hardest lesson to teach a new engineer is "When good enough, is Good Enough."
@Clancydaenlightened
@Clancydaenlightened Год назад
5:20 so a two-phase clock, or use rising edge to latch instruction, and falling edge to move data and execute instruction
@frankowalker4662
@frankowalker4662 2 года назад
So cool.
@UsagiElectric
@UsagiElectric 2 года назад
Thank you so much!
@user-folk1987
@user-folk1987 2 года назад
Cool
@UsagiElectric
@UsagiElectric 2 года назад
Thank you so much!
@akkudakkupl
@akkudakkupl 2 года назад
I think that a two phase non overlap clock might work too, but will remove any chance of glitching. I might be wrong, but I also might be right :-D
@UsagiElectric
@UsagiElectric 2 года назад
It totally could! The clocking really only cars about rising or falling edges, and there's really only two distinct clock operations. On CL1 falling edge, the instruction register stores the next instruction, on CL2 rising edge, IEN, OEN, and SKZ store anything if necessary, and one CL2 falling edge RR and Carry store results. So, as long as CL2's rising edge happens after CL1s falling edge, and CL2s falling edge happens before the next CL1 falling edge, it should all work alright. The main reason I did it this way was just to keep the tube count down. I knew I needed a ton of CF buffers to keep the clock signals clean and strong, so I tried to think of the simplest method to achieve the timing I needed, and this seemed to work!
@jorgeferreira6727
@jorgeferreira6727 2 года назад
Did you really a 39+ kgs scope? I think you can stay period correct with something a bit more modern and less heavy. But it was really nice to see that museum piece working so well. Congrats.
@lindoran
@lindoran 2 года назад
Coming along nicely! say I was wondering does your subtract instruction simply return data compliment plus results register? (1s complement) and then the additional 1 has to be manually added after the fact or on the first bit of the operation?
@UsagiElectric
@UsagiElectric 2 года назад
Thank you! You got it, all it does is invert the data coming into the ALU to do addition on data compliment and RR. The additional 1 is added manually by forcing a 1 into the carry register, though that does require a bit of setup. If I wanted to subtract 11 - 10 = 01, this would be the program (OpCode + Data value): ONE X ADD 1 (These two operations force a 1 into the carry and leaves RR at 0) LOAD 1 SUB 0 LOAD 1 SUB 1 (Once we have the one in the carry, we just cycle our way through the operands 1 bit at a time) I really could have used to have a clear carry and force carry operation, but given I was trying to stuff all the ALU operations into just 7 opcodes, I ditched a few things to keep some logic functionality too.
@lindoran
@lindoran 2 года назад
@@UsagiElectric thanks for the explanation :)
@VandalIO
@VandalIO 2 года назад
I love the design philosophy behind your magnum opus …. And can’t wait to see , when it’s complete Btw have you come across gigatron computer ? It’s made from discrete logic unit ..and can run Apple 1 code
@UsagiElectric
@UsagiElectric 2 года назад
Thank you so much! And I actually have seen the Gigatron (well, not in person), and I love the idea of building a TTL computer. I actually have a TTL design I've slowly been working on in the background that I want to build up someday. If it works well in the end, I want to transition the design over to discrete transistors!
@VandalIO
@VandalIO 2 года назад
@@UsagiElectric would love to see your ttl design on this channel someday
@UsagiElectric
@UsagiElectric 2 года назад
@@VandalIO That's the ultimate plan! I'm doing some simple breadboard testing now to get a feel for how it's going to be built, then, once I'm pretty happy with the overall design, I'll start making videos of the build!
@marsairforce8834
@marsairforce8834 2 года назад
I know you mentioned the clock would not run at 1kHz, but I was wondering if the clock 1 had that lazy falling off edge, because the cathode followers on clock 1 have a sort of adding extra capacitance with their plates in parallel, and here we don't have the clock hooked up to anything yet. That maybe later on when the clock is hooked up and loaded by the computer gates, that this edge might clean up a bit too?
@UsagiElectric
@UsagiElectric 2 года назад
I've been thinking about this too, and what's really throwing me for a loop is that CL2 doesn't have that lazy falling edge, even though it's also got two cathode followers in parallel. If it were the buffers, I feel like CL2 should be showing some laziness, but perhaps three is the magic number for enough capacitance to cause a bit of an issue. Also, I could totally have a bum tube in one of the cathode follower spots on CL1. If that's the case, it would mostly present alright because the other two buffers would be picking up the slack, but the bum tube could be causing some weird harmonics or excess capacitance that's causing the lazy edge. Although, in the end, I'm hoping for about 7Hz (roughly the speed of a reel-to-reel player), so the lazy edge is mostly a non-issue, haha.
@ropersonline
@ropersonline Год назад
5:20: It confused me a little that you described CLK2 before CLK1 here, even though the picture says the state change in CLK1 occurs first.
@bob4analog
@bob4analog 2 года назад
12:00 is the duty cycle important?
@UsagiElectric
@UsagiElectric 2 года назад
Good catch! Fortunately, duty cycle is fairly irrelevant. As long as CL2s rising edge happens after CL1s falling, and CL2s falling edge happens before CL1s next falling edge, everything should work pretty well!
@UpLateGeek
@UpLateGeek 2 года назад
I was thinking, there should really be more of a distinction between the original "14500" and yours, since yours has the extra arithmetic feature in the LU/ALU. Appending a designator to the end e.g. 14500A is more for a different grade or revision of the same design, so it would make more sense to change one of the digits e.g. 14501. Or just keep the name. I know you and others might have grown attached to it, so this is really only going to bother pedants like myself.
@UsagiElectric
@UsagiElectric 2 года назад
That was actually the drive behind changing from "MC14500" to "UE14500"! Though, arguably, the UE version has a bit more functionality, and I would like to actually build up a version of this on an FPGA someday to actually push it hard and see how viable of a processor it can be with a fast clock speed. I'm with you on the idea that maybe changing the digits would be more representative of the changes that were made, but sticking with 14500 feels like a proper homage to the chip that inspired the entire build!
@douro20
@douro20 2 года назад
What is the thing behind you with the slip printer on it?
@UsagiElectric
@UsagiElectric 2 года назад
Very keen eye! That's actually the thermal printer unit on one of the sidecars for my TI-99 setup. This is a bit of an older picture (the layout is a little different now), but you can see the entire system here: i.postimg.cc/3R89xxWy/IMAG2815.jpg
@DAVIDGREGORYKERR
@DAVIDGREGORYKERR 2 года назад
What about a Royer Oscillator using Vacuum tubes and the output drives the clock in on the vacuum tube processor.
@UsagiElectric
@UsagiElectric 2 года назад
This actually comes down to how program control is going to be implemented. I haven't really mentioned it in a video yet, but I'm planning on having programs execute directly from 1/4" audio tape. Which means that each bit of the instruction word will be read in serially into a shift register, then a global clock will ping, executing that instruction. What this means though, is that there won't be an actual clock. The clock pulse will come directly from the tape (which means the clock speed of the computer is dictated by the read speed of the tape). It's going to be painfully slow, but it's kind of a necessity given how long programs will need to be to execute anything of any notable complexity.
@ostsan8598
@ostsan8598 Год назад
I understand the variable resistor, but why not also a variable capacitor?
@myawoo
@myawoo 2 года назад
I need a bit of information. There is a two layer organic substance. I want to measure the thickness of upper layer. Bottom layer is of high density compared to upper layer. Thickness is uneven. What are the methods available to do this ?
@UsagiElectric
@UsagiElectric 2 года назад
This is a question that's well beyond my ability to answer! But, if I were to take a guess at how to do that, I would suggest perhaps looking into stuff like paint thickness detectors. They use ultrasonic sound waves and measure the time it takes for the wave to be reflected back. This of course means that the lower layer needs to be a substance that can reflect ultrasonic, so it may or may not work at all for your application, but it might be worth a shot!
@myawoo
@myawoo 2 года назад
@@UsagiElectric Thanks. Worth a try.
@weekendwarriorweldingdiypr4604
@weekendwarriorweldingdiypr4604 2 года назад
I have a box of tube based decade counters similar to the HP AC-4G that you made a video on, and I'm interested in doing something with them. Is there any way I can contact you other than in comments on your videos?
@greenalien8503
@greenalien8503 2 года назад
He has a discord he's really active on, check that out, I'm pretty sure he has his discord linked in some of his videos
@UsagiElectric
@UsagiElectric 2 года назад
Thanks for joining the Discord!
@UsagiElectric
@UsagiElectric 2 года назад
@@greenalien8503 Thanks for letting them know about the Discord!
@R4mbo87
@R4mbo87 2 года назад
When 4K 120Hz output?
@UsagiElectric
@UsagiElectric 2 года назад
Oof, that's a lot of pixel data to send 120 times a second, haha.
@vincei4252
@vincei4252 2 года назад
Why don't you just have clk1 and clk2 in quadrature rather than offset in time from each other based on a time delay? I think it'll make what's going on a lot clearer.
@vincei4252
@vincei4252 2 года назад
This explains it. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-OL52f-k3iIE.html posting as a seperate comment because YT is very likely to delete this comment. 🤦‍♀
@UsagiElectric
@UsagiElectric 2 года назад
Thank you for the link! I have actually thought about it that way before. Using D Flip Flops like they explain in the video you linked is pretty common for building ring counters or Johnson counters, though the quadrature setup is new to me. It looks awesome and is something I will definitely keep in mind for the future! The primary reason I can't use it here is tube count. I've tried using my 6-tube DFF design for ring counters before, but since all the tubes I use are, well, used, I end up with really unpredictable oscillations. So, to make sure the DFF transitions properly on the rising or falling edge, I need to use a master-slave DFF, which requires about 8 tubes. So, to build the clock in quadrature would require 16 tubes, plus at least 4 more tubes for cathode follower buffers. And, I just didn't have the space for that here, though it would probably give a much cleaner and more reliable clock signal! Fortunately, the solution here should work pretty well at the extreme low clock speeds I'm thinking I'll end up at (will be dictated by program control, but my initial goal is 7Hz, or one instruction per inch and 7 inches per second).
@vincei4252
@vincei4252 2 года назад
@@UsagiElectric Thanks for you well thought out and reasoned analysis, yes, I did consider that you want the route of keeping it simple and I totally I appreciate it. I'm just one of those commenters on RU-vid that has the time to suggest alternatives, hopefully not in a toxic or unhelpful way! :-)
@ReviveHF
@ReviveHF 2 года назад
Maybe you can reverse engineer the MIG 25P's radar?
@mylestechnological7031
@mylestechnological7031 2 года назад
I'm building a transistor computer it's going to be a 4 bit computer
@UsagiElectric
@UsagiElectric 2 года назад
That's awesome! One of my long time goals is to build a 4-bit transistorized computer with core memory! I have an architecture I'm somewhat happy with, so I want to build it up as a TTL version first using 7400 series chips to work out the kinks, and then I want to tackle building it in discrete through hole transistors! Keep me updated on your project, I'd love to see more about it (and maybe steal some ideas, haha)!
@mylestechnological7031
@mylestechnological7031 2 года назад
I could show you a few things for my Twitter account I'm still working on it
@brianhginc.2140
@brianhginc.2140 2 года назад
+1 on using a real all vacuum tube scope and getting rid of the digital storage scope trash...
@UsagiElectric
@UsagiElectric 2 года назад
Haha, thanks! I have a nice Siglent digital storage scope, and even a nice BK Precision analog scope from the 80s/90s (no clue on when it was actually built), but I honestly just love using the old HP more than both of those by a massive amount!
Далее
Vacuum Tube Computer P.20 - IF-THEN Hardware
18:19
Просмотров 8 тыс.
Vacuum Tube Computer P.21 - MUX, SKZ and FLGF
21:23
Просмотров 6 тыс.
[RU] Winline EPIC Standoff 2 Major | Group Stage - Day 2
9:32:40
In-depth Look at the HP AC-4G Decade Counter
19:50
Просмотров 9 тыс.
Vacuum Tube Computer P.22 - Processor Finished!
27:17
The Z80 CPU - 1976 to 2024
18:49
Просмотров 82 тыс.
The Madness of Z80 I/O
22:52
Просмотров 71 тыс.
Why build an entire computer on breadboards?
28:43
Просмотров 3,1 млн
ИГРОВОВЫЙ НОУТ ASUS ЗА 57 тысяч
25:33