freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

精簡(jiǎn)指令集cpu畢業(yè)設(shè)計(jì)(參考版)

2024-10-12 10:42本頁(yè)面
  

【正文】 時(shí)鐘發(fā)生器的實(shí)現(xiàn) 時(shí)鐘發(fā)生器 clkgen 利用外來時(shí)鐘信號(hào) clk 生成時(shí)鐘信號(hào) clk1, fetch, alu_clk,送往 cpu 的其它部件。 end process。 end if。)then pc_addr=ir_addr。 elsif(load=39。139。 and clk39。 architecture behave of counter is begin process(clk) begin if(clk=39。 pc_addr:buffer std_logic_vector(12 downto 0))。 entity counter is port(load,clk,rst:in std_logic。 use 。程序計(jì)數(shù)器( pc_addr)將裝入目標(biāo)地址( ir_addr),而不是增 2.。每條指令執(zhí)行完需要兩個(gè)時(shí)鐘,這時(shí) pc_addr 已被增 2,指向下一條指令(因?yàn)槊織l指令占用兩個(gè)字節(jié))。有兩種途徑可以形成指令地址:其一是順序執(zhí)行的情況,其二是遇到要改變順序執(zhí)行程序的情況,像執(zhí)行 JMP、 JZ 指令后需要形成新的指令地址。 程序計(jì)數(shù)器的實(shí)現(xiàn) 程序計(jì)數(shù)器用于提供指令地址,以便讀取指令。039。139。 end addr。 ir_addr,pc_addr:in std_logic_vector(12 downto 0)。 use 。地址的選擇輸出信號(hào)由時(shí)鐘信號(hào)的 8 分頻信號(hào) fetch 提供。 地址多路器的實(shí)現(xiàn) 地址多路器用于選擇輸出的地址是 PC(程序計(jì)數(shù))地址還是數(shù)據(jù) /端口地址。139。039。 end datactl。 data_ena:in std_logic。 use 。數(shù)據(jù)控制器何時(shí)輸出累加器的數(shù)據(jù)則由狀態(tài)控制器輸出的控制信號(hào) datactl_ena 決定。所以任何部件往總線上輸出數(shù)據(jù)時(shí),都需要一控制信號(hào)。有時(shí)要傳輸指令,有時(shí)要傳送 RAM 區(qū)或接口的數(shù)據(jù)。 end behave。 end if。)then accum=data。 elsif(ena=39。139。 and clk139。 architecture behave of accumulator is begin process(clk1) begin if(clk1=39。 accum:out std_logic_vector(7 downto 0))。 entity accumulator is port(data: in std_logic_vector(7 downto 0)。 library ieee。 十進(jìn)制( 72)→二進(jìn)制( 01001000) 二進(jìn)制( 0100100000000000)→十進(jìn)制( 18432) 二進(jìn)制( 0100100001001000)→十進(jìn)制( 18504) 累加器的實(shí)現(xiàn) 累加器用于存放當(dāng)前的結(jié)果 ,也是雙目運(yùn)算中的一個(gè)數(shù)據(jù)來源,復(fù)位后,累加器的值為零。 end process。 end if。 else opc_iraddr=XXXXXXXXXXXXXXXX。 elsif(state=1)then opc_iraddr(7 downto 0)=data。)then if(state=0)then opc_iraddr(15 downto 8)=data。 if(ena=39。 state:=0。139。 and clk139。 begin if(clk1=39。 end register1。 ena,clk1,rst:in std_logic。 use 。高 3 位是操作碼,低 13 位是地址( CPU 的地址總線為 13 位,尋址空間為 8K 字節(jié)),而數(shù)據(jù)總線為 8 位,所以需要取兩次,取的是高八位還是低八位由程序中的變量 state 決定。指令寄存器將數(shù)據(jù)總線送來的指令存入高八位或者低八位寄存器中 ,但是因?yàn)閿?shù)據(jù)總線上有時(shí)傳輸指令,有時(shí)傳輸數(shù)據(jù),所以由load_ir 信號(hào)控制什么時(shí)候寄存,什么時(shí)候不寄存, load_ir 信號(hào)通過 ena 口輸入到指令寄存器。 end behave。 end if。 when JZ = alu_out=accum。 when STO = alu_out=accum。 when ANDD = alu_out=data and accum。 when ADD = alu_out=data+accum。 end if。 else zero=39。event)then if(accum=00000000)then zero=39。139。 end alu。 constant JMP: std_logic_vector(2 downto 0):=110。 constant XORR: std_logic_vector(2 downto 0):=100。 constant LDA: std_logic_vector(2 downto 0):=010。 constant HLT: std_logic_vector(2 downto 0):=000。 zero: out std_logic。 alu_clk: in std_logic。 use 。 程序: library ieee。 end behave。 end if。 state:=0。 halt=39。 datactl_ena=39。 load_ir=39。 wr=39。 rd=39。 load_pc=39。 load_acc=39。 elsif(state=7)then inc_pc=39。039。039。039。039。039。139。039。039。139。 state:=0。 halt=39。 datactl_ena=39。 load_ir=39。 wr=39。 rd=39。 load_pc=39。 load_acc=39。)then inc_pc=39。 第七個(gè)時(shí)鐘 elsif(state=7 and code=JZ and zero=39。039。039。039。039。039。039。039。039。 state:=7。 halt=39。 datactl_ena=39。 load_ir=39。 wr=39。 rd=39。 load_pc=39。 load_acc=39。 elsif(state=6 and code=STO)then inc_pc=39。039。039。039。039。139。039。039。039。 state:=6。 halt=39。 datactl_ena=39。 load_ir=39。 wr=39。 rd=39。 load_pc=39。 load_acc=39。 elsif(state=5)then inc_pc=39。039。139。039。139。039。039。039。039。 state:=6。 halt=39。 datactl_ena=39。 load_ir=39。 wr=39。 rd=39。 load_pc=39。 load_acc=39。 elsif(state=5 and code=JMP)then inc_pc=39。039。039。039。039。039。139。039。039。139。 state:=6。 halt=39。 datactl_ena=39。 load_ir=39。 wr=39。 rd=39。 load_pc=39。 load_acc=39。)then inc_pc=39。 elsif(state=5 and code=JZ and zero=39。039。039。039。039。139。039。139。039。 state:=5。 halt=39。 datactl_ena=39。 load_ir=39。 wr=39。 rd=39。 load_pc=39。 load_acc=39。 elsif(state=4) then inc_pc=39。039。139。039。039。039。039。039。039。 state:=5。 halt=39。 datactl_ena=39。 load_ir=39。 wr=39。 rd=39。 load_pc=39。 load_acc=39。 elsif(state=4 and (code=ADD OR code=ANDD OR CODE=XORR OR CODE=LDA))then inc_pc=39。039。039。039。039。039。139。039。039。 state:=4。 halt=39。 datactl_ena=39。 load_ir=39。 wr=39。 rd=39。 load_pc=39。 load_acc=39。 elsif(state=3) then inc_pc=39。139。039。039。039。039。039。039。139。 state:=3。 halt=39。 datactl_ena=39。 load_ir=39。 wr=39。 rd=39。 load_pc=39。 load_acc=39。 第二個(gè)時(shí)鐘,空操作 elsif(state=2) then inc_pc=39。039。039。139。039。139。039。039。139。 state:=1。 halt=39。 datactl_ena=39。 load_ir=39。 wr=39。 rd=39。 load_pc=39。 load_acc=39。event)then elsif(state=0) then inc_pc=39。139。039。039。039。039。039。039。039。039。)then 接到 machinectl的 rst 信號(hào),進(jìn)行復(fù)位 state:=0。event)then if(ena=39。139。 architecture behave of machine is begin process(clk1) variable state: integer range 0 to 7。 constant JZ: std_logic_vector(2 downto 0):=111。 constant STO: std_logic_vector(2 downto 0):=101。 constant ANDD: std_logic_vector(2 downto 0):=011。 constant ADD: std_logic_vector(2 downto 0):=001。 load_ir,datactl_ena,halt:out std_logic)。 code:in std_logic_vector(2 downto 0)。 use 。 第 7 個(gè)時(shí)鐘,若操作符為 JZ 且累加器值為 零 ,則 鎖存目的地址 ,否則 空操作 。 第 5
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1