cpu-architecture

missing required architecture x86_64

馋奶兔 提交于 2019-12-06 00:47:52
问题 I have an old project, that I recompiled for an uodate, and it is now showing this error message: …. missing required architecture x86_64 in file myLibrary.a …. I have tried various tricks that I could find on the net after searching on missing required architecture x86_64 in file , but with no success. Anyone knows how to properly handle the issue? I am using Xcode Version 7.0.1. Running: lipo -info myLibrary.a shows: Architectures in the fat file: myLibrary.a are: armv7 arm64 I have been

Why predict a branch, instead of simply executing both in parallel?

我与影子孤独终老i 提交于 2019-12-05 23:21:32
I believe that when creating CPUs, branch prediction is a major slow down when the wrong branch is chosen. So why do CPU designers choose a branch instead of simply executing both branches, then cutting one off once you know for sure which one was chosen? I realize that this could only go 2 or 3 branches deep within a short number of instructions or the number of parallel stages would get ridiculously large, so at some point you would still need some branch prediction since you definitely will run across larger branches, but wouldn't a couple stages like this make sense? Seems to me like it

Cache specifications for intel core i7

独自空忆成欢 提交于 2019-12-05 21:57:17
问题 I am building a cache simulator for a intel core i7 but have a hard time finding the detailed specifications for the L1, L2 and L3 cache (shared). I need the Cacheblock size, cache size, associativity and so on... Can anyone point me in the good direction? 回答1: Intel's Optimization guide describes most of the required specifications per architectural generation (you didn't specify which i7 you have, there are now several generations since Nehalem and up to Haswell). Haswell, for e.g., would

Why do L1 and L2 Cache waste space saving the same data?

南楼画角 提交于 2019-12-05 21:29:45
I don't know why L1 Cache and L2 Cache save the same data. For example, let's say we want to access Memory[x] for the first time. Memory[x] is mapped to the L2 Cache first, then the same data piece is mapped to L1 Cache where CPU register can retrieve data from. But we have duplicated data stored on both L1 and L2 cache, isn't it a problem or at least a waste of storage space? I edited your question to ask about why CPUs waste cache space storing the same data in multiple levels of cache, because I think that's what you're asking. Not all caches are like that. The Cache Inclusion Policy for an

Why doesn't my processor have built-in BigInt support?

瘦欲@ 提交于 2019-12-05 20:34:38
问题 As far as I understood it, BigInts are usually implemented in most programming languages as arrays containing digits, where, eg.: when adding two of them, each digit is added one after another like we know it from school, e.g.: 246 816 * * ---- 1062 Where * marks that there was an overflow. I learned it this way at school and all BigInt adding functions I've implemented work similar to the example above. So we all know that our processors can only natively manage ints from 0 to 2^32 / 2^64 .

Xcode 5 warns about my architectures setting when I open my Google Maps project created in Xcode 4

♀尐吖头ヾ 提交于 2019-12-05 20:32:44
I just updated to the newly released Xcode 5. I have an iOS app under development that uses the Google Maps iOS SDK. Back when I was developing in Xcode 4, I changed my Architectures setting in my project settings, as per step 7 of Google's instructions for adding the SDK to the project : 7. Choose your project, rather than a specific target, and open the Build Settings tab. Replace the default value of Architectures with armv7. In the Other Linker Flags section, add -ObjC. If these settings are not visible, change the filter in the Build Settings bar from Basic to All. Everything was fine in

Is Intel's Last Branch Record feature unique to Intel processors?

蹲街弑〆低调 提交于 2019-12-05 19:07:28
Last Branch Record refers to a collection of register pairs (MSRs) that store the source and destination addresses related to recently executed branches. They are supported across Intel Core 2, Intel Xeon and Intel Atom processor families. http://css.csail.mit.edu/6.858/2012/readings/ia32/ia32-3b.pdf document has more information in case you are interested. Is LBR-like feature available only in Intel microprocessors OR something similar exists in ARM etc. ? To sum up, as Carl mentioned, ARM also has program tracing functionality on some processors. This site has interesting details about this

Sandy-Bridge CPU specification

喜欢而已 提交于 2019-12-05 16:43:55
I was able to put together bits here and there about the Sandy Bridge-E architecture but I am not totally sure about all the parameters e.g. the size of the L2 cache. Can anyone please confirm they are all correct? My main source was the 64-ia-32-architectures-optimization-manual.pdf On sandy bridge, each core has 256KB of L2 ( see the datasheet, section 1.1 ). for 6 cores, that's 1.5MB, but since each core only accesses its own, it's better to always look at it as 256KB per core. Moreover, the peak gflops looks completely wrong. AVX is 16 flops/cycle (as single floats). with 6 cores, that's

Which architecture to call Non-uniform memory access (NUMA)?

試著忘記壹切 提交于 2019-12-05 16:21:33
According to wiki : Non-uniform memory access (NUMA) is a computer memory design used in multiprocessing, where the memory access time depends on the memory location relative to a processor. But it is not clear whether it is about any memory including caches or about main memory only. For example Xeon Phi processor have next architecture: Memory access to main memory (GDDR) is same for all cores. Meanwhile memory access to L2 cache is different for different cores, since first native L2 cache is checked, then L2 cache of other cores is checked via ring. Is it NUMA or UMA architecture?

Would buffering cache changes prevent Meltdown?

本秂侑毒 提交于 2019-12-05 14:50:27
If new CPUs had a cache buffer which was only committed to the actual CPU cache if the instructions are ever committed would attacks similar to Meltdown still be possible? The proposal is to make speculative execution be able to load from memory, but not write to the CPU caches until they are actually committed. TL:DR: yes I think it would solve Spectre (and Meltdown) in their current form (using a flush+read cache-timing side channel to copy the secret data from a physical register), but probably be too expensive (in power cost, and maybe also performance) to be a likely implementation. But