门禁控制器:门禁控制器工作在两种模式之下。一种是巡检模式,另一种是识别模式。在巡检模式下,控制器不断向读卡器发送查询代码,并接收读卡器的回复命令。这种模式会一直保持下去,直至读卡器感应到卡片。当读卡器感应到卡片后,读卡器对控制器的巡检命令产生不同的回复,在这个回复命令中,读卡器将读到的感应卡内码数据传送到门禁控制器,使门禁控制器进入到识别模式。在门禁控制器的识别模式下,门禁控制器分析感应卡内码,同设备内存储的卡片数据进行比对,并实施后续动作。门禁控制器完成接收数据的动作后,会发送命令回复读卡器,使读卡器恢复状态,同时,门禁控制器重新回到巡检模式。
设计步骤:
1、设计机器的指令系统:规定指令的种类、指令的条数以及每一条指令的格式和功能;
2、初步的总体设计:如寄存器设置、总线安排、运算器设计、部件间的连接关系等;
3、绘制指令流程图:标出每一条指令在什么时间、什么部件进行何种操作;
4、编排操作时间表:即根据指令流程图分解各操作为微操作,按时间段列出机器应进行的微操作;
5、列出微操作信号表达式,化简,电路实现。
基本组成:
1、指令寄存器用来存放正在执行的指令。指令分成两部分:操作码和地址码。操作码用来指示指令的操作性质,如加法、减法等;地址码给出本条指令的操作数地址或形成操作数地址的有关信息(这时通过地址形成电路来形成操作数地址)。有一种指令称为转移指令,它用来改变指令的正常执行顺序,这种指令的地址码部分给出的是要转去执行的指令的地址。
2、操作码译码器:用来对指令的操作码进行译码,产生相应的控制电平,完成分析指令的功能。
3、时序电路:用来产生时间标志信号。在微型计算机中,时间标志信号一般为三级:指令周期、总线周期和时钟周期。微操作命令产生电路产生完成指令规定操作的各种微操作命令。这些命令产生的主要依据是时间标志和指令的操作性质。该电路实际是各微操作控制信号表达式(如上面的A→L表达式)的电路实现,它是组合逻辑控制器中为复杂的部分。
4、指令计数器:用来形成下一条要执行的指令的地址。通常,指令是顺序执行的,而指令在存储器中是顺序存放的。所以,一般情况下下一条要执行的指令的地址可通过将现行地址加1形成,微操作命令“1”就用于这个目的。如果执行的是转移指令,则下一条要执行的指令的地址是要转移到的地址。该地址就在本转移指令的地址码字段,将其直接送往指令计数器。 微程序控制器的提出是因为组合逻辑设计存在不便于设计、不灵活、不易修改和扩充等缺点。
微程序控制器的组成:
1、控制存储器(contmlMemory)用来存放各机器指令对应的微程序。译码器用来形成机器指令对应的微程序的入口地址。当将一条机器指令对应的微程序的各条微指令逐条取出,并送到微指令寄存器时,其微操作命令也就按事先的设计发出,因而也就完成了一条机器指令的功能。对每一条机器指令都是如此。
2、微指令的宽度直接决定了微程序控制器的宽度。为了简化控制存储器,可采取一些措施来缩短微指令的宽度。如采用字段译码法分段译码。显然,微指令的控制字段将大大缩短。,一些要同时产生的微操作命令不能安排在同一个字段中。为了进一步缩短控制字段,还可以将字段译码设计成两级或多级。
控制器是指挥计算机的各个部件按照指令的功能要求协调工作的部件,是计算机的神经和指挥中心,由指令寄存器IR(InstructionRegister)、程序计数器PC(ProgramCounter)和操作控制器0C(OperationController)三个部件组成,对协调整个电脑有序工作极为重要。
基本功能
数据缓冲:由于I/O设备的速率较低而CPU和内存的速率却很高,故在控制器中设置一缓冲器。在输出时,用此缓冲器暂存由主机高速传来的数据,然后才以I/O设备所具有的速率将缓冲器中的数据传送给I/O设备;在输入时,缓冲器则用于暂存从I/O设备送来的数据,待接收到一批数据后,再将缓冲器中的数据高速地传送给主机。
差错控制:设备控制器还兼管对由I/O设备传送来的数据进行差错检测。若发现传送中出现了错误,通常是将差错检测码置位,并向 CPU报告,于是CPU将本次传送来的数据作废,并重新进行一次传送。这样便可数据输入的正确性。
数据交换:这是指实现CPU与控制器之间、控制器与设备之间的数据交换。对于前者,是通过数据总线,由CPU并行地把数据写入控制器,或从控制器中并行地读出数据;对于后者,是设备将数据输入到控制器,或从控制器传送给设备。为此,在控制器中须设置数据寄存器。
状态说明:标识和报告设备的状态控制器应记下设备的状态供CPU了解。例如,仅当该设备处于发送就绪状态时,CPU才能启动控制器从设备中读出数据。为此,在控制器中应设置一状态寄存器,用其中的每一位来反映设备的某一种状态。当CPU将该寄存器的内容读入后,便可了解该设备的状态。
接收和识别命令:CPU可以向控制器发送多种不同的命令,设备控制器应能接收并识别这些命令。为此,在控制器中应具有相应的控制寄存器,用来存放接收的命令和参数,并对所接收的命令进行译码。例如,磁盘控制器可以接收CPU发来的Read、Write、Format等15条不同的命令,而且有些命令还带有参数;相应地,在磁盘控制器中有多个寄存器和命令译码器等。
地址识别:就像内存中的每一个单元都有一个地址一样,系统中的每一个设备也都有一个地址,而设备控制器又能够识别它所控制的每个设备的地址。此外,为使CPU能向(或从)寄存器中写入(或读出)数据,这些寄存器都应具有的地址。