아.. 한 사이클에 Add를 연산하는 걸 잘못 이해하고 있었던 것 같다.

정확하게는(?)

1 machine cycle에 1명령어 처리고

1 machine cycle은

- fetching / decoding / executing / storing 4단계로 이루어진다.

그리고

clock cycle은

회로가 작동하는 속도.. 라고 해야하려나?


다시 정리하자면.. clock은 state machine을 한단계씩 넘기는데 소요되는 시간이고

cycle은 state machine이 합쳐진 각종 모듈이 작동하는데 소요되는 시간으로 보면 되려나?


[링크 : https://www.quora.com/What-is-clock-cycle-machine-cycle-and-instruction-cycle-in-a-microprocessor]

[링크 : https://www.difference.wiki/machine-cycle-vs-clock-cycle/]



32비트 리플 캐리 가산기에서 약 65 gate delay가 필요한데

gate delay가 clock 이라고 한다면(CPU로 치면 3GHz니 머니 하는 그 클럭)

메모리에서 명령어 불러오고, 명령어 해석하고, 실행하고 저장하는 건

그 이상의 clock이 필요하고, 해당 stage를 state machine으로 간주하여

명령어 자체를 실행하는데 걸리는 시간을 Machine cycle 시간으로 간주하는 것으로 생각된다.

 In a 32-bit ripple-carry adder, there are 32 full adders, so the critical path (worst case) delay is 3 (from input to carry in first adder) + 31*2 (for carry propagation in latter adders) = 65 gate delays.  

[링크 : https://en.wikipedia.org/wiki/Adder_(electronics)#Ripple-carry_adder]


[링크 : https://en.wikipedia.org/wiki/Instructions_per_cycle]

[링크 : https://en.wikipedia.org/wiki/Cycles_per_instruction]

'이론 관련 > 전기 전자' 카테고리의 다른 글

Retiming  (0) 2018.04.12
XNOR ?  (0) 2018.04.12
반가산기 전가산기  (0) 2018.04.05
패시브/액티브 프로브  (0) 2018.03.15
buck boost 컨버터 효율...  (0) 2018.02.09
Posted by 구차니

전가산기는 반가산기 2개로 구성

반가산기는 lsb계산

전가산기는 자리상관없이


[링크 : http://woodforest.tistory.com/122]

[링크 : https://ko.m.wikipedia.org/wiki/가산기]


Cpu에서 add는 1클럭인데

캐리리플은 한 클럭에 한 비트씩만 계산

32비트 덧셈에 32클럭 소요

Adder 클럭과 cpu클럭이 다른가?

(아니면.. cycle과 clock이 다른 개념이거나?)

'이론 관련 > 전기 전자' 카테고리의 다른 글

XNOR ?  (0) 2018.04.12
machine cycle 과 clock cycle  (0) 2018.04.06
패시브/액티브 프로브  (0) 2018.03.15
buck boost 컨버터 효율...  (0) 2018.02.09
PLL 구조와 Frequency Divider / Multiplier  (0) 2018.02.01
Posted by 구차니

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

VGA 관련 자료 검색중  (0) 2018.05.29
I2c smbus slave interrupt  (0) 2018.04.24
USB class - DFU(Device Firmware Upgrade)  (0) 2017.12.26
불 대수(bool algebra)  (0) 2017.12.20
a-gps  (0) 2017.09.01
Posted by 구차니
이론 관련/전기 전자2018. 3. 15. 11:39

웨비나 보는데 첨보는 단어가 나와서 검색...

액티브는 능동 소자가 들어가는 만큼 전압범위가 좁지만

캐패시턴스가 적어서 더 정밀하게 측정이 가능하다 이런 내용

(기가 단위까지 측정, 하지만 정전기나 전기 범위에 민감함)


패시브 전압 프로브

패시브 프로브는 와이어와 커넥터, 그리고 보상 또는 감쇠가 필요할 경우 저항과 커패시터로 구성됩니다. 트랜지스터 또는 증폭기와 같은 능동 컴포넌트가 없으므로 프로브에 전원을 공급할 필요가 없습니다.


액티브 전압 프로브

액티브 프로브는 트랜지스터 등과 같은 능동 컴포넌트를 포함하거나 이에 의존하여 작동합니다. 대부분의 경우 능동 장치로는 FET(Field-Effect Transistor: 전계 효과 트랜지스터)가 사용됩니다.


디퍼런셜 프로브

디퍼런셜 신호는 대지 접지가 아니라 서로를 기준으로 삼는 신호를 의미합니다. 그림 2.3에 이러한 신호의 몇 가지 예가 나와 있습니다. 여기에는 컬렉터 부하 저항 사이에서 발생되는 신호, 디스크 드라이브 읽기 채널 신호, 다중 위상 전력 시스템, 기타 신호가 본질적으로 접지 위에서 "플로팅"하는 다수의 상황이 포함됩니다


고전압 프로브

"고전압"이란 용어는 상대적입니다. 반도체 업계에서 고전압으로 간주되는 전압이 전력 업계에서는 사실상 아무 것도 아닐 수 있습니다. 여하튼 프로브와 관련해서는 고전압을 일반적인 범용 10X 패시브 프로브로 안전하게 처리할 수 있는 전압을 초과하는 전압이라고 정의할 수 있습니다. 

[링크 : http://www.sambow.com/files/60K-6053-12_2012.11.14.19.33.08_2329_KO.pdf]

'이론 관련 > 전기 전자' 카테고리의 다른 글

machine cycle 과 clock cycle  (0) 2018.04.06
반가산기 전가산기  (0) 2018.04.05
buck boost 컨버터 효율...  (0) 2018.02.09
PLL 구조와 Frequency Divider / Multiplier  (0) 2018.02.01
opto-isolator  (0) 2018.01.10
Posted by 구차니

올리는게 효율이 좋을까

내리는게 효율이 좋을까 궁금하네


[링크 : https://en.wikipedia.org/wiki/Buck_converter]

[링크 : https://en.wikipedia.org/wiki/Boost_converter]

    [링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=24575]


하이고 의미없다 수준?

일단은 Boost 컨버터가 Buck 보다 근소하게 효울이 좋지만, 그렇다고 아주 많이는 아님

[링크 : https://electronics..../which-has-better-efficiency-step-up-or-step-down-switching-voltage-regulator]

'이론 관련 > 전기 전자' 카테고리의 다른 글

반가산기 전가산기  (0) 2018.04.05
패시브/액티브 프로브  (0) 2018.03.15
PLL 구조와 Frequency Divider / Multiplier  (0) 2018.02.01
opto-isolator  (0) 2018.01.10
디지털 논리회로 - 트랜지스터로 구현  (0) 2018.01.05
Posted by 구차니


[링크 : http://www.rfdh.com/bas_rf/begin/pll.php3]


divider는 일종의 counter

클럭을 카운트 한 다음 해당 숫자가 세어지면 한 클럭을 내주면되고

내부적으로 카운터는 Flip-Flop으로 구성


multiplier는 고조파(harnomic)을 이용한다는데

비선형 소자 어쩌구 하는데 일단 패스.. ㅠㅠ

[링크 : http://www.rfdh.com/bas_rf/begin/multiplier.php3]

[링크 : http://www.rfdh.com/bas_rf/begin/harmonic.htm]


[링크 : https://en.wikipedia.org/wiki/Frequency_multiplier]

'이론 관련 > 전기 전자' 카테고리의 다른 글

패시브/액티브 프로브  (0) 2018.03.15
buck boost 컨버터 효율...  (0) 2018.02.09
opto-isolator  (0) 2018.01.10
디지털 논리회로 - 트랜지스터로 구현  (0) 2018.01.05
아날로그 해상도 화면비  (0) 2017.10.30
Posted by 구차니

댓글 달려서 검색중..


이더리움이 각광받는 이유가 ASIC-resistance 인가?

검색하다 보니 이더리움 채굴하려면 3G 그래픽 카드로도 어렵다 라는 이기가 나오는데

[링크 : https://www.ddengle.com/mining/1842637]

[링크 : https://www.ddengle.com/miningbitcoin_voted/1842874]


Ethash DAG

Ethash는 PoW 시스템이다.(Proof of Work인가?). DAG(Dagger Hashimoto라고 알려진 )라 알려진 데이터 셋으로 1GB 정도 요구한다. 생성하고 기억하려는데 몇 시간이 소요된다.

[링크 : https://github.com/ethereum/wiki/wiki/Ethash-DAG]

   [링크 : https://github.com/ethereumproject/ECIPs/issues/6]


번역이 안되서 의역..

ASIC 방어 : 알고리즘을 위해 최적화 된 하드웨어의 개발로 얻어지는 이득은 최소화 해야 한다. 이상적으로 여분의 CPU 성능을 이용하여 채굴하는 평범한 사용자들을 위해 ASIC들이 개발되더라도 근소하게 적은 속도 향상이 있어야 한다.

Introduction

Dagger Hashimoto is a proposed spec for the mining algorithm for Ethereum 1.0. Dagger Hashimoto aims to simultaneously satisfy two goals:

  1. ASIC-resistance: the benefit from creating specialized hardware for the algorithm should be as small as possible, ideally to the point that even in an economy where ASICs have been developed the speedup is sufficiently small that it is still marginally profitable for users on ordinary computers to mine with spare CPU power.
  2. Light client verifiability: a block should be relatively efficiently verifiable by a light client.


Thaddeus Dryja의 Hashimoto 알고리즘은 IO-bound에 의해 ASIC 방어를 구현한다 (예를들어 마이닝 프로세스에서 메모리 읽도록 강요하는 것은 성능을 제한하는 요소가 됩니다).

-> 알고리즘의 중요요소는 공간 복잡도와 계산복잡도로 나누어지는데, 

간단하게 램을 졸라 쳐먹어 대면서 빠르게 계산할래? 아니면 램 조금 쓰고 cpu 졸라 갈궈댈래가 됨.

이더리움은 램 졸라 사용하여 성능 향상하게 해놨으니 ASIC이 추구하는 작은 시스템에는 방어가 가능할 것으로 보임

라는 의미가 되는건가?

반대로.. 그 알고리즘을 메모리 조금쓰고 CPU갈구는 알고리즘으로 치환이 가능하다면

Hashimoto 알고리즘 자체를 무효화 함으로서 구현 가능할지도 모르겠다.

Dagger Hashimoto builds on two key pieces of previous work:

  • Hashimoto, an algorithm by Thaddeus Dryja which intends to achieve ASIC resistance by being IO-bound, ie. making memory reads the limiting factor in the mining process. The theory is that RAM is in principle inherently a much more generic ingredient than computation, and billions of dollars of research already go into optimizing it for different use cases which often involve near-random access patterns (hence "random access memory"); hence, existing RAM is likely to be moderately close to optimal for evaluating the algorithm. Hashimoto uses the blockchain as a source of data, simultaneously satisfying (1) and (3) above.
  • Dagger, an algorithm by Vitalik Buterin which uses directed acyclic graphs to simultaneously achieve memory-hard computation but memory-easy validation. The core principle is that each individual nonce only requires a small portion of a large total data tree, and recomputing the subtree for each nonce is prohibitive for mining - hence the need to store the tree - but okay for a single nonce's worth of verification. Dagger was meant to be an alternative to existing memory-hard algorithms like Scrypt, which are memory-hard but are also very hard to verify when their memory-hardness is increased to genuinely secure levels. However, Dagger was proven to be vulnerable to shared memory hardware acceleration by Sergio Lerner and was then dropped in favor of other avenues of research. 

[링크 : https://github.com/ethereum/wiki/blob/master/Dagger-Hashimoto.md]


다르게 생각하면

ASIC에 DDR 램 8기가씩 박아대고 돌리면 제작은 가능하나,

램 특성상 IO 성능에 한계가 생겨 ASIC을 통해 빠르게 연산을 할 수 있도록 하여도

DDR SDRAM의 I/O 성능의 한계가 실제 연산 가능한 한계치로 수렴하게 되고

즉, 모든 채굴시스템의 성능적 한계는 메모리 대역폭으로 제한되게 된다.

그렇기에 ASIC도 FPGA도 CPU도 GPGPU도 모두 어느정도 공평하게 하향평준화(!) 되어 공정성을 유지한다

인가?

다만 near random 이라고 하니 충분히 큰 SRAM을 이용하여 cache를 구현한 다음

DDR <-> SRAM(SDRAM 아님) <-> ASIC 구조로 간다면 성능 향상도 일부 가능하겠지만

그렇게 복잡한 구조로 가면 이래저래 ASIC으로 구현하는게 투자비용 대비 채산성이 떨어지니

의도한 대로 어느정도는 작동이 가능할 것으로 보인다.


단, 메모리 대역폭에 제한되므로, 상상치도 못한 고속 메모리가 나온다면

혹은 PC에서 하기 힘든 멀티채널 메모리를 ASIC에서 구현해서 대역폭을 끌어 올린다면

승산이 있을지도 모르겠다.

'이론 관련 > 암호화통화' 카테고리의 다른 글

블록체인 관련  (0) 2018.01.15
비트코인 단위 MH/s  (0) 2018.01.14
비트코인 프로토콜  (0) 2018.01.13
비트코인 구조 채굴 등  (0) 2018.01.12
비트코인 테스트 넷?  (0) 2018.01.11
Posted by 구차니

일단 51% 공격이 가장 유용한데

가정이 어쩌면 가장 위험한 상황

자신의 데이터 무결성이 깨진걸 51% 이상의 연산력으로 조져야 가능한데

한번의 이익을 위해 수 많은 손실과 쌓아온 명예(?)를 날리겠느냐


데이터 조작이 목적이라면 이익이 그 시스템을 유지하는데서 나오는게 아니니까

충분히 이유가 생기는거 아닐려나?


그리고 우월한 연산량인지 아니면 노드수 인지 모르겠지만

국가에서 블록체인으로 한다고 하면 노드수 별로 어마어마한(?) 데이터 양을 가지고 있어야 하고

(비트 코인이야 거래별로 니까 크지만, 국가에서 문서 관리하면 머.. 몇기가 안될수도?)

노드별로 관리해야 하는 중복 데이터 용량이라는 관점에서 옳지 않고

분산 저장으로 위험이 준다고 하지만, 아주 극단적인 경우로

네트워크 데이터가 대량으로 손실되었고 (1차 공격, 네트워크 노드들을 차단)

그 틈을 타서 새로운 분기를 만들어 내고

기존 사용자들이 접속을 못하게 하는 상황에서(혹은 독립 네트워크 내에서)

새로운 데이터로 갈아 엎은 다음에

기존 사용자들이 데이터를 업데이트 하거나

신규 유저들로 하여 과반수를 넘기게 하면..

자료 조작이 가능해지는거 아닐려나?


[링크 : https://homoefficio.github.io/2017/11/19/블록체인-한-번에-이해하기/]

'이론 관련 > 암호화통화' 카테고리의 다른 글

이더리움 DAG?  (2) 2018.02.01
비트코인 단위 MH/s  (0) 2018.01.14
비트코인 프로토콜  (0) 2018.01.13
비트코인 구조 채굴 등  (0) 2018.01.12
비트코인 테스트 넷?  (0) 2018.01.11
Posted by 구차니

비트코인 단위로 MH/s 라는게 자주 보이는데

M은 말그대로 Mega Hash/Second

초당 몇 백만번 해시하냐 인데


DE2-115에서 80MH/s 가 기록되었는데

시리얼로 4800bps로 하는데.. 그게 어떻게 가능하지?

한번 계산할 내용을 주면

알아서 반복 계산하고 결과를 주거나 fail을 리턴하거나 하는 식으로 통신 내용을 줄인건가?


[링크 : https://automationrhapsody.com/md5-sha-1-sha-256-sha-512-speed-performance/]

[링크 : http://bithumb.cafe/archives/5214]

'이론 관련 > 암호화통화' 카테고리의 다른 글

이더리움 DAG?  (2) 2018.02.01
블록체인 관련  (0) 2018.01.15
비트코인 프로토콜  (0) 2018.01.13
비트코인 구조 채굴 등  (0) 2018.01.12
비트코인 테스트 넷?  (0) 2018.01.11
Posted by 구차니

supernova.cc였나 여기는 stratum 프로토콜인거 같고

구형은 getwork인지 getblocktemplate인지 모르겠다.

함수 이름이야 getwork 이긴 하고 json을 쓰긴하는데

예제 찾아서 일단 어떻게 돌아가나 확인이나 해봐야지


[링크 : https://en.bitcoin.it/wiki/Stratum_mining_protocol]

[링크 : https://en.bitcoin.it/wiki/Getwork]

[링크 : https://en.bitcoin.it/wiki/Getblocktemplate]

'이론 관련 > 암호화통화' 카테고리의 다른 글

블록체인 관련  (0) 2018.01.15
비트코인 단위 MH/s  (0) 2018.01.14
비트코인 구조 채굴 등  (0) 2018.01.12
비트코인 테스트 넷?  (0) 2018.01.11
비트코인과 지갑 그리고 cgminer  (0) 2018.01.10
Posted by 구차니