본문 바로가기

컴퓨터공학기초 개념/컴퓨터구조28

18. CPU 내부구조 - 명령어와 주소지정방식 0. 시작하기 전에 - 이전 포스팅까지 CPU가 어떻게 명령어를 처리하는지에 대해서 배우면서, - 명령어를 처리하기 위해 필요한 CPU 내부의 연산(마이크로 연산)에 대해 알아보았다. - 이번 포스팅에서는 마이크로 연산의 명령어는 어떻게 설계되며, 어떤 구조를 이루는지에 대해서 알아보자. 1. 명령어를 설계하는 방법 - 마이크로 연산을 위한 명령어는 CPU 내부에서 사용된다. - 즉, 레지스터와 같은 하드웨어가 이해하는 명령어를 의미한다. - 그러나 이를 사용하는 대상은 사람이기에 사람이 알아들을 수 있어야 한다. - 이러한 관점에서 명령어를 설계하는 방법에는 두가지가 있다. a) 자연어에 가까운 명령코드 ▶ 장점 - 프로그램의 소스코드 길이가 짧아진다. → 자연어는 함축적인 의미가 담겨있기에 짧은 길이.. 2021. 8. 12.
17. CPU 내부구조 - 마이크로 연산과 ALU 0. 시작하면서 - 이전 포스팅에서 CPU가 어떻게 동작하는지, 명령어는 어떻게 처리하는지 알아보았다. - 더불어, 명령어는 어떤 형식으로 구성되어 있고 CPU는 어떤 방식으로 설계되는지 또한 알아보았다. - 이번 포스팅에서는 CPU가 연산을 수행할 때 필요로 하는 마이크로 연산과 ALU에 대해서 알아보자. 1. 마이크로 연산(micro - operation) a) 개념 - 레지스터에서 저장된 데이터를 대상으로 수행되는 연산을 말한다. - 즉, CPU 내부에 존재하는 레지스터의 상태를 변경시키는 동작이다. - 마이크로 연산은 다음과 같이 분류된다. ▶ 전송 - 레지스터 간의 데이터(이전 정보)를 주고 받는다. ▶ 산술 연산 (사칙연산, 증감, 보수, etc) - 레지스터에 저장되어있는 데이터를 대상으로 .. 2021. 8. 12.
16. CPU 내부구조 - CPU 설계방식 0. 시작하기전에 - 이전 포스팅에서 명령어의 구조에 대해서 알아 보았다. - CPU에서는 이 명령어를 실행하기 위해, 다양한 레지스터를 이용한다. - 명령어에 따라 사용하는 레지스터가 다를 것이고, 필요한 과정이 다를 것이다. - 그렇다면 이 레지스터는 어떤 구조로 설계되어 있을까? 라는 질문이 생길 수 있다. - CPU의 설계방식에 대해 이해하면, 이 질문에 대답할 수 있다. 1. CPU 설계방식 - CPU를 설계하는 방식에는 대표적으로 2가지가 있다. ▶ CISC (= Complex Instruction Set Computer) - 소프트웨어에 중점적이다. ▶ RISC (= Reduced Instruction Set Computer) - 하드웨어에 중점적이다. - 위의 두가지 방식은 CPU를 설계 .. 2021. 8. 11.
15. CPU 내부구조 - 명령어의 구조 0. 시작하기 전에 - 이전 포스팅에서 CPU의 내부 구조와 동작 방식에 대해서 알아보았다. - CPU의 동작 방식을 알기 위해서, 명령어를 처리하는 과정을 예시로 알아 보았는데, - 이번 포스팅에서는 CPU의 명령어가 어떻게 구성되어 있는지 알아 볼 예정이다. 1. 명령어(Instruction) 형식의 이해 - 이전 포스팅에서 CPU의 내부 동작에 대해서 알아보았다. - 그 과정에서 여러가지 레지스터를 통해, 주기억장치에 있는 명령어를 가져와서 실행했다. - 주기억장치에 올라와 있던 그 명령어의 형식에 대해서 알아보자. a) 명령어의 구성 - 명령어는 연산자(operation 또는 op-code)와 피연산자(operand)로 구성되어 있다. ▶ operation - 어떤 행위를 가리키는 역할이다. ▶ .. 2021. 8. 10.
--- 여기까지! 컴퓨터 구조, 번쩍! 복습하기! --- 2021. 8. 10.
14. CPU 내부구조 - 레지스터 0. 시작하면서 - 이전 포스팅까지 논리회로에 대해서 배웠다. - 그리고 플립플롭이 여러개 모이면 레지스터라는 것을 알게 되었다. - 이번 포스팅에서는 레지스터간의 연결 방식과 동작방식에 대해 알아보자. 1. 레지스터란 무엇인가? - CPU 내부에서 명령어 또는 연산을 처리하면서 발생하는 데이터를 일시적으로 저장하는 기억장치 - 주기억장치(RAM)보다 저장용량이 적지만, 처리속도가 가장 빠르다. - 그러므로 가격은 비싸고, 크기는 작다. - 여러개의 Flip Flop 이나 Latch 등을 연결하여 구성한다. - 휘발성 메모리이며, 읽고 쓰기가 가능하다. 2. CPU의 구성요소 - 컴퓨터에서 데이터 처리를 수행하는 부분을 CPU라고 한다. - CPU는 다음 세가지 구성요소로 이루어져 있다. ▶ 레지스터 세.. 2021. 8. 10.
13. 논리회로 - 플립플롭(Flip-Flop) 1. Flip-Flop이란? - 플립 플롭이란, 1bit를 기억할 수 있는 순서회로를 의미한다. - 플립 플롭이 여러개 모여있는 장치가 레지스터다. a) 조합회로 vs 순서회로 ▶ 조합회로 - 게이트로만 이루어진 논리회로 - 외부의 입력에 의해서만 출력이 발생하는 논리회로 ▶ 순서회로 - Flip-Flop과 게이트를 연결한 논리회로 - 내부의 상태값에 따라 출력이 발생하는 논리회로 2. Flip-Flop의 기본형태 a) 1비트를 기억하는 기본적인 방법 - 위의 회로는 loop(루프)를 도는 구조를 갖는다. - 무한히 순환하는 구조로 인하여 NOT과 NOT 사이에 1비트가 계속 살아있게 되는 구조다. - 즉, 1비트가 기억되는 것이다. b) Flip-Flop 회로도 - 위에서 본 기본 형태를 기반으로 외부.. 2021. 8. 9.
12. 논리회로 - 조합논리회로 0. 시작하기 전에 지금까지 공부한 내용을 쭉 복습해보자. - 컴퓨터에서 수를 표현하고 계산하는 방법에 대해서 알아보았다. - 여러가지 진법과, 보수를 이용한 음수를 계산하는 방법을 다루었다. - 이진법에서 사용하는 1의 보수와 2의 보수를 배웠고, - 왜 2의 보수를 사용하는지에 대해서 알게 되었다. - 컴퓨터가 수를 계산하는 과정을 논리회로의 관점에서 알아보았다. - 부울 대수와 진리표를 이용해서 논리 회로를 그리는 방법과 논리 회로를 논리식으로 표현하는 방법을 배웠다. - 논리식을 더욱 간단하게 구하기 위해, 카르노맵을 사용하여 진리표를 만들고 이를 이용해 논리식을 계산하는 방법까지 공부했다. 위에서 말한 모든 것을 사용하여 조합논리회로를 만든다. 조합논리회로란, 입력값을 기반으로 어떤 결과값을 계.. 2021. 8. 6.
11. 논리회로 - 카르노맵(karnaugh map) 1. 카르노 맵을 사용하는 이유 - 이전 포스팅에서 부울 대수를 이용하여 진리표를 도출해냈고 그것을 활용하여 논리식을 구하는 법을 배웠다. - 부울 대수를 이용해 논리식을 구할 수는 있으나, 여러가지 규칙을 따라야 하는 불편이 있었다. - 카르노 맵은 부울 대수보다 빠르게 진리표를 만들 수 있는 방법으로, - 이를 이용하여 논리식을 간소화 할 수 있고 빠르게 계산할 수 있다. - 이와 같은 이유로 카르노 맵을 사용한다. 2. 카르노 맵 - 기본개념 a) map이란? - map이란, 변수의 개수에 따라 작성되는 표를 의미한다. b) 민텀(minterm)이란? - 곱들의 합을 말하는 것으로, map의 사각형 하나를 minterm 이라고 부른다. - 최소항을 의미하는 것으로, map의 최대항(합들의 곱)을 m.. 2021. 8. 6.