milorguan 发表于 2011-7-3 10:41:58

关于CPU的一个疑虑

      在我们的系统中,不可能只有一个任务在执行,肯定是多任务的,那,这么多的程序,如果各个程序中都要使用到同一个通用寄存器,如AX,那怎么就不发生冲突呀,一个寄存器怎么够这么多程序同时读写呢,请回答详细点,谢谢

再生缘 发表于 2011-7-3 10:54:45

8086CPU有4个通用寄存器 AX BX CX DX

milorguan 发表于 2011-7-3 10:58:18

我知道,大哥,我是说,假如多个程序都要对AX进行操作的话例如
程序1:movax,1000h
程序2: movax,2000h
两个程序不会有冲突的时候啊

再生缘 发表于 2011-7-3 11:06:16

可以多个运行的吗 我不知道啊 我只学到第四章 里面说到 若要P1程序运行,必须要有一个正在运行的程序P2将P1加载入内存P1运行 P2停止运行 P1运行完后cpu会将控制权还给P2

milorguan 发表于 2011-7-3 11:19:06

怎么不可以同时运行,那你的电脑难道一个一个任务地执行吗,那你上Q难道就不能浏览网页?

风扫地 发表于 2011-7-3 11:37:17

本帖最后由 风扫地 于 2011-7-3 11:41 编辑

Windows多任务处理采用的是被称为虚拟机(Virtual Machine)的技术。虚拟机实际上指的是由Windows在内存中创建的逻辑微机,由它来运行应用程序。当Windows接受到由鼠标器、键盘、定时器信号或某些I/O操作产生的"事件"后,为该任务分配CPU时间。每个任务使用由Windows分配的短暂的时间片(Timeslice)轮流使用CPU,由于CPU对每个时间片的处理速度非常快,在用户看来好像这些任务在同时执行
....百度百科:http://baike.baidu.com/view/757238.htm

cpu的一个时间点上只有一个状态。。速度造成的错觉。。

服气 发表于 2011-7-3 12:22:53

可以同时但取决你的cpu核心数
额cpu大部分都是以时间轮来运作的 单核cpu最多一次只能执行一个线程
可以说你的大脑也是这样的
不信你可以试试 你把2只眼分别对向不同的方向是不是有时间差哈哈 我们的大脑是纯正的单线程
所以才说开车不能打手机 原因就是这个

张国祥 发表于 2011-7-3 21:26:15

本帖最后由 张国祥 于 2011-7-3 21:26 编辑

有一个优先级,其实和楼上的楼上说的差不多

milorguan 发表于 2011-7-3 21:49:01

谢谢,多谢大家的大力支持

asmfans 发表于 2011-7-4 02:10:35

你说的8086环境下的汇编,那时是单线程。。。

king嗜血法师 发表于 2011-7-4 02:42:07

本帖最后由 king嗜血法师 于 2011-7-4 02:47 编辑

我能一只手画正方形,一只手画圆。{:5_91:}
我比单核的CPU要强大。
页: [1]
查看完整版本: 关于CPU的一个疑虑