lcytms
发表于 2018-5-5 22:49:51
1431
指导设计。
2.6 虚拟CPU状态转移图。
lcytms
发表于 2018-5-7 22:29:55
1432
指导设计。
2.6 虚拟CPU状态转移图。
lcytms
发表于 2018-5-7 22:31:25
1433
指导设计。
2.6 虚拟CPU状态转移图。
记不记得CPU有哪些端口?
看一眼。
lcytms
发表于 2018-5-7 22:32:13
1434
指导设计。
2.6 虚拟CPU状态转移图。
lcytms
发表于 2018-5-8 10:09:50
1435
指导设计。
2.6 虚拟CPU状态转移图。
lcytms
发表于 2018-5-8 10:11:15
1436
指导设计。
2.6 虚拟CPU状态转移图。
先把状态做好,然后我们一起来讨论,置位以后,CPU要干什么?
这个CPU不干别的事,它没有指令,也不读指,也不取指。
是个虚拟的。
上电以后,它只做这一件事。
就是访问ACC。
lcytms
发表于 2018-5-8 10:12:39
1437
指导设计。
2.6 虚拟CPU状态转移图。
所以说这个时候,置位了以后,这个CPU的状态机该如何动作?
这一步呢,我先说一下。
CPU呢,首先它要工作之前,无论是CPU还是ACC,在它这个架构上面,唯一的一件事情一定要做,就是一定要获得仲裁。
没有仲裁,就没有任何动作。
所以说第一步到RST,第二步到仲裁。
仲裁结果不是它,就要等待。
lcytms
发表于 2018-5-9 10:52:31
1438
指导设计。
2.6 虚拟CPU状态转移图。
仲裁结果不是CPU,CPU就必须等了。
但是等着的时候呢,也不能干等,所以说它也要发出请求。
因为我们在复位的时候,CPU没有发出请求。
lcytms
发表于 2018-5-9 10:53:55
1439
指导设计。
2.6 虚拟CPU状态转移图。
CPU置位以后,CPU要有请求。
当它未获得资源的时候,它就必须等了。
然后是s0指向s1。
cpu_req要开着。
复位的时候,cpu_req是关着的。
进来后,cpu_req无论如何要开着。
所以cpu_req一定要保持着。
这个时候只有把cpu_req保持住,它的CPU资源才不会断。
lcytms
发表于 2018-5-9 10:55:12
1440
指导设计。
2.6 虚拟CPU状态转移图。
根据唯一申请者获得资源的这个仲裁策略,仲裁器才不会把资源交给别人。
紧接着做s1。
先把s1指向s2。