You could probably profit from reading the Intel/AMD programmers reference manuals.devc1 wrote:Wow, how do you access 64 bit addresses using this PAE thing ? Do you remap them or what ? I don't know anything about PAE else than it just adds a few bits.
What are services
Re: What are services
-
- Member
- Posts: 426
- Joined: Tue Apr 03, 2018 2:44 am
Re: What are services
MIPS? 64-bit MIPS goes back at least 30 years, and I dare say user code written in 1992 would run unchanged on any recent 64-bit MIPS implementation (OS permitting, of course, no more Irix or RISC/os and their respective platforms these days.)rdos wrote:The protected mode interface in x86 processors has existed since the 80s, and still is functional. Give me an example of a RISC processor where the binary code written a decade ago still works on a modern variant. That's what I meant by unstable.nexos wrote:By whom may I askrdos wrote:RISC architectures are too unstable
SPARC? I'd wager money on binaries I compiled in 1998 (my first job using Solaris) would run unchanged on Solaris 11. Any incompatibilities would be software rather than hardware, and the same would be true for x86 based software as well (outdated libraries no longer being supported, for example.)
But proprietary software aside, both of the above as well as x86 would have common software available in the form of NetBSD, and I suspect the latest NetBSD (9.2) could run NetBSD binaries from nearly 30 years ago on each of these platforms.
Binary compatibility is almost always software limited at user level.
Now I won't argue with you there. I think the only ifdefs I use are to turn on extra debug features. Different implementations will go in different files, with common code shared separated completely from non-shared code.rdos wrote:The expected register content should be documented for each procedure. The values of ifdefs are never documented per source file, might not even be found in the projects include files, and sometimes are created by autoconf. Basically no project will document what the ifdefs are supposed to be set to or what their functions are.nexos wrote:No different than assembly where you have no idea what values are in what registers.rdos wrote:I don't particularly enjoy portable C code scattered with ifdefs that I don't know the values of.
Personally, I've adopted ifdef free programming. There are no ifdefs in the code I write, and I typically will remove ifdefs in code I port. Something that increase readability a lot.
Re: What are services
Err... the laws of physics? Supporting that would add an absolutely huge number of transistors and memory space on the CPU die, (especially in a mulit-core system, and that means the chip would have to get bigger, and then you start running into all kinds of issues with that.devc1 wrote:I just wonder, why there is only AVX512. Why can't we have some extension that let's us do math on 1000 integers at once like gpus ? Or perform parallel conditionnal jumps on those 1000 integers ?
I mean, maybe once they develop a 1nm process that might be possible. But I doubt it. And besides, the CPU would consume so much power with all that, I have a feeling that we would have bigger issues...
Re: What are services
Then why GPUs have thousands of cores and in each core they can perform maths on thousands of values in parallel
-
- Member
- Posts: 426
- Joined: Tue Apr 03, 2018 2:44 am
Re: What are services
GPUs have lots of parallel cores, each of which operate in parallel on one or two scalar values.devc1 wrote:Then why GPUs have thousands of cores and in each core they can perform maths on thousands of values in parallel
So, the parallelism is coming from otherwise simple cores doing the same operation on a vector of inputs, with each core doing its share of the input vector.
What you're describing is 1000's of cores each handling 1000's of values in parallel. That'd be scaling in the millions of operations in parallel, which is several orders of magnitude more than what is actually happening.
Apart from anything else, the bandwidth required to feed millions of parallel execution units would be colossal, Terabytes per second sort of bandwidth.
Re: What are services
To add to what was already said, GPUs don't need to focus quite as much on cache memory / branch prediction, both of which take up a fair amount CPU die space.devc1 wrote:Then why GPUs have thousands of cores and in each core they can perform maths on thousands of values in parallel
Re: What are services
GPUs are designed to perform the same operation, simultaneously, on a large data set, but are not so efficient at running a single thread. General purpose CPUs are designed to run a small number of independent threads very quickly and very efficiently. Although the former use case is found when processing images, or in scientific work, other programs represent the latter.devc1 wrote:Then why GPUs have thousands of cores and in each core they can perform maths on thousands of values in parallel
It’s difficult to see much use for massively parallel computations in an operating system, a program of interest to many here. But it would be an interesting experiment to write an OS designed to run just on a graphics card.
Re: What are services
PAE use the same page table entries as long mode, except that you can only map 4G of linear memory. In fact, it's quite possible to share page tables between long mode and protected mode PAE since they are identical up to 4G.devc1 wrote:Wow, how do you access 64 bit addresses using this PAE thing ? Do you remap them or what ? I don't know anything about PAE else than it just adds a few bits to addressing.
Re: What are services
So from what I understand, you will use the 4gb protected mode page tables but in each page table entry you can set a 64 bit physical address ?
Re: What are services
Yes. Or at least close enough. It is actually only 52 bits because of limitations placed on the format, but that should not really matter at this time.devc1 wrote:So from what I understand, you will use the 4gb protected mode page tables but in each page table entry you can set a 64 bit physical address ?
Carpe diem!
Re: What are services
This is not in the topic, but does anyone have a full NTFS specification or atleast a read/write/create/delete files specification ? Or should I depend on the linux sources ?
I found a spec in the internet, but it just shows that there are MFTs, Logs and thing without showing how to use them.
I found a spec in the internet, but it just shows that there are MFTs, Logs and thing without showing how to use them.
-
- Member
- Posts: 5562
- Joined: Mon Mar 25, 2013 7:01 pm
Re: What are services
Microsoft has not made the NTFS specification public. Any information you find will be reverse-engineered and probably incomplete.