Some of you may know that I've always had a soft spot in my heart for VIA, a chipset, motherboard, and processor manufacturer. Their puny video cards notwithstanding, they have a knack for getting the best performance per watt ratio in the industry. Recently, while I was researching yet again their C7 processor with hopes of putting it in the computer I'm planning to build, I noticed a press release for the Isaiah core. I took a look at it, and was amazed.
First off, it's been totally rewritten from scratch. That's a very UNIX-y philosophy, which rather impresses me as Intel and AMD have, as of yet, refused to do this. As a result, they claim that it's cleaner and more elegant in design. What they say about it would seem to back that view up.
It's their first 64-bit processor, for one thing, allegedly with a more complete and reliable implementation of the AMD64 instruction set. They also implemented more SSE instructions, and switched to a 65nm manufacturing process. But I'm just beating around the bush here. VIA alleges that it's 2 to 4 times faster then the C7 with the same power usage and price. They also claim that it has the fastest FPU of any x86 CPU, which wouldn't shock me as it can handle 4 floating point additions and 4 subtractions per clock cycle.
But get this: it can automatically overclock itself when it's running cool, and you can manually set a desired temperature that it will attempt to reach.
If all this is true, then I might just have a new favorite processor manufacturer. I can't wait until it comes out this year to play with it.
Friday, February 08, 2008
Saturday, January 19, 2008
Thoughts about mod-boot
I've been recently thinking about where to take mod-boot, and one thing that I decided was to look into using Python instead of C. C is plenty faster of course, but I'm not convinced that in this case it would be a big deal, but I do know that it'll increase maintenance quite a bit. Of course, bourne scripting might be the best option, but I really hate bash. Meh, I'll get more serious about mod-boot after my stupid math course stops sucking up all of my time.
Tuesday, January 08, 2008
Development paused
Development of mod-boot has paused (These words usually indicate the semi-death of one of my projects, dooming them to be forever in a state of almost-under-development-ness), to allow me to, foremost, get on track with my math assignments, but also so that I can rethink some design elements about mod-boot and to work on another project idea I had.
Saturday, December 22, 2007
Design cleanup
Having partially read the first chapter of the excellent The Art of Unix Programming, by Eric S. Raymond, I've been thinking more about the design of mod-boot in terms of simplicity. One portion that called attention to itself was the blockList concept that I explored in an earlier post. It's an interesting concept I think, but it adds a lot of code that 99% of the time will only end up taking up more memory. It would be simpler and in most cases faster just to use either a standard array or a GArray or something.
Also, I've been thinking about the concept that if a program doesn't have anything helpful to say, it should just shut up. I'll have to work on this aspect, but it'll have to give what the user and other programs need; nothing more, nothing less (Good: Fedora. Bad: Debian. Worse: Slackware).
There's other matters I shall have to look in to as well to simplify the project.
Also, I've been thinking about the concept that if a program doesn't have anything helpful to say, it should just shut up. I'll have to work on this aspect, but it'll have to give what the user and other programs need; nothing more, nothing less (Good: Fedora. Bad: Debian. Worse: Slackware).
There's other matters I shall have to look in to as well to simplify the project.
Wednesday, December 19, 2007
blockList
I hit a wall recently with mod-boot. Basically, when I parse a script file, I need to be able to store all the data given. However, I don't know before-hand how many dependencies the script will have, or how many features it provides. I could use a standard array, but that would be inefficient since I would have to allocate like 25 memory slots of which I might only use 3, and if something needs more then 25 slots, well, that's tricky now ain't it? I could use a GArray, which is a handy little feature of GLib, but unless I'm wrong, whenever you exceed your allocated memory, it has to allocate more and copy everything over, which gets inefficient, and if it works like the C++ STL vector template, then I'm still wasting a lot of memory. I could use a linked list, but that's slow to loop through.
Hence the need for blockList. Basically, it's a doubly linked list implementation where each node has an array. When you first create the blockList struct, you give it a number of bytes per array element (as with GArray), and a default number of elements per blockListElement (basically a node; I should rename it). It then keeps track of the number of blocks currently allocated, and the address of the first and last nodes, so that it can get to any given element as quickly as possible. The programmer can of course manually allocate a block with X elements, but that should also be handled transparently when an element is appended. It's currently not yet finished, but it's getting there. And it's fully 100% memory leak free, too!
Hence the need for blockList. Basically, it's a doubly linked list implementation where each node has an array. When you first create the blockList struct, you give it a number of bytes per array element (as with GArray), and a default number of elements per blockListElement (basically a node; I should rename it). It then keeps track of the number of blocks currently allocated, and the address of the first and last nodes, so that it can get to any given element as quickly as possible. The programmer can of course manually allocate a block with X elements, but that should also be handled transparently when an element is appended. It's currently not yet finished, but it's getting there. And it's fully 100% memory leak free, too!
Tuesday, December 11, 2007
Of video card drivers
Those who don't use FOSS operating systems likely aren't aware of the many troubles we have with our uncooperative video cards. It is common knowledge in the shared intelligence of the FOSS community that in terms of Linux support that Intel and VIA have more or less perfect out-of-the-box FOSS drivers, that nVidia has reasonably good Linux drivers (but only closed source, so many vendors can't use them), and ATI has the spottiest Linux support.
This situation, I'm glad to say, is about to come to an end. The nVidia driver is being reverse-compiled to create a better FOSS driver called nouveau (however, it seems to be coming along slowly, and my last test with it found that it's rather slow and buggy), and following AMD's buyout of ATI, ATI has started paying much more attention to Linux drivers. This came to a climax recently, when AMD officially announced that they're going to start releasing specs for their drivers and hiring people to work on a full FOSS ATI driver. This is expected to be finished by March 2008, in time for Linux 2.6.25.
In summary, w00t!
This situation, I'm glad to say, is about to come to an end. The nVidia driver is being reverse-compiled to create a better FOSS driver called nouveau (however, it seems to be coming along slowly, and my last test with it found that it's rather slow and buggy), and following AMD's buyout of ATI, ATI has started paying much more attention to Linux drivers. This came to a climax recently, when AMD officially announced that they're going to start releasing specs for their drivers and hiring people to work on a full FOSS ATI driver. This is expected to be finished by March 2008, in time for Linux 2.6.25.
In summary, w00t!
Subscribe to:
Posts (Atom)
