To specify a register (source or destination) 3 bits are
used since the CPU has 8 general purpose registers. To
specify a constant value, 8 bits are used. Instruction format
length was standardized to 16 bits. Fig. 2 shows the
instruction format for each type.
IV. HARDWARE IMPLEMENTATION
A. Program Counter (PC)
The program counter produces the address to read
instructions from the program memory. It has to be capable
of loading a random address if the program requires so (i.e.
loops or branches), and should be able to wait while the other
functional parts complete their tasks (i.e. while the ALU gets
the sum of 2 registers). An 8-bit parallel-load counter was
used [9]-[11].
B. ROM Program Memory
The program memory –as its name describes- stores
instructions to be executed. It has to be non-volatile and fast.
It was decided to use internal ROM as program memory,
because it was the fastest option and eliminated the need for
external storage. This memory was built with 256x1 bit
ROM blocks, with a total of 16 blocks to store 256 16-bit
instructions.
C. Instruction Registers and Decoder
Instruction registers store the instruction read from the
program memory, and keep it as an output for the decoder,
which separates the operation code and operands to execute
the command.
Two 8-bit registers (D-type flip-flops) were used, one
for the high byte and one for the low byte (16-bit
instruction).
The instruction decoder deals with the raw data stored in
the instruction registers, and separates it in parts: Operation
code (OPCODE), Rd, Rs and A/K, so that these values can
be sent to the corresponding component, like the ALU,
General Purpose Register block, etc. This is achieved simply
by using a set of buffers inside a block to sort the signals to
separate buses.
D. General Purpose Registers (GPR)
General Purpose Registers (GPRs) store and save
operands and results during program execution. ALU and
memories must be able to write/read those registers, so a set
of eight 8-bit registers were used, along with multiplexers
and a decoder to control which register is read or written.
Two registers can be read at a time but only one register can
be written at a time see Fig. 3.
E. Arithmetic-Logic Unit (ALU)
The Arithmetic-Logic Unit has 8 operations; each one of
them was created and converted into a symbol, then, a
multiplexor was placed in order to obtain a 3-bit selector.
Also, it has 3 flags: carry (C), half carry (H) and zero (Z),
which indicate if there is a carry, a half carry or a zero after
any ALU operation see Fig. 4.
Figure 3. General purpose registers block.
Figure 4. Complete ALU block.
F. RAM Data Memory
The RAM memory is a data storage block, there the stack
is handled and other data are kept as variables. It is built with
32 memory blocks of 8 bits each one. The address input is
divided in 2 parts.
The first part has 3 bits select the memory block to read
or write using a decoder. The second has 5 bits that select the
memory location between 0 and 31 of the previously
specified portion by the first part. In Fig. 8 appears the
schematic diagram of the RAM memory.
G. Control Unit
The control unit operates as a state machine. In general, it
follows the state diagram shown in Fig. 5. States 0, 1 and 3
remain equal, whereas the second state can change
depending on the instruction read by the decoder. In this way:
state 0 represents a reset stage, state 1 represents the
fetch/writeback stage and finally during state 3 the program
counter is incremented.
For most of the instructions the control unit pass from
state 1 to state 2 and then to state 3, returning to state 1,
To specify a register (source or destination) 3 bits are
used since the CPU has 8 general purpose registers. To
specify a constant value, 8 bits are used. Instruction format
length was standardized to 16 bits. Fig. 2 shows the
instruction format for each type.
IV. HARDWARE IMPLEMENTATION
A. Program Counter (PC)
The program counter produces the address to read
instructions from the program memory. It has to be capable
of loading a random address if the program requires so (i.e.
loops or branches), and should be able to wait while the other
functional parts complete their tasks (i.e. while the ALU gets
the sum of 2 registers). An 8-bit parallel-load counter was
used [9]-[11].
B. ROM Program Memory
The program memory –as its name describes- stores
instructions to be executed. It has to be non-volatile and fast.
It was decided to use internal ROM as program memory,
because it was the fastest option and eliminated the need for
external storage. This memory was built with 256x1 bit
ROM blocks, with a total of 16 blocks to store 256 16-bit
instructions.
C. Instruction Registers and Decoder
Instruction registers store the instruction read from the
program memory, and keep it as an output for the decoder,
which separates the operation code and operands to execute
the command.
Two 8-bit registers (D-type flip-flops) were used, one
for the high byte and one for the low byte (16-bit
instruction).
The instruction decoder deals with the raw data stored in
the instruction registers, and separates it in parts: Operation
code (OPCODE), Rd, Rs and A/K, so that these values can
be sent to the corresponding component, like the ALU,
General Purpose Register block, etc. This is achieved simply
by using a set of buffers inside a block to sort the signals to
separate buses.
D. General Purpose Registers (GPR)
General Purpose Registers (GPRs) store and save
operands and results during program execution. ALU and
memories must be able to write/read those registers, so a set
of eight 8-bit registers were used, along with multiplexers
and a decoder to control which register is read or written.
Two registers can be read at a time but only one register can
be written at a time see Fig. 3.
E. Arithmetic-Logic Unit (ALU)
The Arithmetic-Logic Unit has 8 operations; each one of
them was created and converted into a symbol, then, a
multiplexor was placed in order to obtain a 3-bit selector.
Also, it has 3 flags: carry (C), half carry (H) and zero (Z),
which indicate if there is a carry, a half carry or a zero after
any ALU operation see Fig. 4.
Figure 3. General purpose registers block.
Figure 4. Complete ALU block.
F. RAM Data Memory
The RAM memory is a data storage block, there the stack
is handled and other data are kept as variables. It is built with
32 memory blocks of 8 bits each one. The address input is
divided in 2 parts.
The first part has 3 bits select the memory block to read
or write using a decoder. The second has 5 bits that select the
memory location between 0 and 31 of the previously
specified portion by the first part. In Fig. 8 appears the
schematic diagram of the RAM memory.
G. Control Unit
The control unit operates as a state machine. In general, it
follows the state diagram shown in Fig. 5. States 0, 1 and 3
remain equal, whereas the second state can change
depending on the instruction read by the decoder. In this way:
state 0 represents a reset stage, state 1 represents the
fetch/writeback stage and finally during state 3 the program
counter is incremented.
For most of the instructions the control unit pass from
state 1 to state 2 and then to state 3, returning to state 1,
การแปล กรุณารอสักครู่..

กำหนดลงทะเบียน ( แหล่งหรือปลายทาง ) 3 บิตจะ
ใช้ตั้งแต่มีซีพียู 8 รีจิสเตอร์ใช้งานทั่วไป
ระบุค่าคงที่ , 8 บิตที่ใช้ ความยาวรูปแบบ
สอนมีมาตรฐาน 16 บิต รูปที่ 2 แสดง
รูปแบบการสอนสำหรับแต่ละประเภท การใช้อุปกรณ์ โปรแกรม A .
4
เคาน์เตอร์เคาน์เตอร์ ( PC ) โปรแกรมสร้างที่อยู่ให้อ่าน
คําแนะนําจากโปรแกรมหน่วยความจำมันมีความสามารถ
โหลดที่อยู่แบบสุ่ม ถ้าใช้โปรแกรมแล้ว ( เช่น
ลูปหรือสาขา ) และควรจะสามารถที่จะรอในขณะที่อีก
การทำงานส่วนเสร็จงานของพวกเขา ( เช่นในขณะที่ ALU ได้รับ
ผลรวม 2 ทะเบียน ) เคาน์เตอร์ขนาน 8-bit โหลด
ใช้ [ 9 ] - [ 11 ] .
b . ROM หน่วยความจำโปรแกรม
–หน่วยความจำโปรแกรมเป็นชื่อของมันอธิบาย - ร้านค้า
คำสั่งจะถูกประหารมันจะไม่ระเหยและรวดเร็ว .
ก็ตัดสินใจใช้รอมภายในเป็นหน่วยความจำโปรแกรม
เพราะมันเป็นทางเลือกที่เร็วที่สุดและตัดความต้องการ
กระเป๋าภายนอก ความทรงจำนี้ถูกสร้างด้วย 256x1 บิต
รอมบล็อก มีทั้งหมด 16 บล็อกร้านแนะนํา 256 บิต 16
.
c . การลงทะเบียน และลงทะเบียนวิชาเรียนอ่านจากร้านถอดรหัส
โปรแกรมหน่วยความจำและให้มันเป็น output สำหรับถอดรหัส
ซึ่งแยกการรหัสและเปอแรนด์ที่จะรัน
2 คำสั่ง ทะเบียน 8 บิต ( ประเภท d - สามพลิก ) จำนวนหนึ่ง
สำหรับไบต์สำหรับไบต์สูงและต่ำ ( 16 บิตการ
) ถอดรหัสการเรียนการสอนเกี่ยวข้องกับข้อมูลดิบ เก็บไว้ใน
การลงทะเบียนและแยกในส่วนรหัสปฏิบัติการ
( opcode ) , RD , RS A / K ,ดังนั้นค่าเหล่านี้สามารถถูกส่งไปยังส่วน
สอดคล้องกัน เช่น alu
วัตถุประสงค์ทั่วไปลงทะเบียนบล็อก ฯลฯ นี่คือความเพียงแค่
โดยใช้ชุดของบัฟเฟอร์ภายในบล็อกจะแยกสัญญาณ
D รถแยก วัตถุประสงค์ทั่วไป ลงทะเบียน ( gpr )
ทะเบียนวัตถุประสงค์ทั่วไป ( GPRS ) ร้าน บันทึกผลการดำเนินการและ
เปอแรนด์ในโปรแกรม ALU และ
ความทรงจำต้องสามารถเขียน / อ่านทะเบียนเหล่านั้น ดังนั้นชุด
8 รีจิสเตอร์ 8 บิตที่ใช้ พร้อมกับบอร์ด
และถอดรหัสเพื่อการควบคุมที่ลงทะเบียนอ่านหรือเขียน .
2 ทะเบียน สามารถอ่านได้ในเวลา แต่เพียงหนึ่งลงทะเบียนสามารถ
เขียนในเวลาเห็นรูปที่ 3 .
หน่วย ตรรกะ ( ALU ) E )
8 หน่วยตรรกะเลขคณิตมีการดําเนินการของแต่ละคน
;มันถูกสร้างและแปลงเป็นสัญลักษณ์ , แล้ว ,
เพล็กเซอรถูกวางไว้เพื่อให้ได้ 3-bit เลือก .
ยัง มันมี 3 สถานะ : มี ( C ) , ครึ่งแบก ( H ) และศูนย์ ( Z )
ซึ่งบ่งชี้ว่ามีขน ครึ่ง ถือ หรือ ศูนย์หลัง เห็นรูปที่ 4 การดำเนินงานใด ๆขึ้นมา
.
รูปที่ 3 วัตถุประสงค์ทั่วไปลงทะเบียนบล็อก
รูปที่ 4 บล็อก ALU สมบูรณ์ บุรีรัมย์ข้อมูล
FRAM หน่วยความจำเก็บข้อมูลบล็อก มีกอง
คือการจัดการและข้อมูลอื่น ๆถูกเก็บในตัวแปร มันถูกสร้างขึ้นด้วย
32 หน่วยความจำบล็อก 8 บิต แต่ละคน ที่อยู่ใส่
แบ่งออกเป็น 2 ส่วน ส่วนแรกมี 3 บิต เลือกบล็อกหน่วยความจำอ่าน
หรือเขียนโดยใช้ตัวถอดรหัส . ครั้งที่ 2 ได้ 5 บิตที่เลือกหน่วยความจำที่อยู่ระหว่าง 0
31 ของก่อนหน้านี้ระบุส่วนโดยส่วนแรก ในรูปที่ 8 ปรากฏ
แผนภาพของหน่วยความจำ .
g
หน่วยควบคุมหน่วยควบคุมนี้สถานะเครื่องจักร โดยทั่วไปแล้ว
ดังนี้รัฐแผนภาพที่แสดงในรูปที่ 5 สถานะ 0 , 1 และ 3
ยังคงเท่า ในขณะที่รัฐที่สองสามารถเปลี่ยน
ขึ้นอยู่กับการสอนอ่านโดยถอดรหัส . ในวิธีนี้ :
รัฐ 0 เป็นเวทีใหม่รัฐ 1 แทน
/ writeback ตามเวทีและในที่สุดระหว่างรัฐ 3 โปรแกรมเคาน์เตอร์จะสั่ง
.
สำหรับส่วนมากของคำสั่งควบคุมผ่านจากรัฐ 1 รัฐ
2 แล้วกลับไปรัฐ 3 รัฐ 1
การแปล กรุณารอสักครู่..
