728x90

분류 전체보기 625

FIFO - 구조 및 동작 원리 (1)

FIFO(First In, First Out)먼저 들어온 데이터가 먼저 나가게 되는 데이터 처리와 관련된 자료구조에 해당한다.위 그림과 같이 저장소에 먼저 들어온 값을 기준으로 Data가 쌓이고 Data 요청이 들어오게 되면 먼저 들어온 Data부터 나가게 된다.Enqueue, Dequeue = Push, Pop이라고 생각하면 된다.FIFO 사용 이유 FIFO는 일종의 Buffer처럼 사용된다. 위 그림의 왼쪽처럼 A에서 B에게 데이터를 전달해야 하는데, B가 Busy상태에 있으면 A는 다른 작업을 하지 못한채로 B가 데이터를 받을 수 있는 상태(IDLE)가 될 때까지 대기해야 한다. 하지만 우측 그림처럼 중간에 FIFO 방식의 Buffer를 생성하게 되면, A에서 B에게 전달해야 하는 데이터를 Buff..

Python - 기본 문법 복습 (Function, Class, Thread 등...)

- Print(), Input()- List- Tuple, Set, Dictionary- Loop- Try / Except- Function- Class- 상속- QR Codes- Thread Programming- Macro- Print(), Input()# printprint("Hello")# inputa = input("Input 1st Value = ")b = input("Input 2st Value = ")print(a+b)- Lista_list = [1,2,3,4,5]print(a_list)print(a_list[0])b_list = []b_list.append(1)print(b_list)c_list = [1, 3.14, 'hello', [1,2,3]]print(c_list)d_list = [..

RTL - I2C (Master / Slave - Simulation, Code)

https://insoobaik.tistory.com/672위 I2C 이론을 기반으로 RTL 코드를 설계할 것이다.- Simulation- Master Write / Slave Read 동작(현재 Master와 Slave 신호를 둘 다 보기 때문에 둘 사이에 동일하게 동작하는 신호의 경우 위와 같이 동일한 2개의 신호가 나오는 것 처럼 보일 것이다.)Master에서 Address 포함 Write 동작에 대한 전체 Simulation은 위와 같다. 1. Start ConditionSCL이 1인 상태에서 SDA가 0으로 떨어지는 구간은 Start Condition을 나타내고 I2C 프로토콜이 동작하기 시작하는 구간에 해당한다.bitcount, state, pulse의 값이 동작하기 시작한다. 2. Addre..

CPU 구조 및 동작 원리 (RISC, Pipeline, Hazard) (2)

https://insoobaik.tistory.com/671CPU 구조 및 동작 원리 (1)에 이어 조금 더 자세히 CPU 구조 및 동작 원리에 대해 알아볼 것이다.  16비트의 컴퓨터에서는 명령어가 16비트로 구성된다.Opcode와 Operand 부분으로 나누어진다.- Opcode : CPU가 수행할 특정 작업(연산)을 지정하는 코드다.- Operand : Opcode에 의해 정의된 작업에 사용될 데이터나 주소를 나타낸다.위 그림의 경우 상위 4bit가 Opcode에 해당하여 CPU가 수행할 작업을 지정하고 하위 12bit가 작업에 사용될 데이터나 주소를 담게 된다. 위 표는 Opcode에 대한 정의를 보여주고 있다. 각 Opcode에 대한 Instruction 명령어가 지정되어 있고, 해당 명령어들이..

I2C 구조 및 동작 원리

I2C에 대해 알아보기 전에 Open Drain이란 개념이 등장하기 Open Drain에 대해 간단하게 알아보겠다. - I2C에서 Open Drain을 사용하는 이유I2C는 여러 장치가 동일한 선을 공유하는 방식이다. Open Drain 방식을 사용하면 하나의 선에 여러 장치가 데이터를 공유할 수 있기 때문이다. 또 신호 충돌을 방지할 수 있기 때문이다. 자세한 내용은 아래를 참고하길 바란다. ■ Open Drain Open Drain은 위 그림과 같이 Drain이 Output Pin에 연결된 구조를 의미한다.위와 같이 Pull-Up 저항이 없게 되면 Floating 상태가 되어 신호가 불안정해지고 잡음의 영향을 받을 수 있다.위와 같이 Pull-Up 저항을 사용하게 되면 Data 선에 1의 신호를 지속..

CPU 구조 및 동작 원리 (1)

CPU(Central Processing Unit) 중앙 처리 장치컴퓨터에서 프로그램 명령을 해석하고 실행하는 장치 ■ CPU 동작 원리 - CU (Control Unit) (제어 장치)명령어를 해석하고 실행 순서를 제어한다.ALU와 Register들 간의 데이터 전송을 관리한다.Program Counter와 연동하여 프로그램의 흐름을 관리한다. - Accumulator (누산기)연산 결과를 저장한다.다음 연산의 입력값을 제공한다. - ALU (Arithmetic Logic Unit) (산술 논리 장치)기본 산술 연산을 수행한다.논리 연산을 수행한다.비교 연산을 수행한다. - PC (Program Counter) (프로그램 카운터)현재 실행 중인 명령어의 주소를 저장한다.다음에 실행할 명령어 주소를 자동..

NAND 구조 및 동작 원리

NAND는 Flash Memory와 같은 대용량 저장 장치에서 널리 사용된다.DRAM보다 속도가 10000배정도 느리지만 집적도가 높다는 장점있다.■ NAND Cell 구조NAND Cell은 위 그림처럼 우리가 아는 NMOS 트랜지스터와 Floating Gate를 포함한 구조로 이루어져 있다. Floating Gate : Memory Cell의 저장 공간 역할을 하며, 전하를 저장할 수 있는 공간이다.1. Floating Gate에 전자가 저장되어 있는 상태 (논리 0)Floating Gate에 전자가 저장된 상태를 Programming된 상태라고 한다. Floating Gate에 전자가 저장되어 있을 경우 트랜지스터의 Vth(문턱전압)이 상승하게 된다. Vth가 높다는 의미는 NMOS를 동작시키기 위한..

DRAM 구조 및 동작 원리 (2)

https://insoobaik.tistory.com/662(1)에 이어 DRAM 구조 및 동작 원리에 대해 자세히 알아볼 것이다.■ DRAM Structure 컴퓨터 내부를 보게 되면 램 슬롯에 위와 같은 DRAM 모듈을 본적이 있을 것이다.DRAM은 앞 뒤로 Chip이 붙어있고, 각 면을 Rank라고 부른다. (ex 한쪽 면이 Rank 0면 다른 한쪽은 Rank 1)Rank에 붙어 있는 Chip은 우측에 그림과 같이 여러개의 Bank로 구성되어 있다.하나의 Bank는 여러개의 MAT(Memory Array Tile)으로 구성되어 있다. Rank는 주소를 가지며 Chip 자체에는 주소를 가지지 않는다. Rank 동시에 모든 Chip에 신호를 보낸다.각 Chip은 Data Bus를 통해 전달되는 비트 중..

RTL - Two Port SRAM / Dual Port SRAM 구조 및 설계

https://insoobaik.tistory.com/666 이전 tpsram을 사용한 Cache 동작과정에 대해 알아보았다. 이번 포스팅에서는 Cache 사용되는 SRAM의 두 종류 tpsram, dpsram에 대해 알아볼 것이다.■ Two Port SRAM  Two Port SRAM의 경우 2개의 Port를 통해 Read, Write를 할 수 있다. 각 Port는 Read, Write만 할 수 있다. Port에 대한 주소만 같지 않다면 A포트에서 값을 쓰고 B포트에서 같은 클럭에 값을 읽어갈 수 있다.■ Dual Port SRAM Dual Port SRAM은 마찬가지로 Read, Write 포트가 구분되어 있으며, 추가로 입출력 Port 쌍이 두개가 존재한다. Two Port의 경우 주소가 다르다 하..

RTL - CACHE(Two Port SRAM) 동작 과정 및 설명

■ CACHE 구조 https://insoobaik.tistory.com/661 Cache 구조 및 동작 원리보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.comCACHE에 대한 내용은 위 글을 참조하길 바랍니다.■ Block Diagram■ 설계 조건  및 입/출력 Port - 설계 조건 Block size = 4BMemory size = 256B (64 Blocks)Cache size = 16B (4 Sets)Write-backreq & ack handshakingOne req at a time - 입/출력 Port - clk : 동기화를 위한 Clock 신호를 전달하기 위한 Port- rstn : 비동기 reset을 위한 Port - i_cpu_req..

728x90