본문 바로가기

2학년 2학기/컴퓨터 구조62

4.7 Arithmetic logic shift unit S들의 값에 따라서 산술 연산 부터 로직 연산까지 사용할 수 있는 회로이다. 2024. 10. 9.
4.6 shift micro-operations shift micro-operations   오버플로우Shift는 곱하기 2 또는 나누기의 효과를 가져온다. 따라서 쉬프트를 하면 부호는 변경되지 않는다. 따라서 Logical Shift, Circular Shift를 했을 때, 최 상위 비트인 부호비트는 변경되면 안된다.  따라서, Shift를 하기 전에, 최상위 비트와 이전 비트의 값이 다르다면 오버플로우가 발생한 것으로 간주한다! 2024. 10. 9.
4.5 Logic micro-operations 논리 마이크로 연산은 비트간의 연산이다. 예를 들어 R1 = 1 0 1 0, R2 = 1 1 0 0일 때, P: R1 P가 1일 때 R1은 0 1 1 0이다.    16 different binary logic operations   Hardware implementation: S1, S2 총 2개의 Input의 조합으로 AND, OR, XOR, NOT 연산을 선택할 수 있다.   Logic micro-operations의 응용 2024. 10. 9.
4.4 Arithmetic micro-operations(산술 마이크로 - 연산) 우리가 앞서 했던 레지스터간의 데이터 전달도 마이크로 연산이다. 데이터 전달 이외의 Arithmetic, Logic, Shift 마이크로 연산이 있다. 이번 장에서는 산술 마이크로 연산에 대해서 알아보자.     ADDSUBTRACT M = 0일 때, B(i) ⊕ 0 = B(i)이기 때문에 위에 있는 ADD의 회로와 같은 역할을한다.M = 1일 때, B(i) ⊕ 1 = B(i)'이기 때문에  A(i) + B(i)' + C0이다. 즉, A(i) + B(i)의 1의 보수 + 1 ==  A(i) + B(i)의 2의 보수이다.따라서 M = 1일 때는 A(i) - B(i)이다.  INCREMENT  Total Arithmetic Circuit  Decrement A에서 Y의 값은 1인데, 왜 Out은 A -1 일.. 2024. 10. 9.
4.3 Bus and memory transfer BusBus라는 것은 공통 라인의 set이라고 보면된다. 즉, 여러 장치를 공유하는 통로라고 생각하면된다. Bus는 복수개의 레지스터의 데이터 전송을 효율적으로 나타내기 위해서 사용한다. 예를 들어, 컴퓨터 안에서 CPU, RAM 등 다른 장치들이 서로 데이터를 주고받을 떄, 각각의 장치가 따로따로 연결되어 있으면 매우 복잡해진다. 그래서 여러 장치들을 하나의 Bus를 사용해서 데이터를 주고 받는다. 이렇게 Bus는 일종의 공유하는 도로 같은 역할을 하며, 이 도로를 통해서 다양한 장치들이 데이터를 동시에 주고 받을 수 있다.   Bus의 회로도(Mux)   S1 S0MUX 0(f)MUX 1(f)MUX 2(f)MUX 3(f)Register10 0A0A1A2A3A20 1B0B1B2B3B31 0C0C1C2C.. 2024. 10. 9.
4.2 Register transfer Clock pulse가 상승이고, Load가 1일 때 R1에서 R2로 데이터를 전달한다. (병렬 연결로 구현가능)   위의 상황을 Register transfer language로 작성하면 아래와 같다.  Register transfer language에 대해서 자세하게 살펴보자. Register transfer language Register에 대한 표현알파벳과 숫자의 조합으로 나타낼 수 있다.예) MAR, R2, R1레지스터의 파트(비트 수, 상위 & 하위 비트)에 대한 표현비트 수의 예시 - R2(0-7)상위 비트 예시 - R2(H)하위 비트 예시 - R2(L)데이터의 전송에 대한 표현➡️⬅️동시에 일어나는 연산에 대한 표현, 2024. 10. 9.
4.1 Register transfer language 컴퓨터 구조에서 레지스터 전송은 매우 중요한 개념이다. 레지스터는 데이터를 일시적으로 저장하는 고속의 작은 메모리이며, CPU의 작업 처리 과정에서 필수적인 역할을 한다. 레지스터 간의 데이터 이동을 효율적으로 표현하는 것은 시스템의 성능을 최적화하는 데 중요한 요소이다.레지스터 전송을 효과적으로 표현하는 방법에는 마이크로 연산(Micro-Operation)이 사용된다. 마이크로 연산은 레지스터 간의 데이터 이동, 연산, 메모리 접근 등의 기본 작업 단위를 의미하며, 이는 CPU가 실행하는 명령어를 더 세부적으로 나누어 처리할 수 있도록 돕는다. 이와 같은 내용은 컴퓨터의 동작 원리와 밀접하게 연결되어 있으며, 5장에서 배울 컴퓨터 구조를 이해하는 데 중요한 기초 개념이다. 4장에서는 이러한 레지스터 전.. 2024. 10. 9.
3.6 Error detecting code : 에러를 검출할 수 있는 코드 Parity bit: 오류를 검출하기 위해 데이터에 추가하는 비트이다. 전송되는 데이터의 전체 비트 수가 홀수인지 짝수인지 확인할 수 있도록 추가되는 비트 하나이다.  Even Parity(짝수): 전체 비트 수가 짝수가 되도록 Parity bit를 설정하는 방식이다. 데이터의 1의 개수가 짝수가 되도록 Parity bit를 0 또는 1을 추가한다. 예를 들어 데이터가 1 1 0 1이라면, 1의 개수는 3이므로 Parity bit는 1이 되어 전체 bit 수가 4(짝수)가 된다. Odd Parity(홀수): 전체 비트 수가 홀수가 되도록 Parity bit를 설정하는 방식이다. 데이터의 1의 개수가 짝수가 되도록 Parity bit를 0 또는 1을 추가한다. 예를 들어 데.. 2024. 10. 6.
3.5 Other binary codes Gray Code 2024. 10. 6.
3.4 Floating point representation(부동 소수점 표현) : 매우 큰 값 또는 매우 작은 값을 표현하기 위한 방식 예를 들어 매우 큰값은 12340000, 매우 작은 값은0.0001234 같은 수이다.    Floating point representation(부동 소수점 표현)   Bit에 따른 정확도와 E, M의 개수 차이  숫자 범위에 따른 숫자 인코딩 방식 1. NormalizedE(exp)에 해당하는 부분이 0도 아니고, 255도 아닌 경우즉, 0 0 0 0 0 0 0 0도 아니고, 1 1 1 1 1 1 1 1도 아닌경우 10진수 소수를 2진수로 나타내는 방식(STEP) STEP 01) 10진수 소수를 2진수로 변경하기STEP 02) 변경한 2진수를 1.xxx * 2^E 형태로 만들기STEP 03) 부호 비트 채우기 ➡️ 음수라면 1, 양수라면 0S.. 2024. 10. 6.
3.3 Fixed point representation(정수의 표현) : 정수를 2진수로 표현하는 방식에서 음수에 대해서는 어떻게 표현하냐에 대한 내용 음수를 나타내는 방식에는 3가지의 방식이 있다.  1. Signed Magnitude representation        ➡️ 최상위 bit를 부호 bit로 생각해서 최상위 bit가 0이면 양수, 1이면 음수로 결정하는 것 2. Signed 1's Complement representation        ➡️ 1의 보수를 음수로 결정하는 것 3. Signed 2's Complement representation        ➡️ 2의 보수를 음수로 결정하는 것    이제 실제로 3 bit에서 위의 각각의 방식으로 음수를 나타내보자. Signed Magnitude representation0 1 1 ➡️ + 3 0 1 .. 2024. 10. 6.
3.2 Complements(보수) 보수(Complement): 음수에 대한 표현 방식을 이해하기 위해서 배우는 것   위의 정리에서도 작성된 내용이지만 r이 2. 즉, 2진수의 보수를 구한다고할 때 1의 보수 + 2진수 = -12의 보수 + 2진수 = 0사실상 1의 보수는 2의 보수를 구하기 위한 수단이고 1의 보수를 통해서 2의 보수를 구한다는 것은 r의 음수 값을 구한다는 것이다.  2의 보수란 2진수의 음수값을 말하는 것이다!    보수(Complement)를 이용한 뺄셈     실제 값들을 계산해서 감을 익혀보자.    4bit에서 가장 왼쪽의 bit는 부호 비트이기 때문에 실제 4bit는 0~7까지의 숫자만 표현이 된다.  실제 값이 4bit를 모두 사용하는 9 ~ 15사이의 값인 경우 음수로 변경되어 해당 값의 2의보수가 답으.. 2024. 10. 6.
3.1 Data types 10진수, 2진수, 8진수, 16진수       10진수  ➡️  2진수   실수(0.6875)를 2진수로 바꾸는 경우 딱 떨어지는 경우는 많지 않다. 같은 패턴이 무한이 나오거나 계속 다른 패턴이 나오는 경우가 많다!  41.6875를 2진수로 표현한다면, 정수부분을 먼저 구하고 실수부분을 구한 뒤 두 값을 이어준다.41은 1 0 1 0 0 1 이고, 0.6875는 0 . 1 0 1 1 이므로 41.6875는 1 0 1 0 0 1 . 1 0 1 1이다.   8진수  ➡️  2진수 / 16진수  ➡️  2진수    위의 성질을 이용해서 길이가 긴 2진수를 8진수/ 16진수로 쉽게 바꿀 수 있다.    BCD(Binary coded Decimal number): 10진수의 각 숫자를 4bit 2진수로 개별.. 2024. 10. 6.
2024.10.02 - ch2관련 문제 2024. 10. 2.
2.7 Memory units 읽기 쓰기 모두 가능한 메모리 - RAM  읽기를 진행할 때1. 메모리의 주소 전달2. Read Signal 전달3. 해당 주소에 있는 데이터를 Output으로 받는다.   쓰기를 진행할 때1. 메모리의 주소 전달2. Write Signal 전달3. 쓰고 싶은 데이터 전달4. 해당 주소에 있는 데이터를 Output으로 받는다.   읽기만 가능한 메모리 - ROM  1. 읽고 싶은 데이터의 주소 전달2. 해당 주소에 있는 데이터를 Output으로 받는다. 2024. 9. 29.
2.6 Binary Counters(2) - Binary counter with parallel load Binary counter with parallel load: Clear, Load, Increment(Count)의 값에 따라 서로 다른 연산을 하는 회로         1. Function 구하기 2. funtion table 작성하기 각각 Clear, Load, Increment에 대해 각 값들의 변화에 따라서 어떤 연산을 하는지 살펴보자. ClearClear가 1일 때 Load, Increment의 값과 상관 없이 J = 0 + 0 = 0, K = 1 + 0 + 0 = 1으로 J = 0, K = 1이 된다.따라서 Clear가 1일 때 J = 0, K = 1 이기 때문에 출력값은 모두 0으로 바뀐다. Clear가 0일 때는 Load, Increment의 값에 영향을 받는다. 따라서 우선 Load =.. 2024. 9. 29.
2.6 Binary Counters(1) - 4-bit synchronous binary counter 💡 Counter란 무엇인가?  카운터도 레지스터이다. 이진 값을 저장한다는 것에서 같은 레지스터이지만 카운터는 정해진 상태를 반복하게 되는(Sequence) 레지스터이다.    4-bit synchronous binary counter: 0부터 15까지의 이진수를 클럭 신호에 맞춰 차례로 셀 수 있는 회로   위의 회로를 분석해보자.  분석 순서는 'Function 찾기 -> State table 작성하기 -> State Diagram 작성하기' 이다.  1. Function 찾기 J(0) = K(0) = X J(1) = K(1) = X * A(0) J(2) = K(2) = X * A(0) * A(1) J(3) = K(3) = X * A(0) * A(1) * A(2) Y = X * A(0) * A(1.. 2024. 9. 29.
2.4 ~ 2.5 Registers ~ Shift Registers 💡 Registers란 무엇인가? 레지스터는 이진(binary) 값을 저장하는 소자이다. 이진 값은 0과 1 두 가지 상태만을 가지는 수체계이기 때문에, 레지스터는 이러한 이진 정보를 저장하는 데 사용된다. 좀 더 쉽게 설명하자면, 레지스터는 여러 개의 플립플롭으로 구성된 장치로, 각각의 플립플롭이 1비트의 정보를 저장할 수 있다. 이때, 1비트는 이진 값인 0 또는 1을 의미한다. 예를 들어, 4비트 레지스터라면, 4개의 플립플롭으로 이루어져 있고, 한 번에 4개의 이진 값을 저장할 수 있다. 이 경우, 저장 가능한 값은 0000(이진수)부터 1111(이진수)까지 총 16가지이다. 메모리와는 다르게 빠르게 접근하기 위해서 임시 저장소라고 보면 된다.  4 - bit register: clock의 상태.. 2024. 9. 29.
2.3 Multiplexers(Mux) - 입력들 중 Select로 하나 선택 💡 Multiplexer란 무엇인가? n개의 입력을 받으면 n개의 입력중 1개를 출력을 하는 회로 2 x 1 Mux2개의 입력중 하나만 선택해서 출력하는 것S의 값에 따라 어떤 입력을 선택할지 결정된다. 2^n개의 입력이 있다면 n개의 S가 필요하다.    4 x 1 Mux4개의 입력중 하나만 선택해서 출력하는 것S는 2개가 필요하다. S0, S1 (a)는 4 x 1 Mux의 심볼, (b)는 4 x 1 Mux의 Funtion Table이다.    Quadruple 2 to 1 line Mux : 형태는 2 x 1 Mux (A, B -> Y)이지만 하나의 입력 또는 출력에 4개의 또다른 입력 또는 출력이 있는 Mux   Enable이 1이고, Select가 0이면 A0, A1, A2, A3가 Y0, Y1.. 2024. 9. 28.
2.2 Decoders와 Encoders - 입력들의 조합으로 출력값 도출 💡 Decoder란 무엇인가? n개의 입력을 받아 서로 다른 m개의 출력하는 회로 (n x m decoder 또는 n - to - m line decoder라고 불린다) 일반 적으로 n - to 2^n line 디코더가 많다.  2 x 4 Decoder우선 2 x 4 Decoder의 진리표를 작성해보겠다. 아래와 같이 각 입력에 대해서 서로 다른 출력을 구성한다.  [ 진리표 ]    이제 이 진리표를 기반으로 회로도를 만들어보자.   [ 회로도 ]          경우에 따라 Enable Signal을 추가할 수 있다.  Enable Signal이 있는 2 x 4 Decoder 💡 Enable Signal이란? 디지털 회로에서 특정 회로의 작동을 허가하거나 금지하는 신호를 의미한다. 쉽게 말해 회로.. 2024. 9. 28.
2024.09.25 - ch1관련 문제 1. 부울식 F를 무관(don't care)조건 d를 이용하여 (1) SOP, (2) POS로 간소화하여라.F(A, B, C, D) = Σ(0, 2, 4, 12, 14)d(A, B, C ,D) = Σ(1, 5, 8, 10) 풀이) 1. 카르노맵 그리기2. SOP는 1로 채운 카르노 맵 사용하기3. POS는 0으로 채운 카르노 맵 사용하기     3-1. F'을 구한다.     3-2. (F')'을 구한다.   SOP = C'D' + AD' + B'D' POS = (F')' = D(A + B' + C')2. D, JK, T Flip-flop의 특성표(동작표)를 작성하라.  3. D, JK, T Flip-flop의 여기표를 작성하라.  4. 다음 그림과 같은 전가산기와 D Flip-flop으로 구성된 순차회.. 2024. 9. 26.
1.7 Sequential circuit - 순차회로의 설계 이전에 우리는  순차회로 분석을 통해 이 회로에는 어떤 기능이 있는지를 알 수 있었다. 이번에는 순차회로 설계를 해보자. 순차회로 설계는 분석의 역순이다.즉, 분석에서는 "회로 -> function -> table -> diagram -> 성능" 이었다면,설계에서는 "성능 -> diagram -> table -> function -> 회로" 순으로 성능을 보고 회로를 만들어보자. 0. 성능JK F-F을 이용한 회로이다.Binary Conter이다. (Binary Conter는 2 bit 카운터라는 뜻이다. 즉, F-F이 2개 필요하다는 이야기다)00, 01, 10, 11 순으로 증가되고 11에서 증가하면 00으로 돌아간다. 이 과정은 반복된다.X = 0일 때 값은 변경되지 않는다.1. 다이어 그램 그리기.. 2024. 9. 22.
1.7 Sequential circuit - 순차회로의 분석 순차회로(Sequential circuit)란?출력이 현재의 입력뿐만 아니라 이전 상태에도 의존하는 디지털 회로이다.  이제 우리는 이 순차회로도가 주어지면 그 회로도를 보고 어떤 입력들이 왔을 때, 어떤 값을 출력하는지에 대한 분석을 해보려고 한다. [분석 방법]1. 회로도를 보고 각 플립플랍과 출력에 대한 function 도출하기2. 도출된 function을 바탕으로 State table 도출하기3. State table을 바탕으로 State diagram 만들기 아래 JK flip-flop 순차회로를 바탕으로 분석을 해보자!    1. function 도출하기우선, 각 플립플랍과 출력에 대한 function을 도출해야하지만 현재 출력은 없기 때문에 각 플립플랍에 대한 function만 도출해보자. .. 2024. 9. 22.
1.6 Flip-flop(SR, D, JK, T) - 암기 플립 플랍이란? 1비트의 데이터를 저장하거나 기억할 수 있는 기본적인 메모리 소자이다. 플립플롭은 클럭(C) 신호에 따라 입력 값에 기반한 상태를 저장하거나 출력으로 내보내며, 상태가 바뀌기 전까지 그 값을 유지하는 특징이 있다. 즉, 아무리 입력값을 넣어도, 클럭(C)이 변경되지 않는다면 출력 값은 변경되지 않는다. SR flip-flop(Set Reset): input(S, R)이 주어진 상태에서 C가 상승하거나 하강할 때 Q가 변경된다. 이러한 점을 이용한다면 C가 변하지 않는 동안 이전 Q를 기억할 수 있게되는 저장장치가 된다. 단점이 있는데 S=R=1인 경우는 성립될 수 없다. (입력과 초기화를 동시에 누른다고 생각해보자)         D flip-flop(Data, Direct): input.. 2024. 9. 22.
1.6 Flip-flop을 하기전 래치에 대해서 https://blog.naver.com/tb_elec_engineer/221034769694 디지털논리회로 11장 래치와 플립플롭※학부생으로 공부하면서 작성한 것이기 때문에 틀린 내용이 있을 수 있습니다 보실 때 그 점 유의하시면서...blog.naver.com 정리를 잘 해놓으신 분이 있어서 가져왔다.   SR Latch  즉, SR 래치의 의미는 데이터를 기억하고 저장하는 역할을 하는 회로라는 것이다. 디지털 시스템에서 데이터를 기억하는 기본 단위로 사용되며, 이를 바탕으로 더 복잡한 저장 장치와 회로가 만들어진다.  S는 Set을 의미하기 때문 S가 1이 되면  Q+는 1이 된다. R은 Reset을 의미하기 때문에 R이 1이 되면 Q+는 0이된다.    D Latch D 래치(D Latch)는 1.. 2024. 9. 21.
1.5 Combinational circuits Combinational circuits(조합 회로)란?: gate들이 조합되어 이루어진 회로이다. : 다시 말해 입력에 따라 즉시 출력이 결정되는 논리 회로를 말한다. 즉, 입력 값이 주어지면 그에 대응하는 출력이 바로 생성된다. 조합회로는 기억 기능이 없기 때문에 과거의 입력과는 상관없이 현재 입력만을 바탕으로 출력을 결정한다. Half adder(반 가산기): 1비트의 두 입력을 더하여 합(Sum)과 자리 올림(Carry)을 계산하는 회로이다. 한번 1bit끼리의 더하기를 해보자. 즉, 1과 0의 덧셈을 해보자.     0           0           1           1+   0      +   1      +   0     +   1-----     -----     -----  .. 2024. 9. 21.
1.4 Map simplification(4) - Don't care conditions Don't care conditions이란?기존 function을 카르노 맵에 작성한다면 항상 1이 되는 값만 카르노 맵에 작성했다. 하지만 Don't care conditions는 1이 되어도 되고, 0이 되어도 된다.   예시 문제F(w, x, y, z) = ∑(1, 3, 7, 11, 15)Don'care conditions, d(w, x, y, z) = ∑(0, 2, 5) 이렇게 주어지면 카르노맵에는 1, 3, 7, 11, 15부분에는 1을 필수로 작성하고 0, 2, 5부분에는 X를 작성해주어야한다. X는 1로 사용해도 되고 사용하지 않아도 된다.  중요한건 X를 활용해서 최대한 식을 최소화하는 것이다.  위의 맵을 간소화 하면 A'B'D + CD가 된다. 하지만 아래 Don'care conditi.. 2024. 9. 21.
1.4 Map simplification(3) - NAND, NOR Sum of products를 NAND만 있는 논리회로로 변경하기  NAND(Not AND)(XY)' = X' + Y'즉, 이 말의 의미는 X와 Y의 AND의 ' 도 NAND, X'와 Y'의 OR도 NAND라는 의미이다.따라서 위 오른쪽 사진은 모두 NAND로 이루어진 회로이다.  Products of sum 를 NOR만 있는 논리회로로 변경하기 NOR(Not OR)(X + Y)' = X'Y'즉, 이 말의 의미는 X와 Y의 OR의 ' 도 NOR, X'와 Y'의 AND도 NOR라는 의미이다.따라서 위 오른쪽 사진은 모두 NOR로 이루어진 회로이다. 문제에서 NAND게이트로 만들어라-> SOP를 구하고 SOP를 기반으로 NAND게이트를 만들어라 문제에서 NOR게이트로 만들어라-> POS를 구하고 POS를 기.. 2024. 9. 21.
1.4 Map simplification(2) - 카르노 맵 카르노 맵 사용법 최소항이 1인 곳에 1을 넣어주고 나머지는 0을 넣어준다.셀을 묶는다.셀은 2, 4, 8 단위로 묶을 수 있다.묶을 때 셀의 개수는 최대한 많이, 묶음은 최소한 적게 만들어주어야한다.묶음끼리 OR연산을 해준다.  문제 예시   빨간 부분A: A에만 있고, A'에는 없다. 따라서 AB: B에도 있고 B'에도 모두 걸쳐져있다. 이렇게 되면 B에 해당하는 것이 아무것도 없다.C: C'에만 있고, C에는 없다. 따라서 C'결론: AC'노란 부분A: A에도 있고 A'에도 모두 걸쳐져있다. 이렇게 되면 A에 해당하는 것이 아무것도 없다.B: B에만 있고, B'에는 없다. 따라서 BC: C에만 있고, C'에는 없다. 따라서 C결론: BC 따라서 해당 부분을 모두 OR 연산처리 하면 BC + AC' .. 2024. 9. 21.
1.4 Map simplification(1) - minterm Minterm(최소항): 모든 항이 들어가는 조합(AND) SOP(Some of Products): OR로 연결된 AND [예시]F = Y' + XY + X'Y'Z' POS(Product of Sums): AND로 연결된 OR [예시]F = Y'(X + Y)(X' + Y' + Z') Sum of minterms: OR로 연결된 mintermF(x, y, z) = y’ + xy + x’yz’                 = y’(x + x’) + xy(z + z’) + x’yz’                 = xy’ + x’y’ + xyz + xyz’ + x’yz’                 = xy’(z + z’) + x’y’(z + z’) + xyz + xyz’ + x’yz’             .. 2024. 9. 21.