본문 바로가기
관리자

Computer Science

(60)
혼자 공부하는 컴퓨터구조 + 운영체제: 1. 컴퓨터 구조 개요, CPU의 동작 혼자 공부하는 컴퓨터구조 + 운영체제 - 강민철 지음의 요약본이다. 1. 컴퓨터 구조의 개요 컴퓨터 부품의 종류와 구조 - 컴퓨터가 이해하는 정보는 데이터와 명령어 - 컴퓨터의 핵심 4가지 부품 : CPU, 메모리, 보조기억장치, 입출력장치 - 보조 기억 장치에 저장된 데이터와 명령어를 메모리로 불러온다. 전원이 꺼져도 데이터를 보관하기 위해 보조기억장치를 사용한다. - 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장한다. - CPU는 메모리에 저장된 명령어를 읽어들이고, 해석하고, 실행한다. - ALU(Arithmetic Logic Unit)은 산술 연산을 한다. 레지스터는 프로그램을 실행하는 데 필요한 값들을 임시로 저장하는 CPU 내부의 저장 장치이다. 제어 장치는 제어 신호(control..
12. 중앙 처리 장치, 레지스터 1. 레지스터(Register) 레지스터는 중앙처리장치(CPU, Central Processing Unit)의 구성 요소 중 하나이다. 중앙처리 장치는 3가지로 나누어 설명하는 경우가 많다. 연산 장치 : 덧셈, 뺄셈, 곱셈, 나눗셈 등의 산술연산, 논리곱, 논리합, 부정 등의 논리연산을 수행한다. 산술논리연산장치라고도 한다. 연산장치는 연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보내서 저장한다. 제어 장치 : 명령어를 순서대로 실행할 수 있도록 제어한다. 주기억장치에서 프로그램 명령어를 꺼내 해독한 다음, 해독 결과에 따라서 명령어 실행에 필요한 신호를 기억장치, 연산장치, 입출력 장치로 보낸다. 레지스터 : RAM, ROM 등에 비해 더 고속인 기억장치이다. 명령어 주..
11. 시간표현과 상태기억: Gate S-R 래치, Gate D 래치, 플립플롭, 카운터 1. Gate S-R 래치 특정 타이밍에 S-R 래치를 동작시키기 위해서 NAND 게이트 외에 OR 게이트를 2개 추가하고 gate 입력 신호를 추가한다. S-R 래치의 입력을 on/off로 통제하기 위해서 사용한다. 동작 방식을 생각해보자. gate에 1을 주어 gate-bar가 0의 값을 가질 때는, set-bar, reset-bar가 어떤 값이냐에 따라서 출력인 Q, Q-bar가 유지될지 말지가 결정된다. 그러나 gate에 0을 주어 gate-bar가 1이 된다면, set, reset값과 상관없이 OR 게이트를 거치게 되어있으므로 NAND로 들어가는 입력들이 반드시 1이 들어가서 Q, Q-bar의 값이 유지된다. 다시말해 gate의 입력값이 0일때는 반드시 출력값이 유지되도록 해주는 것이다. 2. ..
10. 시간표현과 상태기억: 발진자, 클럭, 래치 1. 발진자(수정 발진기)와 클럭 컴퓨터가 시간을 측정하는 방법이 클럭이다. 클럭은 초당 진동수를 나타내는 헤르츠(Hz)로 표시한다. 아래 그림에서 나타낸 것처럼 1초에 몇 번 입력 신호가 주어졌는지를 표시한다. 이런 입력을 연산이라고 본다면 CPU의 성능 3.2 GHz는 3.2 x 10^9 Hz = 3.2/8 x 10^9 Byte = 약 400 MB/s 정도로 계산할 수 있다. 실제 클럭은 아래 그림의 왼쪽에 있는 원통형의 부품 속에 들어있다. 일반 소자의 발열 등으로 인한 진동수 영향을 최소화하기 위해서 보통 개별 소자로 구성되어있다. 반드시 전원이 들어와야만 움직일 수 있기 때문에, 컴퓨터가 시간을 측정하는 방식은 클럭 뿐만 아니라 실시간 측정 시계(Real Time Clock, RTC)가 따로 존..
9. [종합][스터디] 드 모르간의 법칙, 2의 보수, UTF-8, Base64 인코딩 이유 사내에서 진행한 스터디 내용을 종합 요약한 글. 질문 세례에도 잘 설명해주신 동료분들께 감사드립니다.(kny님, ljh님, yje님) 1. 드모르간의 법칙 드모르간의 법칙은 논리식에서 not을 분배한다는 것이다. 인터넷에 찾아보면 자료는 많다. 배울점은 다음과 같다. not (A or B) = not A and not B 와 같이 2개 항목에만 적용가능한 것이 아니라 3개 이상의 항목에도 적용가능하다. 프로그래밍을 할 때 활용하기 좋다. 예를 들어 if(!(A != 1 or A != 2)) 라는 구문은 드 모르간의 법칙을 이용하여 if(A ==1 and A == 2) 라고 표현하는 것이 간결하다. 경우의 수를 10가지 고려해야할 때, 8가지를 고려해서 적는 것보다 2가지가 아님을 고려해서 적는것이 유리하..
8. 가산기, 디코더/인코더, 멀티플렉서/디멀티플렉서 1. 반가산기(Half Adder) 반가산기는 두 비트가 더해졌을 때 올림 자리수(Carry, C)는 표시만 하고, 합계 자리수(Sum, S)만 계산할 수 있는 논리 회로이다. 0과 0을 더하면 합계 S 도 0, 올림도 없으므로 0이다. 이런식으로 진리표(Truth Table)이 작성된다. 그런데 S의 결과와 C의 결과를 보면, S는 XOR 연산자, C는 AND 연산자임을 알 수 있다. 따라서 기계적으로는 XOR, AND 게이트가 합쳐진 논리회로로 표현되는 것이다. 진리표를 보고 논리식으로 쓰면 S = A'B + AB' = A ⊕ B 이다(⊕ = XOR 기호). C = A · B 이다. 이전 시간에 배웠던 방법대로 A'B + AB' 논리식을 논리 회로로 표현해보면 아래 그림과 같이 표현된다. 2. 전가산..
7. (보충) 논리식의 간소화 가장 기본적인 게이트들의 조합을 통해 우리 세상에 필요한 기본적인 기능을 갖춘 중간 규모 집적 회로(MSI, medium-scale integration)을 만들 수 있다. 이런 부품들의 조합을 통해 대규모 집적회로(LSI, large-scale integration), 초대규모 집적 회로(VLSI, very large-scale integration) 등을 만들 수 있다. 논리식의 간소화 다양한 집적회로들을 공부하기 전에, 논리식을 간소화하는 방법부터 배워본다. 여러 게이트들을 집적했을 때 입력에 따라 출력값이 어떻게 나오는지 알기 위해서는 이 내용을 알고 있어야 한다. 불함수를 간략화하는 일반적인 규칙들은 다음과 같다. 1. A x 1 = A 이다. A가 0이면 0 x 1 = 0이고, A가 1이면 1..
6. (보충) 출력유형 : Open Collector, Push Pull, Totem Pole 출력 유형 이 책에서는 출력 유형에 대해서 매우 간략하게 설명했다. 도저히 이해를 할 수 없는 정도의 수준이라, Reference를 찾아보았는데, 좋은 source를 찾았다. 상세하게 이해하고 싶다면 source의 글들을 직접 읽어보면 좋을 것 같다. source : https://blog.naver.com/3lastbaek5/221976242283 https://blog.naver.com/3lastbaek5/221976267493 https://blog.naver.com/3lastbaek5/221984042091 https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=3lastbaek5&logNo=221985365093 그리고 책 내용과..