디지털 회로 개론 24 (CPU, register file, memory, ram)

TonyHan·2020년 12월 5일
0

20) 디지털회로개론

목록 보기
24/24

CPU overview


cpu가 어떻게 구성되는지를 보여주는 block-diagram으로 assembly code가 있으면 우리가 assembly code를 순차적으로 실행하게 된다.

주소를 가지고 특정 assembly code를 읽어온다. 그리고 그것을 Register file에서 번역해서 번역에 따라서 필요한 register들을 읽는다.

ex) Add r1,r2,r3 : r2와 r3을 읽어서 r1에 더한 결과를 더해라
더할때는 ALU를 통해서 더하고 그 결과를 다시 r1에 저장한다.

Register File


그래서 데이터를 읽는 register을 Read Register이라고 부르고 데이터를 쓰는 레지스터를 Write register이라고 부른다.

그림에서 가로친 부분은 들어가 bit를 나타낸다.

Register file with two read ports


데이터를 읽는 레지스터 부분은 위와 같이 구성되게 된다. 우선 n-bit의 레지스터(D flip flop)으로 구성된다. 그리고 MUX(multiplexor)은 N개의 레지스터 중 하나와 연결되게 된다. 그러면 입력되는 레지스터 input이 32bit 였기에 출력 bit도 32bit가 된다.

Register with one write port


우리가 데이터를 write할때는 쓰는 값이 제공되어야 한다. 그래서 Register data에서는 32bit의 데이터를 레지스터에 쓰게 된다. 또한 Register number은 우리가 쓰고자 했던 값에 필요했던 5bit를 가지고 decoder를 사용해서 레지스터에 작성하며 동시에 write signal이 1이 들어오게 된다.

주의할 것은 여기에는 clk가 involve된다. 어떤 edge에 우리가 wirte를 dff할 것이기 때문이다.

CPU overview - memory

Memory Definitions

Memory ─ A collection of storage cells together with the necessary circuits to transfer information to and from them.

이라고 한다. 여기에서 우리에게 중요한 것은 RAM(Random Access Memory) - SRAM,DRAM이다.

RAM : memory Array 안에 어떤 cell을 접근 하든지 접근 시간이 같은 메모리를 이야기 한다.

SRAM(Static RAM)
DRAM(Dynamic RAM)

Typical data elements are:

  • bit ─ a single binary digit
  • byte ─ a collection of eight bits accessed together
  • word ─ 메모리 구성에 따라서 다르다. a collection of binary bits whose size is a typical unit of access for the memory. It is typically a power of two multiple of bytes (e.g., 1 byte, 2 bytes, 4 bytes, 8 bytes, etc.)

메모리는 word들이 array 형태로 적층으로 구성 되어져 있다.

Memory Block Diagram


내부는 이 내부를 설계하는 사람들이 제작하고 우리는 interface를 알면된다. 그래서 우리는 address를 주면 Output이 나온다는 interface 정보만 알면 System을 디자인하는 데 문제가 없다.

Memory Organization Example

Basic Memory Operations

Memory Read and Write를 위해 다음과 같은 성분들이 필요하다.

  • Data : 요구에 따라 데이터가 작성되고 읽힘

  • Address : 특정 메모리가 위치한 주소, n bits는 2^n개의 단어 저장가능

  • An Operations : 메모리에 전달되는 메모리 명령

  • Read Memory : 메모리 안에 있는 데이터를 읽는 기능

  • Write Memory : 메모리 안에 데이터를 적는 기능

Memory Operation Timing


위의 그래프에서 우리가 확인할 수 있는 점은 다음과 같다.
1. CLK는 실제로 HIGH가 되는 과정이 한번에 이루어 지지 않는다.
2. HIGH일때는 READ를 LOW일때는 WRITE가 가능하다.
3. Address와 Memory enable을 제공한다음에 Data valid를 제공한다. 따라서 Read Operation을 위해서 최소 4번의 주기가 필요하다.

RAM Integrated Circuits

  • random access memory의 종류
  1. static ram : 우리가 계속 전기를 제공하면 데이터가 사라지지 않는 램
  2. dynamic ram : 우리가 계속 전기를 제공하더라도 시간이 지나면 데이터가 사라지는 램 - 하지만 static에 비해 큰 메모리 제공가능
  3. Volatile : 파워가 꺼지면 있는 데이터가 사라짐(SRam, DRam, register file)
  4. Non-volatile : 파워가 꺼져도 데이터가 유지됨(SSD, NRam, PRam)
profile
신촌거지출신개발자(시리즈 부분에 목차가 나옵니다.)

0개의 댓글