컴퓨터구조 CPU설계_Quartus 설계_2024
본 내용은
"
컴퓨터구조 CPU설계_Quartus 설계_2024
"
의 원문 자료에서 일부 인용된 것입니다.
2024.06.01
문서 내 토픽
-
1. 컴퓨터 명령어컴퓨터 명령어는 각각 16진수 코드로 되어있는 마이크로 연산이다. 명령어를 Instruction Register (IR)에 넣어 해석을 진행해 필요한 장치에서 명령어를 실행한다. 메모리 참조 명령어는 주소가 필요하다. 첫째 자리의 0~E까지를 보고 메모리 참조 명령어임을 확인하고 뒤의 XXX에 주소를 넣는다. 레지스터를 건드리는 명령어는 정해져 있는 레지스터 명령어 16진수 값을 가져와서 처리한다.
-
2. 기본적인 제어장치의 구성명령어가 IR에 들어가면 하위 12 bit( IR 0~11 )는 주소 bit로 할당된다. 그 위 3 bit가 3to8 Decoder에서 D 신호가 되어 나온다. ( D0~D7 )가장 상위 bit는 주소 모드를 나타내는 I bit가 나온다. 명령어를 수행할 타이밍은 4-bit sequence counter ( SC )에서 0부터 숫자를 세기 시작해 4to16 Decoder에서 T 신호=타이밍 펄스가 되어 나온다. ( T0~T15 )기본 컴퓨터의 모든 플립플롭과 레지스터는 주클럭 발생기에 의해 제어된다. 제어장치에서 발생된 제어신호가 클럭과 동기되어 레지스터의 상태를 인에이블시킨다. ( 레지스터 선택 )
-
3. 구성될 CPU 내부 로직기본 CPU에는 레지스터들이 구성되어 있다. SRAM에서는 프로그램을 보관 중이고 사용될 프로그램은 IR로 이동한다. IR 밑에 명령어 분석 회로 연결되어 있어 해석을 진행하는 것이 Decoding 과정이다. HW의 소자 구성은 정해져 있기 때문에 CONTROL LOGIC GATES 설계가 주목적이다. CONTROL LOGIC GATES에서 만든 제어 신호를 각 소자에 뿌려주는 것을 설계하면 된다. 이번 설계에서는 3-state-buffer인 74244 8-bit 버퍼를 사용하여 각 레지스터들이 버스를 점유하는 것을 선택하게 설계했다.
-
4. 명령어 단계연산(명령어)에서 각 state를 실행하는 단계는 Fetch, Decoding, Execution이다. Fetch는 명령어를 메모리에서 가져오는 단계이고, Decoding은 IR에서 들어온 명령어를 해석해 제어 신호로 출력하는 단계이며, Execution은 나온 제어 신호가 필요한 곳에 가서 명령을 처리하는 단계이다.
-
5. 레지스터, 메모리, 입출력 명령어레지스터 참조 명령어는 T3 타이밍에서 수행되며, 메모리 참조 명령어는 각 명령이 명령어 디코더의 출력 Di(i=0,1,2,3,4,5,6)에 의해 구분되고 명령어의 실행은 T4 타이밍에서 시작된다. 입출력 명령어는 T3 타이밍에서 수행된다.
-
6. CPU의 전체 모습quartus로 설계한 cpu의 전체적인 모습은 메모리, AR, PC, DR, ALU와 E, AC, INPR, IR, Sequence Counter, TR과 E, R FF, OUTR 순서로 구성되어 있다.
-
7. Memory unit (SRAM 62256)사용한 메모리는 SRAM 62256으로 총 16비트의 Addresses와 8비트의 I/O 데이터 버스를 가진다. 메모리는 메모리 참조 명령어에 의해 BUS의 데이터를 AR에서 지정한 Address에 저장하고, Address에 있는 데이터를 BUS에 출력해준다. 메모리 제어를 위해 사용한 명령어 제어식은 메모리 읽기와 쓰기로 구성된다.
-
8. AR 레지스터AR 레지스터는 총 12bit로 되어 있는 레지스터로서 3개의 74LS163을 직렬로 연결하여 설계했다. AR 레지스터는 어드레스를 메모리에 넘겨주는 역할을 수행한다. AR 제어를 위해 사용한 명령어 제어식은 Load, Clear, Increase 신호로 구성된다.
-
9. PC 레지스터PC 레지스터는 총 12bit로 되어 있는 레지스터로서 3개의 74LS163을 직렬로 연결하여 설계했다. PC 레지스터는 프로그램 카운터를 의미하며 다음에 실행되어야 하는 명령어가 저장된 주소를 저장하고 있다. PC 제어를 위해 사용한 명령어 제어식은 Load, Clear, Increase 신호로 구성된다.
-
10. DR 레지스터DR 레지스터는 총 16bit로 되어 있는 레지스터로서 4개의 74LS163을 직렬로 연결하여 설계했다. DR은 데이터 레지스터이고 DR 레지스터의 데이터가 AC 레지스터로 들어가기 위해서는 별도의 버스 입력 없이 들어갈 수 있다. DR 제어를 위해 사용한 명령어 제어식은 Load, Increase 신호로 구성된다.
-
11. AC 레지스터AC 레지스터는 총 16bit로 되어 있는 레지스터로서 4개의 74LS163을 직렬로 연결하여 설계했다. AC 제어를 위해 사용한 명령어 제어식은 Load, Clear, Increase 신호로 구성된다.
-
1. 컴퓨터 명령어컴퓨터 명령어는 컴퓨터가 수행해야 할 작업을 지시하는 기본적인 단위입니다. 이러한 명령어는 CPU에 의해 해석되고 실행되며, 컴퓨터의 기능을 구현하는 데 필수적입니다. 명령어는 데이터 처리, 메모리 관리, 입출력 제어 등 다양한 작업을 수행할 수 있으며, 프로그래밍 언어를 통해 복잡한 알고리즘을 구현할 수 있습니다. 따라서 컴퓨터 명령어에 대한 이해는 컴퓨터 시스템의 작동 원리를 이해하는 데 매우 중요합니다.
-
2. 기본적인 제어장치의 구성기본적인 제어장치의 구성은 컴퓨터 시스템의 핵심 부분입니다. 제어장치는 CPU 내부에 존재하며, 메모리에서 명령어를 가져와 해석하고 실행하는 역할을 합니다. 제어장치의 주요 구성 요소로는 프로그램 카운터(PC), 명령어 레지스터(IR), 제어 유닛(CU) 등이 있습니다. 이러한 구성 요소들은 명령어 실행 과정에서 서로 협력하여 컴퓨터 시스템의 전반적인 동작을 제어합니다. 제어장치의 설계와 구현은 컴퓨터 시스템의 성능과 효율성에 큰 영향을 미치므로, 이에 대한 이해가 필수적입니다.
-
3. 구성될 CPU 내부 로직CPU 내부 로직은 컴퓨터 시스템의 핵심 부분으로, 명령어 실행, 데이터 처리, 메모리 관리 등 다양한 기능을 수행합니다. CPU 내부 로직은 크게 산술논리 장치(ALU), 레지스터 파일, 제어 장치 등으로 구성됩니다. ALU는 산술 및 논리 연산을 수행하고, 레지스터 파일은 데이터와 주소 정보를 저장하며, 제어 장치는 명령어 해석 및 실행을 관리합니다. 이러한 구성 요소들은 유기적으로 연결되어 CPU의 전반적인 동작을 제어합니다. CPU 내부 로직의 설계와 구현은 컴퓨터 시스템의 성능과 효율성에 큰 영향을 미치므로, 이에 대한 이해가 중요합니다.
-
4. 명령어 단계명령어 단계는 CPU가 명령어를 실행하는 과정을 단계별로 나타낸 것입니다. 일반적으로 명령어 단계는 다음과 같이 구성됩니다: 1) 명령어 가져오기(Fetch) - 메모리에서 명령어를 가져옵니다. 2) 명령어 해석(Decode) - 가져온 명령어를 해석하여 실행할 작업을 결정합니다. 3) 명령어 실행(Execute) - 해석된 명령어를 실행하여 결과를 생성합니다. 4) 결과 저장(Store) - 실행 결과를 메모리나 레지스터에 저장합니다. 이러한 단계를 거쳐 CPU는 프로그램을 순차적으로 실행할 수 있습니다. 명령어 단계에 대한 이해는 컴퓨터 시스템의 작동 원리를 이해하는 데 필수적입니다.
-
5. 레지스터, 메모리, 입출력 명령어레지스터, 메모리, 입출력 명령어는 컴퓨터 시스템의 핵심 구성 요소입니다. 레지스터는 CPU 내부에 있는 고속 메모리로, 데이터와 주소 정보를 저장하고 처리합니다. 메모리는 프로그램과 데이터를 저장하는 장치로, 레지스터와 함께 CPU가 작업을 수행할 수 있게 합니다. 입출력 명령어는 CPU와 외부 장치 간의 데이터 교환을 제어합니다. 이러한 명령어들은 컴퓨터 시스템의 기본적인 동작을 구현하며, 프로그래밍 언어와 운영 체제에서 사용됩니다. 따라서 레지스터, 메모리, 입출력 명령어에 대한 이해는 컴퓨터 시스템의 작동 원리를 이해하는 데 필수적입니다.
-
6. CPU의 전체 모습CPU는 컴퓨터 시스템의 핵심 부품으로, 프로그램 실행, 데이터 처리, 메모리 관리 등 다양한 기능을 수행합니다. CPU의 전체 모습은 크게 제어 장치, 산술논리 장치(ALU), 레지스터 파일, 캐시 메모리 등으로 구성됩니다. 제어 장치는 명령어 해석 및 실행을 관리하고, ALU는 산술 및 논리 연산을 수행합니다. 레지스터 파일은 데이터와 주소 정보를 저장하며, 캐시 메모리는 메인 메모리와 CPU 간의 데이터 전송 속도를 높입니다. 이러한 구성 요소들이 유기적으로 연결되어 CPU의 전반적인 동작을 제어합니다. CPU의 전체 모습에 대한 이해는 컴퓨터 시스템의 작동 원리를 이해하는 데 필수적입니다.
-
7. Memory unit (SRAM 62256)SRAM 62256은 컴퓨터 시스템의 주요 메모리 장치 중 하나입니다. SRAM(Static Random Access Memory)은 휘발성 메모리로, 전원이 공급되는 동안 데이터를 유지할 수 있습니다. SRAM 62256은 256Kbit(32KB)의 용량을 가지며, 빠른 접근 속도와 낮은 전력 소비 특성을 가지고 있습니다. 이러한 특성으로 인해 SRAM 62256은 캐시 메모리, 버퍼 메모리 등 다양한 용도로 사용됩니다. SRAM 62256에 대한 이해는 컴퓨터 시스템의 메모리 구조와 성능을 이해하는 데 도움이 됩니다.
-
8. AR 레지스터AR(Address Register)은 CPU 내부의 중요한 레지스터 중 하나입니다. AR은 메모리 주소를 저장하고 관리하는 역할을 합니다. 즉, CPU가 메모리에서 데이터를 읽거나 쓸 때 사용할 주소 정보를 AR에 저장합니다. AR은 프로그램 카운터(PC)와 연동되어 명령어 실행 과정에서 메모리 접근을 제어합니다. 따라서 AR 레지스터는 CPU의 메모리 관리 기능을 수행하는 핵심 구성 요소라고 할 수 있습니다. AR 레지스터에 대한 이해는 컴퓨터 시스템의 메모리 접근 메커니즘을 이해하는 데 도움이 됩니다.
-
9. PC 레지스터PC(Program Counter)는 CPU 내부의 중요한 레지스터 중 하나입니다. PC는 현재 실행 중인 명령어의 주소를 저장하고 관리하는 역할을 합니다. 즉, CPU가 다음에 실행할 명령어의 주소 정보를 PC에 저장합니다. PC는 명령어 실행 과정에서 순차적으로 증가하며, 이를 통해 CPU는 프로그램을 순차적으로 실행할 수 있습니다. 따라서 PC 레지스터는 CPU의 명령어 실행 제어 기능을 수행하는 핵심 구성 요소라고 할 수 있습니다. PC 레지스터에 대한 이해는 컴퓨터 시스템의 프로그램 실행 메커니즘을 이해하는 데 도움이 됩니다.
-
10. DR 레지스터DR(Data Register)은 CPU 내부의 중요한 레지스터 중 하나입니다. DR은 메모리에서 읽어온 데이터나 메모리에 쓰기 위한 데이터를 일시적으로 저장하는 역할을 합니다. 즉, CPU가 메모리와 데이터를 교환할 때 DR을 통해 데이터를 전송합니다. DR은 ALU(Arithmetic Logic Unit)와 연동되어 데이터 처리 과정에서 중요한 역할을 합니다. 따라서 DR 레지스터는 CPU의 데이터 처리 및 메모리 관리 기능을 수행하는 핵심 구성 요소라고 할 수 있습니다. DR 레지스터에 대한 이해는 컴퓨터 시스템의 데이터 처리 메커니즘을 이해하는 데 도움이 됩니다.
-
11. AC 레지스터AC(Accumulator)는 CPU 내부의 중요한 레지스터 중 하나입니다. AC는 산술 및 논리 연산의 결과를 일시적으로 저장하는 역할을 합니다. 즉, ALU(Arithmetic Logic Unit)에서 수행된 연산 결과가 AC에 저장됩니다. AC는 다른 레지스터와 연동되어 데이터 처리 과정에서 중요한 역할을 합니다. 예를 들어, AC의 값을 메모리에 저장하거나 다른 레지스터와 데이터를 교환할 수 있습니다. 따라서 AC 레지스터는 CPU의 데이터 처리 기능을 수행하는 핵심 구성 요소라고 할 수 있습니다. AC 레지스터에 대한 이해는 컴퓨터 시스템의 데이터 처리 메커니즘을 이해하는 데 도움이 됩니다.
