728x90

Semiconductor, Embedded/0. Digital, Analog, 회로 이론 25

컴퓨터 구조 및 CPU 동작 원리 (2) - CPU 동작 구조 (Pipelining)

https://insoobaik.tistory.com/717 컴퓨터 구조 및 CPU 동작 원리 (1) - 기본 개념목차컴퓨터의 구성요소 5가지Absractions and ISADefining PerformanceInstruction SetMIPS Arithmetic OperationRegister OperandsMemory OperandsImmediate Operands컴퓨터의 구성요소 5가지1. Datapath : 데이터에 대한 연산 수행2. Contrinsoobaik.tistory.com기본 개념에 이어 9개의 Instruction을 통해 CPU 동작 원리를 설명할 것이다.- Insturction Memory Reference : lw, swArithmetic / Logical : add, sub, ..

컴퓨터 구조 및 CPU 동작 원리 (1) - 기본 개념

목차컴퓨터의 구성요소 5가지Absractions and ISADefining PerformanceInstruction SetMIPS Arithmetic OperationRegister OperandsMemory OperandsImmediate Operands컴퓨터의 구성요소 5가지1. Datapath : 데이터에 대한 연산 수행2. Control : Datapath, Memory, I/O Device 등의 동작을 제어3. Memory : 데이터 저장4. 5. Input & Output : 주변 기기들과 컴퓨터 사이에 발생하는 입출력Absractions and ISA1. Abstraction : 추상화복잡한 시스템이나 문제를 간단한 모델이나 개념으로 표현하는 과정(1) 데이터 추상화 (2) 절차적 추상화 ..

AXI4-Lite Interface에 대하여 (+ Template Code)

Vivado를 이용하여 AXI4-Lite Interface를 사용할 수 있다. https://insoobaik.tistory.com/689기본적은 AXI Interface에 대해서는 이전 글에서 다루어 보았다. 간단하게 요약하자면1. AXI Interface는 5개의 채널이 존재한다. (Write Address, Write Data, Response, Read Address, Read)2. 각 채널은 전부 Valid, Ready Signal에 의해 동작하게 된다. (Valid와 Ready가 전부 1이여야 동작하게 된다.) AXI4-Lite 생성위와 같이 Vivado에서 AXI4 Interface를 사용하는 IP를 생성할 수 있다. 위와 같이 AXI Interface IP에 대한 Data Width, Re..

WaveDrom (Timing Diagram) 사용 법

https://wavedrom.com/ WaveDrom - Digital timing diagram everywhereWaveDrom Digital Timing Diagram everywhere WaveDrom draws your Timing Diagram or Waveform from simple textual description. It comes with description language, rendering engine and the editor. WaveDrom editor works in the browser or can be installed on yourwavedrom.com위 사이트에서 Timing Diagram을 편리하게 생성할 수 있다.처음 접속하여 Editor에 들어가면 아래와 같..

AMBA - AXI 이론편

AXIAXI(Advanced eXtensible Interface) ARM에서 개발한 AMBA(Advanced Microcontroller Bus Architecture) Bus Protocol의 일부로 High Performance 및 High Band Width 시스템에서 사용되는 Interface다  AXI Bus는 Write Address / Data, Read Address / Data, Response 총 5개의 Channel로 분리가 되어 있어서 Read와 Write가 동시에 가능하다.AXI ArchitectureChannel Channel은 총 5개의 Channel이 있다. 1. Write Address Channel2. Write Data Channel3. Write Response Ch..

AMBA - AMBA 이론편

AMBAAMBA (Advanced Microcontroller Bus Architecture) ARM에서 개발한 오픈 표준 InterconnectSoC 설계에서 프로세서, 메모리, 주변 장치 간의 통신을 효율적으로 관리하기 위해 사용된다.AMBA는 SoC 설계에서 다양한 IP Core를 연결하는 데 널리 사용된다.  BusBus는 여러 Block들이 Data를 서로 주고 받기 위해 전기적으로 연결한 공유 신호선이다.Bus는 각 IP들을 이어주는 역할을 한다.1. Interface의 간소화Data를 주고 받는 여러개의 IP Block들을 서로 Point to Point로 연결하게 되면 선이 무수히 많아지며, Bus를 사용하면 이를 해결할 수 있다. 2. 확장성IP Block을 추가해도 Bus에만 선을 연결..

FIFO - Asynchronous, CDC, Metastability, Synchronizer, GrayCounter (2)

https://insoobaik.tistory.com/676FIFO 구조 및 동작 원리 (1)에 이어서 FIFO 사용에 필요한 Asynchronous, CDC, Metastability, Synchronizer, GrayCounter에 대한 내용을 작성해 볼 것이다.이전에 말했듯이 SoC 내부는 여러 Clock Domain을 가지고 있다. 서로 다른 Clock Domain이 Data를 주고 받는 것은 Clock Domain Crossing라고 부르고 줄여서 CDC라고 부른다.CDCClock Domain Crossing 서로 다른 클록 도메인 간의 신호 전달을 의미한다. 위 그림과 같이 위 FF은 clk_A 하나의 클럭에 동기화 되어 있기 때문에 각 Domain에 대한 성능이 동일하다. 같은 Clock을 ..

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..

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의 신호를 지속..

728x90