我在工作中主要编写嵌入式代码.我们有一个大型的长期项目已经开发,并且有几代,现在它的编写处理器正在停止,甚至可能无法继续使用同一制造商的处理器.(转型可能是从TI到瑞萨的FPU微处理器).部分问题是某些代码是用汇编语言编写的.
我正在寻找尽可能轻松地进行过渡的方法,并且如果将来需要这样的过渡,那么它会变得更加顺畅.
你能提出什么建议?
可能重复:
CPU亲和力
我正在Linux上运行,我想编写一个C++程序,它将设置2个特定处理器,这两个处理器将并行运行(即设置每个进程在不同的核心/ CPU上运行).我想在C++中使用处理器关联工具.请任何人都可以帮助C++代码.
系统调用 - 它是一条指令,它产生一个中断,使OS获得对处理器的控制.
因此,如果正在运行的进程发出系统调用(例如,创建/终止/读/写等),则会产生一个中断,该中断会导致KERNEL对控制器进行控制,然后处理器执行所需的中断处理程序.正确?
然后任何人都可以告诉我处理器如何知道该指令应该阻止进程,进入特权模式,并带来内核代码.
我的意思是作为程序员,我只需键入stream1 = system.io.readfile(ABC)或其他东西,转换为打开和读取文件ABC.
现在监控这个过程执行的是什么,cpu中有一个神奇的力量来检测这个?
从我读过的内容来看,一个处理器一次只能执行一个进程,那么监视程序运行在哪里?
如果在不运行状态下进行系统调用,KERNEL如何监控!
或计算机是否有一个系统调用指令表,它与执行任何指令之前进行比较?
请帮忙
感谢你
如何确定int的大小?
int的大小是否真的取决于处理器.对于32位机器,它将是32位,对于16位,它是16位.
在我的机器上它显示为32位,虽然机器安装了64位处理器和64位Ubuntu.
我在http://msdn.microsoft.com/en-us/library/windows/desktop/aa366796(v=vs.85).aspx上阅读了一篇有趣的文章.它指出:
你能告诉我这个功能的优点是什么吗?它是否仅对减少操作系统处理分页的时间量有用?
L1/L2缓存包含在Intel和L1/L2缓存中是8路相关性,意味着在一组中存在8条不同的缓存线.缓存行作为一个整体操作,意味着如果我想从缓存行中删除几个字节,整个缓存行将被删除,而不是我想要删除的那些字节.我对吗 ?
现在,我的问题是,无论是通过某个其他进程还是使用clflush(手动逐出缓存行/块),从缓存中删除/逐出集合的缓存行,系统是否会将该缓存行的驱逐数据存储在某处(在任何缓冲区,寄存器等),以便下次它可以从该位置加载数据以减少延迟,与从主存储器或更高级别的缓存加载数据相比,或者 它 总是使缓存中的数据无效并且下次加载下一个更高级别的数据.
任何建议或文章的任何链接将受到高度赞赏.提前致谢.
architecture operating-system processor cpu-architecture computer-architecture
我希望在创建之前检索图像上传维度,因为我附加了文件.我通过模型提取图像尺寸得到了这个.但我想通过自定义处理器发送.我尝试的是: Player.rb
class Player < ActiveRecord::Base
has_attached_file :avatar, processors: [:custom], :style => {:original => {}}
....
end
Run Code Online (Sandbox Code Playgroud)
/lib/paperclip_processors/custom.rb
module Paperclip
class Custom < Processor
def initialize file, options = {}, attachment = nil
super
@file = file
@attachment = attachment
@current_format = File.extname(@file.path)
@format = options[:format]
@basename = File.basename(@file.path, @current_format)
end
def make
temp_file = Tempfile.new([@basename, @format])
#geometry = Paperclip::Geometry.from_file(temp_file)
temp_file.binmode
if @is_polarized
run_string = "convert #{fromfile} -thumbnail 300x400 -bordercolor white -background white +polaroid #{tofile(temp_file)}"
Paperclip.run(run_string)
end
temp_file …Run Code Online (Sandbox Code Playgroud) 在C中,当我们将float变量初始化为0时,在任何微控制器上
float var = 0.0f;
Run Code Online (Sandbox Code Playgroud)
'var'是否恰好等于零,还是取决于处理器的最小和最大浮点分辨率?
我正在处理一个文件,我想删除(修剪)第一个X标题行以仅保留数据,可能避免使用正则表达式.
谢谢
根据AMD manual细分不能禁用。我的问题是为什么,为什么不可能?另一个问题是说64位将其禁用,这是什么意思?在64位模式下完全禁用分段功能吗?
processor ×10
c ×2
32bit-64bit ×1
affinity ×1
apache-nifi ×1
architecture ×1
assembly ×1
c++ ×1
dimensions ×1
embedded ×1
header ×1
int ×1
kernel ×1
paperclip ×1
porting ×1
process ×1
ruby ×1
system-calls ×1
trim ×1
x86 ×1
x86-64 ×1