参考答案:
【问题1】 【问题3】
(1)其他楼层有呼叫请求,或a;
(2)到达请求楼层,或d;
(3)乘客进入电梯或等待一段时间后,成c;
(4)无呼叫请求,或b;
(5)电梯所在楼层有呼叫请求,或e;
(5)其他楼层有呼叫请求,或a。
【问题2】
(1)改变状态为开门
(2)当前层上移一层
(3)改变状态为开门
(4)改变状态为向下
(5)改变状态为向上
详细解析:
本题考查嵌入式系统设计,涉及嵌入式软件和微处理器基础知识的应用。
问题1和问题2根据题干的需求不难得到状态转移信息和电梯运行的处理流程。问题3是一个关于多级中断的问题。当设备A、设备B和设备C同时发出中断请求时,三个设备的优先级顺序是:设备A>设备B>设备C。所以是先处理设备A的中断,然后是设备B,最后是设备C。
注意TM为一个指令的执行周期,只执行1次,然后是TDC是硬件中断周期是每个中断都会执行1次。
硬件中断周期是指:当CPU采用中断方式实现主机与I/O交换信息时,CPU在每条指令执行阶段结束前, 都要发中断查询信号,以检测是否有某个I/O提出中断请求。如果有请求,CPU则要进入中断响应阶段,又称中断周期。在这阶段, CPU必须将程序断点保存到存储器中。
所以,依次处理的时间为:
设备A的时间=TM+TDC+TS+TA+TR
设备B的时间=TDC+TS+TB+TR
设备C的时间=TDC+TS+TC+TR
中断饱和时间是指:全部的设备(设备A、B、C)同时发出中断请求的情况下,要把全部的中断请求按顺序响应一遍的总共花费的时间。所以,这种结构下中断饱和时间是:设备A的时间+设备B的时间+设备C的时间