cpu10 [Harman 세미콘 아카데미] 73일차 - Verilog(ACC / ALU Simulation, Program Counter) [ACC Simulation] 📌 Testbench module tb_acc(); reg clk, reset_p, acc_high_reset_p; reg fill_value; // 안 쓰는 비트를 0으로 채우거나 1로 채움 reg rd_en, acc_in_select; reg [1:0] acc_high_select, acc_low_select; // Half_ACC가 두 개이므로 구분해줘야 한다. reg [3:0] bus_data, alu_data; // BUS와 ALU로부터 받는 데이터 wire [3:0] acc_high_data2bus, acc_high_register_data; wire [3:0] acc_low_data2bus, acc_low_register_data; acc DUT(clk, res.. 2023. 10. 15. CPU의 구조 및 원리 - CPU의 모든 것 [CPU란?] 📌 CPU란? 중앙처리장치(CPU)는 Centrol Processing Unit의 약자로, 컴퓨터에서 명령어를 해석하고 실행하는 역할읋 하는 마이크로 프로세서이며, 명령어의 해석과 자료의 연산, 비교등의 처리를 제어하는 컴퓨터 시스템의 핵심장치이다. 다양한 입력 장치로부터 정보를 입력받아 처리한 후, 그 결과를 출력장치로 보내는 일련의 과정을 제어하고 조정하는 일을 수행한다. [CPU의 구성 요소] CPU는 아래 그림과 같이 Control Unit(제어장치), ALU(연산 장치), Register(레지스터) 로 구성되어 있고 각 구성 요소들은 Data Bus를 통해서 데이터를 주고받는다. 📌 Control Unit(CU, 제어 장치) - CU는말 그대로 CPU를 컨트롤하는 장치이다. ROM.. 2023. 10. 11. [Harman 세미콘 아카데미] 69일차 - Verilog(4x4 keypad, 4bit CPU 개요, ALU, ACC) [4x4 Keypad] 📌 4x4 keyboard 구상 4x4 keypad를 만들어 보자. 키패드도 일종의 버튼들의 모음이므로, 풀다운 또는 풀업을 적용시켜줘야 한다. 우리는 버튼을 누른 순간 동작시키는 풀업을 시용하도록 하자. row이든 col이든 둘 중 아무거나 하나는 input잡고 다른 하나는 output으로 잡으면 된다. 단, input에 풀업 저항을 셋팅해줄 것. 키패드의 어떤 버튼이 입력되었는지 스캔하는 기능은 FND에서 잔상효과 사용하듯이 설계할 것이다. 16개의 키 스캔하는데, 약 4ms가 걸리고, 사람이 버튼을 동작시키는데 최소한 4ms 이상은 걸리니까 다음 버튼의 입력까지의 시간은 충분하다. 포트를 절약하기 위해서 array를 만들어서 사용한다. 📌 Code module key_pad_.. 2023. 10. 7. 임베디드 시스템의 핵심 기술, RTOS란? - Part.2 (CPU 동작 단계, CPU Scheduling, Process, Task vs Thread) [CPU 동작 단계] 📌 Fetch(인출) CPU가 메모리에서 다음 실행할 명령어를 인출하는 단계이다. 인출 단계에서는 다음 실행할 명령어의 메모리 주소가 프로그램 카운터(PC) 레지스터에 저장되어 있다. CPU는 PC에 저장된 주소를 사용하여 메모리에서 해당 명령어를 검색하고 인출한다. 이때, 메모리의 데이터는 명령어로 해석되어 CPU 내부로 가져온다. 📌 Decode(해석) 안출한 명령어를 해석하는 단계이다. CPU는 명령어를 해석하여 해당 명령어의 유형과 실행에 필요한 추가 정보를 추출한다. 명령어 해석은 명령어 집합 아키텍쳐(ISA)에 정의된 명령어 형식을 기반으로 수행된다. 이 단계에서 CPU는 명령어가 어떤 연산을 수행해야 하는지 결정하고 필요한 레지스터나 데이터를 결정한다. 📌 Execute.. 2023. 9. 4. 이전 1 2 3 다음