
IDT70V24S/L
HIGH -SPEED 3.3V 4K ×16双口静态RAM
商业级温度范围
不使用它的信号旗,通过控制任何资源
硬件,因此允许在系统设计者总灵活性
系统架构。
使用信号量,而不是比较的优点
硬件仲裁常用的方法是等待状态
永远不会发生在任何处理器。这可以证明是
在非常高速的系统的主要优点。
如何将信号旗工作
该信号量的逻辑是一组八个锁存它们是
独立的双口RAM中。这些锁存器可以
用来传递一个标志,或标记,从一个端口到另一对
指示的共享资源是在使用中。该信号灯
提供了硬件辅助名为使用分配方法
“令牌传递分配。 ”在这种方法中,一个国家
信号锁存器被用作标记,指示共享
资源在使用中。如果左处理器希望使用此
资源,它通过设置锁存请求令牌。这
处理器然后验证其通过设置锁定成功
阅读它。如果它成功了,它进到假定控制
在共享资源。如果它没有成功在设置
锁存器,它确定所述右侧处理器已经设置了
第一锁存器,具有标记和正在使用的共享资源。该
左处理器然后可反复要求
信号量的状态或删除其为信标请求
要执行另一项任务,偶尔一次尝试
获得经由集和测试序列的标记的控制。一旦
右侧已放弃该令牌,左侧应
在获得控制成功。
信号灯标志是低电平有效。令牌请求
通过写入一个零到一个信号锁存和被释放时
同一侧写入一个1到锁存器。
八大信号旗驻留在IDT70V24内
从双口RAM单独的内存空间。这
地址空间是由上放置一个低输入访问
SEM
销(其充当一个片选信号标志)和
使用其他控制引脚(地址,
OE
和R /
W
),因为它们
将进入一个标准的静态RAM中。每
该标志具有唯一的地址,可接
无论是通过地址引脚A0端 - A2 。访问时,
信号量,没有其他地址引脚有任何影响。
当写入信号量,只有数据针D
0
被使用。如果
低电平被写入到一个未使用的信号的位置,即
标志将被设置到零,那旁和一在另一侧
(见表III ) 。信号量现在只能通过修改
侧示出了零。当1被写入到相同的
从同一侧的位置,该标志将被设置为一对两
侧面(除非从另一侧的旗语请求是
待定),然后可以通过双方被写入。事实
这是能够写一个零到信号的边
随后锁定了从另一面写的是什么
使得信号旗在处理器间通信有益
系统蒸发散。 (彻底的讨论就利用这一特点如下
不久)写入同一位置的其他零
侧将被存储在该侧的旗语请求锁存
直到信号量被释放通过所述第一侧。
当一个信号标记被读取时,将其值传播到所有
数据位,这样一个标志,是一个内容一中的所有数据
位以及含有零的标志内容全部为零。读
值被锁存到一侧的输出寄存器时,该侧的
信号选择(
SEM
)和输出使能(
OE
)信号去
活跃的。这是为了从不断变化的禁止信号量
由于从一个写周期状态在一个读周期的中间
对方。正因为如此锁存器,重复读的
信号在测试循环必然导致两种信号(
SEM
or
OE
)
变为无效或输出永远不会改变。
序列写/读,必须使用由sema-
phore为了保证没有系统级的争
会发生。处理器要求对共享资源的访问
通过尝试写一个零到信号的位置。如果
信号已在使用中,信号量请求锁存器将
包含零,但信号灯标志显示为一体,
事实上,处理器将验证由后续的读取
(见表III ) 。作为一个例子,假定一个处理器写入
零到左侧端口在无信号灯的位置。上一个
随后的读,处理器会验证它写
顺利到该位置并假设在控制
资源问题。同时,如果在右侧的处理器
一边试图写一个零到同一个信号标志它将
失败,这将通过一个事实,即一个将被读取来验证
在随后的读右侧的信号灯。
读过序列/写被用来代替,系统
争用问题可以在间隙期间发生
之间的读写周期。
要注意的是一个失败的旗语请求必须是很重要
跟着要么反复读取或写入1到
相同的位置。究其原因,这是很容易理解
看着信号灯标志的简单逻辑图
图4.两个信标请求锁存器送入一个sema-
phore标志。取锁存器是第一到呈现零到
信号灯标志将强制信号旗的低侧
和另一侧高。这种情况将一直持续到一
被写入到同一个信号请求锁存器。如若
对方的旗语请求锁存器已被写入一个
在此期间为零,信号标志翻转的
对方只要一个1被写入到所述第一侧的
请求锁存器。第二面国旗,现在将保持为低电平,直到其
旗语请求锁存器被写入一个1 。从这个它是
容易理解的是,如果一个信号被请求,并且所述
处理器,它要求它不再需要的资源,
整个系统可以挂起,直到一个被写入到该
信标请求锁存器。
的信号时序的情况下,关键是双方当
通过尝试写一个零到它在要求一个令牌
在同一时间。该信号的逻辑是专门设计的
解决此问题。如果同时请求作出的
逻辑保证了仅在一侧接收该令牌。如果一个人
侧是早于其他在提出要求时,所述第一
侧,使该请求将接收到的令牌。如果两个
请求到达的同时,分配将
到一个端口或其它任意地进行。
应该使用信号量时,要注意一个谨慎
是单独信号灯不保证访问
资源是安全的。与任何强大的编程技
6.38
15