Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment Re:Sure, with some conditions... (Score 1) 204

It does sound like fun and I would enjoy it given the right working conditions, though I imagine these are highly unlikely to be found in a military operation.

However, no lawyer can get you the guarantee you're looking for. If you are a male and a United States citizen, you'll remember having registered for Selective Service ("The Draft") before your 18th birthday. Under the right conditions any registered person can be called up for service, all it takes is an act of Congress.

Comment Re:Relaunch (Score 1) 160

In the first half of next year, there should be three almost totally independent[1] implementations of the ARMv8 architecture, with the Cortex A50 appearing later in the year.

Can you name the three vendors? Qualcomm for sure. Marvell seems likely. Nvidia says they will have a chip out, but I have serious doubts about their ability to deliver.

Comment Re:Fragmentation (Score 2) 100

ARMv8 is not eliminating them, it's reducing the number of instructions that have them. Conditional instructions are useful because you can eliminate branches and so keep the pipeline full. For example, consider this contrived example:

if (a < b)
  a++;

On ARMv7 and earlier, this would be a conditional add. The pipeline would always be full, the add would always be executed, but the result would only be retired if the condition is true. On MIPS, it would be a branch (complete with the insanity known as branch delay slots, which if you look at the diassembly of most MIPS code typically means with a nop, so you get to waste some i-cache as well) and if it's mispredicted then you get a pipeline stall.

On ARMv8, you don't have a conditional add, but you do have a conditional register-register move and you have twice as many registers. The compiler would still issue the add instruction and then would do a conditional move to put it in the result register. From the compiler perspective, this means that you can lower PHI nodes from your SSA representation directly to conditional moves in a lot of cases.

Basically, 32-bit ARM is designed for assembly writers, ARMv8 is designed for compilers. As a compiler writer, it's hands-down the best ISA I've worked with, although I would prefer to write assembly by hand for ARMv7. I wouldn't want to do either with MIPS, although I currently am working on MIPS-based CPU with some extra extensions.

Actually, ARM's reasoning is that modern branch predictors on high end AP's can do a good enough job of following a test and branch and keeping the pipeline(s) full that there is very little value in conditional instructions on future chips. It's hard to cause a pipeline stall or bubble by branching a few instructions forward or back on these CPUs since they are decoding well in advance of the execution pipelines. Added to that, there is an energy cost in executing an instruction and throwing away the result. Obviously, not all cases are wins. In the example you noted, a register to register mov on a register-renaming system is basically a 0-cycle operation (never makes it out of the instruction decoder), so it's hard to do better than that.

Comment Re:Iran never called for Israel's destruction (Score 1) 164

This is a reference to an older quote by Khomeini, but in Khomeini's days Iran was an ally of Israel. The alliance was broken off after the 1990 gulf war, because with Iraq gone and the USSR gone Israel had to change its strategy and Iran became a regional competitor.

I stopped reading after this sentence since it is so wrong, I assume the rest of it is also drivel. Israel and Iran were allies up until the Islamic revolution of 1979 in which Khomeini took power. You may have heard about the Iran hostage crisis, which happened at the same time when Iran's friendly relationship with the US was similarly dissolved. The Islamic council of Iran, which still rules today, has always been hostile to the US and Israel

Comment Re:"Other minor changes"? (Score 1) 212

This is a huge deal for developers since the iPad and iPhone/touch are now running the same software release. This means that developers no longer needs to target iOS 3.2 as the lowest common denominator for all devices, and can instead start using the new 4.x features (assuming they don't care about the very first generation iPhone/touch).

Comment What EFI is and isn't (Score 5, Informative) 216

Every time Slashdot has a story of EFI, we get a thousand uninformed posts about what it is, isn't, what it should do and why it sucks. As someone who has worked on EFI for years, let me clear them up for you:

1) EFI was designed by Intel as a replacement for BIOS. UEFI (edk2) is the second generation EFI, and is open source (see: http://tianocore.sourceforge.net). Intel delivers all of their boot support code as EFI drivers these days.

2) EFI is NOT a graphical interface. Some Chinese motherboard makers created terrible graphical configuration applications for it. Apple created a pretty nice boot selector. It can just as easily "post" and give you a console-mode menu like you're used to.

3) EFI is very common. All Apple computers use it. Most PC (Windows / Linux) laptops use it (your laptop probably does if it was made in the last 4 years). EFI drops into BIOS emulation mode after boot because Windows doesn't support it.

4) EFI machines generally allocate a small EFI partition on the hard drive, particularly if they use GPT. All Intel-based machines boot from flash memory and would successfully boot without this partition. This partition is for additional EFI firmware volumes or drivers that can be dynamically loaded.

5) EFI is much better than BIOS. It runs in full 32/64 bit mode. It can dynamically load drivers built into the ROM of your hardware (like a video card) and therefore doesn't have to rely on ancient backward-compatibility modes. It can run "apps", like a safe firmware updater so you don't have to boot your PC with a DOS boot disk to update the firmware. It can communicate a lot of configuration information to the OS and even provide hooks for some low level hardware-specific drivers. It can do things like boot from a network-shared CD-ROM drive or from a disk image stored on a USB stick (without resorting to making bootable partitions and jumping through a bunch of hoops like your average Linux USB stick). EFI can read FAT, NTFS, EXT2, HFS+ filesystems and boot the kernel directly from there (and the initrd image) without involving grub or other second stage boot loader. It can boot your GPT-tagged disks in your chosen order no matter what order you changed them around (take your boot drive, move it to a USB enclosure, boot from it).

Booting Intel machines is really fucking complicated, and EFI makes it much simpler.

Comment Re:Windows Phone 7 is great (Score 2, Informative) 319

For example, side by side, the Android browser in Froyo as running on a Nexus One has been demonstrated to be faster than the iPhone 3GS and the iPad despite the fact that they are both based on Webkit.

The Nexus One has a 1 GHz processor and 512 MB of RAM, whereas the 3GS has a 600 MHz (both ARM Cortex A8) and 256 MB of RAM. The fact that up until Froyo the browser didn't run faster should be quite embarrassing.

Slashdot Top Deals

Living on Earth may be expensive, but it includes an annual free trip around the Sun.

Working...